Simon Forman
6fe83256b1
Move init_text() to Text method.
2018-07-14 19:11:49 -07:00
Simon Forman
a84966cf9b
Split some code into a utils.py module.
2018-07-14 18:51:22 -07:00
Simon Forman
4fb9e1e003
Minor cleanup.
...
Improve the behavior of the World.
2018-07-14 18:41:36 -07:00
Simon Forman
9ea0157969
Partial harmonize key commands.
...
Fix bug cut instead of copy.
2018-07-14 18:25:12 -07:00
Simon Forman
504981e551
Updated manifest file.
2018-07-14 13:01:43 -07:00
Simon Forman
862e0b07a8
It's time to bring in the GUI.
...
Minimalist (not to say Brutalist) UI based on text windows and mouse
chords. Experimental.
2018-07-14 12:45:52 -07:00
Simon Forman
691d604bf8
Temporarily ignore the test dir.
...
It's mostly just notes and crap so far.
2018-07-14 12:32:07 -07:00
Simon Forman
c83efb2aee
Module dependency graphs.
...
Made with Snakefood and Dot. I'm going to have to come through and clean
these up eventually.
2018-07-14 12:30:45 -07:00
Simon Forman
54491f0da2
A little more bit o' docs.
2018-07-14 12:29:25 -07:00
Simon Forman
41b39e5977
A bit more docs.
2018-07-14 12:07:49 -07:00
Simon Forman
f8829e25fa
A little more documentation.
2018-07-11 07:13:05 -07:00
Simon Forman
fcf483af22
Ah, Symbols.
2018-07-11 07:12:14 -07:00
Simon Forman
343a2f8459
Unicode in docstring.
2018-07-11 07:11:56 -07:00
Simon Forman
0980d1b7c9
ifte as definition; "fork" combinator.
2018-07-11 07:10:54 -07:00
Simon Forman
d95b92314e
Clean up.
2018-07-06 14:20:04 -07:00
Simon Forman
1862ece03e
Adding support for type checking.
2018-07-06 14:19:36 -07:00
Simon Forman
531e215ffd
Another definition for while.
2018-07-06 14:19:00 -07:00
Simon Forman
ab8ec6c95d
Minor cleanup.
...
Renamed update() to reify() and reinstated recursive substitution.
2018-07-04 10:37:43 -07:00
Simon Forman
4fff827338
Extra logging and another lil test.
2018-06-30 23:20:00 -07:00
Simon Forman
ab1f5227ba
Hmm.
...
I think update() should be done better...
2018-06-30 12:59:14 -07:00
Simon Forman
4406a6620b
Type inference of Joy expressions.
...
More remains to be done but it seems to work.
2018-06-29 13:19:12 -07:00
Simon Forman
6ca59847ab
Gotta update() expression too.
...
If type vars get into the espression you have to keep them in sync with
the unification or you can lose information.
Some combinators can put symbols on the expression, you have to convert
those to type checkers or, as a hack, just look them up and run them.
This lets definitions work(-ish), ...
2018-06-27 22:26:27 -07:00
Simon Forman
fc45727008
Minor cleanup.
2018-06-27 19:03:23 -07:00
Simon Forman
9ee50a6268
Minor edits.
2018-06-27 16:31:00 -07:00
Simon Forman
4321ea874b
don't compose lits
...
It forces the identities of lits to change during relabel().
I think we still have to update() the expression to track changes in the
F function stack effect or we risk losing assoviations between type
variables in the stack effects and type variables in the pending
expression. Hrmmm.
2018-06-26 22:39:06 -07:00
Simon Forman
db28989b64
Trying to add a guard to combinators.
...
So they can notice if they're given a stack that doesn't match what
they're expecting.
This seems to work, but I realized that type variables in the pending
expression need to be update()'d too. hmm...
2018-06-26 21:45:58 -07:00
Simon Forman
bbc0fae2e9
Minor edits.
2018-06-26 21:44:18 -07:00
Simon Forman
56262fc53e
Dropped some HTML docs somehow.
2018-06-26 15:58:18 -07:00
Simon Forman
eb739024eb
Type checking, initial work.
2018-06-26 15:23:51 -07:00
Simon Forman
705c95ee28
Fix a couple of bug in Kleene Stars.
...
...and some minor cleanup.
2018-06-25 12:43:05 -07:00
Simon Forman
41d979b233
A bit more text in the Types notebook.
...
It's still pretty drafty. I'm working on the code and then I'll write up
the last bit of docs.
2018-06-25 11:32:27 -07:00
Simon Forman
f1979f35ce
Some more tests.
...
Damn thing seems to be working.
2018-06-25 06:51:12 -07:00
Simon Forman
baae1a5b36
Change name of kav() to infer().
2018-06-24 18:48:22 -07:00
Simon Forman
ad83e1607e
Writing tests.
...
I'm backfilling tests to cover the functionality that I developed
incrementally in the Jupyter notebook and nail it down with concrete
examples. No doubt I'll uncover some bugs.
2018-06-24 18:44:29 -07:00
Simon Forman
d874b2a134
Minor cleanup.
...
Joy type errors get their own exception class.
2018-06-24 18:39:46 -07:00
Simon Forman
1aace53fa0
Infencer/Interpreter hybrid and Kleene Star types.
...
Still draft but it works. Gotta clean it up and supply defs for basis
functions.
2018-06-24 16:33:07 -07:00
Simon Forman
968556c7f3
Simple type inference and compiler.
...
The compiler works for the subset of Joy functions that deal strictly in
manipulating stacks and their contents.
2018-06-21 21:23:34 -07:00
Simon Forman
ca05ea404a
Bunches of new docs.
...
Type inference!
A new treatment of recursion combinator patterns.
2018-06-21 21:13:50 -07:00
Simon Forman
049cfd22b7
Elegant definitions for un-, bin-, tern-ary combinators.
2018-06-13 10:24:36 -07:00
Simon Forman
33f34dd15b
Rename pushback() to concat().
2018-06-13 10:17:46 -07:00
Simon Forman
ac56b0f03c
Removing old html.
2018-06-08 13:22:13 -07:00
Simon Forman
0264efdda6
Rebuild html.
2018-06-08 13:17:36 -07:00
Simon Forman
b98e9f2107
The Hylos notebook is not ready for public yet.
2018-06-08 13:05:59 -07:00
Simon Forman
f5fe7d9726
Move notebook rst files to sphinx subdir.
...
Only for the ones that are already prepared.
2018-06-07 12:48:24 -07:00
Simon Forman
abdece348f
Spaces in filenames noooo.
2018-06-07 12:42:15 -07:00
Simon Forman
507d045a3d
Cleaning up docs.
2018-06-07 12:37:32 -07:00
Simon Forman
956d849c8a
Toplevel makefile docs target uses docs makefile.
2018-06-06 13:33:04 -07:00
Simon Forman
989e48c155
Only (re)make changed notebooks.
...
I love make. (Despite not working with spaces in filenames, since that's
a dumbass thing to do anyway.) There's probably a better way to do what
I did but it works so I'm happy.
2018-06-06 13:27:51 -07:00
Simon Forman
d050180b88
Some docs that got swept up in the commotion.
2018-06-06 13:08:04 -07:00
Simon Forman
36b770f000
Make hates spaces in file names.
2018-06-06 13:07:31 -07:00