Skip to main content

Tiny Basic tinkering

One of the examples on the Run Basic website is a port of Tiny Basic. It's fun to play with and is very much like the interactive, command line Basics found on early personal computers. In fact, I think Tiny Basic was the dialect used on the TRS-80 Model 1.

I'm currently working on modifying Tiny Basic to run the Sieve benchmark. Tiny Basic needs two things: profiling and array support.

I've already added profiling support for the RUN command. Tiny Basic now displays the running time of a program in milliseconds.

The last step is to add array support. Tiny Basic only supports the numeric variables 'a' to 'z'. I'm adding a single array to the environment in order to port the Sieve program. The array will be called a().

I will post the modified Tiny Basic code to the Run Basic Programming Wiki when finished. The whole point of this exercise, however, is to see how fast the Tiny Basic interpreter runs the Sieve benchmark and compare it to the others in the last post.

Comments

Popular posts from this blog

Tiny Basic 1.2 Progress

I'm working on the next release of Tiny Basic. Here's the latest list of enhancements: Added GOSUB/RETURN statements. Added TITLEBAR statement for the interpreter console. Increased program lines from 100 to 1024. Rewrote the MEM code. Added runtime error handling in the interpreter. It trys to recover to the READY prompt. Created test program for the interpreter (i.e. primitive unit testing). Granted that some of these changes are behind the scenes, but I'm trying to increase the robustness of the interpreter without refactoring it into something completely different. Before I release Tiny Basic 1.2, I still want to add these features: String variables (i.e. a$ -- z$). FOR/NEXT loops Fix known bugs in current version. The work continues...

Run Basic RC1 Released

Carl invited me to be a beta tester for his upcoming Run Basic product about 4 months ago. This week he released Release Candidate 1 to the beta testing group. It's been exciting to see the evolution of RB from Beta 2 through Beta 5 to RC1. New features that aren't publicly available at www.runbasic.com include: A new syntax to use objects. (e.g. #object method). You can see the Smalltalk influence and the syntax leverages a Liberty Basic programmer's conceptual model of handles. An XMLparser object. A SQLITE object. A FILE object. A TABLE object. HTTPGet$ function that performs an HTTP GET. Carl stated that there will be a few more release candidates before the official release of the Run Basic Personal Server. There will be an "Enterprise" version available at a later date which should include version control and enterprise database access. This release will be the most significant event in the Basic programming world since the introduction of Visual Basic for...

Liberty Basic in 2010

This past year has seen some modest progress in the world of Liberty Basic: Carl published a book titled Beginning Programming with Liberty BASIC . This is a great book -- I read it from cover to cover. Even if you're an experienced programmer, it is a fast way to get the gist of the language and you may even pick up a few new things along the way. Liberty Basic 4.04. This release offers better compatibility with Windows Vista and 7. It also fixes some bugs. I think it will be the last release of the 4.x version. Liberty Basic Pro. This is just 4.04 and Assist combined into a single product. Hopefully 2011 will be the year of Run Basic.