Live data from Hacker News

F# for fun and profit: Terms and Conditions

fsharpforfunandprofit.com

41–50 of 55 posts

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

#41

What are some real world uses for this that people have used outside of their sandpit i.e. at work? I regularly see functional programming get voted to the top, but never any practical applications of such.

If you're seeing F# in a project at work (and in production), isn't that real world use?

Anyway, I just sat in a Mathematical Planning seminar with a guy from Quicken Loans who uses F# in production at work (Matthew Crews). He is also an author behind the Flips F# library.

A quick list of F# libs for real world, everyday uses:

* Pulumi / Farmer - code as infrastructure

* FAKE - build tool

* Fable - javascript transpiler

* Feliz - react elements

* FSharp.Data - parsing csvs, html pages

* Http.fs - making http calls

I've been using F# to parse CSVs at work and using result types and a ton of F# active patterns.

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

#42
post #30

Earlier quoted context omitted.

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

None? That's not what they are arguing against. You can see and compile the F# code, but since you need for that to use an already built compiler provided by Microsoft, you need to trust it. Even compiling the compiler and then use that compiler to compile your code doesn't help, because the first compiler that was compiled by someone's else might tamper the resulting compiler binary.

> None? That's not what they are arguing against.

So why are you still looking for issues when there's solutions avoiding their stated objection?

> Even compiling the compiler and then use that compiler to compile your code doesn't help

So what's the threat model now? that MS will risk their reputation, established business models and subject themselves to liability to poison the bootstrapped compiler to detect when a modified F# compiler is being built so they can inject vulnerabilities into all new modified F# compilers ensuring they're similarly poisoned whilst avoiding detection from easily disassembled byte code (that can be crossed checked against its original source), Does that sound plausible?

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

#43
I chortled when I saw the health warning against railway-oriented programming. Reading that post deeply influenced (and continues to influence) the architecture of Snowplow (https://github.com/snowplow/snowplow) and I titled a chapter of Event Streams in Action 'Railway-Oriented Processing' (https://www.manning.com/books/event-streams-in-action). Thanks Scott.

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

#44
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.

I think the worse that will happen is Azure ads in your build STDOUT. Worth the cost of admission IMO. Dotnet is faster than Java now.

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

#45
post #42

Earlier quoted context omitted.

None? That's not what they are arguing against. You can see and compile the F# code, but since you need for that to use an already built compiler provided by Microsoft, you need to trust it. Even compiling the compiler and then use that compiler to compile your code doesn't help, because the first compiler that was compiled by someone's else might tamper the resulting compiler binary.

> None? That's not what they are arguing against. So why are you still looking for issues when there's solutions avoiding their stated objection? > Even compiling the compiler and then use that compiler to compile your code doesn't help So what's the threat model now? that MS will risk their reputation, established business models and subject themselves to liability to poison the bootstrapped compiler to detect when…

http://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thom...

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

#46
post #38

What are some real world uses for this that people have used outside of their sandpit i.e. at work? I regularly see functional programming get voted to the top, but never any practical applications of such.

Jet.com is a great example. https://youtu.be/FskIb9SariI?t=409

Except it doesn't really exist anymore. Perhaps F# lives on within Walmart though.

https://www.cnbc.com/2020/05/19/walmart-winds-down-jetcom-fo...

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

#47

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…

I bought this book when it first came out, and I highly recommend it. It has influenced my implementation of DDD concepts in regular object oriented languages (so not just F# or functional languages).

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

#48
post #45
post #42

Earlier quoted context omitted.

> None? That's not what they are arguing against. So why are you still looking for issues when there's solutions avoiding their stated objection? > Even compiling the compiler and then use that compiler to compile your code doesn't help So what's the threat model now? that MS will risk their reputation, established business models and subject themselves to liability to poison the bootstrapped compiler to detect when…

http://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thom...

That's not an answer, you are building the compilers and tools from source, the only reason not to trust the builds of a cloud hosted build environment is if you believe Microsoft is maliciously poisoning builds of OSS compilers its compilers build in a way that escapes detection from its easily disassembled byte code of the compiler and everything it generates, including other modified F# compilers it builds which has to somehow retain its reciprocal poisonous code - all undetected.

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

#49
post #38

Earlier quoted context omitted.

Jet.com is a great example. https://youtu.be/FskIb9SariI?t=409

Except it doesn't really exist anymore. Perhaps F# lives on within Walmart though. https://www.cnbc.com/2020/05/19/walmart-winds-down-jetcom-fo...

The brand doesn't, but the tech is all over Walmart

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

#50
Two questions for those with significant experience developing in F#:

1. Have you tried using JetBrain's Rider IDE for that and, if so, how deficient your experience was when compared to using Rider for C# development? If, alternatively, you have used VS Code for F# development, how much support is there - generally and when compared to Rider - in terms of both language features and external frameworks/libraries (Fable, etc.)?

2. Could you quantify both quality and productivity gains from developing a complex system in F# versus developing it in C#?

Post reply on HN