News for hackers. Stuff that matters.
Re:What's New in F# 4.1? [video] by stcredzero on Friday December 09, 2016 @04:44PM (#13142107)
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?
Re:What's New in F# 4.1? [video] by tpetricek on Friday December 09, 2016 @04:56PM (#13142196)
If you wanted to create a version of F# that only allows pure functions, your best option is probably to modify the F# compiler (which is open source). However, that sounds like something that might not be all that useful.

A more useful thing could potentially be to use the "F# Compiler Service" (which is the compiler API, exposed via a nice F# library) and create some tool that checks purity. I think many people might actually be interested in something like this.

Re:What's New in F# 4.1? [video] by stcredzero on Friday December 09, 2016 @05:17PM (#13142353)
My purpose would be to create a multiplayer game programming platform. Basically, it would come with a game loop already running, with communications already working. Then you could modify the game by changing functions that transform game tick N to game tick N+1.
Re:What's New in F# 4.1? [video] by moomin on Friday December 09, 2016 @06:54PM (#13142955)
There's another way to do this. Just scan the compiled code for access to anything other than a fairly short whitelist of functions. This is how Terrarium worked.
Re:What's New in F# 4.1? [video] by evincarofautumn on Friday December 09, 2016 @10:57PM (#13143942)
Yup, this is the better approach to sandboxing. You can always expand a whitelist, but it’s not so easy to play black-a-mole.
Re:What's New in F# 4.1? [video] by mamcx on Friday December 09, 2016 @05:30PM (#13142426)
Easy?

If we are talking about building a language in F#, remember that is possible to use any language for that.

In fact is make support for side-efects and mutating that complicate the build of a compiler/interpreter.

Re:What's New in F# 4.1? [video] by drbradley on Friday December 09, 2016 @04:47PM (#13142135)
Very strong on the parsing front - FSharp.Data contains parsers and type providers for a variety of common formats and FParsec is a mature parser combinators library.
Re:What's New in F# 4.1? [video] by VoiceOfWisdom on Friday December 09, 2016 @04:50PM (#13142149)
FParsec is fantastic. I have implemented a parser that supports a indentation based language in it. FParsec makes it very productive, and very fun.
Re:What's New in F# 4.1? [video] by mamcx on Friday December 09, 2016 @05:28PM (#13142417)
Is published? I have tried to use FParsec before for the same kind of language and failed.
Re:What's New in F# 4.1? [video] by VoiceOfWisdom on Friday December 09, 2016 @05:53PM (#13142581)
Its currently in a private bitbucket repo. I can give you the parser though, MIT licensed.

ParserUtils is where maybeIndented and indented are. They make indentation just work. There currently overzealous with backtracking though, makes errors kinda shit. Working on that at somepoint.

https://gist.github.com/xavierzwirtz/99479a11f1eefd3215467f7...

Re:What's New in F# 4.1? [video] by mamcx on Friday December 09, 2016 @06:23PM (#13142773)
Ok, thanks.

But this not look more easy than just do it as TopDown Parser. But I don't know your language so it maybe have provided you with some benefits more than just lines of code?

Re:What's New in F# 4.1? [video] by VoiceOfWisdom on Friday December 09, 2016 @06:26PM (#13142796)
Big benefit to me was being able to do it all with parser combinators, and without having to drop into another language like lex and yacc.
Re:What's New in F# 4.1? [video] by UK-AL on Friday December 09, 2016 @09:13PM (#13143601)
Parser combinators are top down parsers.
Re:What's New in F# 4.1? [video] by VoiceOfWisdom on Friday December 09, 2016 @04:48PM (#13142139)
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.
Re:What's New in F# 4.1? [video] by bbcbasic on Saturday December 10, 2016 @04:12AM (#13144821)
Like purescript?