Commit Graph
100 Commits
Author SHA1 Message Date
crumbtoo 2be598b476 drop hSize in favour of length 2023-11-29 10:59:16 -07:00
crumbtoo bb9e0a9cc9 begin gm 2023-11-28 16:45:02 -07:00
crumbtoo b05f17de13 fix link 2023-11-28 12:19:04 -07:00
crumbtoo 8b61856977 begin gm docs 2023-11-28 12:18:49 -07:00
crumbtoo b8973cbed7 stg -> tim 2023-11-28 09:18:00 -07:00
crumbtoo fb52e63485 totally didn't add the wrong module description 2023-11-27 17:55:55 -07:00
crumbtoo faa6d75c18 more haddock headers 2023-11-27 17:52:59 -07:00
crumbtoo 32200a67af haddock module headers 2023-11-27 17:50:34 -07:00
crumbtoo 77f0e7521e small steps towards actual error handling 2023-11-27 17:38:46 -07:00
crumbtoo 6fffb1345b formatting 2023-11-27 17:30:49 -07:00
crumbtoo 7f6813beb5 tidy things up 2023-11-27 17:29:00 -07:00
crumbtoo c0ebd227fc remove debug traces 2023-11-25 04:20:44 -07:00
crumbtoo 57d08046de good gc 2023-11-25 04:17:15 -07:00
crumbtoo 2153861927 shitty gc 2023-11-25 00:51:44 -07:00
crumbtoo d91043fd63 operations on lists 2023-11-24 16:03:17 -07:00
crumbtoo ec87ed49f8 implement corePrelude in core language 2023-11-24 14:59:21 -07:00
crumbtoo 0b72bc8f11 temporarily remove layout support
the core language doesn't need it. let's just keep the core simple for now while i focus on more important things
2023-11-24 14:13:20 -07:00
crumbtoo 1cd7b5a25b comment 2023-11-24 01:17:35 -07:00
crumbtoo 8724df05fe corrections 2023-11-24 00:42:48 -07:00
crumbtoo f1f711c9ca lists! 2023-11-24 00:29:37 -07:00
crumbtoo 5e7192fd6e better log output 2023-11-23 01:54:45 -07:00
crumbtoo f4d88e9478 cleaning duties 2023-11-23 01:34:31 -07:00
crumbtoo d84fe56fbb pairs :3 2023-11-23 00:56:47 -07:00
crumbtoo ac6c0b7457 shitty temp frontend 2023-11-22 21:53:36 -07:00
crumbtoo 8195895233 str corrections 2023-11-22 16:31:58 -07:00
crumbtoo 29f193c8e0 use overloadedstrings in coreprelude 2023-11-22 16:10:56 -07:00
crumbtoo 3f2dfe0c96 pair examples 2023-11-22 16:09:28 -07:00
crumbtoo 5cd645e5d6 i realise i don't comment enough 2023-11-22 16:05:06 -07:00
crumbtoo 06ad439e62 prelude move 2023-11-22 15:59:05 -07:00
crumbtoo 8a051085c2 delta duped code 2023-11-22 15:44:41 -07:00
crumbtoo d0be08027a TIM export list and ifExample2 2023-11-22 15:41:36 -07:00
crumbtoo ae39579c97 location (row,col) -> span (row,col,len) 2023-11-22 15:38:15 -07:00
crumbtoo 26c135cccb MAJOR MIlESTONE: FACTORIAL PROGRAM FROM SRC TO EXECUTION 2023-11-22 01:41:22 -07:00
crumbtoo 0d32ecd20e say it with me girls, "good enough!"
this is so dogshit
2023-11-22 01:16:11 -07:00
crumbtoo 5fb348fbb6 add milestones for a few tests 2023-11-21 22:03:36 -07:00
crumbtoo 5aaa737127 no longer using parser combinators 2023-11-21 22:00:27 -07:00
crumbtoo 8c368af01c formatting 2023-11-21 21:53:57 -07:00
crumbtoo cd478b466c glossary: 'layout' 2023-11-21 21:51:37 -07:00
crumbtoo 8d7020d5f4 docs :3 2023-11-21 21:48:26 -07:00
crumbtoo d65ac970b1 quasiquoters 2023-11-21 18:15:05 -07:00
crumbtoo 878e92395a more correct lexer 2023-11-21 17:59:11 -07:00
crumbtoo 00a265fda1 more correct lexer 2023-11-21 14:52:17 -07:00
crumbtoo 45952ef30e good enough. good enough. good enough. good enoguh.jjhbjhfsfbsjhdsfjbhsdbjhdfsbhjlbahjfdaojuai 2023-11-20 14:08:18 -07:00
crumbtoo c15e67869e layout lexing is good enough 2023-11-20 12:51:04 -07:00
crumbtoo 717effc579 uh 2023-11-20 11:29:16 -07:00
crumbtoo 48aa05caad some writing on layouts 2023-11-20 11:17:27 -07:00
crumbtoo 8694ff2307 i hate programming i hate computers i am going to drop out i am going to abandon this project 2023-11-17 16:42:06 -07:00
crumbtoo ac55a1908c unproductive day i fear 2023-11-16 19:11:01 -07:00
crumbtoo c39a843660 core quasiquoter 2023-11-15 17:38:08 -07:00
crumbtoo 5559f66576 bad core parser just to make development easier
REPLACE WITH A REAL PARSER EVENTUALLY!!!!!!!!!!!!!!
2023-11-15 16:49:02 -07:00
crumbtoo 84e79a5b94 add plans to document parser combinators 2023-11-15 14:44:44 -07:00
crumbtoo b28daefc3c lexer 2023-11-15 14:31:27 -07:00
crumbtoo 86b1538d3d reexport submodule 2023-11-15 10:12:35 -07:00
crumbtoo ebda19458c Core submodule 2023-11-15 10:09:42 -07:00
crumbtoo 7c4d8f8306 remove completed 'TODO' 2023-11-15 10:01:00 -07:00
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
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
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
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