Porting #MicroLisp to #RISCV #BL602 looks easy 🤔
https://github.com/technoblogy/ulisp-esp/blob/master/ulisp-esp.ino
MicroLisp Interpreter, I2C, SPI, WiFi and Graphics ... All in a single C source file amazing 🤔
https://github.com/technoblogy/ulisp-esp/blob/master/ulisp-esp.ino
Maybe we wrap up the #MicroLisp code in a graphical program like Scratch / Blockly? 🤔
https://developers.google.com/blockly/guides/get-started/web
#Lisp is Not Dead Yet! We still see bits of Lisp today in #WebAssembly ... Like the Stack Machine and S-Expressions
https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format
#uLisp on #PineCone #BL602 @PINE64 ... Now blinks the LED yay! 🎉
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
How we modded #uLisp to call #BL602 GPIO Hardware Abstraction Layer
https://github.com/lupyuen/ulisp-bl602/blob/master/src/ulisp.c#L3536-L3554
Let's run this #uLisp Blinky Function on #BL602
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
#Blockly (Scratch) needs a Code Generator for each language ... So we copy the Dart generator, paste it as Lisp ... And tweak the Lisp generator for #BL602 🛠️
https://github.com/AppKaki/blockly-ulisp/blob/master/generators/lisp/loops.js#L48-L60
Previously we've done a #Blockly Code Generator for Embedded #RustLang ... But it got complicated because of Type Inference ... Lisp should be simpler, I think 🤔
https://lupyuen.github.io/articles/advanced-topics-for-visual-embedded-rust-programming
Let's use this #Blockly Demo ... And add a "Lisp" tab to show our Generated #BL602 #uLisp Code
https://github.com/AppKaki/blockly-ulisp/blob/master/demos/code/index.html#L26-L41
Drag-n-drop #BL602 #uLisp Blinky with these blocks ... Code Generator coming soon ... Try it for yourself here: https://appkaki.github.io/blockly-ulisp/demos/code/
Can we transfer the generated #uLisp Script to #BL602 over Web Serial API? 🤔
https://dev.to/unjavascripter/the-amazing-powers-of-the-web-web-serial-api-3ilc
Yep Web Serial API works with #BL602 at 2 Mbps ... Soon we shall transfer some uLisp Scripts ... From Blocky (Scratch) to BL602!
Cool new way to run #BL602 firmware without putty and CoolTerm ... Just use Web Serial Terminal!
https://lupyuen.github.io/articles/flash#watch-the-firmware-run
Sending the "reboot" command to #BL602 from a Web Browser ... Via Web Serial API
https://github.com/AppKaki/blockly-ulisp/blob/master/demos/code/code.js#L604-L653
@lupyuen
Thats the future of programming.
@lupyuen@qoto.org Doesn't work for me like the idea though
@lupyuen@qoto.org might be brave adblocking being weird but nothing happened clicking the play button
@Nonetrix Yep the button doesn't do anything ... Since we don't have an emulator
@lupyuen@qoto.org oh could you use wasm for that I guess but probably would be best to do something in JS
@Nonetrix maybe that button should transmit the uLisp script to BL602 over Web Serial API 🤔
@lupyuen@qoto.org what's that I'm not very familiar with open hardware stuff if that's what it is
@Nonetrix Makecode for BBC micro:bit has an emulator in the web browser, check it out here:
Blinky for #uLisp ... Let's implement this on #BL602 with the GPIO Hardware Abstraction Layer
http://www.ulisp.com/show?1AEK