What Was BSCAL?

“In a digital computer, the instructions are in the form of COMMAND (ADDRESS) where the address is an exact (either absolute or relative) memory location, a process that translates informally into “DO THIS with what you find HERE and go THERE with the result.” Everything depends not only on precise instructions, but on HERE, THERE, and WHEN being exactly defined. It is almost incomprehensible that programs amounting to millions of lines of code, written by teams of hundreds of people, are able to go out into the computational universe and function as well as they do given that one bit in the wrong place (or the wrong time) can bring the process to a halt.

Biology has taken a completely different approach. There is no von Neumann address matrix, just a molecular soup, and the instructions say simply “DO THIS with the next copy of THAT which comes along.” The results are far more robust. There is no unforgiving central address authority, and no unforgiving central clock. This ability to take general, organized advantage of local, haphazard processes is exactly the ability that (so far) has distinguished information processing in living organisms from information processing by digital computers.”

George Dyson – http://www.edge.org/3rd_culture/dyson05/dyson05_index.html

That description, sums up how my old BSCAL VM worked.

I think its about 18 years since I built the first prototype. I must resurrect that little fun project one day. I managed to find some of the original (and rather horrible) code early in the year and put it into CVS. It once served me well as the core scheduler for a home made super-computer.

Advertisements

About metawrap

CTO Massive Interactive. Ex Computer Whiz Kid - Now Grumpy Old Guru.
This entry was posted in Nostalgia for Misspent Youth, Rants. Bookmark the permalink.

One Response to What Was BSCAL?

  1. Ben Hardy says:

    I always visualize stuff like this as a colony of programmable ants, but perhaps a more interesting one is a flock of insane parrots to whom you can provide hints as to what they should do next. What I’m exploring now though is the possibility of passing functions as data to functions which decide what to execute, and it’s getting interesting. I’ll let you know how it goes.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s