Live data from Hacker News

F# for fun and profit: Terms and Conditions

fsharpforfunandprofit.com

21–30 of 55 posts

Re: F# for fun and profit: Terms and Conditions

#21

Off topic. I highly recommend the book written by the site's author https://pragprog.com/titles/swdddf/domain-modeling-made-func... Although it may look like just Domain Driven Design (DDD) and F# from the title. I think I've learnt a lot more from it. It changed the way I approached a problem and I somehow keep coming back to the book to get a refresher of the teachings in it. I suspect it is due to the influence of…

Even if you never plan to touch F#, I found it a really insightful approach for modeling domain problems - and capturing the rules of the system you are trying to model in your code and data types.

Really well done, and such a easy read as well.

It's not that it's revolutionary, but it one of those things that once you read it both seems obvious and also makes you wonder why we do things any other way.

Re: F# for fun and profit: Terms and Conditions

#23
post #10
post #9

I really like F# but am concerned there might be some kind of gotcha with using it in a commercial project. Like somehow Microsoft might decide to require payment for .NET or something.

It's all open source now

You're still going to have to download a binary from Microsoft. This is the nature of self hosting compilers. It would be nice if there were an alternative implementation (say, a gcc or llvm front end) that you could bootstrap it from but that's not how it is right now.

This creeped me out just enough that I haven't played with it. Microsoft has changed a lot but downloading Linux binaries from them is still just a bit too much.

Re: F# for fun and profit: Terms and Conditions

#24
post #9

I really like F# but am concerned there might be some kind of gotcha with using it in a commercial project. Like somehow Microsoft might decide to require payment for .NET or something.

If you're really concerned, you can always also compile F# to Mono assemblies (though in my experience it does lag .NET CLR in functionality, so you'll probably need to use an F# version a few minor releases earlier than the official one).

However, this isn't something I'm really concerned about. I think there's practically nil chance something like that would ever happen.

Re: F# for fun and profit: Terms and Conditions

#25
post #23
post #10

Earlier quoted context omitted.

It's all open source now

You're still going to have to download a binary from Microsoft. This is the nature of self hosting compilers. It would be nice if there were an alternative implementation (say, a gcc or llvm front end) that you could bootstrap it from but that's not how it is right now. This creeped me out just enough that I haven't played with it. Microsoft has changed a lot but downloading Linux binaries from them is still just a b…

If you're concerned, why can't you just build F# from its OSS Repo with their build.cmd or build.sh scripts?

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

They even have a Visual Studio Online quickstart which provisions the build environment with all necessary dependencies:

https://github.com/dotnet/fsharp#visual-studio-online-quicks...

Where the build environment wouldn't be running on your machine.

Re: F# for fun and profit: Terms and Conditions

#26

Off topic. I highly recommend the book written by the site's author https://pragprog.com/titles/swdddf/domain-modeling-made-func... Although it may look like just Domain Driven Design (DDD) and F# from the title. I think I've learnt a lot more from it. It changed the way I approached a problem and I somehow keep coming back to the book to get a refresher of the teachings in it. I suspect it is due to the influence of…

Seconding this! It's one of the very few tech books I've read cover to cover more than once. I similarly find myself revisiting individual pieces of it often. It completely changed the way I thought about the role of type systems -- and I don't even mean in terms of monads, functors, or any other higher level category theoretic stuff. I mean just the day-to-day business coding idea of representing more of your domain…

Would you mind sharing other tech books you've read cover-to-cover more than once?

Re: F# for fun and profit: Terms and Conditions

#27

Off topic. I highly recommend the book written by the site's author https://pragprog.com/titles/swdddf/domain-modeling-made-func... Although it may look like just Domain Driven Design (DDD) and F# from the title. I think I've learnt a lot more from it. It changed the way I approached a problem and I somehow keep coming back to the book to get a refresher of the teachings in it. I suspect it is due to the influence of…

He is a great teacher. One of the most digestible functional programming sites.

Re: F# for fun and profit: Terms and Conditions

#28
post #25
post #23

Earlier quoted context omitted.

You're still going to have to download a binary from Microsoft. This is the nature of self hosting compilers. It would be nice if there were an alternative implementation (say, a gcc or llvm front end) that you could bootstrap it from but that's not how it is right now. This creeped me out just enough that I haven't played with it. Microsoft has changed a lot but downloading Linux binaries from them is still just a b…

If you're concerned, why can't you just build F# from its OSS Repo with their build.cmd or build.sh scripts? https://github.com/dotnet/fsharp#contributing They even have a Visual Studio Online quickstart which provisions the build environment with all necessary dependencies: https://github.com/dotnet/fsharp#visual-studio-online-quicks... Where the build environment wouldn't be running on your machine.

The F# compiler seems to be written in F#. Therefore, you need to already have an F# compiler to build it. That GitHub repo mentions that "You will also need the latest .NET 5 SDK", which looks like it includes F#. (Presumably, when the language was first written, there existed a compiler written in some other language. However, that compiler is almost certainly not maintained anymore, so it wouldn't be able to compile today's compiler, which probably uses language features added since then.)

Re: F# for fun and profit: Terms and Conditions

#29
Scott W has a great approach to domain modeling.

While he covers many topics, and almost all of F#, I think the way he uses the language to model a domain is what stands out as something that could really be of use in many real world applications.

Just looking at my own pet project of yatzy that I implemented in F# in a day, I used discriminated unions and enums to model all of it.

Re: F# for fun and profit: Terms and Conditions

#30
post #28
post #25

Earlier quoted context omitted.

If you're concerned, why can't you just build F# from its OSS Repo with their build.cmd or build.sh scripts? https://github.com/dotnet/fsharp#contributing They even have a Visual Studio Online quickstart which provisions the build environment with all necessary dependencies: https://github.com/dotnet/fsharp#visual-studio-online-quicks... Where the build environment wouldn't be running on your machine.

The F# compiler seems to be written in F#. Therefore, you need to already have an F# compiler to build it. That GitHub repo mentions that "You will also need the latest .NET 5 SDK", which looks like it includes F#. (Presumably, when the language was first written, there existed a compiler written in some other language. However, that compiler is almost certainly not maintained anymore, so it wouldn't be able to compi…

So where's the issue with using a cloud hosted build environment for the builds?
Post reply on HN