amulet
write-you-a-haskell
amulet | write-you-a-haskell | |
---|---|---|
2 | 4 | |
281 | 3,304 | |
- | - | |
2.9 | 0.0 | |
over 2 years ago | over 3 years ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
amulet
-
Better error message for 1.1 + 1.1;;
One possibility would be to do something like the now-defunct Amulet language (an ML that compiled to Lua) did. You'd get accurate compiler errors, but also an additional error number that corresponds to a more beginner-friendly explanation of common reasons for the error, pulled from here, that could be accessed with amc explain 1234 on the command line or :explain 1234 in a REPL. So for example, if you tried the same kind of error as OP tried, like 1.1 + 1, you'd get this:
-
How can I load a module name from a variable?
Kind of a side note, but I wasn't a big fan of moonscript. I don't really like the Python-like approach to syntax and it just didn't suit me. F# or Haskell handles it better, and OCaml manages to look similar without actually needing whitespace sensitivity; I think they all do it way better than Python or Python-inspired languages. I really liked the idea of of the ML-style Amulet because of this, but it's a dead project now apparently. :(
write-you-a-haskell
-
A decade of developing a programming language
I highly recommend https://github.com/sdiehl/write-you-a-haskell as it is very developer friendly. It’s not complete, but it really gets the gears turning and will set you up for writing your own Hendley-Milner style type checker.
-
Type inference of letrec in Algorithm W
This is the best resource I know of: http://dev.stephendiehl.com/fun/006\_hindley\_milner.html https://github.com/sdiehl/write-you-a-haskell/blob/master/chapter7/poly_constraints/src/Infer.hs
- Write You A Haskell: "I would absolutely love to see this book completed!"
-
Monthly Hask Anything (November 2021)
I feel like Write You A Haskell was set out to introduce some of these foundational concepts in the right order: lambda calculus, to system-f to core - but that's more of a skeleton, right? What about logic? proofs? Is there anything else ... that can all be put together to create a "course" of some sort to master the theoretical concepts that Haskell stands upon?
What are some alternatives?
sloe - Simple purely functional language based on lambda-calculus.
algebra-driven-design - Source material for Algebra-Driven Design
type-level-bst - Type-Level Binary Search Tree in Haskell
distributive - Dual Traversable
articles - Miscellaneous articles. The readme is the table of contents.
type-eq - Type equality evidence you can carry around
brainfuck - This is an interpreter of the brainf*ck language, written in the pure, lazy, functional language Haskell.
TreadMarks - Battle tank combat racing!
sense-lang - Sense is a very high level, functional programming language for creating software by writing only the absolute necessary information and not a single line above that.
meta-cedille - Minimalistic dependent type theory with syntactic metaprogramming
mappy - A functional programming language. Like LISP but focused around maps rather than lists.
fyg-lang - Fyg is a simple high-level, functional-imperative with runtime type safety for the aspiring grug