New beta version of ARM uLisp with new features for feedback


#35

This seems to be the same issue @fe2o3 was having. Have you tried re-installing the SAMD board library?


#36

OK, seems adding this (from a previous ulisp version) to the board definitions of ssel helped:

#elif defined(ARDUINO_GRAND_CENTRAL_M4)
const int sck = 89, ssel = 90, mosi = 91, miso = 92;


#37

OMG I AM IN HEAVEN!

Backspace is working and parentheses-matching is working… Lisp machine, baby, Lisp machine! :D

Now, what obviously doesn’t work but likely matters little: the numpad. I have a German keyboard. The numpad is giving strange signals. - Now, given most devices do not have a numpad (laptops, tablets), I guess this falls into the “irrelevant, live with it” section, I am just mentioning it.


#38

(print “(”) works fine, but neither (print #( ) nor (print #) ) do.


#39

Last December David gave me a way to test save-image and load-image, and I confirm the procedure described here works:


#40

By ‘works’ do you mean just the paragraph highlighting? If so, see: Terminal support on the new ARM 3.2 beta


#41

Yes, I took that out because it’s now redundant with Adafruit’s latest SAMD code. You could alternatively have updated the core.


#42

No, I mean not paragraph highlighting, I mean this:


(print #\( )

Error: Unknown character

#43

Does it work if you space away from the closing paren?


#44

Looked into it a little more. This is a pre-existing bug; it arises because parenthesis and the single-quote are treated specially by the reader.


#45

No. :) -Well, thank you for checking it! :) You see, I report things “as I see them”… :)


#46

Updated the SAMD core, as advised - indeed, now the definition is not needed.


#47

Thanks - logged as a bug.


#48

It’s in the accumulation code; when gathering into a buffer, uLisp checks if the next letter is a space or a paren.


#49

Great! Do they work on your terminal even after the line has wrapped around the end of the window?


#50

No:

backspace does not get “back up”, and while parentheses DO match, they somehow match on the present (lower) line, i.e. UNDER the actually matched parens. Doesn’t really matter, the “not going back on the previous line” behaviour is TYPICAL and USUAL for terminals. ;)

A way around it would be if you do not physically move the cursor “back”, but print the last erased character. E.g. writing and erasing “apple” gives you “appleelppa”. The disadvantage: it is less “usual” nowadays. The advantage: you only move FORWARD and do not have to care about cursor positioning at all.


#51

That sounds a bit crummy; surely it’s possible to do better than that.


#52

http://pdp11.aiju.de/

This is a PDP-11 running ancient Unix in your browser — you can get a feel for that kind of backspace functionality there.


#53

I upgraded to SAMD51 version 1.5.11. This should be the latest.

I had been using 1.5.3 prior and getting errors when I’d try to upgrade. Finally said “The heck with it!” and removed everything and reinstalled.


#54

Yes, it is possible. Just not easily with things that pretend they are machines built forty years ago to emulate equipment that at the time was more than a decade old. The text terminal is a gross accumulation of ancient cruft, which is usually papered over with software libraries like readline or curses.