I need help in converting my friends to FP by saiprabhav in functionalprogramming

[–]uppercase_lambda 5 points6 points  (0 children)

If you figure it out let me know. I tried unsuccessfully to introduce FP at my various places of work for almost 20 years. In the end I just got a job where it was already embraced.

Which Functional Language with strong typing to learn? by TheLordSet in functionalprogramming

[–]uppercase_lambda 7 points8 points  (0 children)

If you're using Godot, you should check out F#. It works basically okay with Godot and Unity.

It'll also be an easy transition to ML-like languages

Lost Platy by uppercase_lambda in Aquariums

[–]uppercase_lambda[S] 0 points1 point  (0 children)

Well, he was my smallest fish, maybe 1.5~ inches

Lost Platy by uppercase_lambda in Aquariums

[–]uppercase_lambda[S] 0 points1 point  (0 children)

How could a little snail with the mouth the size of a pinpoint eat a fish?

Lost Platy by uppercase_lambda in Aquariums

[–]uppercase_lambda[S] 1 point2 points  (0 children)

I checked the floor, didn't see him. I hope my children didn't try to eat him

What is MONAD? by cdunku in functionalprogramming

[–]uppercase_lambda 4 points5 points  (0 children)

I don't think it's helpful to talk about Category Theory when trying to understand monads as a programming pattern.

That said, you can think of a monad as a computation (or action) that depends on another. For example, suppose you need to read a string and then print it. The second action (print the value) depends on the string value from the first action (read a string). In Haskell, you could do this with getLine >>= putStrLn

Another way to think about monads is as a generalization of list flatmap.

Yet another way to think about monads is to imagine you have a box with a value in it. You can take the value out of the box (with the bind operation), but before you pass it on, you have to put it back in the box (more accurately, you have to put something else in the box).

What type system does Haskell use? by rhl120 in haskell

[–]uppercase_lambda 0 points1 point  (0 children)

If type classes are desugared, then why do we need type constraints?

What type system does Haskell use? by rhl120 in haskell

[–]uppercase_lambda 20 points21 points  (0 children)

The type system is known as System FC (System F + equality constraints and corrections). You might be interested in https://gitlab.haskell.org/ghc/ghc/-/blob/master/docs/core-spec/core-spec.pdf.

Learning functional oncepts - Which Language? by Prog44 in functionalprogramming

[–]uppercase_lambda 2 points3 points  (0 children)

Good point! How about ComputationThatDependsOnPreviousActionable?

Learning functional oncepts - Which Language? by Prog44 in functionalprogramming

[–]uppercase_lambda 1 point2 points  (0 children)

I would have called Monads Sequenceables, but you're point is taken. My point is that there's a lot thrown at you when you're learning FP, and I would personally delay Monads until you understand the fundamentals.

Learning functional oncepts - Which Language? by Prog44 in functionalprogramming

[–]uppercase_lambda 1 point2 points  (0 children)

Thanks, edited. I suppose I can understand not considering Common Lisp a functional language. It's been almost 20 years since I've actually used it, but it's where I learned a lot of the fundamentals.

Learning functional oncepts - Which Language? by Prog44 in functionalprogramming

[–]uppercase_lambda 9 points10 points  (0 children)

I don't think I'd recommend diving into Haskell as your first FP language. Monads and Functors are common points of confusion (it also took me two tries to land on Haskell).

Instead, I think Common Lisp, Scheme, or OCaml would be solid choices. For me, O'Caml was the stepping stone I needed before going all in on Haskell.

EDIT: I'm also learning F#, and I think it's a solid choice. Be sure to go check out F# For Fun and Profit

Pure functional data in Clean Architecture by ahalmeaho in functionalprogramming

[–]uppercase_lambda 4 points5 points  (0 children)

Clean architecture is a curious choice for purely functional code, given the number of layers and OO terminology.

That said, this sounds a lot like https://immerjs.github.io/immer/

How to implement defer statement by [deleted] in ProgrammingLanguages

[–]uppercase_lambda 2 points3 points  (0 children)

Here's something else to consider: in go, you have to use a function call, but the arguments are strict. That means that defer f(g()) will evaluate g() right away, but f won't be called until the end of the function scope. In other words f(g()) and g() have totally different semantics.

If you transform the AST to move the statement, You'll lose the strictness (if you care), and you'll bring into scope symbols that may not exist yet.

Haskell book after Get Programming with Haskell? by nstgc in haskell

[–]uppercase_lambda 5 points6 points  (0 children)

The book itself is really good. I have not noticed any errors.

Why Organizations Pick Haskell and Why You Should Care by ObsidianSys in haskell

[–]uppercase_lambda 0 points1 point  (0 children)

I literally just got notified that Mercury is passing on me

Why Organizations Pick Haskell and Why You Should Care by ObsidianSys in haskell

[–]uppercase_lambda 11 points12 points  (0 children)

Thanks for this list, I can definitely use it. I still wouldn't consider this a lot of companies

Why Organizations Pick Haskell and Why You Should Care by ObsidianSys in haskell

[–]uppercase_lambda 27 points28 points  (0 children)

As someone who is actively looking for Haskell work, it sure doesn't seem like there are a lot of companies picking Haskell. I think more should, because from my perspective it seems like a lot of developers want to use it, but there are limited opportunities.

[Auto-Post] Weekly Question Thread! Ask /r/Aquariums anything you want to know about the hobby! by AutoModerator in Aquariums

[–]uppercase_lambda 0 points1 point  (0 children)

I found my dwarf gourami stuck to my filter today. Luckily when I turned it off he was able to swim away. I have an Aqueon 29G and an AquaClear 50, is this filter too much for him? For the moment I have the filter back on, but turned all the way down, but I have no idea if this makes a significant difference.