Commit Graph

  • 6ded94f7d0 oops: put working document under version control bytecode Scott Richmond 2025-06-06 00:06:23 -0400
  • 0347d10db7 first draft of complex string matching, discover jump mistake Scott Richmond 2025-06-05 23:26:42 -0400
  • 77faf67191 fix InterpolatedPattern compilation Scott Richmond 2025-06-05 21:23:08 -0400
  • f8adaa7971 first draft of partial application, is working in easy cases Scott Richmond 2025-06-05 16:45:23 -0400
  • dee9bcfc33 start work on partial application, fix/abstract binding resolution Scott Richmond 2025-06-05 16:10:40 -0400
  • f3bf55fe72 add dict splats Scott Richmond 2025-06-05 13:24:32 -0400
  • b557c487cc add list splats Scott Richmond 2025-06-05 13:05:07 -0400
  • b8b720b877 add do forms Scott Richmond 2025-06-05 12:15:49 -0400
  • 23b8beb291 fix extra pop regression Scott Richmond 2025-06-05 12:04:02 -0400
  • 5ae4742840 save work, working on function clause guards, extra pop instructions are showing up after function definitions Scott Richmond 2025-06-04 19:02:19 -0400
  • 0f8645d2eb guards work in match forms Scott Richmond 2025-06-04 18:55:40 -0400
  • 01ce043379 guards work in match forms Scott Richmond 2025-06-04 18:51:07 -0400
  • 2ce2e2c2d3 let as last expr in block now returns rhs; clean up some comment cruft Scott Richmond 2025-06-04 18:27:17 -0400
  • 61b1b7bf90 closures work?! Scott Richmond 2025-06-04 17:53:38 -0400
  • bf2b16c30f add a print builtin/opcode Scott Richmond 2025-06-03 19:26:01 -0400
  • c497b90a16 implement multiterm synthetic expressions Scott Richmond 2025-06-03 19:13:40 -0400
  • fc245348b4 start pulling base fns into bytecode interpreter Scott Richmond 2025-06-03 18:54:33 -0400
  • 615fef6ebc function calls: first draft, worked out the obvious bugs Scott Richmond 2025-06-03 17:30:00 -0400
  • 86992078e9 keywords and interned strings use &'static str instead of indexes into vecs Scott Richmond 2025-06-03 16:23:37 -0400
  • 681176282c basic function calls, still with bugs! Scott Richmond 2025-06-03 15:48:13 -0400
  • 22d1ceb3e8 vm.chunk -> vm.callframe.chunk Scott Richmond 2025-06-02 13:34:23 -0400
  • de3d7e834c maybe properly compile functions? need to start work on fn calls to test Scott Richmond 2025-06-01 20:01:42 -0400
  • b6f9b35b4c start major work on function compilation Scott Richmond 2025-05-30 17:02:55 -0400
  • 34ab24c4c9 add as patterns Scott Richmond 2025-05-30 14:57:51 -0400
  • cda217f6ef add string interpolation Scott Richmond 2025-05-30 11:44:32 -0400
  • 82ac6744ca or and and are now reserved words Scott Richmond 2025-05-28 16:37:25 -0400
  • 182b14e5f4 add builtins, fix basic synthetic expressions Scott Richmond 2025-05-27 14:15:12 -0400
  • 74cc0025d6 first draft loop/recur, seems to work? Scott Richmond 2025-05-26 11:03:37 -0400
  • db7eb5965d return register now an 8-member array Scott Richmond 2025-05-26 09:16:47 -0400
  • 1e1593298d update repeat Scott Richmond 2025-05-26 08:32:33 -0400
  • 04c96c9edb dict patterns prolly work? one-level nested patterns work Scott Richmond 2025-05-25 19:14:34 -0400
  • 45d2e7e742 rough, not yet working, draft of dict patterns Scott Richmond 2025-05-25 19:09:21 -0400
  • cf51822128 add list patterns, fix dict stack mechanics Scott Richmond 2025-05-25 16:30:20 -0400
  • 4f7ba56d1f properly compile when expressions? Scott Richmond 2025-05-23 17:59:09 -0400
  • ce1612a30c compiler: decouple stack & bindings resetting Scott Richmond 2025-05-23 13:43:35 -0400
  • 1ef0da5dd1 compiler: decouple stack & bindings resetting Scott Richmond 2025-05-23 13:42:29 -0400
  • 4a4b2b22ed oh god, so many changes. working on tuple matching Scott Richmond 2025-05-23 00:09:35 -0400
  • 6c803cdf5a take some loop notes Scott Richmond 2024-12-27 00:54:31 -0500
  • a7ee8f8e57 vm::run is now a loop, not vm::interpret as a tailcall Scott Richmond 2024-12-27 00:47:22 -0500
  • 8908630a21 add match_depth to vm Scott Richmond 2024-12-27 00:22:01 -0500
  • 6f582bff06 refactor if/else to match in guard compilation Scott Richmond 2024-12-26 23:48:38 -0500
  • f5965fdb44 compile guards in match forms Scott Richmond 2024-12-26 23:46:06 -0500
  • cfe0b83192 fix block compilation; compile & run repeat Scott Richmond 2024-12-26 23:33:57 -0500
  • 4fa2ce5e78 separate compiler & chunk Scott Richmond 2024-12-26 19:03:09 -0500
  • 40d4f48878 notes and comments Scott Richmond 2024-12-26 18:41:54 -0500
  • ef0ac40dbe working & thinking Scott Richmond 2024-12-24 12:35:44 -0500
  • a4f12c8f7d continue work on compiling functions Scott Richmond 2024-12-23 10:55:28 -0500
  • 9f4e630544 get lifetime out of Chunk, thus out of Value Scott Richmond 2024-12-22 19:51:02 -0500
  • be23ee6c44 get simple match forms done Scott Richmond 2024-12-22 19:33:59 -0500
  • d943185db8 do lots of work Scott Richmond 2024-12-22 19:07:42 -0500
  • d4342b0623 get binding & pretty debugging working Scott Richmond 2024-12-18 01:28:23 -0500
  • 48754f92a4 do work Scott Richmond 2024-12-17 23:45:39 -0500
  • 096d8d00bc add untracked from opening bytecode branch Scott Richmond 2024-12-15 23:50:12 -0500
  • 9c3205d4c1 DRY out validator, simplify code Scott Richmond 2024-12-15 23:49:43 -0500
  • 6c78cffe56 finish list of valid types Scott Richmond 2024-12-15 23:49:27 -0500
  • 35fc591c76 make some progress: atoms and ifs Scott Richmond 2024-12-15 23:28:57 -0500
  • eff2ed90d5 some simple bytecodes! Scott Richmond 2024-12-15 17:54:40 -0500
  • 86aea78c21 start working on a bytecode interpreter! Scott Richmond 2024-12-15 16:37:51 -0500
  • d4af160f80 things & stuff main Scott Richmond 2024-12-14 13:43:08 -0500
  • 8535225167 fix print! Scott Richmond 2024-12-13 13:47:03 -0500
  • 73e60b8ced bring full prelude into Ludus. Scott Richmond 2024-12-12 19:43:56 -0500
  • 49a0b0f8a7 fix loop validation bugs Scott Richmond 2024-12-12 19:28:55 -0500
  • ac4bd0fb55 improve panic reports Scott Richmond 2024-12-12 19:01:51 -0500
  • 273267f61d a slow and brute-force approach to the problem of re-binding closed-over forward declarations Scott Richmond 2024-12-12 01:19:39 -0500
  • 5e73c5cb3b ariadne hooked up to panic messages Scott Richmond 2024-12-12 00:31:57 -0500
  • b2e08fe207 fiddle Scott Richmond 2024-12-11 19:13:06 -0500
  • 229470fee3 refactor process to use visit method everywhere Scott Richmond 2024-12-11 19:11:40 -0500
  • ecc7b26b66 process now uses spans, for to give panic locations Scott Richmond 2024-12-11 18:58:59 -0500
  • 5f154fe56f stash changes before ripping up a bunch of stuff Scott Richmond 2024-12-11 17:37:42 -0500
  • 7431cbf380 start debugging full prelude Scott Richmond 2024-12-11 17:32:31 -0500
  • 6a01089973 closing works, so does importing from Prelude! Scott Richmond 2024-12-11 17:22:37 -0500
  • 567d3da4be get closing working? Scott Richmond 2024-12-11 16:43:13 -0500
  • 65492d0810 follow clippy Scott Richmond 2024-12-11 15:48:24 -0500
  • 5b41365caa add args to processes Scott Richmond 2024-12-11 15:45:34 -0500
  • f4fbae10e6 context -> process Scott Richmond 2024-12-11 15:42:50 -0500
  • 36c5d125fb validator validates recursive functions Scott Richmond 2024-12-11 15:36:23 -0500
  • 35e9d0373d arity checking--of local functions Scott Richmond 2024-12-11 00:20:34 -0500
  • eafe7a7fa9 complete first draft of validator Scott Richmond 2024-12-10 23:42:05 -0500
  • 9542dcf5e2 cover all Ast branches Scott Richmond 2024-12-10 22:40:57 -0500
  • f5a6facb1c move patterns, clauses into AST Scott Richmond 2024-12-10 22:26:52 -0500
  • cab1b3f173 start moving Patterns into Ast Scott Richmond 2024-12-10 18:40:43 -0500
  • dde9ac4bff loop arity checking Scott Richmond 2024-12-10 18:07:31 -0500
  • e9b52e1488 improve do & recur errs Scott Richmond 2024-12-10 17:39:02 -0500
  • 4c9659271b first draft of synthetic validation Scott Richmond 2024-12-10 17:23:15 -0500
  • ec38bcdc8c start testing, fixing Scott Richmond 2024-12-10 17:14:26 -0500
  • d48a787447 all the work trying to write a validator Scott Richmond 2024-12-10 16:44:52 -0500
  • 9a4f247a21 bring in prelude Scott Richmond 2024-12-08 23:34:05 -0500
  • f063d55404 actually commit the big new file Scott Richmond 2024-12-08 23:33:46 -0500
  • 383f21fbd8 many refactorings; unfucked lifetimes? Scott Richmond 2024-12-08 23:33:02 -0500
  • 525ca2c8cb type alias for Context Scott Richmond 2024-12-08 00:02:01 -0500
  • 6ba05f31e6 finish fighting with lifetimes: string pattern matching works! Scott Richmond 2024-12-07 23:56:19 -0500
  • 5a64c6623c fighting with lifetimes Scott Richmond 2024-12-07 22:29:10 -0500
  • 2a26316b50 parse string patterns, perhaps correctly, perhaps not Scott Richmond 2024-12-07 18:26:25 -0500
  • 13c14fd38f finish base, I think Scott Richmond 2024-12-06 14:08:34 -0500
  • 5e10a87cbc keep adding to base, pull type function from value to base Scott Richmond 2024-12-06 13:21:25 -0500
  • 96906fdb9f tick some boxes Scott Richmond 2024-12-05 14:02:41 -0500
  • ad6fcccc79 add concat Scott Richmond 2024-12-05 11:51:42 -0500
  • af14eaee72 add some functions, base fns return values, not results Scott Richmond 2024-12-04 20:19:41 -0500
  • c3408a56c1 ensure inlined and allocated strings are equal Scott Richmond 2024-12-04 19:13:25 -0500
  • c9038fd8fb complete string interpolation Scott Richmond 2024-12-04 19:07:03 -0500