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 |