I need to do more sysadmin shit. Probably do that in a few hours.
But I also really do need a nicer scripting thing. I don't want to write front-end scripts, like game spells or mob AI, in JS.
I'm considering reviving my old Aspic Lisp-like. Original's Obj-C (mostly C), this'd be JS. It has a nice file of unit tests in itself.
Ramin Honary
in reply to Digital Mark λ ☕️ 🕹 👽 • • •Powerful Scheme interpreter in JavaScript | LIPS Scheme
lips.js.orgDigital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •Got it to tokenize, parse, and eval (a single function):

[[Log] tokens="line comment"
(
display
"hello, world!
"
)
[Log] program=line comment
display,hello, world!
[Log] RUN: line comment
[Log] RUN: display,hello, world!
[Log] eval display,hello, world!
[Log] evalArg hello, world!
[Log] display: hello, world!
[Log] hello, world! (aspic.js, line 119)
Am I good? I'm OK. Did past Mark (ca.2009) kick all available ass? YES.
Gotta write all the rest of the primitives.
#aspic #lisp #cyberhole
Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •6 hours + 24 oz of coffee = working Lisp-y able to sing 99 Bottles of Beer.
(still have a dozen more primitives, then it's done)
#cyberhole #lisp #aspic
Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •It's interesting just how close Objective-C 1.0/1.1 was to JavaScript. A lot of the gritty code just copy-paste and works, as long as you remember to turn [foo message:bar] into foo.message(bar) and change ls.count to ls.length (which tripped me a few times). The object model's different, but you'll never notice in normal work.
Once the whip-me-beat-me C++ freaks started littering Obj-C with a bunch of type-shit, it got harder.
#objectivec #objc #javascript
Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •First update of Aspic
ON THE CYBERHOLE
cyberhole.online/aspic/
Read your browser console to see it doing stuff. I'll make it more packageable when I finish up tomorrow.
And phlog post as usual:
cyberhole.online
#cyberhole #lisp #gopher
Aspic
cyberhole.onlineDigital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •I'm trying to make a logo for Aspic (lisp-y), so I can move on to the next task. Image search of aspic (food) is less helpful. There's of course a ton of mid-century misuses, a few cute pics of aspic desserts.
Hm. I don't really want to buy photos on shutterstock, but that may be the option? Where else do people get royalty-free pictures of random subjects?
#aspic
Joshua Thayer
in reply to Digital Mark λ ☕️ 🕹 👽 • • •Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •So I cobbled something together from free vector images. Yay. It is a *minefield* of fucking AI and other spam out there.
Also realized I don't have an icon for TinyBasicWeb. That's easier & harder: It should be an 8-bit screen. I can make one on my (emulated) Atari! Rainbow but like, not intentionally stepping on Pride, check.
Drawing tiny text: Too small. Well, I'll just plot pixels from memory: OH HA HA right, memory is not in ATASCII order. I'll get it.
#aspic #cyberhole #retrocomputing
Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •New icons and organization, and bug fixes (but still no UI) on Aspic,
IN THE CYBER HOLE
cyberhole.online
#cyberhole #aspic #basic #retrocomputing #decemberAdventure
Cyberhole Online!
cyberhole.onlineDigital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •Today I discovered if I don't return anything from a primitive, I get errors so bizarre I think function calling isn't working.
[Log] OK! ALL TESTS PASSED! (aspic.js, line 122)
#cyberhole #aspic #lisp #decemberAdventure
Digital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •You can now see the results of Aspic
ON THE CYBER HOLE
cyberhole.online/aspic/?run=be…
Any URL should work instead of beer.lisp, enjoy!
#cyberhole #aspic #lisp #gopher #decemberAdventure
Aspic
cyberhole.onlineDigital Mark λ ☕️ 🕹 👽
in reply to Digital Mark λ ☕️ 🕹 👽 • • •Put up a source page for the library code
ON THE CYBER HOLE
cyberhole.online/src/
#cyberhole #javascript
Cyberhole Source
cyberhole.online