Live data from Hacker News

A new F# compiler feature: graph-based type-checking

devblogs.microsoft.com

21–30 of 118 posts

Re: A new F# compiler feature: graph-based type-checking

#21
post #16

Great addition to a great language. We've been building a very technical product in F# + Rust for the last three years or so (think R lang + R Studio or Replit but for DSLs we built for finance and contracts). While most folks tend to see F# as a .NET-oriented/back-end kind of language, they'd be missing some incredibly unique web technologies such as the Fable compiler (F# -> JS, Python, Dart, etc) and Elmish (Elm,…

this sounds exciting, but I wonder. How closely linked is Elmish to Elm? In theory Elm is just such a fascinating project... if it was not held back by the people developing it.

It's not linked at all, it just uses "The Elm Architecture" as inspiration to recreate the same architecture in F#

Re: A new F# compiler feature: graph-based type-checking

#22
post #11

Can anyone recommend a good hard copy book for F#? One that covers the syntax, language features, and covers functional programming fundamentals along the way? Like, the F# book that Brian Kernighan would write?

I would recommend two. F# in Action [1] by Isaac Abraham is a great (and recent) introduction to the F# language. For a more philosophical, domain-oriented book, you can't go wrong with Scott Wlaschin's Domain Modeling Made Functional book[2]. Scott's blog[3] is also must-read material. [1] https://www.manning.com/books/f-sharp-in-action [2] https://pragprog.com/titles/swdddf/domain-modeling-made-func... [3] https://…

I had discovered Scott’s blog in the last couple of days while searching for resources related to writing lexers and parsers in F#. It is indeed a great resource!

Thank you for your other recommendations, I’ve just ordered both books!

Re: A new F# compiler feature: graph-based type-checking

#23

This is very neat, I love the idea of using the syntax tree to guide what can be parallelized vs. not. As some additional background, there's a very good reason why the F# language typechecks files sequentially. Because F# supports type inference at every scope, a single change in the body of a function can result in cascading type changes across an entire project. This kind of change can not only affect other files,…

That's interesting. In Haskell top-level annotations are not required but I don't think I've ever seen a real project without them - its basically a community standard that's universally adopted, in a community that doesn't adopt many standards.

Re: A new F# compiler feature: graph-based type-checking

#24

Can anyone recommend a good hard copy book for F#? One that covers the syntax, language features, and covers functional programming fundamentals along the way? Like, the F# book that Brian Kernighan would write?

I don't know Brian is, but I would recommend Expert F#, a book cowritten by F# creator and BDFL Don Syme

Re: A new F# compiler feature: graph-based type-checking

#25
post #16

Great addition to a great language. We've been building a very technical product in F# + Rust for the last three years or so (think R lang + R Studio or Replit but for DSLs we built for finance and contracts). While most folks tend to see F# as a .NET-oriented/back-end kind of language, they'd be missing some incredibly unique web technologies such as the Fable compiler (F# -> JS, Python, Dart, etc) and Elmish (Elm,…

this sounds exciting, but I wonder. How closely linked is Elmish to Elm? In theory Elm is just such a fascinating project... if it was not held back by the people developing it.

Please PLEASE enough with the character assassination of the Elm guy.

He wants to run his own project his own way.

There's a small but dedicated residue of people who just can't stand being told "no" and go around crapping on the kid whenever they get a chance.

I get it. You don't like Evan's project management style. Move on already.

- - - -

The fact of the matter is that he's a person who took his thesis, made it into a product, and got traction in the real world. People have used Elm to make things. Things that go.

How many of us can say the same?

And that's before you get to all the fascinating and as yet still-too-obscure things that the OP talks about. Things that are in part a little more widely known and understood thanks to Elm project.

Re: A new F# compiler feature: graph-based type-checking

#26
post #24

Can anyone recommend a good hard copy book for F#? One that covers the syntax, language features, and covers functional programming fundamentals along the way? Like, the F# book that Brian Kernighan would write?

I don't know Brian is, but I would recommend Expert F#, a book cowritten by F# creator and BDFL Don Syme

He named UNIX, he invented the "Hello, world!" program, he's the K in K&R (The C Programming Language), he's the K in AWK, and he's the co-author of other classic works like The UNIX Programming Environment and more recently The Go Programming Language. He's currently a CS professor at Princeton.

EDIT: Why the downvotes? It's just terse, it's not at all rude.

Re: A new F# compiler feature: graph-based type-checking

#28
post #16

Great addition to a great language. We've been building a very technical product in F# + Rust for the last three years or so (think R lang + R Studio or Replit but for DSLs we built for finance and contracts). While most folks tend to see F# as a .NET-oriented/back-end kind of language, they'd be missing some incredibly unique web technologies such as the Fable compiler (F# -> JS, Python, Dart, etc) and Elmish (Elm,…

this sounds exciting, but I wonder. How closely linked is Elmish to Elm? In theory Elm is just such a fascinating project... if it was not held back by the people developing it.

Some references if helpful:

* Elmish (F#) repo - https://github.com/elmish/elmish

* The Elmish Book (... remarkably good) - https://zaid-ajaj.github.io/the-elmish-book/#/

* Fable compiler - https://fable.io/

The F# community is very friendly (sub-communities as well), and there are plenty of good opportunities to contribute OSS work across any skill level.

Phosphor isn't hiring right now, but we will begin a search for FE/interface engineers soon. oliver@phosphor.co for anyone interested.

Re: A new F# compiler feature: graph-based type-checking

#29

Earlier quoted context omitted.

this sounds exciting, but I wonder. How closely linked is Elmish to Elm? In theory Elm is just such a fascinating project... if it was not held back by the people developing it.

Please PLEASE enough with the character assassination of the Elm guy. He wants to run his own project his own way. There's a small but dedicated residue of people who just can't stand being told "no" and go around crapping on the kid whenever they get a chance. I get it. You don't like Evan's project management style. Move on already. - - - - The fact of the matter is that he's a person who took his thesis, made it i…

Eh, it doesn't seem like character assassination. Dude chose his management style. That makes his project unfit for purpose for certain people. Those people are allowed to make that determination and state as such.

I remember when the Elm team first decided to lock down the Elm compiler, so that only the team in charge had special privileged access to modify it. I thought, "wow, this looks like a bunch of people who don't want to collaborate, who want to take their ball and tell others how to play with it, really putting the 'dictator' in BDFL." and you know what? that's fine. I don't harbor anything against them as people. But that left a permanently bad taste in my mouth and I'm unlikely to ever trust that group or a project they're managing.

Re: A new F# compiler feature: graph-based type-checking

#30
post #29

Earlier quoted context omitted.

Please PLEASE enough with the character assassination of the Elm guy. He wants to run his own project his own way. There's a small but dedicated residue of people who just can't stand being told "no" and go around crapping on the kid whenever they get a chance. I get it. You don't like Evan's project management style. Move on already. - - - - The fact of the matter is that he's a person who took his thesis, made it i…

Eh, it doesn't seem like character assassination. Dude chose his management style. That makes his project unfit for purpose for certain people. Those people are allowed to make that determination and state as such. I remember when the Elm team first decided to lock down the Elm compiler, so that only the team in charge had special privileged access to modify it. I thought, "wow, this looks like a bunch of people who…

FWIW my comment was along the lines of allergic reaction. I'm not an Elm fanatic, I'm just sick of seeing people snipe on the dude.

You're entitled to your opinion, of course, and you articulated it well. But again I see it as another example of someone not liking being told "no", no?

Post reply on HN