graphql-platform icon indicating copy to clipboard operation
graphql-platform copied to clipboard

F# no longer supported

Open cmeeren opened this issue 10 months ago • 12 comments

Product

Hot Chocolate

Is your feature request related to a problem?

The v15 migration docs state that F# support was dropped in favor of FSharp.HotChocolate, but FSharp.HotChocolate has never worked with v15.

This means that HotChocolate dropped F# support with no way to get it working again, apart from staying at v14.

There is an open issue where I have repeatedly tried to get help with getting it to work after the changes HotChocolate made in v15 (referring to a specific HC commit included in 15.0.0-p.12 that broke FSharp.HotChocolate).

The solution you'd like

To get the previously promised help fixing this. See the issue linked above for details.

Please let me know if there is any information I can provide to aid the process, or if this is on your list but not at the top. Currently, all I'm hearing is crickets.

cmeeren avatar Mar 04 '25 20:03 cmeeren

For what it's worth, the breaking change was the removal of Option<_> from HC's internal type-system unwrapping (permalink). If you were to add a way for other libraries to extend that unwrapping, I think the problem could easily be solved, and it would likely also make me able to clean up support for F#'s Async<_> (similar to Task<_>).

cmeeren avatar Mar 04 '25 20:03 cmeeren

We have scheduled work for this for 15.2, at the moment there is no harm done for the F# community to stay on 14.x as almost all features of 15 are source generator driven and would not work with F# anyway.

michaelstaib avatar Mar 16 '25 13:03 michaelstaib

Thank you for clarifying!

cmeeren avatar Mar 16 '25 13:03 cmeeren

#8134

michaelstaib avatar Mar 16 '25 19:03 michaelstaib

Once 15.1 is out I will create a preview build for you...

on TypeInfo there will be a static helper methods RegisterNonEssentialWrapperTypes in which you can pass generic type definitions like Task<> or Option<>.

michaelstaib avatar Mar 17 '25 15:03 michaelstaib

Thanks, appreciate it. The API looks like what I need. Looking forward to the prerelease. No rush, I have a lot of other stuff on my plate, too.

cmeeren avatar Mar 17 '25 16:03 cmeeren

Could you please provide an update regarding the status of the aforementioned issue? I have observed the existence of version 16.0.0-p.2.0. I wonder if it is possible that running F# will be feasible with version 16 but not with version 15 :)

Thanks a lot for your time and attention

IkertxoDt avatar May 16 '25 10:05 IkertxoDt

The base package will no longer support it going forward as we are mainly a C# dev team. But with 15.2 we are adding a hook so that @cmeeren will be able to take over F# support for Hot Chocolate.

michaelstaib avatar May 17 '25 10:05 michaelstaib

https://github.com/cmeeren/FSharp.HotChocolate

michaelstaib avatar May 17 '25 10:05 michaelstaib

Yeah, I read about that change in 15.2. But since I saw there's already a preview of 16, I was wondering if those changes might be included in it.

I guess we’ll just have to wait for 15.2. Thanks a lot for your help :)

IkertxoDt avatar May 17 '25 14:05 IkertxoDt

The changes are in PR #8134, which is not merged yet. Hoping it will be soon 😊

cmeeren avatar May 17 '25 15:05 cmeeren

@IkertxoDt the 16 previews are really early previews with a lot of breaking parts :) we still are in full swing on version 15 with multiple V15 releases still in the pipeline.

michaelstaib avatar May 18 '25 14:05 michaelstaib

@cmeeren Can this issue be closed now?

glen-84 avatar Oct 09 '25 10:10 glen-84

Sure.

cmeeren avatar Oct 09 '25 11:10 cmeeren