Commit Graph

67 Commits

Author SHA1 Message Date
Simon Forman 95cd1e6cc6 round 2020-05-18 20:48:30 -07:00
Simon Forman eb42220b69 Minor cleanup. 2020-05-18 20:37:58 -07:00
Simon Forman caa3cb9a1f Let's simplify. 2020-05-18 20:00:00 -07:00
Simon Forman d158157132 Rip out type code from the library. 2020-05-18 19:07:07 -07:00
Simon Forman 56da4690d0 Rebuild docs 2020-05-17 16:40:58 -07:00
Simon Forman 2c75a0d858 Don't use `==` for definitions. 2020-05-17 16:02:43 -07:00
Simon Forman 76ac5eca94 Trying out a different dsiplay format. 2020-05-15 07:34:47 -07:00
Simon Forman 07d94a1fad primrec combinator
Ticket #40375
2020-05-05 15:22:12 -07:00
Simon Forman 4704799c37 Rename primrec to tailrec. 2020-04-28 11:05:19 -07:00
Simon Forman 750f498512 Fixes #38237 Sort out stack/unstack/enstacken/disenstacken 2020-04-28 10:42:09 -07:00
Simon Forman fac2d2ae5f Switch the names of unstack and disenstacken.
Part of Ticket #38237

Still need to update the docs.
2020-04-28 10:28:30 -07:00
Simon Forman cdff2ea5ea Fixes #40358 Help output could be better.
For now.  Add a header and footer.  Later on when I have per-function docs
it can look those up and print them (or open a viewer in the GUI.)
2020-04-25 15:08:58 -07:00
Simon Forman 9f36207fe3 Sort the definitions in the library. 2020-04-24 16:13:05 -07:00
Simon Forman 1863cba7f7 Somehow swoncat fell through the cracks. 2020-04-24 16:09:32 -07:00
Simon Forman 078f29830d Switch to tabs for indentation.
Instead of a mix of 2- and 4-space tabs just use actual tabs.  ;-P
2020-04-24 12:48:15 -07:00
Simon Forman 2fb610e733 Fixes: #40354 Don't hardcode my own name and email as autosave committer. 2020-04-24 12:28:59 -07:00
Simon Forman 6fe11aa205 Remove `__next__`. 2020-04-24 10:32:48 -07:00
Simon Forman c9082be37d AttributeError: 'itertools.count' object has no attribute '__next__' 2020-04-24 10:10:50 -07:00
Simon Forman 9ca5b24fd1 Fake brutal_hackery on Py3.
Because I'm not about to try to figure it out tonight.
2020-04-24 00:00:41 -07:00
Simon Forman e758d7d2be futurize stage2 core 2020-04-23 23:28:24 -07:00
Simon Forman b0df80f3e6 futurize stage1 core 2020-04-23 23:16:45 -07:00
Simon Forman 0588496ca5 Minor cleanup. 2019-12-03 08:41:42 -08:00
Simon Forman f58f3b9959 Definition of ii combinator.
ii == [dip] dupdip i

         a [F] ii
      --------------
          F a F
2019-11-07 07:53:21 -08:00
Simon Forman df5ddb8ad9 Some trailing whitespace or something. 2019-08-09 09:28:15 -07:00
Simon Forman 84a2de7790 Tiny edits. Almost nothing. 2019-07-21 07:32:20 -07:00
Simon Forman c4c6ece6d2 Add bool function to mimic Python semantics. 2019-07-16 08:41:28 -07:00
Simon Forman 0359cd64c7 Very minor docs change. 2019-07-15 15:50:22 -07:00
Simon Forman b27adb7e1c Remove some trailing blankspace. 2018-11-28 13:00:03 -08:00
Simon Forman 3e6a49ac27 The version of Python with Anaconda is lightly newer. 2018-08-24 16:46:18 -07:00
Simon Forman c88e00ecd0 Add binary functions. 2018-08-02 14:22:42 -07:00
Simon Forman 4ed8422258 Load JOY_HOME/definitions.txt
You still can't edit other text files from within the UI, but at least
now you have a place to persist your own definitions over restarts.

I thought about having a [definitions] section in the config INI file,
but for some reason I prefer a separate definitions.txt file.  I dunno.
Might change it in future.
2018-07-22 11:50:34 -07:00
Simon Forman ca06c626e1 Loop and while combinators. 2018-07-20 12:33:06 -07:00
Simon Forman b89754a30b Futzing with types. 2018-07-19 15:37:35 -07:00
Simon Forman 008b74aef8 Getting back to parity after jumble.
Polytypes module folded into types module, with all the actual type
information done when you load the library module.  Some definitions can
be inferred from their body expression, others need to be
CombinatorJoyType wrapped.  Still to do: loop.
2018-07-19 15:18:42 -07:00
Simon Forman dea6cbc8c2 Working to get types right. 2018-07-19 12:38:19 -07:00
Simon Forman 6576e1a431 Fix TextJoyType inheritance. 2018-07-18 17:47:19 -07:00
Simon Forman 49941f9a33 Log types at startup. 2018-07-18 17:06:51 -07:00
Simon Forman 8ad4ab791b Removing polytypes; some pylint hints. 2018-07-18 14:55:39 -07:00
Simon Forman 7607ca7650 Definitions infer stack effects.
At start-up defs that DON'T type check are permitted (so you can use e.g.
loop, map, etc.) in the definitions "source", but then the user-facing
inscribe command only allows you to define new commands that DO
type-check.  The ideal solution here is to get inference working for the
loopy words.  (In the meantime you can select and execute their
definition text directly.  That's not (yet!) type-checked.)
2018-07-17 20:52:57 -07:00
Simon Forman c9f405fbe9 Nearly there maybe, maybe not. 2018-07-17 20:09:17 -07:00
Simon Forman 73d19b1f3d Moving right along.
A little clunky but it seems to work so far.
2018-07-17 17:12:27 -07:00
Simon Forman c2dd7cca0a So fra, so good... 2018-07-17 12:43:24 -07:00
Simon Forman 14d67dd7c5 in the middle, just want to 2ify my indents... 2018-07-17 10:47:50 -07:00
Simon Forman 0029656351 TextJoyType and inscribe command.
I took the plunge and added the meta-command "inscribe" to the library.
This is, of course, a very dangerous and powerful command.  Use it
wisely.
2018-07-17 10:35:11 -07:00
Simon Forman 043acd685c More stack effects, and modify the key bindings. 2018-07-16 18:43:40 -07:00
Simon Forman 0980d1b7c9 ifte as definition; "fork" combinator. 2018-07-11 07:10:54 -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 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