Live data from Hacker News

What's New in F# 4.1? [video]

channel9.msdn.com

51–60 of 65 posts

Re: What's New in F# 4.1? [video]

#51

So, I've been making a slightly more concerted effort to pick up F# because I've always liked F# and .Net core and Fable means that I might actually get to run it at work without the non-starter of switching stuff over to windows servers. Excellent. The main holdup is that the build/packaging situation is disastrous. Most stuff still relies on Mono, which is fine, but trying to get things running on core quickly runs…

Awkward person in the video here... Let me see if I can clarify the landscape a bit here: .NET Core tooling support is still in absolute Preview. The runtime and libraries are stable, but the .NET Core SDK, MSBuild support for .NET Core, the project system in Visual Studio, etc. are all Preview support. Much of the F# community is waiting on .NET Core tooling stability to act, which they have every right to do. .NET…

I don't have anything pressing and I don't know the ecosystem so I'll be waiting it out. My frustration is mainly that I think F# with Fable and Kestrel in VSCode is very compelling for JS shops and the only reason I can't recommend it is the build situation. An explanation of how to make a project, add a dependency, and run it that would make sense to someone used to npm would really help people who aren't on windows and running visual studio. I do appreciate the efforts of the F# team has always made in maintaining an open source community and I do recognize that there are lots of complications involved. Thanks for your efforts.

Re: What's New in F# 4.1? [video]

#52

While it is great to see all those new features appearing in F# 4.1, the video gives a very narrow perspective on "what is new in F#" - it is a video about new language features in 4.1 and so this is to be expected - but if I was to list "what is new in F# in 2016", large portion of the list would include recent community contributions. Three recent projects are: * http://fable.io , which is a modern F# to JavaScript…

I was watching a Dot Net Rocks video[1] from 2012 with Don Syme being interviewed about the release of F# 3.0 and they ask him what's planned for F# 4.

He says that what devs are telling them is that the language is good, but they want better tools, so he wouldn't be opposed to a solid maintenance release just around improving tooling (but nothing is planned yet).

So the day after watching that, four years after the video, it's a bit weird to find you saying "F# 4 and now F# 4.1 - the language is way ahead of the tooling".

https://www.youtube.com/watch?v=mvYyI4kG1Vo

Re: What's New in F# 4.1? [video]

#53

So, I've been making a slightly more concerted effort to pick up F# because I've always liked F# and .Net core and Fable means that I might actually get to run it at work without the non-starter of switching stuff over to windows servers. Excellent. The main holdup is that the build/packaging situation is disastrous. Most stuff still relies on Mono, which is fine, but trying to get things running on core quickly runs…

i recently started dabbling in f#, and i've made a small collection of shell scripts that walk through the stages of setting up and compiling different kinds of program. the basic idea is that forge and paket do most of what you want; they're just hard to figure out; reading through the shell script will take you step by step through the various incantations you need.

thus far i have command-line "hello world", eto.forms gui and gtk# gui (they mostly differ in what libraries they install). if you're playing with fable, i'd love if you contributed a script.

https://github.com/martindemello/fsharp-quickstart

Re: What's New in F# 4.1? [video]

#54

Earlier quoted context omitted.

Not only we do not need HKT, we also do not need Profunctor Optics.

F# and its spirit animal OCaml are really great precisely because of this attitude. They're really good at saying "No" to things that offer at best incremental improvements at the cost of significant complexity. "Profunctor Optics" is a great example. Cool paper, but no thanks.

Many people use the exact same argument to dismiss the entire functional programming field.

Re: What's New in F# 4.1? [video]

#55

Earlier quoted context omitted.

We're working on Type Classes. It seems like HKTs (or anything like them) are going to be hard without diverging in a huge way from the rest of the .NET ecosystem.

That's fantastic news! I currently use Scala for most of my personal development, but having type classes would make F# attractive enough for me to switch over. I much prefer the cleaner syntax of F#. Losing HKT would be a shame, but that's a trade-off I would be willing to make.

Scala has never properly supported HKTs though. When I last tried it, there were multiple open issues, e.g. the partial application of type parameters. So I really don't buy the argument that Scala scores a point over F# due to HKTs. If you want HKTs, use Haskell.

Re: What's New in F# 4.1? [video]

#56

I'm interested in .NET ecosystem languages, as well as functional programming. How is the parsing and meta-programming toolset? How easy or hard would it be for me to implement a subset of F# that only allows pure functions?

Very poor. You would pretty much have to build a language from scratch. I am working on doing that with a language called emly, supports effect tracking as opposed to haskell style purity. I am having to basicly do everything from scratch.

Like purescript?

Re: What's New in F# 4.1? [video]

#57
post #47

Earlier quoted context omitted.

Awkward person in the video AND author of that tutorial here... I'd love to learn more about what went wrong in setup. Keeping that article up to date and, more importantly, correct is a priority of mine, because I really want people to learn about Ionide and F#.

I just follow the tutorial on OSX. Then I try to do the first build and get: > build.sh: line 34: syntax error: unexpected end of file So I delete the last empty line, and get: > build.sh: line 33: syntax error near unexpected token `fi' I don't see any wrong with the script (I don't know bash scripting). So I go to the github site and just copy from https://github.com/ionide/ionide-vscode-fake/blob/master/bui... And…

It's probably line ending problem. Running something like dos2unix on `build.sh` would probably fix it.

Re: What's New in F# 4.1? [video]

#58

Earlier quoted context omitted.

Awkward person in the video here... Let me see if I can clarify the landscape a bit here: .NET Core tooling support is still in absolute Preview. The runtime and libraries are stable, but the .NET Core SDK, MSBuild support for .NET Core, the project system in Visual Studio, etc. are all Preview support. Much of the F# community is waiting on .NET Core tooling stability to act, which they have every right to do. .NET…

I don't have anything pressing and I don't know the ecosystem so I'll be waiting it out. My frustration is mainly that I think F# with Fable and Kestrel in VSCode is very compelling for JS shops and the only reason I can't recommend it is the build situation. An explanation of how to make a project, add a dependency, and run it that would make sense to someone used to npm would really help people who aren't on window…

> I do appreciate the efforts of the F# team has always made in maintaining an open source community

I do appreciate the efforts of the F# open source community has always made in maintaining an VF# team.

Re: What's New in F# 4.1? [video]

#59
post #54

Earlier quoted context omitted.

F# and its spirit animal OCaml are really great precisely because of this attitude. They're really good at saying "No" to things that offer at best incremental improvements at the cost of significant complexity. "Profunctor Optics" is a great example. Cool paper, but no thanks.

Many people use the exact same argument to dismiss the entire functional programming field.

I'm sorry, but implicit slippery slope arguments are not a means by which one can force every functional language to run the project the way Haskell does.

But it's also worth noting that this is not a rejection of the entire concept of lenses, just that right now Haskell's implementations leave a lot to be desired (e.g., abandon all error sanity, ye who enter here).

Haskell is as much a research platform as a programming language, and as such it has the leisure to experiment this way. Everyone else will wait awhile for things to bake. Look what happened when Haskell built its entire stdlib on monad transformers and then we all realized they're awful compared to the alternatives.

Re: What's New in F# 4.1? [video]

#60
post #37

Earlier quoted context omitted.

F# and its spirit animal OCaml are really great precisely because of this attitude. They're really good at saying "No" to things that offer at best incremental improvements at the cost of significant complexity. "Profunctor Optics" is a great example. Cool paper, but no thanks.

Higher kinded types reduce complexity in the same way generics reduce code complexity. If you think one makes things simpler but not the other, I would assume you're not familiar with it? Do you have examples of why it would add significant complexity? I use them constantly and it really simplifies my code a lot! Also, I don't believe 'profunctor optics' is a paper, I think it's just one (interesting) implementation…

The complexity that HKT brings to F# is not just conceptual. It needs to exist in the CLR which will bring implementation tradeoffs.

"Cool paper but no thanks" is a saying for when people come to you with an extremely new technique and want you to incorporate it at the language level with very little proofing in the field.

"Profunctor optics" is the a description of how profunctors encode lenses and similar structures. I am aware. I also think that technique can cook in Haskell land for a few more years before non-research projects should uptake it.

Post reply on HN