Monthly Archives: February, 2014

Arrays, Final(ly)

I think the final piece of the array puzzle finally fell into place. The issue resolved when I last wrote about arrays — whether all data Models have array capability versus arrays being a distinct data model — still stands.

The final piece involves a slight syntax change and — much more importantly — the full rationale for the array syntax. Not really having one was a bother; it made arrays seem arbitrary and patched on. The rationale brings them more fully into the BOOL fold.

Continue reading →

Python Actions

Picking up from the previous post, I want to get into the Python binding for Actions in more detail. I’ve got several examples to help demonstrate various aspects of what the parts of the Action object mean. The design appears solid enough to make it official and move on to the next stage.

Speaking of which: huge milestone in the last few days! The bottom line is that, for the first time, I can generate BOOL objects from a higher-level language. Essentially, I wrote a kind of “macro-assembler” that reads a fairly simplistic language and emits (Python) BOOL objects. It’s a major step in bootstrapping the run-time environment objects necessary as well as providing examples for working on the run-time engine!

It rates its own article soon. For now, Actions ala Python:

Continue reading →

BOOL Python Binding

Again the retirement free time, the pleasure of Python, and perhaps it just being the right time, conspire to move the BOOL project forward into new territory. The Reference Implementation is coming along nicely on several fronts. The design of various objects has become solid enough to use in writing bits of code.

In particular, it’s possible to discuss how objects are represented in Python, and it’s possible to start thinking about the code that works with those objects. With the BOOL source definition becoming more stable, it’s also possible to start thinking about compilers. This post introduces these things; in some cases, in some detail.

For dessert, I’ll briefly mention a BOOL XML binding.

Continue reading →

Followers? Seriously??

This is a  highly esoteric blog — really just a personal pet project — but I see that I have gathered some followers. That’s okay, there’s plenty of good seating, but I’m really curious why you’re here! I’m guessing it’s not that you have an interest in a weird programming language I’ve dabbled with for decades. (If I’m wrong about that, speak up; I’d love to hear from you.)

I’m going to stick this post up top. Perhaps I can encourage you to treat it as a “Guestbook” and leave a comment to sign in and say, “Howdy!” Common courtesy, really (although I realize the interweb tries to operate by different standards).  Maybe later, I’ll create a Guestbook page — that’s kind of a neat idea, actually — and edit this to point you there. (Or maybe I should do that on a blog that expects visitors.)

Honestly, this is just an excuse to try the “sticky post” thing. 😀

Actions, postscript

BOOL has an #inline option for Action definitions that allows (but does not require) treating an Action as if it was inserted into the code flow. There is also the idea of native Actions, defined as such by the standard, which are also allowed to be inline.

But a design goal is the ability to implement basic language constructs (such as if statements and while loops) in the language itself.

So here are some of those native Actions:

Continue reading →