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
#uLisp Interpreter on #RISCV #BL602 brings back memories 🥲 ... Let's do uLisp Blinky next!
https://github.com/lupyuen/bl_iot_sdk/tree/ulisp/customer_app/sdk_app_ulisp
Why are they called CAR and CDR in #Lisp? Here's why
#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