r/functionalprogramming

Do you feel limited by coding in a less typed FP language compared with something like Haskell/Scala/Ocaml?

I really can't code in Go anymore. I love the simplicity, but I can't code without option/result, enums, ADT, ... But getting something better than Go, on this area, creates a hard decision to make in terms of how far should the type system goes. For example, Gleam is FP and typed, but the type system, of course is better than Go's, but it's no where near something like Haskell/Scala. Since I did not worked with Haskell before, and did just basic things on Scala, does it really matters?

On my current view, the biggest improvements in correctness come from using ADT, immutability, and errors as values. But there is also typeclasses, phantom types, linear types, GADT, .... to what degree where talking about syntax sugar or actual modeling features. I think I could live without all the syntax sugar, and write a little more code, or even some boilerplate, given the years coding in Go, but I would like to correctly express the constraints at the code.

I hope this question is understandable.

reddit.com
u/Ecstatic-Panic3728 — 4 days ago
▲ 62 r/functionalprogramming+1 crossposts

Hi, it's me again, and Converge is hiring for a senior software engineer to join our team. You can find the job description here and can also apply via that link (which is better than messaging me on reddit).

  1. Small engineering team working on decarbonisation and efficiency for the construction industry.
  2. The team does a mix of hardware, software, and applied data science. You'll be joining one of our early-stage product teams (either a very new product or a fairly new product).
  3. We're looking for people with functional programming backgrounds, if it's not production Haskell, it might still be worth talking, but we do need you to have a lot of experience in the functional paradigm.
  4. You won't just be doing Haskell, there's still typescript and python to maintain -- by all means have a lot of enthusiasm for Haskell, but we are here to create products for our customers and users at the end of the day, and we need to do what it takes to do that.
  5. Prefer London/UK, but will consider nearby timezones.
  6. Needs lots of real-world experience on complex products, this is a senior role in a small team, so you'll get lots of ownership and autonomy, but it takes a level of experience to navigate the uncertainty which comes with building in this environment.

Salary range is £90-100K + stock options.

Feel free to ask me questions (I'm cofounder and CTO).

reddit.com
u/gtf21 — 6 days ago
▲ 16 r/functionalprogramming+1 crossposts

I built this while learning untyped lambda calculus, because I wanted to experiment with terms in the same shape they appear in papers and notes rather than transliterated into a programming language. It grew into something more substantial — sharing in case it helps anyone who's in the same spot, or anyone who'd rather see terms reduce automatically than work it out on paper.

Most of the effort went into keeping the syntax close to standard notation while making typing it fun: real λ, ≡ / ≢ for α/β-equivalence assertions, := / ::= for definitions, e[x := a] substitution, multi-parameter sugar. The editor handles the input tricks — \name<space> expansion (\lambda -> λ, \equiv -> ≡, ...), bracket auto-wrapping, autocomplete on definition names. You can also declare your own infix operators (ASCII or unicode) via a :infix directive — making expressions like p ∨ q or n + m possible.

A small standard library of Church encodings (booleans, naturals, pairs, lists, Y) comes with it; you can import or remix it, or drop in your own modules.

Aimed primarily at students and teachers — a beginner-oriented tutorial is also in progress, though not yet finished. Reduction is normal-order with step/size limits, with optional call-by-value semantics introduced by β. Comments and feedback are very welcome.

URL: https://ezander.github.io/lambda_playground/

reddit.com
u/BreadfruitOk7083 — 14 days ago