Earlier quoted context omitted.
MS is making a conscious effort to push into the ML space with libraries such as ML.NET https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotn... . IMO, the combination of a strongly-typed language with features such as type inference, data providers and discriminated unions/pattern matching make F# a perfect fit for this space. It's just unfortunate that they had to go through the .NET Framework -> .NET Core j…
On the other hand, they just hired Guido, have first class support for Python across VS and VSCode, and are in the process of creating a Python projection for UWP (which still doesn't support F#). From the outside it always looks like an uphill battle for F#. It would be great if F# finally gets its place across the .NET stack.
Fable 3: F# to JavaScript compiler
91–100 of 131 posts
Re: Fable 3: F# to JavaScript compiler
#92Earlier quoted context omitted.
Please can you sure more about this? > We also make ample use of quotations to do some cool tricks (like predict the future states some type can take, based on current state + available transitions).
Here's is a simplistic example of a state machine: let transition (state: State) (action: Action) : State option = match (state, action) with | (StateA, ActionA) -> Some StateB | (StateA, ActionB) -> Some StateC | (StateB, ActionA) -> Some StateB | _ -> None If you get the quoted representation of the transition function, it can be visualized as a tree data structure (like code-as-data in LISP). You can analyze that…
Re: Fable 3: F# to JavaScript compiler
#93Earlier quoted context omitted.
On the other hand, they just hired Guido, have first class support for Python across VS and VSCode, and are in the process of creating a Python projection for UWP (which still doesn't support F#). From the outside it always looks like an uphill battle for F#. It would be great if F# finally gets its place across the .NET stack.
Odd. I've been using F# for a UWP app since 2018.
Re: Fable 3: F# to JavaScript compiler
#94Is concurrency supported?
But honestly, its own async model is great - arguably better than TPL for business systems. It sacrifices a little top-end performance/power and in return you get a supremely clean abstraction.
Re: Fable 3: F# to JavaScript compiler
#95Re: Fable 3: F# to JavaScript compiler
#96Earlier quoted context omitted.
Odd. I've been using F# for a UWP app since 2018.
Odd indeed, given that .NET Native doesn't support it without a couple of hacks. https://github.com/dotnet/corert/issues/5780 https://github.com/dotnet/fsharp/issues/1096
But even still - my app is sideloaded and never needed to care about .NET Native at all.
Re: Fable 3: F# to JavaScript compiler
#97Earlier quoted context omitted.
Odd indeed, given that .NET Native doesn't support it without a couple of hacks. https://github.com/dotnet/corert/issues/5780 https://github.com/dotnet/fsharp/issues/1096
As per those links - the workarounds found in 2018 allow you to submit to Windows Store. But even still - my app is sideloaded and never needed to care about .NET Native at all.
The official set of programming languages getting UWP support as part of Project Reunion.
Re: Fable 3: F# to JavaScript compiler
#98I see some F# praising in here. any good learning resources one can recommend to me (Ik I can "google it" or whatever. I mean something you had experience with and would recommend)
Re: Fable 3: F# to JavaScript compiler
#99Earlier quoted context omitted.
As per those links - the workarounds found in 2018 allow you to submit to Windows Store. But even still - my app is sideloaded and never needed to care about .NET Native at all.
Workarounds are not official support and won't fly for many customers deciding what to place in production when picking technology stacks, so the choice ends up being C#, VB, C++, Rust, JavaScript and Python. The official set of programming languages getting UWP support as part of Project Reunion.
I wouldn't confuse Project Reunion and the arbitrary Windows Store requirement that apps be compiled with .NET Native. A requirement that, frankly, is on borrowed time anyway and I can't envisage it surviving much longer. Once .NET 6 delivers Mono-style AOT support - .NET Native's sole remaining purpose will cease to exist. Not that modern hardware ever needed it. It was intended for Windows Phones.
If the choice facing us was a simple as you describe then, for example, we wouldn't have ended up building a UWP app in F# back in 2018, would we? Not everything is black and white nor zero sum.
Re: Fable 3: F# to JavaScript compiler
#100Is there any note on if F# will gain concepts/type classes?
Update: the issue is tagged await-csharp-alignment, which is probably the relevant status.