407 Commits

Author SHA1 Message Date
crumbtoo
fb04f2bde1 (forgot to re-add the prelude) 2023-11-14 22:09:49 -07:00
crumbtoo
9bc0512410 better stats
measurements are imperfect, and will be VERY off once a gc is implemented. using micro-lens.
2023-11-14 22:07:28 -07:00
crumbtoo
ad94413100 be less eager in conditional primitives
not quite sure what i was thinking earlier. in `if# c t f`, there is no reason for `t` or `f` to be strict under any circumstance.
2023-11-14 20:35:38 -07:00
crumbtoo
535c059afc indirection 2023-11-14 20:30:05 -07:00
crumbtoo
3ba7df2b04 shit actually works now 2023-11-14 20:00:42 -07:00
crumbtoo
703b18412c primArbitrary
this uses some awesome type magic. leave code commentary later.
2023-11-14 17:09:15 -07:00
crumbtoo
a42a911d73 primBinary 2023-11-14 15:46:43 -07:00
crumbtoo
77c76b03ce constructed data!
that was easier than expected. see you in a few hours when i realise the catastrophic mistake i must've missed here
2023-11-14 15:20:24 -07:00
crumbtoo
f578b16d06 constructed data things 2023-11-14 14:52:21 -07:00
crumbtoo
3c667d4c23 Core.hs export list 2023-11-14 12:37:44 -07:00
crumbtoo
42c3ffb6ba move Prim to TIM.hs 2023-11-14 12:34:14 -07:00
crumbtoo
a259d5c42b remove Prim constructor from Expr 2023-11-14 12:33:06 -07:00
crumbtoo
650e0a3cfe supercomb reduction doc 2023-11-14 12:18:53 -07:00
crumbtoo
a10c5cb84b doc formatting 2023-11-14 12:09:43 -07:00
crumbtoo
2dd5ee1f2c rw scStep to use instantiateU
by **extremely** rough estimate, this performs 40% less allocations and 4% more reductions
2023-11-14 11:47:19 -07:00
crumbtoo
8d431c9581 Control.Parser 2023-11-14 11:07:13 -07:00
crumbtoo
23c324fea2 TI -> TIM
formatting
2023-11-14 11:06:41 -07:00
crumbtoo
032bc0648f document a few strs 2023-11-14 11:05:46 -07:00
crumbtoo
70f3b5cde2 good starting point for docs 2023-11-14 09:20:25 -07:00
crumbtoo
5edbd733ac that never happened well do it tomorrow... 2023-11-13 23:19:37 -07:00
msydneyslaga
4d9d1b62e1 Update state-transition-rules.md 2023-11-13 22:37:06 -07:00
crumbtoo
6800997a8f begin docs 2023-11-13 22:26:08 -07:00
crumbtoo
bc1a62120c other arith 2023-11-13 21:55:18 -07:00
crumbtoo
6f19d112e3 dyadic arith primitives work for unevaluated args
sloppy code! rewrite this lol..
2023-11-13 21:51:41 -07:00
crumbtoo
c0021937c5 dyadic arith primitives! (only works on NF args) 2023-11-13 21:16:46 -07:00
crumbtoo
694eaacbbd add negExample3 2023-11-13 19:54:56 -07:00
crumbtoo
034f2cba9c we fucking did it gamers (negation) 2023-11-13 19:53:45 -07:00
crumbtoo
0f641c2c34 augh. (negation kinda? still no?) 2023-11-13 19:08:16 -07:00
crumbtoo
cfb2569c83 remove Control.DFA
no longer used :(
2023-11-13 19:08:16 -07:00
crumbtoo
371aa5343c auxiliary view functions for heap lookups 2023-11-13 19:08:16 -07:00
msydneyslaga
416f5d89fa Update README.md 2023-11-13 17:29:46 -07:00
crumbtoo
71f16ca2d7 expant on stg milestone 2023-11-13 14:37:42 -07:00
crumbtoo
d7bd36ae49 STRs for negation primitive -- evaluator can negate ints
STR = state transition rule. did this unmedicated! next up will be other primitive arithmetic operations
2023-11-13 14:32:11 -07:00
msydneyslaga
cc7f940ef8 Update README.md 2023-11-13 13:29:44 -07:00
crumbtoo
31953c9fa1 uhh it shares now hooray for redex updation 2023-11-10 17:43:52 -07:00
crumbtoo
8ce258b9de ragh! 2023-11-10 17:38:17 -07:00
crumbtoo
0a9e4230ee letrec 2023-11-10 14:34:28 -07:00
crumbtoo
1f7272d0f0 sloppy code; TI support let-expressions 2023-11-10 14:14:14 -07:00
crumbtoo
71a8297451 cool! (core language mostly works) 2023-11-10 13:36:17 -07:00
crumbtoo
83cffc0a57 pretty instances for core language 2023-11-10 10:37:33 -07:00
crumbtoo
d265a423b7 pretty printer 2023-11-09 18:59:00 -07:00
crumbtoo
2254aa0cbf moop 2023-11-09 16:33:43 -07:00
crumbtoo
eac787a813 goop 2023-11-09 16:30:54 -07:00
crumbtoo
8e8632a86f whoops 2023-11-09 15:11:37 -07:00
crumbtoo
708e611799 pretty printer
uses ISeq, as described in 'Implementing Functional Languages'. going to try using a style similar to ShowS instead.
2023-11-09 14:55:03 -07:00
crumbtoo
80e55e6437 dfa rework 2023-11-09 14:11:31 -07:00
crumbtoo
4c8eba0b41 template instantiation 2023-11-09 13:31:16 -07:00
crumbtoo
e94f8a0ee7 Data.Heap 2023-11-09 09:08:58 -07:00
crumbtoo
2e76a54585 can't do this! killing myself tonight ‼️ here's three lines of code i spent four hours on 2023-11-08 19:21:12 -07:00
crumbtoo
2504f91572 haskell my beloved 2023-11-08 12:41:46 -07:00