hypertypes
write-you-a-haskell
hypertypes | write-you-a-haskell | |
---|---|---|
6 | 4 | |
107 | 3,304 | |
2.8% | - | |
5.4 | 0.0 | |
9 months 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.
hypertypes
-
My quest for the perfect AST representation
For the development of Lamdu I've embarked on a similar quest and ended up creating hypertypes after getting a helpful pointer in SO.
-
Extensible ASTs with extensible types
Otherwise I would go for modularity rather than extensibility and use hypertypes or an equivalent mechanism to represent the types.
-
What are strategies for tracking type checking errors after desugaring?
Indeed, then it is definitely possible. i.e https://github.com/lamdu/hypertypes
-
[ANN] rrb-vector - an alternative to Data.Sequence
Nice. Using this my type inference implementation benchmarked up to 2.5% faster and the switch wasn't difficult to do.
-
Hyperfunctions
I think https://github.com/lamdu/hypertypes might be related. This is a generic programming API that seems to be based on hyperfunctions, but moved up to the type level?
-
Handling an AST that is built from multiple types
I wrote an overview for several approaches folks came up with for this problem aka "the expression problem" including my own approach, "hypertypes" - see https://github.com/lamdu/hypertypes/blob/master/README.md
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?
rrb-vector - An implementation of a Relaxed Radix Balanced Vector in Haskell.
algebra-driven-design - Source material for Algebra-Driven Design
ric-script - A modern scripting language; implemented in old school C, yacc & flex
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.