aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2 daysdoc: updated the README, still sysreqs missingJoel Kronqvist
2 daysdoc: repeat in TUTORIAL.mdJoel Kronqvist
2 daysfeat: repeat in stdlibJoel Kronqvist
2 daysdoc: added exercise on Collatz conjectureJoel Kronqvist
3 daysdoc: added exercises 3 and 4Joel Kronqvist
3 daysfeat: left-or and right-or for coproducts in stdlibJoel Kronqvist
3 daysfix: added missing conversions and generic inferring for coproductsJoel Kronqvist
3 daysdoc: added a new exc. 1 to serve as an introduction to the cli, added ↵Joel Kronqvist
documentation on discard
3 daysfeat: added discard: T -> () to stdlib.slipJoel Kronqvist
3 daysfix: removed unneccessary lowering from SCons(x, Nil) to x when getting ↵Joel Kronqvist
matched arms
3 daysfeat: --babysteps for REPL for easier debuggingJoel Kronqvist
4 daysfeat: map and filter for integers in stdlib.slipJoel Kronqvist
4 daysdoc: added documentation on writing typesJoel Kronqvist
4 daysdoc: added section on coproducts and documented their pattern matching in ↵Joel Kronqvist
TUTORIAL.md
4 daysfeat: implemented coproducts according to testsJoel Kronqvist
6 daystest: added boilerplate and tests for coproduct parsing, type checking and ↵Joel Kronqvist
evaluation
7 daysdoc: added exercise 1Joel Kronqvist
7 daysrefactor: loop-unrolled recursive function SExp::parts as it's called a lot, ↵Joel Kronqvist
also fixed it returning [Nil] if passed Nil
7 daysfix: quote/vector disappearing in substitution on casesJoel Kronqvist
7 daysfix: make case type checking work according to updated testsJoel Kronqvist
7 daystest: added failing tests for type pattern matching, as VecType and QuoteTy ↵Joel Kronqvist
must be accounted
7 daysfix: make argument type list stay as one type when there is just 1 argument nameJoel Kronqvist
7 daysfix: refined [x] to x conversion, think (not true) and (vector 1)Joel Kronqvist
7 daysrefactor: change conversions to use a stricter function with deduplicated codeJoel Kronqvist
8 daysfix: repl erroring "let used as operator" with empty/nil inputsJoel Kronqvist
this was fixed by transforming empty inputs to nil and not transforming nil inputs to empty inputs.
8 daysfix: changed type of (() T) from (T ...) to (Vector (T ...))Joel Kronqvist
this makes the type of the empty vector consistent with the runtime behavior and prevents weirdly typed expressions such as (vector (() Int)) : (Vector (Int ...)). removed an unused import in case.rs and changed a unused pattern variable to an underscore in conversion.rs.
10 daysdoc: added <> and factorial example to TUTORIAL.mdJoel Kronqvist
10 daysfeat: vector concatenationJoel Kronqvist
10 daysfix: conversions between vectors, they were needed for some functions, but ↵Joel Kronqvist
now it's stricter than before
10 daysdoc: added empty vector initialization and int vector sum to TUTORIAL.mdJoel Kronqvist
10 daysfeat: sum for lists/vectors in stdlibJoel Kronqvist
10 daysfeat: type conversion from (Vec/Quote X) -> X and add vec/quote to rest ↵Joel Kronqvist
pattern substitutions
10 daysfix: prevented loading non-let expressions as declarationsJoel Kronqvist
10 daysdoc: added help message and a reference to it in README.mdJoel Kronqvist
10 daysfeat: standard library & loading it by defaultJoel Kronqvist
10 daysfeat: read binds from files, evaluate expression from fileJoel Kronqvist
10 daysfix: function arguments not evaluating before function callJoel Kronqvist
10 daysfeat: fixed point dynamicsJoel Kronqvist
10 daysfix: subst not respecting fn and case bindsJoel Kronqvist
11 daysdoc: updated tutorialJoel Kronqvist
11 daysfeat: statics for fixed point recursionJoel Kronqvist
11 daysfix: made conversion work according to updated tests:Joel Kronqvist
* implemented conversion of arrow types * fixed (Int Bool) into (T T) succeeding * now vectors have to be of one type only even if generic * maybe something else too
11 daystest: stricter generic checking tests added for Type::aka and Type::into_typeJoel Kronqvist
11 daysfeat: added rest of types to the parserJoel Kronqvist
also fixed function tests in check.rs
11 daysfix: removed obsolete code for handling types as they are now parsed ↵Joel Kronqvist
directly to atoms
11 daysfeat: parsing of new types (T, (int ...), (int bool)) etc. also fixed bug in ↵Joel Kronqvist
into_type (it didn't handle lists recursively)
11 daysfix: removed unneccessary print, excluded .#[file] emacs backups in gitignoreJoel Kronqvist
11 daysfix: step scrutinee of case & can instantiate empty vecJoel Kronqvist
13 daysfeat: generic match arms, mostly for functions I guess?Joel Kronqvist
13 daysfeat: pattern matching evaluation in step.rsJoel Kronqvist