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 |