Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-08-28 | feat: Introduce composable type errors and type parameter checking | Vincent Ambo | 1 | -101/+268 | |
This refactoring moves the type definitions into a recursively evaluated attribute set, which makes it possibe to refer to types in the definitions of other types. This functionality is used to type-check some of the type parameters passed in to other types. This is not yet done for all higher-order types because the evaluation semantics of Nix make it less useful for some cases. Further the definition of a type itself is now a stricter representation that works for all types except typed functions, which allows for composable error messages. | |||||
2019-08-28 | feat: Add rough initial version of sum types | Vincent Ambo | 1 | -1/+15 | |
Sum types are represented as attribute sets with a single key in them. | |||||
2019-08-28 | feat: Implement support for typing functions | Vincent Ambo | 1 | -1/+14 | |
The defun helper takes a type signature and a function and makes a typed version. Because we can. | |||||
2019-08-28 | chore: Add Google's copyright header | Vincent Ambo | 1 | -0/+3 | |
2019-08-28 | feat: Improved error message for missing struct fields | Vincent Ambo | 1 | -1/+2 | |
2019-08-28 | feat: Add enum support | Vincent Ambo | 1 | -15/+22 | |
2019-08-28 | refactor: Gain back a few more lines | Vincent Ambo | 1 | -14/+8 | |
2019-08-28 | refactor: Drop back to below 100 lines :) | Vincent Ambo | 1 | -6/+2 | |
2019-08-28 | feat: Add function type | Vincent Ambo | 1 | -2/+3 | |
It's not currently possible to check arguments for curried functions, but there might be something on the horizon for attribute set functions. | |||||
2019-08-28 | feat: Add derivation type | Vincent Ambo | 1 | -0/+3 | |
2019-08-28 | feat: Support better error messages for list/attrs element checks | Vincent Ambo | 1 | -5/+13 | |
2019-08-28 | feat: Initial check-in of type system sketch | Vincent Ambo | 1 | -0/+88 | |