Commit Log

commit description author date
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
6dc3f4e03454 Start working on the bytecode generation Steve Losh Fri, 01 Apr 2016 19:16:23 +0000
ea71bdab6baa Deal with the L1 register assignment mess Steve Losh Fri, 01 Apr 2016 17:24:39 +0000
bbbc9030a316 Improve the code dumping function Steve Losh Thu, 31 Mar 2016 22:17:53 +0000
8a18f9b3bb72 Add the code store to the WAM (unused right now) Steve Losh Wed, 30 Mar 2016 13:44:34 +0000
894cac6a43fa Make the WAM heap resizable Steve Losh Wed, 30 Mar 2016 00:30:33 +0000
6b2403fb07d8 Add break to run Steve Losh Tue, 29 Mar 2016 23:09:51 +0000
3ac6e0d897af Poke at GGP a bit Steve Losh Mon, 28 Mar 2016 20:32:33 +0000
dfba7d90a8a5 Render doc Steve Losh Mon, 28 Mar 2016 17:52:48 +0000
0432f016c912 WHAT HATH GOD WROUGHT Steve Losh Mon, 28 Mar 2016 00:43:24 +0000
0b1008a7fe76 Fiddle with and document the unification instructions a bit Steve Losh Sun, 27 Mar 2016 22:30:52 +0000
87afb11b9791 Add a function for extracting things from the heap Steve Losh Sun, 27 Mar 2016 22:25:43 +0000
d80af96eaf15 Rewrite registers to be addresses, not cells Steve Losh Sun, 27 Mar 2016 18:32:37 +0000
e38bc4395d65 Blur the lambdas, and fix the instruction argument order Steve Losh Sat, 26 Mar 2016 22:53:28 +0000
7447809d31ad More work on L0, a bit of cleanup Steve Losh Sat, 26 Mar 2016 20:40:23 +0000
a9bdea1a9564 Clean up topological-sort Steve Losh Sat, 26 Mar 2016 19:30:09 +0000
d4ba6547d8a1 Fix up docstring Steve Losh Sat, 26 Mar 2016 19:21:05 +0000
fcec9e0c9c67 Fix the topological sorting Steve Losh Sat, 26 Mar 2016 19:19:07 +0000
859a6c1314d3 Add a few comments and a pair of utility functions for the WAM heap Steve Losh Sat, 26 Mar 2016 12:21:56 +0000
68ed4af71452 Fix flet/labels indentation before I lose my mind Steve Losh Sat, 26 Mar 2016 12:02:43 +0000
765efa56a965 Split the WAM into component files Steve Losh Fri, 25 Mar 2016 18:52:21 +0000
95d96065aa82 Clean up and add a few comments, and add a bit more type hinting Steve Losh Fri, 25 Mar 2016 18:40:46 +0000
dfbea0e60b46 Store functors so we can print them later Steve Losh Fri, 25 Mar 2016 18:10:03 +0000
48e1170dba5c Document the heap cell format a bit Steve Losh Fri, 25 Mar 2016 18:09:23 +0000
cf844914bdee Move scratch garbage into the scratch file Steve Losh Fri, 25 Mar 2016 11:53:03 +0000
203653ce4866 Clean up some of the WAM code/interface Steve Losh Fri, 25 Mar 2016 11:51:13 +0000
14e794b02423 Prettify the heap printing a bit Steve Losh Fri, 25 Mar 2016 11:50:11 +0000
d2aa6ee9382a Use switch instead of cond, it's cleaner Steve Losh Fri, 25 Mar 2016 11:49:46 +0000
4b07fbd81ee2 Define some WAM index types Steve Losh Fri, 25 Mar 2016 11:49:06 +0000
2579f5d00526 Move and clean up the functor wrapper functions Steve Losh Fri, 25 Mar 2016 11:48:00 +0000
e2bb4ea1bfe7 Add docstrings Steve Losh Fri, 25 Mar 2016 11:47:29 +0000
1ef24327a4cb Add STATUS to .hgignore. Steve Losh Fri, 25 Mar 2016 11:44:54 +0000
49f24c78ecb3 Grammaaeareraer Steve Losh Thu, 24 Mar 2016 23:13:47 +0000
2eac9e1aed6d Remove unused function Steve Losh Thu, 24 Mar 2016 23:13:11 +0000
ab4655b23ced Oh shit I've got a WAM Steve Losh Thu, 24 Mar 2016 23:08:43 +0000
f57121ef4229 Implement a rudimentary heap for the WAM, part 0 Steve Losh Thu, 24 Mar 2016 18:51:08 +0000
06dedca0fd86 Disable the broken PAIPC for now Steve Losh Thu, 24 Mar 2016 15:26:03 +0000
c1535003a7e9 More grinding through the compiled version Steve Losh Thu, 24 Mar 2016 15:17:51 +0000
9d90efbd8787 Factor out cl-d-api garbage Steve Losh Wed, 23 Mar 2016 17:43:02 +0000
3729fdede843 Initial pass at the compiler Steve Losh Tue, 22 Mar 2016 16:46:29 +0000
3a8ee0586fdf Add destructive unification Steve Losh Tue, 22 Mar 2016 14:31:35 +0000
2daf5fb2fe92 Add API documentation building Steve Losh Fri, 18 Mar 2016 13:50:04 +0000
ae2b13a9a629 Improve the testing infrastructure, rename find-all Steve Losh Fri, 18 Mar 2016 12:09:36 +0000
d280326feecc Add backtracking and wildcards Steve Losh Mon, 14 Mar 2016 23:01:26 +0000
5ea3d706d089 Add scratch.lisp to .hgignore. Steve Losh Mon, 14 Mar 2016 22:59:10 +0000
5bb73a585f2c Finish basic proving Steve Losh Thu, 10 Mar 2016 18:22:56 +0000
1340243d4843 Start on the logic database Steve Losh Thu, 10 Mar 2016 15:14:48 +0000
49191daa42d0 Add variable/binding substitution Steve Losh Wed, 09 Mar 2016 11:48:07 +0000
52045b30aab0 Add a couple more unification tests Steve Losh Wed, 09 Mar 2016 11:36:04 +0000
a6a6f6361af3 Test the occurs check Steve Losh Wed, 09 Mar 2016 11:33:07 +0000
d08be7892816 Get some basic unification up and running Steve Losh Tue, 08 Mar 2016 15:27:47 +0000
b22eb7fe2faa Set up a clean namespace for the initial PAIP implementation Steve Losh Tue, 08 Mar 2016 12:31:44 +0000
5e0cca5174a8 More 99P Steve Losh Tue, 08 Mar 2016 12:16:50 +0000
22e5e1250898 GA the docs Steve Losh Mon, 07 Mar 2016 13:39:38 +0000