News for hackers. Stuff that matters.
Re:TypeScript 3.6 by bcheung on Wednesday August 28, 2019 @06:51PM (#20824869)
> what's left of F#

Has it been abandoned? What did you mean by this?

Re:TypeScript 3.6 by chusk3 on Wednesday August 28, 2019 @10:29PM (#20826150)
This is silly, F# has never been more of a first-class citizen. It's explicitly part of the .net core distributions, part of the nightly testing and validation cycles, and is in the TechEmpower benchmarks.
Re:TypeScript 3.6 by pjmlp on Thursday August 29, 2019 @01:11AM (#20826854)
Try to use EF, Forms, WPF, UWP, designers, architecture tooling with F#.

Or type providers in .NET Core.

Visual Studio 2017 has even been released with critical bugs in F# tooling, as they weren't considered as show stopper.

In regards to VB.NET and C#, it certainly feels like second class, and occasionally even C++/CLI gets more love.

Re:TypeScript 3.6 by lstamour on Thursday August 29, 2019 @02:36AM (#20827216)
That’s because C/C++ is what Windows is written in, and C# is likely used by a majority of their customer base. The only reason anyone pays attention to VB is because of Excel/VBA. F# (or Lisp for that matter) just isn’t as cool as Python or JS/TS in the wider general dev community. Which might be a terrible shame, but... it’s also the truth as it stands right now. I’m a firm believer all languages need a core platform or use case that they excel at, an ecosystem. And I’ve seen more of an attempt at that with Dart and Flutter than I have with F# up till now. Of course, we all know with the way Google kills things, it’s only a matter of time before the Chrome team ultimately kills Flutter somehow, unless it gets repositioned into the new way to make interactive banner ads... By comparison, Microsoft seems pretty stable, so I think F# will get its niche. It took Ruby over a decade before Rails came along to popularize it to a wider audience, and C++14 and friends reinvigorated C++ after many, many years. Even JavaScript languished as DHTML and jQuery for over a decade before seeing a comeback on servers and as annual standards mostly thanks to tooling and ecosystem developments powered by faster browsers and incredibly broad first-class platform support. F# sounds like a giant work-in-progress, perhaps hampered by the complexity of .NET and Microsoft in general — example: https://github.com/fsharp/fslang-suggestions/issues/542 By comparison, the C# community just seems faster, larger, more decisive: https://github.com/filipw/dotnet-script/issues/156
Re:TypeScript 3.6 by _hardwaregeek on Wednesday August 28, 2019 @06:54PM (#20824901)
I don't know the actual status, but I do know that there aren't that many people at Microsoft officially working on F#. That could change, but I don't know the specifics.
Re:TypeScript 3.6 by bcheung on Wednesday August 28, 2019 @07:11PM (#20825006)
Bummer, I've been curious about learning it.
Re:TypeScript 3.6 by UK-Al05 on Wednesday August 28, 2019 @07:13PM (#20825019)
I don't think there's ever been many people working on f#...(compared to c#)

Its good as it is anyway.

Re:TypeScript 3.6 by _hardwaregeek on Wednesday August 28, 2019 @07:25PM (#20825101)
Yeah definitely don't take this as a reason to avoid F#. It's open source anyways, so it'll be maintained regardless. Plus the team has gone to heroic lengths to integrate an ML into .NET. Their unification process is insane and probably technically undecidable.
Re:TypeScript 3.6 by bargl on Wednesday August 28, 2019 @07:29PM (#20825130)
I don't believe F# has been abandoned. It's actively being maintained.

https://github.com/dotnet/fsharp/

Re:TypeScript 3.6 by xvilka on Wednesday August 28, 2019 @10:17PM (#20826088)
Plain OCaml is still a better and more powerful language. F# is like a poor relative to it. The only good thing of it is .NET integration. It lacks so many features of OCaml.
Re:TypeScript 3.6 by idnefju on Thursday August 29, 2019 @12:57AM (#20826809)
And OCaml lacks features that F# has. Like proper multicore support, computation expressions, unit of measure, operator overloading.
Re:TypeScript 3.6 by ernst_klim on Thursday August 29, 2019 @05:29AM (#20828032)
> computation expressions, unit of measure, operator overloading.

We have `let` operators instead.

And F# doesn't have proper overloading, it has an SML-like hack working for built-in types only, and only within a function, as far as I understand. It needs typeclasses for proper overloading. There is an ongoing work on Modular Implicits for proper overloading (and even dependent types in core language), but they are not there yet.

Re:TypeScript 3.6 by nawfalhasan on Wednesday August 28, 2019 @10:59PM (#20826300)
Why so? Genuinely curios from a guy who knows neither.
Re:TypeScript 3.6 by TheAsprngHacker on Wednesday August 28, 2019 @11:24PM (#20826397)
I know OCaml, but not F#.

The most striking difference is that OCaml has the ML module system, where you can have functions from modules to modules. F# doesn't.

Recent versions of OCaml now have features like first-class modules and binding operators. AFAIK F# has not added them.

On the other hand, F# has features that OCaml doesn't, such as computation expressions, strongly typed units of measure, and active patterns.

See https://stackoverflow.com/q/179492/8887578.

Re:TypeScript 3.6 by seabrookmx on Thursday August 29, 2019 @12:57AM (#20826807)
As an OCaml person, what are your thoughts on Reason?
Re:TypeScript 3.6 by TheAsprngHacker on Thursday August 29, 2019 @02:34AM (#20827202)
I personally don't use Reason. It's syntax is supposed to be more familiar for people coming from JavaScript, but for me, it's weird. My least favorite aspect is the function syntax (both lambdas and function application). Are functions still curried, or...? If they are, then the syntax should reflect that.

As for BuckleScript, I wish that it had better integration with the main OCaml ecosystem. BuckleScript is supposed to work well with NPM, but I am more interested in OPAM. I personally use js_of_ocaml, a compiler to JavaScript that works well with the OCaml tooling.

If Reason and BuckleScript can bring more people to OCaml, then I'm glad. However, I perceive that the people coming to OCaml with BuckleScript seem to be making libraries based around the NPM ecosystem. I feel worried that a separate OCaml ecosystem will come into existence. However, I have not observed any other OCamller voice these thoughts, so I'm probably alone or misinformed here. I'm not too knowledgeable about the JavaScript trends.

Your comment refers to me as an "OCaml person." Please know that these opinions are my own and do not in any way represent the collective OCaml community's opinion on Reason and BuckleScript.

Re:TypeScript 3.6 by phillipcarter on Thursday August 29, 2019 @01:33PM (#20831732)
It'd be news to me that it's abandoned, since we're wrapping up our latest release in September :)