Yes! This is definitely the place.
I've spent the better part of the morning playing with it, and it's
fabulous, I've always had a little implementation of pforth compiled
to play around with, but this just took its place. It's now my new
goto forth implementation. I can't believe how quickly you've wiped
this up.
I love how it looks too, it's lightning fast on the rasperry pi too,
even the graphical demo which surprised me a bit.
In the code, everywhere you do DUP2 ORA, you can just ORAk, it will
save a byte, same for #0002 ADD, you might as well use INC2 INC2, just
little things.
I love it Felix.
This is so fun!
Just tried out a nice non-trivial forth program and it works great!
( euclidean algorithm for greatest common denominator )
: gcd begin tuck mod dup 0= until drop ;
234 39 gcd . ( prints 39 )
925 75 gcd . ( prints 25 )
17 999 gcd . ( prints 1 )
Thanks Felix!
-- Erik
On Sun, Jun 19, 2022 at 12:46:02PM +0200, felix.winkelmann@bevuta.com wrote:
> Hi!> > Not sure if this is the right place, but I'm releasing a first> version of "UF", an "traditional" interactive Forth system for> uxn:> > http://www.call-with-current-continuation.org/uf/uf.html> > Feedback is welcome!> > > felix
Hi Felix!
UF is indeed awesome, as Devine and Erik have said :-)
Just to note that in your README you say:
> SDL uxn added a timeout after which the VM aborts when no events> are processed.
That restriction has been removed in SDL uxn. It may make it back in but
it won't take action by default, so software such as yours shouldn't
need this warning with an up-to-date uxnemu.
Thanks very much for sharing this with us!
Best wishes,
Andy
> I've spent the better part of the morning playing with it, and it's> fabulous, I've always had a little implementation of pforth compiled> to play around with, but this just took its place. It's now my new> goto forth implementation. I can't believe how quickly you've wiped> this up.
Thanks! A good deal of the code has been taken from earlier Forth
implementations I did, so it really just was the kernel and the editor.
But uxn really is made for Forth, so the amount necessary to simulate
a Forth machine is minimal (or nonexistent).
> In the code, everywhere you do DUP2 ORA, you can just ORAk, it will> save a byte, same for #0002 ADD, you might as well use INC2 INC2, just> little things.
Thanks, I will go through the code and check for these sequences. Every byte
counts!
I'm glad you like it. It will have many bugs and shortcomings, don't hesitate
to report them.
felix
> UF is indeed awesome, as Devine and Erik have said :-)
Thanks a lot!
> > Just to note that in your README you say:> > > SDL uxn added a timeout after which the VM aborts when no events> > are processed.> > That restriction has been removed in SDL uxn. It may make it back in but > it won't take action by default, so software such as yours shouldn't > need this warning with an up-to-date uxnemu.
Excellent, I was hoping for this to be addressed.
> > Thanks very much for sharing this with us!>
You are very welcome.
felix