Commit Log

commit description author date
3325913a9b16 Add `put-void` Steve Losh Fri, 22 Jul 2016 20:32:51 +0000
582f7076626b Change `(values)` to `nil` Steve Losh Sun, 17 Jul 2016 16:59:50 +0000
ba96e98a1d54 Add precompilation of static queries at compile time Steve Losh Sun, 17 Jul 2016 16:49:06 +0000
aacf9ee4fddc Port some of the '99 Prolog Problems' to Bones as unit tests Steve Losh Sun, 17 Jul 2016 00:50:25 +0000
62c76cc272e7 Switch a couple of `mapcar`s to `mapc`s Steve Losh Sat, 16 Jul 2016 19:34:00 +0000
8a247663fec5 Remove optima Steve Losh Sat, 16 Jul 2016 19:23:51 +0000
6c90a65137d9 Remove defstar Steve Losh Sat, 16 Jul 2016 18:23:34 +0000
5593ae4bcb5c Remove return declarations Steve Losh Sat, 16 Jul 2016 17:37:17 +0000
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