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 |
|
Alain Zscheile
|
9b6229f9fd
|
haskell: merge lookup of symbols and identifier prefixes
|
2023-10-25 22:18:47 +02:00 |
|
Alain Zscheile
|
31c6f1a717
|
haskell: streamline some stuff
|
2023-10-25 21:43:18 +02:00 |
|
Alain Zscheile
|
b1531384ef
|
get rid of eitherToParser
|
2023-10-25 21:06:40 +02:00 |
|