| 
   2a2765e8f0f5
   | 
  
   Add a few more type declarations
   
   | 
  Steve Losh | 
  Sat, 16 Jul 2016 13:47:55 +0000 | 
 
 
  | 
   f1ef8f905a1d
   | 
  
   Split functor cells into separate functor and arity cells
   
   | 
  Steve Losh | 
  Sat, 16 Jul 2016 01:34:04 +0000 | 
 
 
  | 
   ec2fab887b0f
   | 
  
   Constant can just use the functor symbol directly
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 23:12:18 +0000 | 
 
 
  | 
   c4dd0b6c3a91
   | 
  
   Remove unused arguments
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 22:02:11 +0000 | 
 
 
  | 
   a8598eafe403
   | 
  
   Remove the god damn functor table
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 21:55:54 +0000 | 
 
 
  | 
   9d42a27624fd
   | 
  
   `tree-collect` is slow and conses a ton
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 20:43:32 +0000 | 
 
 
  | 
   82413ba524d8
   | 
  
   De-CLOS the register assignments
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 20:28:10 +0000 | 
 
 
  | 
   e555488c15e6
   | 
  
   De-CLOS the parse tree
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 20:16:26 +0000 | 
 
 
  | 
   a095d20eeebc
   | 
  
   Split up the damn compiler.lisp file
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 19:37:17 +0000 | 
 
 
  | 
   5edeeac89e03
   | 
  
   Add numbers
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 19:12:21 +0000 | 
 
 
  | 
   1411666a60f8
   | 
  
   Clean up the examples a bit, still needs a lot of work
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 15:03:01 +0000 | 
 
 
  | 
   c547c69d5405
   | 
  
   Minor cleanup
   
   | 
  Steve Losh | 
  Fri, 15 Jul 2016 02:23:07 +0000 | 
 
 
  | 
   100ba597fd85
   | 
  
   Add a beast of a macro to clean up/optimize the hot loop
   
   | 
  Steve Losh | 
  Thu, 14 Jul 2016 22:42:53 +0000 | 
 
 
  | 
   5c914fbcb042
   | 
  
   Switch to 1am, test under ECL too
   
   | 
  Steve Losh | 
  Thu, 14 Jul 2016 13:30:57 +0000 | 
 
 
  | 
   8cfac0fbe30d
   | 
  
   Inline a function and use eq hash
   
   | 
  Steve Losh | 
  Wed, 13 Jul 2016 23:36:51 +0000 | 
 
 
  | 
   eec2064a08b6
   | 
  
   Put the actual functor conses into the store
   
   | 
  Steve Losh | 
  Wed, 13 Jul 2016 22:21:19 +0000 | 
 
 
  | 
   31305584b29b
   | 
  
   Split apart the main WAM store into separate type/value arrays
   
   | 
  Steve Losh | 
  Wed, 13 Jul 2016 18:33:09 +0000 | 
 
 
  | 
   184e610451c0
   | 
  
   Initial poke at Lispifying the code store
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 21:56:01 +0000 | 
 
 
  | 
   a02637eeccca
   | 
  
   Add Hanoi test from tAoP
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 18:53:39 +0000 | 
 
 
  | 
   6adb44b99131
   | 
  
   Comment the logic stack section a tiny bit
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 16:31:46 +0000 | 
 
 
  | 
   eda9b4d218f4
   | 
  
   Remove useless inline declarations
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 16:09:37 +0000 | 
 
 
  | 
   df9962950d28
   | 
  
   Elide the unnecessary ALOC/DEAL from chain rules
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 15:52:13 +0000 | 
 
 
  | 
   2ce458ef85fd
   | 
  
   Implement last call optimization
   
   | 
  Steve Losh | 
  Tue, 12 Jul 2016 15:46:22 +0000 | 
 
 
  | 
   cb3cc671d18d
   | 
  
   Beef up the PAIP queues a bit and (ab)use them in the compiler
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 23:37:37 +0000 | 
 
 
  | 
   401cba673bda
   | 
  
   Simplify and optimize register allocation just a bit
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 22:33:25 +0000 | 
 
 
  | 
   789aa5540746
   | 
  
   Make instructions inlineable
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 21:38:10 +0000 | 
 
 
  | 
   ab7ad2d6f641
   | 
  
   Optimize `find-anonymous-variables`
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 21:38:03 +0000 | 
 
 
  | 
   d2ede3f3926a
   | 
  
   Save the god damn frames
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 20:30:27 +0000 | 
 
 
  | 
   8ea123b6d26f
   | 
  
   Inline the trail pointer functions
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 20:04:02 +0000 | 
 
 
  | 
   c76d55908e2e
   | 
  
   Optimize circles a bit
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 19:56:43 +0000 | 
 
 
  | 
   96258fb7be70
   | 
  
   Type hint the compiler
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 19:18:35 +0000 | 
 
 
  | 
   abffacd7848a
   | 
  
   Merge the code I accidentally branched off because I'm an idiot
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 16:26:05 +0000 | 
 
 
  | 
   3b0161d2100d
   | 
  
   Refactor the main WAM store into a `simple-array`
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 16:17:18 +0000 | 
 
 
  | 
   23d4dc2900a1
   | 
  
   Refactor the code store to use a simple-array
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 14:15:14 +0000 | 
 
 
  | 
   7bd5fdb2151d
   | 
  
   Don't ever use this
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 13:48:06 +0000 | 
 
 
  | 
   d6b6684d6b7b
   | 
  
   Turn `instruction-size` into a neat little lookup table
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 09:58:20 +0000 | 
 
 
  | 
   2a7cb53fb03f
   | 
  
   Clean up the GGP a tiny bit
   
   | 
  Steve Losh | 
  Mon, 11 Jul 2016 09:55:05 +0000 | 
 
 
  | 
   4d17e3cb6fa2
   | 
  
   Type-hint the WAM `setf` functions
   
   | 
  Steve Losh | 
  Sun, 10 Jul 2016 21:08:12 +0000 | 
 
 
  | 
   8cd3257c58e3
   | 
  
   Name the subterm-handling instructions something not completely stupid
   
   | 
  Steve Losh | 
  Sun, 10 Jul 2016 14:28:48 +0000 | 
 
 
  | 
   ba205f6b2875
   | 
  
   Excise the stupid fucking `set-*` opcodes
   
   | 
  Steve Losh | 
  Sun, 10 Jul 2016 14:21:18 +0000 | 
 
 
  | 
   07e1d5f315f5
   | 
  
   Fix constant unification
   
   | 
  Steve Losh | 
  Sat, 09 Jul 2016 21:51:02 +0000 | 
 
 
  | 
   92c590f78133
   | 
  
   Pool logic frames to avoid creating so many hash tables
   
   | 
  Steve Losh | 
  Sat, 09 Jul 2016 21:03:01 +0000 | 
 
 
  | 
   8c853f632f8c
   | 
  
   Clean up and fix the anonymous variable handling
   
   | 
  Steve Losh | 
  Fri, 08 Jul 2016 18:14:05 +0000 | 
 
 
  | 
   2415dbe555d2
   | 
  
   Export symbols and add a few sanity checks
   
   | 
  Steve Losh | 
  Fri, 08 Jul 2016 17:03:54 +0000 | 
 
 
  | 
   55019395ba93
   | 
  
   Normalize facts and queries because people are lazy
   
   | 
  Steve Losh | 
  Wed, 06 Jul 2016 20:41:56 +0000 | 
 
 
  | 
   f7b7440c46ff
   | 
  
   Clean up the rule UI too
   
   | 
  Steve Losh | 
  Wed, 06 Jul 2016 20:08:27 +0000 | 
 
 
  | 
   0955ab257fef
   | 
  
   Clean up the UI
   
   | 
  Steve Losh | 
  Wed, 06 Jul 2016 18:30:31 +0000 | 
 
 
  | 
   be83cfc938fb
   | 
  
   Add profile.out to .hgignore.
   
   | 
  Steve Losh | 
  Wed, 06 Jul 2016 13:49:47 +0000 | 
 
 
  | 
   a3466a551136
   | 
  
   Don't cons lists of numbers, jesus christ
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 23:54:54 +0000 | 
 
 
  | 
   209ecb9eeb25
   | 
  
   Use a queues instead of lists for the logic frame pending predicates
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 23:37:14 +0000 | 
 
 
  | 
   9086482c09ee
   | 
  
   Rename "code frame" to "logic frame"
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 23:12:50 +0000 | 
 
 
  | 
   410acaae0c14
   | 
  
   Implement logic frames for assertion/retraction
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 23:02:33 +0000 | 
 
 
  | 
   6a93a2d2ed60
   | 
  
   Clean up formatting
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 16:53:58 +0000 | 
 
 
  | 
   89df9abc00e5
   | 
  
   Add a handy disassembly macro
   
   | 
  Steve Losh | 
  Tue, 05 Jul 2016 16:44:10 +0000 | 
 
 
  | 
   970e21fa14b0
   | 
  
   Implement anonymous variables and the `*_void` opcodes
   
   | 
  Steve Losh | 
  Mon, 04 Jul 2016 23:35:08 +0000 | 
 
 
  | 
   d255816ad1d0
   | 
  
   Switch from `:keyword` variables to `?symbol` ones
   
   | 
  Steve Losh | 
  Sun, 03 Jul 2016 22:50:24 +0000 | 
 
 
  | 
   802872f9505a
   | 
  
   Add AIPS Rovers example
   
   | 
  Steve Losh | 
  Thu, 30 Jun 2016 17:53:49 +0000 | 
 
 
  | 
   4520c6449f48
   | 
  
   Add Towers of Hanoi GDL example
   
   | 
  Steve Losh | 
  Thu, 30 Jun 2016 17:53:20 +0000 | 
 
 
  | 
   13136d4b4761
   | 
  
   Run the tests on CCL too
   
   | 
  Steve Losh | 
  Thu, 30 Jun 2016 17:52:53 +0000 | 
 
 
  | 
   05ce726f2874
   | 
  
   Comment the `bind!` thing a bit more
   
   | 
  Steve Losh | 
  Wed, 29 Jun 2016 16:49:25 +0000 | 
 
 
  | 
   de6e248866f4
   | 
  
   Implement dynamic calling and fix `bind!`
   
   | 
  Steve Losh | 
  Wed, 29 Jun 2016 16:42:02 +0000 | 
 
 
  | 
   792dfa2f9120
   | 
  
   Clean up opcode definition
   
   | 
  Steve Losh | 
  Wed, 29 Jun 2016 13:53:59 +0000 | 
 
 
  | 
   809f43baf982
   | 
  
   Fix a pair of really nasty bugs
   
   | 
  Steve Losh | 
  Fri, 10 Jun 2016 20:28:37 +0000 | 
 
 
  | 
   72bbdd515725
   | 
  
   Rewrite the compiler
   
   | 
  Steve Losh | 
  Tue, 07 Jun 2016 14:49:20 +0000 | 
 
 
  | 
   796ef7444a29
   | 
  
   Fix docstring to be more clear
   
   | 
  Steve Losh | 
  Sun, 05 Jun 2016 12:27:19 +0000 | 
 
 
  | 
   c1641cd6368f
   | 
  
   Add constant dump info
   
   | 
  Steve Losh | 
  Sun, 05 Jun 2016 12:27:01 +0000 | 
 
 
  | 
   17beafee7d45
   | 
  
   Typos
   
   | 
  Steve Losh | 
  Sun, 05 Jun 2016 00:06:51 +0000 | 
 
 
  | 
   e244881864f7
   | 
  
   Implement cut
   
   | 
  Steve Losh | 
  Sun, 05 Jun 2016 00:01:11 +0000 | 
 
 
  | 
   e8934091b7bb
   | 
  
   Implement Prolog lists
   
   | 
  Steve Losh | 
  Thu, 02 Jun 2016 13:42:58 +0000 | 
 
 
  | 
   a696be29e830
   | 
  
   Update benchmarks a bit
   
   | 
  Steve Losh | 
  Thu, 02 Jun 2016 10:36:29 +0000 | 
 
 
  | 
   83f309e6e33a
   | 
  
   Try out actual PAIPROLOG
   
   | 
  Steve Losh | 
  Thu, 19 May 2016 14:13:37 +0000 | 
 
 
  | 
   df5a19b5f4c7
   | 
  
   Try out the fixed store size.
   fixed-size-store 
   | 
  Steve Losh | 
  Sun, 15 May 2016 11:01:55 +0000 | 
 
 
  | 
   95d0602ff36b
   | 
  
   Begin inlining things
   
   | 
  Steve Losh | 
  Sun, 15 May 2016 00:06:53 +0000 | 
 
 
  | 
   27f037427ad3
   | 
  
   Add the first optimization pass: constants
   
   | 
  Steve Losh | 
  Sat, 14 May 2016 22:42:31 +0000 | 
 
 
  | 
   0b8e6d6401c2
   | 
  
   Make the compiler use a circle for the instruction list
   
   | 
  Steve Losh | 
  Sat, 14 May 2016 18:52:14 +0000 | 
 
 
  | 
   14de0f74d3e2
   | 
  
   Add a circle data structure
   
   | 
  Steve Losh | 
  Fri, 13 May 2016 20:00:52 +0000 | 
 
 
  | 
   c77968cd3c51
   | 
  
   Split apart compilation into precompile/render phases
   
   | 
  Steve Losh | 
  Thu, 12 May 2016 18:52:30 +0000 | 
 
 
  | 
   12b69e64ece1
   | 
  
   Add constant cells (unused for now)
   
   | 
  Steve Losh | 
  Tue, 10 May 2016 19:42:04 +0000 | 
 
 
  | 
   0a4b04d4dfa7
   | 
  
   Reserve an extra tag bit for the coming optimizations
   
   | 
  Steve Losh | 
  Tue, 10 May 2016 19:33:09 +0000 | 
 
 
  | 
   b073c3d4a7a9
   | 
  
   Don't put structure cells on the heap
   
   | 
  Steve Losh | 
  Tue, 10 May 2016 19:05:13 +0000 | 
 
 
  | 
   9becedc43e4d
   | 
  
   I can't spell
   
   | 
  Steve Losh | 
  Tue, 10 May 2016 00:05:11 +0000 | 
 
 
  | 
   6392237bf417
   | 
  
   Typo
   
   | 
  Steve Losh | 
  Tue, 10 May 2016 00:00:53 +0000 | 
 
 
  | 
   6f08985f19af
   | 
  
   THE CELLING
   
   | 
  Steve Losh | 
  Mon, 09 May 2016 23:59:25 +0000 | 
 
 
  | 
   b02a1a9684c2
   | 
  
   Privilege heap address 0 as a magic unset sentinal value
   
   | 
  Steve Losh | 
  Mon, 09 May 2016 22:00:49 +0000 | 
 
 
  | 
   4050f38d9715
   | 
  
   Rename `heap-cell` to just `cell`
   
   | 
  Steve Losh | 
  Mon, 09 May 2016 21:41:38 +0000 | 
 
 
  | 
   b36cb61805d4
   | 
  
   THE CONCATENING
   
   | 
  Steve Losh | 
  Sun, 08 May 2016 21:25:08 +0000 | 
 
 
  | 
   d26fa87611c0
   | 
  
   Purge compiled CL code before benchmarking
   
   | 
  Steve Losh | 
  Mon, 02 May 2016 19:29:36 +0000 | 
 
 
  | 
   5503ccfaae65
   | 
  
   THE STRUCTENING
   
   | 
  Steve Losh | 
  Mon, 02 May 2016 19:07:40 +0000 | 
 
 
  | 
   1fea3b65a964
   | 
  
   Add bench-results.txt to .hgignore.
   
   | 
  Steve Losh | 
  Mon, 02 May 2016 17:56:08 +0000 | 
 
 
  | 
   ceecc846dd67
   | 
  
   Add a benchrunner
   
   | 
  Steve Losh | 
  Mon, 02 May 2016 17:55:07 +0000 | 
 
 
  | 
   d8d6647dd9fb
   | 
  
   Add a similar awful benchmark for the PAIP implementation
   
   | 
  Steve Losh | 
  Mon, 02 May 2016 16:44:29 +0000 | 
 
 
  | 
   4d33f11b074f
   | 
  
   Add a barebones GGP test case so we can start poking at performance
   
   | 
  Steve Losh | 
  Sat, 30 Apr 2016 22:57:09 +0000 | 
 
 
  | 
   3c8bbc73e9e1
   | 
  
   Fix fresh db macro
   
   | 
  Steve Losh | 
  Thu, 28 Apr 2016 18:02:52 +0000 | 
 
 
  | 
   1184d75b21fe
   | 
  
   Cleanup
   
   | 
  Steve Losh | 
  Sun, 24 Apr 2016 14:00:54 +0000 | 
 
 
  | 
   00f7bec64b84
   | 
  
   Add some tests
   
   | 
  Steve Losh | 
  Sun, 24 Apr 2016 13:55:28 +0000 | 
 
 
  | 
   f3ed7ce70f3b
   | 
  
   Improve the UI a bit
   
   | 
  Steve Losh | 
  Sun, 24 Apr 2016 13:52:33 +0000 | 
 
 
  | 
   678ab674bd33
   | 
  
   Add result returning
   
   | 
  Steve Losh | 
  Fri, 22 Apr 2016 13:50:42 +0000 | 
 
 
  | 
   53d629a6aa69
   | 
  
   Add done-thunk and use it for query interaction
   
   | 
  Steve Losh | 
  Fri, 22 Apr 2016 13:27:41 +0000 | 
 
 
  | 
   79abff72987d
   | 
  
   I give up on remembering the name of this file
   
   | 
  Steve Losh | 
  Fri, 22 Apr 2016 12:39:36 +0000 | 
 
 
  | 
   a97a1fd92f94
   | 
  
   Implement choice points and backtracking
   
   | 
  Steve Losh | 
  Wed, 20 Apr 2016 21:04:27 +0000 | 
 
 
  | 
   dc6892a9a406
   | 
  
   Stop using the fill pointer for the stack
   
   | 
  Steve Losh | 
  Wed, 20 Apr 2016 17:13:31 +0000 | 
 
 
  | 
   1ab41e0128dc
   | 
  
   Add the TRY* instructions to compilation
   
   | 
  Steve Losh | 
  Wed, 20 Apr 2016 16:33:38 +0000 | 
 
 
  | 
   67535b9c3b86
   | 
  
   Implement proper result extraction
   
   | 
  Steve Losh | 
  Tue, 19 Apr 2016 14:00:32 +0000 | 
 
 
  | 
   5085c5254515
   | 
  
   Where the hell did this go?
   
   | 
  Steve Losh | 
  Tue, 19 Apr 2016 12:16:52 +0000 | 
 
 
  | 
   d8dc03903456
   | 
  
   Put query code into the front of the main CODE store to run
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 18:43:12 +0000 | 
 
 
  | 
   fb3a334a14f3
   | 
  
   Refactor the shared variables copypasting
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:38:02 +0000 | 
 
 
  | 
   e45304805b40
   | 
  
   Update tokenization comment
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:29:53 +0000 | 
 
 
  | 
   5962c575282f
   | 
  
   Make all the arrows in comments consistent
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:26:29 +0000 | 
 
 
  | 
   f3aa63a7ee45
   | 
  
   Todone
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:22:44 +0000 | 
 
 
  | 
   7564d7862350
   | 
  
   Typo
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:21:41 +0000 | 
 
 
  | 
   b157bf8168a2
   | 
  
   Document the nightmare
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 15:16:22 +0000 | 
 
 
  | 
   902d171a1a85
   | 
  
   Remove unnecessary stack/structure opcodes
   
   | 
  Steve Losh | 
  Mon, 18 Apr 2016 13:08:47 +0000 | 
 
 
  | 
   ce87039ad178
   | 
  
   Make L2 work properly
   
   | 
  Steve Losh | 
  Sun, 17 Apr 2016 21:36:15 +0000 | 
 
 
  | 
   15db57524dd3
   | 
  
   Fix the interpreter and add a simple UI
   
   | 
  Steve Losh | 
  Sat, 16 Apr 2016 13:50:36 +0000 | 
 
 
  | 
   b8bc9b175636
   | 
  
   Rename a few files
   
   | 
  Steve Losh | 
  Sat, 16 Apr 2016 13:07:16 +0000 | 
 
 
  | 
   ac5c1bfbe50a
   | 
  
   Update the VM instructions to use register designators
   
   | 
  Steve Losh | 
  Sat, 16 Apr 2016 12:54:58 +0000 | 
 
 
  | 
   2f0b5c92febe
   | 
  
   Implement (mostly) register designators
   
   | 
  Steve Losh | 
  Sat, 16 Apr 2016 02:20:29 +0000 | 
 
 
  | 
   f0f0c180ae1d
   | 
  
   Add a REAL janky result extractor
   
   | 
  Steve Losh | 
  Fri, 15 Apr 2016 22:42:03 +0000 | 
 
 
  | 
   1dd07907df49
   | 
  
   Implement the stack, register designators, and track permanent vars
   
   | 
  Steve Losh | 
  Fri, 15 Apr 2016 20:28:35 +0000 | 
 
 
  | 
   fa262e6111e9
   | 
  
   Refactor the parsing and register assignment
   
   | 
  Steve Losh | 
  Thu, 14 Apr 2016 17:16:20 +0000 |