Commit graph

86 commits

Author SHA1 Message Date
0d07940cc1 rust: egraph: +RefTyDerive 2023-10-31 15:08:36 +01:00
17409813a5 rust: correctly strip heads on application 2023-10-31 14:43:43 +01:00
f423f2092b rust: combine deep-cloning with substitution, otherwise we would iterate the graph twice 2023-10-31 14:35:02 +01:00
a49f930eb1 rust: add references to egraph 2023-10-31 02:53:28 +01:00
465af72b1a rust: use a loop when forcing expressions 2023-10-31 02:37:54 +01:00
69511b04ae rust: implement Layout and expression graph 2023-10-31 01:39:13 +01:00
172ff10663 rust: move mrwy57u's record into core 2023-10-30 20:12:15 +01:00
5b6d126e28 rust: keywords should be a trait parameter 2023-10-30 20:02:35 +01:00
1360293675 rename yn-utils to yanais-core and move lexer into it 2023-10-30 19:47:22 +01:00
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
02acd9e583 haskell: merge inferrable and checkable types
because the distinction doesn't cleanly survive "eval & quote"
2023-10-28 21:46:21 +02:00
ec45a765d7 haskell: report value evaluation errors 2023-10-28 13:28:12 +02:00
312e9e2d79 haskell: some type-checking, kinda... 2023-10-28 00:17:26 +02:00
c2006152f5 haskell: add stuff for references and a hack for quote 2023-10-27 21:59:40 +02:00
f3d3ed3e7f haskell/nfker7h: basic AST stuff 2023-10-27 19:30:52 +02:00
c2df05f568 haskell: add Parser.List.takeWhile 2023-10-27 16:03:06 +02:00
cf0092b5ca haskell: split out core library 2023-10-26 13:31:38 +02:00
c0ccf3d05b haskell: use Semigroup in ParserError 2023-10-26 12:41:08 +02:00
ac71ebd9b9 haskell: split generic parser into generic and bytestring-specific parts 2023-10-26 01:18:03 +02:00
926176eafd haskell: use Numeric.Natural (we know that our numbers are unsiged) 2023-10-26 00:44:52 +02:00
65f2f50a9b haskell: parse Integers 2023-10-26 00:08:20 +02:00
87a72c019f haskell: tryOne should actually backtrack on failure 2023-10-25 22:36:35 +02:00
9b6229f9fd haskell: merge lookup of symbols and identifier prefixes 2023-10-25 22:18:47 +02:00
31c6f1a717 haskell: streamline some stuff 2023-10-25 21:43:18 +02:00
b1531384ef get rid of eitherToParser 2023-10-25 21:06:40 +02:00
48257099de haskell: make error handling in the Parser monad easier 2023-10-25 21:03:35 +02:00
41db2b8139 haskell: handle unicode decoding errors properly 2023-10-25 20:28:55 +02:00
9785fdd5f4 fix identifier corruption during formatting 2023-10-25 16:33:14 +02:00
ce9e5ee3cd improve identifying re-encoding... 2023-10-25 16:28:46 +02:00
068538e0b8 fix comment parsing and somewhat ident printing 2023-10-25 16:10:15 +02:00
1aca8abb46 haskell: lexer compiles 2023-10-25 15:38:55 +02:00
92333d0710 haskell: make boilerplate more usable 2023-10-25 13:06:35 +02:00
356628c959 haskell: some docs and other misc improvements 2023-10-25 12:35:07 +02:00
5c1445df99 haskell: move stuff into the generic lib 2023-10-24 22:40:27 +02:00
90bb033e19 haskell: more parsing 2023-10-24 22:21:23 +02:00
8942de9c81 rust/qwlum2s: yet another rust variant 2023-10-24 22:08:57 +02:00
093d7dcb0b the haskell stuff makes some progress (parsing of identifiers) 2023-10-24 22:08:10 +02:00
e21bb48b63 haskell: some abstractions compile 2023-10-24 15:22:59 +02:00
0391cbcfab haskell: WIP 2023-10-24 11:25:25 +02:00
2a7f16c99e rust/mrwy57u: proper selection 2023-10-24 00:02:27 +02:00
3d35fa98ae mrwy57u: some more 2023-10-16 04:39:22 +02:00
1a64b640d6 mrwy57u: put agnostic parser code into separate crate 2023-10-16 00:45:28 +02:00
e58822212e mrwy57u: some module stuff 2023-10-16 00:40:26 +02:00
872ee5e470 mrwy57u: improve some stuff; records 2023-10-15 18:57:41 +02:00
2d228d1310 mrwy57u/lex: +String literals 2023-10-15 01:10:05 +02:00
3e393500f9 more ynm stuff (mostly lexer) 2023-10-14 23:05:39 +02:00
286e98a93d +mrwy57u 2023-10-14 16:59:16 +02:00
7b93c98dae more stuff in C 2023-10-02 00:17:09 +02:00
a3a4d3add4 some c stuff 2023-10-01 22:47:28 +02:00
a44cdf2a76 move rust stuff into /rust 2023-10-01 20:58:07 +02:00