Thun/thun
Simon Forman 714bf2cab6 Try to handle expressions in branch combinator.
If the expression isn't 'true' or 'false' atoms then we assume it's a comparison expression and try to check its truth value.

If this fails then it will try both branches, to allow for e.g. compilation.  THis almost works, but there's a choice point or something that gets hit before it tries the false path,

?- joy(` [32 >] [++] [--] ifte`, Si, So).
Si = [_2076|_2078],
So = [_2076+1|_2078] ;
wtf? +
Si = [_2076|_2078],
So = [[+], 1, _2076|_2078] ;
Si = [_2076|_2078],
So = [_2076-1|_2078] ;
wtf? -
Si = [_2076|_2078],
So = [[-], 1, _2076|_2078] ;
wtf? branch
Si = [_2076|_2078],
So = [[branch], [++], [--], _2076>32, _2076|_2078] ;
wtf? swap
Si = [_2076|_2078],
So = [[swap, branch], [--], [++], _2076>32, _2076|_2078] ;
wtf? first
Si = [_2076|_2078],
So = [[first, [++], [--], swap, branch], [_2076>32|_2078], _2076|_2078]


etc...
2019-07-20 16:45:28 -07:00
..
compiler.pl Some docs, and a thing to print out the dictionary after compilation. 2019-05-03 15:21:06 -07:00
defs.txt Add bool function to mimic Python semantics. 2019-07-16 08:41:28 -07:00
metalogical.pl See https://www.metalevel.at/acomip/ 2019-05-06 12:47:30 -07:00
thun.pl Try to handle expressions in branch combinator. 2019-07-20 16:45:28 -07:00