Commit Log

commit description author date
53b3bd05714d First stab at usage doc. Not done yet Steve Losh Sun, 22 Oct 2017 14:52:48 -0400
6f43a660d22a Remove the stupid cl-arrows dep Steve Losh Wed, 29 Mar 2017 18:20:14 +0000
a5086be7e1aa Add LICENSE Steve Losh Tue, 14 Mar 2017 13:33:03 +0000
2eb92f8b468c Add some docstrings Steve Losh Fri, 17 Feb 2017 14:34:33 +0000
c31f22ad19d5 Update quickutils package bullshit Steve Losh Fri, 17 Feb 2017 13:34:33 +0000
221dc09d73f9 Split up main/test systems Steve Losh Fri, 17 Feb 2017 13:31:15 +0000
33c0ccf4e906 Clean up output Steve Losh Fri, 17 Feb 2017 13:19:33 +0000
fd638982ad83 Memory is cheap Steve Losh Thu, 09 Feb 2017 12:22:03 +0000
95495223e6c1 Rename `ensure-aref`, formatting Steve Losh Thu, 09 Feb 2017 12:17:13 +0000
c9ecd6ef59b9 Update docs Steve Losh Sat, 05 Nov 2016 01:39:28 +0000
024d042b3147 Add `query-for` Steve Losh Mon, 26 Sep 2016 12:28:06 +0000
3383e2593fe2 Add ABCL support Steve Losh Sat, 24 Sep 2016 17:33:22 +0000
7d1e30b7233c Add rudimentary tracing support Steve Losh Sat, 03 Sep 2016 15:58:16 +0000
11228bf838d0 Add relational db unit test from TAOP Steve Losh Sat, 03 Sep 2016 14:44:49 +0000
fd171f53d514 Typo Steve Losh Thu, 25 Aug 2016 13:13:32 +0000
9b7638f642a0 Add PAIProlog GDL benchmark Steve Losh Thu, 25 Aug 2016 03:03:47 +0000
cbfb813a3f82 Oh for fuck's sake Steve Losh Thu, 25 Aug 2016 00:05:28 +0000
dc12ccf8df91 Remove some inlining to aid in profiling Steve Losh Wed, 24 Aug 2016 23:20:33 +0000
16b422487296 Add profiling to the GDL benchmark Steve Losh Wed, 24 Aug 2016 22:13:48 +0000
1c134f25b12a Add contrib/gdl-benchmark/gdl.prof to .hgignore. Steve Losh Wed, 24 Aug 2016 20:43:10 +0000
1f0a36161f17 Implement the rest of the GDL benchmarking Steve Losh Wed, 24 Aug 2016 19:57:25 +0000
45622a0c4e96 Set up the basic framework for the benchmark Steve Losh Wed, 24 Aug 2016 15:43:20 +0000
9da17791e5da Add benchmarking package and setup instructions Steve Losh Wed, 24 Aug 2016 14:45:17 +0000
7514865459fd Add skeleton of benchmark script Steve Losh Wed, 24 Aug 2016 13:57:32 +0000
f7cc5624141a Doc tweaks Steve Losh Wed, 24 Aug 2016 00:12:16 +0000
0645e41d9d0e Use Alexandria's `when-let` Steve Losh Tue, 23 Aug 2016 23:44:21 +0000
b784df2de049 Don't depend on shit we don't need Steve Losh Tue, 23 Aug 2016 23:38:41 +0000
f0f90671d4dc Remove useless file Steve Losh Tue, 23 Aug 2016 23:33:11 +0000
6ed3375e2921 Remove the `.wam` package now that paip is gone Steve Losh Tue, 23 Aug 2016 23:31:13 +0000
df709571ebe3 Use `ensure-gethash` Steve Losh Tue, 23 Aug 2016 23:28:04 +0000
551c9d5d47d4 Sketch out a documentation plan Steve Losh Tue, 23 Aug 2016 23:26:36 +0000
9b00a02e889d Update README Steve Losh Tue, 23 Aug 2016 23:12:27 +0000
837374f5256d Make all the UI functions take a database parameter Steve Losh Tue, 23 Aug 2016 17:53:03 +0000
38d5c4302e12 Rename `*database*` -> `*standard-database*` Steve Losh Tue, 23 Aug 2016 13:10:01 +0000
b1333b02f868 Fuckin markdown Steve Losh Sat, 20 Aug 2016 22:45:16 +0000
927bb496bce0 Update README Steve Losh Sat, 20 Aug 2016 22:44:15 +0000
66c01894e34c Makefile fuckery Steve Losh Sat, 20 Aug 2016 22:33:17 +0000
5977919552ee Rename the project Steve Losh Sat, 20 Aug 2016 22:25:47 +0000
81939d20415a Remove newly-useless nesting in the src directory Steve Losh Sat, 20 Aug 2016 22:06:27 +0000
19200659513a Remove PAIP Steve Losh Sat, 20 Aug 2016 21:56:20 +0000
137f6b7d81d2 Added tag paip for changeset 9bdd5543b1d9 Steve Losh Sat, 20 Aug 2016 21:56:13 +0000
9bdd5543b1d9 Remove unused functions paip Steve Losh Sat, 20 Aug 2016 21:51:28 +0000
2df541caba61 Remove unused function Steve Losh Sat, 20 Aug 2016 21:46:57 +0000
f62853c43fb9 Vendorize quickutils Steve Losh Sat, 20 Aug 2016 21:44:25 +0000
5dce435d830e Remove examples directory Steve Losh Sat, 20 Aug 2016 21:40:14 +0000
8897604cb9dd Clean up the test running and makefile Steve Losh Sat, 20 Aug 2016 21:38:54 +0000
cb324d188513 Update links Steve Losh Sat, 20 Aug 2016 21:28:31 +0000
736f0a91c9fc Close dead branch fixed-size-store Steve Losh Sat, 20 Aug 2016 21:26:08 +0000
e9bd0632eadd Add problem 14 from 99PP as a test Steve Losh Sat, 20 Aug 2016 21:15:52 +0000
ab7de6629c42 Add tests from TAOP section 2.3 Steve Losh Sun, 24 Jul 2016 12:44:54 +0000
9c72baeb00f9 Add tests from TAOP section 2.2 Steve Losh Sat, 23 Jul 2016 20:38:21 +0000
cbde08d7548e Whitespace Steve Losh Sat, 23 Jul 2016 15:20:48 +0000
f872f5b60d73 ACTUALLY add some tests from TAOP Steve Losh Sat, 23 Jul 2016 15:19:40 +0000
4abb7eda96cb Add some tests from TAOP Steve Losh Sat, 23 Jul 2016 13:51:06 +0000
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
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
7627f8976a3e "Pre-inline" the structure argument register assignments Steve Losh Thu, 14 Apr 2016 14:00:45 +0000
9376531b5089 Fix macro quoting Steve Losh Thu, 14 Apr 2016 13:41:01 +0000
d16b5b360398 Fix up `push-if-new` with setf/places macromancy Steve Losh Thu, 14 Apr 2016 13:32:31 +0000
fdb771cc2b8c Start working on L2 Steve Losh Wed, 13 Apr 2016 17:38:57 +0000
99abd362620a Add the program runner Steve Losh Sun, 10 Apr 2016 18:17:03 +0000
c97b74976098 Add code labels and implement the new program instructions Steve Losh Sun, 10 Apr 2016 17:43:04 +0000
564c709801aa Implement the query code runner Steve Losh Sun, 10 Apr 2016 16:02:54 +0000
e29b793a6e91 Rename the utils files Steve Losh Sun, 10 Apr 2016 14:41:50 +0000
51022d18e98f First stab at compiling L1 -- not ready yet Steve Losh Sun, 10 Apr 2016 14:35:22 +0000
6138ec555cde Change functor representation Steve Losh Tue, 05 Apr 2016 15:00:28 +0000