Commit Graph

125 Commits

Author SHA1 Message Date
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 507d045a3d Cleaning up docs. 2018-06-07 12:37:32 -07:00
Simon Forman c60d54d009 Minor docs edits. 2018-06-06 11:32:19 -07:00
Simon Forman 637d4efa6a Minor docs cleanup. 2018-06-06 11:20:31 -07:00
Simon Forman 37c34fc54f Added cond and cmp to library. 2018-06-06 07:56:24 -07:00
Simon Forman dbb1fcf4a2 Adding params to the docstrings. 2018-04-30 10:16:04 -07:00
Simon Forman cfbd9a5182 ReST docs & library edits for Sphinx
Used Pandoc to convert the notebooks to rst format.  Used 2to3 to edit
the function signatures that were causing sphinx to error out.  Am I
really the only one who uses that syntax?
2018-04-24 22:07:21 -07:00
Simon Forman 147641611d Working on the Sphinx docs.
I had to remove the tuples from the args specs, sphinx had kittens.

I see value both in the autodoc for library.py and the library examples
Jupyter notebook (converted to ReST format) so I'm including them both.

Calling the library module autodocs the "Function Reference".
2018-04-24 21:01:16 -07:00
Simon Forman 93b35593d4 Sphinx docs coming along.
It's so pretty!  Make me want to write more docs.  :-)

Some weird bug parsing the library.py module though.  D'oh!
2018-04-22 22:44:49 -07:00
Simon Forman 7c80a22851 Minor cleanup of the README file. 2018-04-22 09:16:48 -07:00
Simon Forman 669c86cbf1 Change project name to Thun.
I waited too long to upload to PyPI and some other bastard snagged the name.  I originally wanted to call it "Thun" as a tribute to Manfred von Thun, but I was concerned that this might seem to violate the thrid clause in the license of the original Joy code, to wit:

3. The name of the author may not be used to endorse or promote products  derived from this software without specific prior written permission.

Since the author is deceased I don't know of whom to ask permission to call this project Thun, but since I am not trying to "endorse or promote" this project with his name it should be alright.  In any event if anyone complains I can rename the project again.
2018-04-21 21:26:41 -07:00
Simon Forman a3c3709e4c Let the name of wrapped functions appear in tracebacks. 2018-04-21 15:37:19 -07:00
Simon Forman f7e78b6050 Switch to functions from classes for FunctionWrappers. 2018-04-21 15:20:46 -07:00
Simon Forman a682537597 Minor cleanup. 2018-04-21 11:53:02 -07:00
Simon Forman a61dc4c5d9 Efficient and elegant recursive pushback() function.
Can overflow recursion limit (typically 1000.)
2018-04-21 11:41:20 -07:00
Simon Forman 4064ac1d23 When loading definitions ignore lines w/o "==". 2018-04-21 11:40:00 -07:00
Simon Forman 9805f479be Ignore build dir and pyc files. 2018-04-16 21:21:02 -07:00
Simon Forman 1e510de8ae Testing workflow.
Correcting a typo.
2018-04-16 12:43:28 -07:00
Simon Forman fac17ceb7c Bringing over some changes.
I need to harmonize my local repo and the OSDN repo.
2018-04-16 12:27:52 -07:00
Simon Forman beb7155b4a Initial move of code from git repo. 2018-04-14 18:13:13 -07:00