168 votesHenrik Feldt commented
I find this proposal overly syntax-oriented: it's supposedly needed because "lenses are such a fundamental property of functional programming in stateful systems", but you can in fact easily program in a stateless manner even when using sockets, file handles, semaphores etc.
Instead, add facilities to the language to write higher kinded types, that would enable us to write van Laarhoven (http://twanvl.nl/blog/haskell/cps-functional-references) lenses, or enable us to have an officially supported Applicative namespace, or allow us to export static signatures (or type classes and instances) from modules.
Language design should be free from muck; oriented towards creating the language as a total function of its input: code, rather than lots of small partial functions over code.
377 votesstarted · Adminfsharporg-lang (F# Software Foundation Language Group, F# Software Foundation) responded
Strictly speaking this issue is not meant for https://fslang.uservoice.com, since it is about targeting a particular platform with the tooling, rather than the F# language or core library design itself.
However, I’m leaving it open for now since it’s getting so many votes. We may close it sometime soon to release the votes.
In any case, this work is planned by the Microsoft visualfsharp team and other contributors. Please contribute to the work at the http://github.com/Microsoft/visualfsharp repository and follow that repository for more details and updates.
Don Syme, F# Language and Core Library EvolutionHenrik Feldt commented
I think this is especially important to get to run on small linux distros, like https://github.com/gliderlabs/docker-alpine which I predict will gain a lot of popularity in the docker community.Henrik Feldt supported this idea ·