8
AleCx04
3y

Anyone in here successfully using a pure FP language/ecosystem on their day to day?

I know of one of you that uses Scala, and myself I have an (admittedly) shitty application at work running in Clojure. These last two languages I mentioned are not pure FP.

I am talking about the likes of PureScript, Haskell, etc. Those mfkas.

If so,what is your experience working in said paradigm? I tried to keep my Clojure program as pure as possible, I failed, but enjoyed it.

And I know that FP is not a silver bullet, but in some scenarios when properly applied it can work beautifully. I also have React based applications with pure components, but Javascript itself is neither a functional(pure or otherwise) programming language, it merely supports functional paradigms.

Just wondering, no flamewars or anything like that, I just want to know your pros and cons.

Comments
  • 1
  • 2
    I really like Purescript. I find plenty of utility in the language and it is more pleasant to work with. Unfortunately, I only did couple of things in it and small project in production. I like that you have to solve edge cases early but I understand it is not for everyboody.
  • 2
    I know of at least one cloud services company and one payment provider using Haskell. A bunch of companies use it internally, including Facebook. I use a commercial-grade language and compiler written in and inspired by Haskell (Bluespec) frequently and have some contact with the team behind its development (not sure if Bluespec itself could be considered pure actually, since it's a HDL it works a bit... differently). I also use Haskell (and SML, but that's not pure) in my research, if that counts, but that's not "production".

    It works out great for me, lets me move very fast without breaking things and it lends itself to carefully designed programs with much better structure and good support for automatic proof or verification. GHC Haskell is also very fast in practice, though you do need to know some low level details (thunk management etc.) to really get there. Anything really performance critical (on CPU) that doesn't work well with Haskell semantics, like a fast pointer based mutable data structure gets done in C anyway. The major advantage though is the sheer expressiveness of the language and for my work that's very valuable.

    Biggest con is that not many people know or use Haskell, so I majorly use it in a "backend" part of my work and expose the "frontend" via a Python API so non-Haskellers can use it. The Python->Haskell->C combination has worked pretty well for me tbh.
  • 1
  • 1
    🔼
    I like how Rust takes inspiration from FP, but remains to be understood imperatively. I still wish to know what FP language people use in production.
  • 0
    @vintprox same, I want to know about the process of using a pure functional language. A lot of people use impure ones, such as Scala or F#. In terms of FP, the highest language currently used seems to be Scala, but that is impure, nothing wrong with that really and I know Haskell to me amazingly powerful. But still, just wanted to gauge a bit more on these concepts.
Add Comment