Beans is a flow based programming language built on the uxn virtual machine.
Beans' goal is to be a modular, explicit language that inspires play. Programs written in beans that are extremely decomposable, as the modules (called beans) are entirely independent from each other.
Questions, comments or feedback? Let me know on irc: irc://kyleperik.com#beans
For a walk-through of the initial ideas, checkout: Beans Genesis (May 2023)
Comparison with other frameworks: Evolution of Beans (July 2023).
Since then I've rewritten beans more formally and efficiently, without a built in visual interface. But the main concepts remain, and I hope to have a visual interface soon!
Run the build script to assemble
--save to copy to ~/roms/`.
uxncli bin/beanasm.rom etc/hello.bean > out.can
uxncli bin/uxnbean.rom out.can
Now see that each time you press return, it prints back "Hello World!".
For more information on writing programs, checkout the spec.
After switching to the
drifblim assembler, I'm having some trouble
drifblim is required. (if you know
what's wrong, please drop a note on IRC!)
For quick usage in the future, you can copy
~/roms and alias them in your
alias beanasm='uxncli ~/roms/beanasm.rom' alias beancli='uxncli ~/roms/uxnbean.rom' alias beanemu='uxnemu ~/roms/uxnbean.rom'
Now it's a bit easier to compile and run beans:
beanasm etc/particles.bean > out.can beanemu out.can