Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

7
  • I guess I got the hint: Don't get too complicated and maybe my varArgs approach is too complicated. I'll keep that in mind. Oh, and I know the difference between applicative (depends on the previous effect) and monad (may additionally depend on the value of the previous effect) . At work I try to use the former as often as possible. Commented Jun 3, 2019 at 16:35
  • Yes, it is indeed convoluted. The problem is that although JavaScript is not a good functional programming language, yet people try to write complex functional programs using it. JavaScript is more suitable for Pythonic code than Haskelline code. However, because it tries to borrow elements of myriad languages it ends up being neither as versatile as Python nor as elegant as Haskell. If you are really keen on becoming a better functional programmer, try writing a compiler for a functional programming language in JavaScript. en.m.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours Commented Jun 3, 2019 at 17:11
  • A compiler is an excellent project to work on if you're keen on becoming a great programmer. Not only will you learn how a programming language is designed, but also you will experience how to write and maintain a non-trivial piece of software. The best goal to strive for is to build a self-hosting compiler (i.e. a compiler for a source language written in the same source language, which is able to compile itself to some target language). I love compiler construction. I was pursuing my PhD in it before I decided to join the industry. If you ask questions about it I'd be more than happy to help Commented Jun 3, 2019 at 17:17
  • Thanks for the advice. Maybe you recall my runtime type validator project a year ago. I always wanted to take the next step but I've never found the time so far. Commented Jun 3, 2019 at 18:55
  • Runtime type validation is nice but it'll never be as powerful as compile time type checking/inference. You can only do so much at runtime. Commented Jun 4, 2019 at 0:36