Commit graph

114 commits

Author SHA1 Message Date
Alain Zscheile
2a0e85575e ocaml: [WIP] TagGroup 2024-02-15 18:16:42 +01:00
Alain Zscheile
d4fddeb596 ocaml/syntax: split code into more modules 2024-02-12 15:09:36 +01:00
Alain Zscheile
5152f2bde0 ocaml: start implementing expression parsing 2024-02-11 19:31:18 +01:00
Alain Zscheile
9b0f719fe2 RefOf [WIP] 2024-02-11 18:01:38 +01:00
Alain Zscheile
7d853f8f7e ocaml: forbid duplicate identifiers in patterns 2024-02-11 15:05:23 +01:00
Alain Zscheile
a084d9ceb8 ocaml: pattern parsing 2024-02-11 14:41:04 +01:00
Alain Zscheile
65c82283fc ocaml: record parsing 2024-02-11 14:24:29 +01:00
Alain Zscheile
0b206bcdbc ocaml: convert lexer token stream to list (needed to prevent file re-scanning) 2024-02-11 12:57:36 +01:00
Alain Zscheile
d5ff4964da ocaml: basic locale stuff 2024-02-11 02:15:52 +01:00
Alain Zscheile
6d0f18ee67 ocaml: complete the lexer 2024-02-11 00:35:07 +01:00
Alain Zscheile
8f8a4b883e ocaml: restructuring 2024-02-10 23:06:59 +01:00
Alain Zscheile
ef3977ddca ocaml: a lexer 2024-02-10 03:39:07 +01:00
Alain Zscheile
d7354de720 ocaml: add literal and layout stuff 2024-02-09 22:19:55 +01:00
Alain Zscheile
9c52af5c27 start working on ocaml stuff 2024-02-09 20:24:39 +01:00
Alain Zscheile
a75ebf8c46 TODO: parse escape codes 2023-12-24 01:48:49 +01:00
Alain Zscheile
3f609ccc40 rust/syntax: explicit binds for lambda types 2023-11-06 21:26:11 +01:00
Alain Zscheile
8e5c8f697f rust/typeck: just store the closure for lambdas 2023-11-06 21:18:20 +01:00
Alain Zscheile
b99ff62ea2 . 2023-11-03 20:30:41 +01:00
Alain Zscheile
f098db4e9c rust: implement expression parsing 2023-11-03 20:22:47 +01:00
Alain Zscheile
b2c7935968 rust: get rid of parsing trait parameters 2023-11-03 18:57:52 +01:00
Alain Zscheile
468474fcb2 . 2023-11-03 18:50:58 +01:00
Alain Zscheile
09580d4998 rust: parsing of literals 2023-11-03 15:54:42 +01:00
Alain Zscheile
1f2329ab5f rust: split stuff into more crates 2023-11-03 15:37:04 +01:00
Alain Zscheile
ab931de08f rust: 'official' yanais record and pattern syntax 2023-11-03 15:28:03 +01:00
Alain Zscheile
adc5e07bfd rust: better lazy types for lambdas 2023-11-03 15:16:54 +01:00
Alain Zscheile
a3e1609654 rust: move syntax/AST stuff into separate crate 2023-11-02 01:10:35 +01:00
Alain Zscheile
32b9fd4039 add summary documentation (still a bit WIP) 2023-10-31 22:26:36 +01:00
Alain Zscheile
e6cda8b525 rust: run clippy 2023-10-31 15:12:58 +01:00
Alain Zscheile
0d07940cc1 rust: egraph: +RefTyDerive 2023-10-31 15:08:36 +01:00
Alain Zscheile
17409813a5 rust: correctly strip heads on application 2023-10-31 14:43:43 +01:00
Alain Zscheile
f423f2092b rust: combine deep-cloning with substitution, otherwise we would iterate the graph twice 2023-10-31 14:35:02 +01:00
Alain Zscheile
a49f930eb1 rust: add references to egraph 2023-10-31 02:53:28 +01:00
Alain Zscheile
465af72b1a rust: use a loop when forcing expressions 2023-10-31 02:37:54 +01:00
Alain Zscheile
69511b04ae rust: implement Layout and expression graph 2023-10-31 01:39:13 +01:00
Alain Zscheile
172ff10663 rust: move mrwy57u's record into core 2023-10-30 20:12:15 +01:00
Alain Zscheile
5b6d126e28 rust: keywords should be a trait parameter 2023-10-30 20:02:35 +01:00
Alain Zscheile
1360293675 rename yn-utils to yanais-core and move lexer into it 2023-10-30 19:47:22 +01:00
Alain Zscheile
f87a8ede9b haskell: + Administrative normal form
https://en.wikipedia.org/wiki/A-normal_form
https://matt.might.net/articles/a-normalization/

but see also:
- KNF: https://esumii.github.io/min-caml/tutorial-mincaml-9.eng.htm
2023-10-28 23:24:27 +02:00
Alain Zscheile
02acd9e583 haskell: merge inferrable and checkable types
because the distinction doesn't cleanly survive "eval & quote"
2023-10-28 21:46:21 +02:00
Alain Zscheile
ec45a765d7 haskell: report value evaluation errors 2023-10-28 13:28:12 +02:00
Alain Zscheile
312e9e2d79 haskell: some type-checking, kinda... 2023-10-28 00:17:26 +02:00
Alain Zscheile
c2006152f5 haskell: add stuff for references and a hack for quote 2023-10-27 21:59:40 +02:00
Alain Zscheile
f3d3ed3e7f haskell/nfker7h: basic AST stuff 2023-10-27 19:30:52 +02:00
Alain Zscheile
c2df05f568 haskell: add Parser.List.takeWhile 2023-10-27 16:03:06 +02:00
Alain Zscheile
cf0092b5ca haskell: split out core library 2023-10-26 13:31:38 +02:00
Alain Zscheile
c0ccf3d05b haskell: use Semigroup in ParserError 2023-10-26 12:41:08 +02:00
Alain Zscheile
ac71ebd9b9 haskell: split generic parser into generic and bytestring-specific parts 2023-10-26 01:18:03 +02:00
Alain Zscheile
926176eafd haskell: use Numeric.Natural (we know that our numbers are unsiged) 2023-10-26 00:44:52 +02:00
Alain Zscheile
65f2f50a9b haskell: parse Integers 2023-10-26 00:08:20 +02:00
Alain Zscheile
87a72c019f haskell: tryOne should actually backtrack on failure 2023-10-25 22:36:35 +02:00