OSDN Git Service

joypy/Thun.git
4 years agoDebugging this sucks.
Simon Forman [Thu, 28 Nov 2019 15:58:42 +0000 (07:58 -0800)]
Debugging this sucks.

Even with the RISC emu GUI.

Redesign vm?  Add more tooling?  Use MetaII?

Happy Thanksgiving!

4 years agoEmit a sort of symbol table.
Simon Forman [Thu, 14 Nov 2019 05:15:33 +0000 (21:15 -0800)]
Emit a sort of symbol table.

4 years ago4 is already an offset
Simon Forman [Wed, 13 Nov 2019 23:07:27 +0000 (15:07 -0800)]
4 is already an offset

4 years agoDefinitions.
Simon Forman [Wed, 13 Nov 2019 19:41:41 +0000 (11:41 -0800)]
Definitions.

4 years ago"swap" word.
Simon Forman [Wed, 13 Nov 2019 00:09:13 +0000 (16:09 -0800)]
"swap" word.

4 years ago"new" word.
Simon Forman [Tue, 12 Nov 2019 23:47:33 +0000 (15:47 -0800)]
"new" word.

4 years agoRefactor sub_base_merge_and_store.
Simon Forman [Tue, 12 Nov 2019 19:42:24 +0000 (11:42 -0800)]
Refactor sub_base_merge_and_store.

4 years agodup cons i
Simon Forman [Tue, 12 Nov 2019 17:23:31 +0000 (09:23 -0800)]
dup cons i

4 years agoForgot to "return" from i combinator.
Simon Forman [Tue, 12 Nov 2019 17:18:58 +0000 (09:18 -0800)]
Forgot to "return" from i combinator.

4 years agoEven "nicer".
Simon Forman [Tue, 12 Nov 2019 17:06:22 +0000 (09:06 -0800)]
Even "nicer".

4 years agoCharming.
Simon Forman [Tue, 12 Nov 2019 17:03:54 +0000 (09:03 -0800)]
Charming.

4 years agodexpr//1
Simon Forman [Tue, 12 Nov 2019 17:02:19 +0000 (09:02 -0800)]
dexpr//1

4 years agoThe i combinator.
Simon Forman [Tue, 12 Nov 2019 16:37:20 +0000 (08:37 -0800)]
The i combinator.

4 years agohead_addr
Simon Forman [Mon, 11 Nov 2019 15:51:58 +0000 (07:51 -0800)]
head_addr

4 years agoSimple push of empty list.
Simon Forman [Mon, 11 Nov 2019 15:45:22 +0000 (07:45 -0800)]
Simple push of empty list.

4 years agoDup.
Simon Forman [Sun, 10 Nov 2019 22:35:57 +0000 (14:35 -0800)]
Dup.

ANd portray_clause to stablize output logical variable names.

4 years agohalt.
Simon Forman [Sun, 10 Nov 2019 18:58:47 +0000 (10:58 -0800)]
halt.

4 years agoword works with negative numbers now.
Simon Forman [Sun, 10 Nov 2019 18:53:55 +0000 (10:53 -0800)]
word works with negative numbers now.

symbols moved to head of machine code.

4 years agomerge_and_store, chain_link
Simon Forman [Sun, 10 Nov 2019 05:55:01 +0000 (21:55 -0800)]
merge_and_store, chain_link

4 years agoMinor refactor.
Simon Forman [Sun, 10 Nov 2019 05:20:31 +0000 (21:20 -0800)]
Minor refactor.

It doesn't save space (but if I reuse it once it will.)

4 years agoPass through label.
Simon Forman [Sun, 10 Nov 2019 04:19:15 +0000 (20:19 -0800)]
Pass through label.

4 years agoif_literal and lookup
Simon Forman [Sun, 10 Nov 2019 02:39:39 +0000 (18:39 -0800)]
if_literal and lookup

4 years agoincr stack
Simon Forman [Sun, 10 Nov 2019 02:28:01 +0000 (18:28 -0800)]
incr stack

Really decr, but I'm abstracting.

4 years agoRefactoring and cleanup.
Simon Forman [Sun, 10 Nov 2019 02:15:56 +0000 (18:15 -0800)]
Refactoring and cleanup.

4 years agoload
Simon Forman [Sun, 10 Nov 2019 02:02:07 +0000 (18:02 -0800)]
load

4 years agoBleah.
Simon Forman [Sat, 9 Nov 2019 23:20:06 +0000 (15:20 -0800)]
Bleah.

4 years agoBase address in unpack_pair.
Simon Forman [Sat, 9 Nov 2019 23:12:44 +0000 (15:12 -0800)]
Base address in unpack_pair.

4 years agounpack_pair
Simon Forman [Sat, 9 Nov 2019 23:03:17 +0000 (15:03 -0800)]
unpack_pair

4 years agoMinor refactor.
Simon Forman [Sat, 9 Nov 2019 22:02:18 +0000 (14:02 -0800)]
Minor refactor.

4 years agoRefactoring, with oddball quoting "symbols".
Simon Forman [Sat, 9 Nov 2019 21:59:06 +0000 (13:59 -0800)]
Refactoring, with oddball quoting "symbols".

4 years agoThat works nicely, again.
Simon Forman [Sat, 9 Nov 2019 21:42:14 +0000 (13:42 -0800)]
That works nicely, again.

4 years agoConvert to ? DCG and it's macro-time!
Simon Forman [Sat, 9 Nov 2019 21:34:51 +0000 (13:34 -0800)]
Convert to ? DCG and it's macro-time!

4 years agoI think that does it for cons.
Simon Forman [Sat, 9 Nov 2019 20:14:51 +0000 (12:14 -0800)]
I think that does it for cons.

Offsets in pair records can be negative.

4 years agoThat's the mainloop converted to permit negative offsets.
Simon Forman [Sat, 9 Nov 2019 20:03:13 +0000 (12:03 -0800)]
That's the mainloop converted to permit negative offsets.

4 years agoMinor cleanup, bug fixes.
Simon Forman [Sat, 9 Nov 2019 19:27:29 +0000 (11:27 -0800)]
Minor cleanup, bug fixes.

4 years agoMinor bugfix.
Simon Forman [Fri, 8 Nov 2019 23:24:09 +0000 (15:24 -0800)]
Minor bugfix.

asr not ror.

4 years agoCons
Simon Forman [Fri, 8 Nov 2019 22:06:28 +0000 (14:06 -0800)]
Cons

4 years agoJust do it in asm.
Simon Forman [Fri, 8 Nov 2019 16:08:53 +0000 (08:08 -0800)]
Just do it in asm.

4 years agohmm...
Simon Forman [Fri, 8 Nov 2019 04:21:26 +0000 (20:21 -0800)]
hmm...

4 years agoWIth push2 finished that's the mainloop converted.
Simon Forman [Fri, 8 Nov 2019 01:25:04 +0000 (17:25 -0800)]
WIth push2 finished that's the mainloop converted.

4 years agolookup
Simon Forman [Fri, 8 Nov 2019 00:28:28 +0000 (16:28 -0800)]
lookup

4 years agoif_literal
Simon Forman [Fri, 8 Nov 2019 00:15:41 +0000 (16:15 -0800)]
if_literal

4 years agoA start on converting the mainloop.
Simon Forman [Thu, 7 Nov 2019 23:53:07 +0000 (15:53 -0800)]
A start on converting the mainloop.

4 years agoTake two on the compiler.
Simon Forman [Thu, 7 Nov 2019 22:57:41 +0000 (14:57 -0800)]
Take two on the compiler.

4 years agoMinor cleanup.
Simon Forman [Thu, 7 Nov 2019 15:55:01 +0000 (07:55 -0800)]
Minor cleanup.

4 years agoModify error reporting a lil; words word.
Simon Forman [Thu, 7 Nov 2019 15:54:04 +0000 (07:54 -0800)]
Modify error reporting a lil; words word.

4 years agoDefinition of ii combinator.
Simon Forman [Thu, 7 Nov 2019 15:53:21 +0000 (07:53 -0800)]
Definition of ii combinator.

    ii == [dip] dupdip i

         a [F] ii
      --------------
          F a F

4 years agoCall for_serial/2
Simon Forman [Thu, 7 Nov 2019 15:43:21 +0000 (07:43 -0800)]
Call for_serial/2

4 years agoUsing partial deduction to inline literals, functions, and combinators.
Simon Forman [Thu, 22 Aug 2019 22:45:24 +0000 (15:45 -0700)]
Using partial deduction to inline literals, functions, and combinators.

5 years agominor cleanup
Simon Forman [Wed, 21 Aug 2019 05:00:27 +0000 (22:00 -0700)]
minor cleanup

5 years agosmall func recognizes [] and [X].
Simon Forman [Tue, 20 Aug 2019 05:02:06 +0000 (22:02 -0700)]
small func recognizes [] and [X].

5 years agoRename bar to korf and some docs.
Simon Forman [Sun, 18 Aug 2019 23:59:31 +0000 (16:59 -0700)]
Rename bar to korf and some docs.

5 years agominor cleanup
Simon Forman [Sun, 18 Aug 2019 19:17:37 +0000 (12:17 -0700)]
minor cleanup

5 years agoreintroduce definition of fork; it doesn't shadow func(fork, ...).
Simon Forman [Sun, 18 Aug 2019 18:47:48 +0000 (11:47 -0700)]
reintroduce definition of fork; it doesn't shadow func(fork, ...).

5 years agoread child output after local thun/3
Simon Forman [Sun, 18 Aug 2019 18:09:36 +0000 (11:09 -0700)]
read child output after local thun/3

5 years agotruly fork, sort of
Simon Forman [Sun, 18 Aug 2019 17:53:25 +0000 (10:53 -0700)]
truly fork, sort of

5 years agominor cleanup
Simon Forman [Tue, 13 Aug 2019 18:58:31 +0000 (11:58 -0700)]
minor cleanup

5 years agoMinor cleanup.
Simon Forman [Tue, 13 Aug 2019 18:51:41 +0000 (11:51 -0700)]
Minor cleanup.

5 years agoMove DCG stuff to own file.
Simon Forman [Tue, 13 Aug 2019 18:48:08 +0000 (11:48 -0700)]
Move DCG stuff to own file.

5 years agoParse ints; move line/{1,2} to main.pl.
Simon Forman [Tue, 13 Aug 2019 18:29:49 +0000 (11:29 -0700)]
Parse ints; move line/{1,2} to main.pl.

5 years agoParse floating point numbers.
Simon Forman [Tue, 13 Aug 2019 18:24:28 +0000 (11:24 -0700)]
Parse floating point numbers.

5 years agominor cleanup
Simon Forman [Tue, 13 Aug 2019 05:29:09 +0000 (22:29 -0700)]
minor cleanup

5 years agominor cleanup
Simon Forman [Tue, 13 Aug 2019 04:59:19 +0000 (21:59 -0700)]
minor cleanup

5 years agoNumbers can be followed by space or [.
Simon Forman [Tue, 13 Aug 2019 04:29:26 +0000 (21:29 -0700)]
Numbers can be followed by space or [.

5 years agoParse negative numbers.
Simon Forman [Tue, 13 Aug 2019 04:13:11 +0000 (21:13 -0700)]
Parse negative numbers.

5 years agoswapd function
Simon Forman [Tue, 13 Aug 2019 04:08:35 +0000 (21:08 -0700)]
swapd function

5 years agoassert_defs/1 got upset about not finding combo/5
Simon Forman [Tue, 13 Aug 2019 04:08:17 +0000 (21:08 -0700)]
assert_defs/1 got upset about not finding combo/5

5 years agoMinor cleanup of the parser.
Simon Forman [Tue, 13 Aug 2019 03:59:02 +0000 (20:59 -0700)]
Minor cleanup of the parser.

5 years agorework parser DCGs
Simon Forman [Tue, 13 Aug 2019 03:12:35 +0000 (20:12 -0700)]
rework parser DCGs

5 years agoOops! Regression.
Simon Forman [Tue, 13 Aug 2019 02:25:13 +0000 (19:25 -0700)]
Oops! Regression.

5 years agominor cleanup
Simon Forman [Tue, 13 Aug 2019 02:17:15 +0000 (19:17 -0700)]
minor cleanup

5 years agoswoncat and fiddling with parser.
Simon Forman [Tue, 13 Aug 2019 02:09:49 +0000 (19:09 -0700)]
swoncat and fiddling with parser.

5 years agoExperiment with putting logic vars on the stack.
Simon Forman [Mon, 12 Aug 2019 04:30:02 +0000 (21:30 -0700)]
Experiment with putting logic vars on the stack.

5 years agoRemove a cut that sucked.
Simon Forman [Mon, 12 Aug 2019 03:45:49 +0000 (20:45 -0700)]
Remove a cut that sucked.

5 years agounstack, least_fraction
Simon Forman [Mon, 12 Aug 2019 02:57:28 +0000 (19:57 -0700)]
unstack, least_fraction

5 years agoCopyright notices.
Simon Forman [Mon, 12 Aug 2019 02:41:11 +0000 (19:41 -0700)]
Copyright notices.

5 years agoThe sqrt/1 predicate wasn't working.
Simon Forman [Mon, 12 Aug 2019 02:35:05 +0000 (19:35 -0700)]
The sqrt/1 predicate wasn't working.

5 years agoMultifile func/3.
Simon Forman [Mon, 12 Aug 2019 01:45:57 +0000 (18:45 -0700)]
Multifile func/3.

5 years agoBuild math & comparision functions.
Simon Forman [Mon, 12 Aug 2019 00:48:29 +0000 (17:48 -0700)]
Build math & comparision functions.

5 years agoClean up REPL formatting.
Simon Forman [Mon, 12 Aug 2019 00:00:38 +0000 (17:00 -0700)]
Clean up REPL formatting.

5 years agoDon't shadow funcs and combos.
Simon Forman [Sun, 11 Aug 2019 22:12:56 +0000 (15:12 -0700)]
Don't shadow funcs and combos.

5 years agoDon't shadow funcs & combos.
Simon Forman [Sun, 11 Aug 2019 21:56:20 +0000 (14:56 -0700)]
Don't shadow funcs & combos.

5 years agoExtract mainloop to own file.
Simon Forman [Sun, 11 Aug 2019 21:51:13 +0000 (14:51 -0700)]
Extract mainloop to own file.

5 years agoUse double-quoted string for codes.
Simon Forman [Sun, 11 Aug 2019 05:21:57 +0000 (22:21 -0700)]
Use double-quoted string for codes.

5 years agocleanup old files
Simon Forman [Sun, 11 Aug 2019 05:07:17 +0000 (22:07 -0700)]
cleanup old files

5 years agoBuild defs.pl from defs.txt.
Simon Forman [Sun, 11 Aug 2019 05:03:44 +0000 (22:03 -0700)]
Build defs.pl from defs.txt.

5 years agobuild defs.pl
Simon Forman [Sun, 11 Aug 2019 04:46:48 +0000 (21:46 -0700)]
build defs.pl

5 years agobuild defs.pl
Simon Forman [Sun, 11 Aug 2019 04:45:59 +0000 (21:45 -0700)]
build defs.pl

5 years agoMove parser to own file.
Simon Forman [Sun, 11 Aug 2019 03:57:11 +0000 (20:57 -0700)]
Move parser to own file.

5 years agomap combo
Simon Forman [Sun, 11 Aug 2019 03:42:48 +0000 (20:42 -0700)]
map combo

5 years agoBring in funcs and combos.
Simon Forman [Sun, 11 Aug 2019 03:12:41 +0000 (20:12 -0700)]
Bring in funcs and combos.

5 years agoOmit Prolog toplevel.
Simon Forman [Sun, 11 Aug 2019 03:06:12 +0000 (20:06 -0700)]
Omit Prolog toplevel.

5 years agoDo not need thses files.
Simon Forman [Sun, 11 Aug 2019 03:03:52 +0000 (20:03 -0700)]
Do not need thses files.

5 years agoFold in parser, main loop, and support.
Simon Forman [Sun, 11 Aug 2019 02:57:00 +0000 (19:57 -0700)]
Fold in parser, main loop, and support.

5 years agoRename foo to thun.
Simon Forman [Sun, 11 Aug 2019 02:25:48 +0000 (19:25 -0700)]
Rename foo to thun.

5 years agoMake a version for GNU Prolog compiler.
Simon Forman [Sat, 10 Aug 2019 19:19:09 +0000 (12:19 -0700)]
Make a version for GNU Prolog compiler.

5 years agoAlso don't shadow combinators.
Simon Forman [Fri, 9 Aug 2019 23:58:34 +0000 (16:58 -0700)]
Also don't shadow combinators.

(I realized that the way defs are parsed now means that each def
(but the last) is first asserted with the wrong definition expression
(it includes the symbol of the following definition at the end) and
then the parser figures out that there's another defintion following
and re-asserts the correct expression.  It would be nice to fix that
but it's kind of a PITA.  I used to build a list of definitions and
then assert them all at the end.  For now there aren't enough defs to
justify the extra work.

5 years agoPrevent definitions from shadowing functions.
Simon Forman [Fri, 9 Aug 2019 23:53:40 +0000 (16:53 -0700)]
Prevent definitions from shadowing functions.

5 years agoDemo grow/shrink.
Simon Forman [Fri, 9 Aug 2019 23:37:33 +0000 (16:37 -0700)]
Demo grow/shrink.

5 years agoSome trailing whitespace or something.
Simon Forman [Fri, 9 Aug 2019 16:28:15 +0000 (09:28 -0700)]
Some trailing whitespace or something.