Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ah, and I almost forgot, in re the changes:

the commit log is the definitive (and painstakingly accurate) log of changes: https://github.com/ianatha/bababasic/commits/main

To clarify my slightly obtuse original post, I started this by using PuffinBASIC, but I ended up forking it because there were a few things implemented differently than my reference QuickBASIC 4.5 installation (running on DOSBox):

* label syntax / case-insensitive labels * forward function declarations * flexible array indexing (i.e. in QBasic your arrays could start at 0, or at 1, and it somehow figured it out, and it still had bound checks) -- haven't implemented this yet * various functions (VAL, INKEY$, SLEEP)

Lastly, and more importantly, PuffinBASIC required Java AWT support (which made it necessitate a desktop), but I have refactored BabaBASIC to abstract the HCI portions (audio/video/keyboard).

Another interesting technical point is that the "Run View", which displays a terminal through which you interact with your script is also a (very small) fork of Termux.

(I needed something to efficiently draw a text buffer while handling all the VT100-related functionality.)



QB64 has taken on the mantel of modern reimplementation, its worth seeing if there are any extensions from there that are worth implementing.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: