Forum rss-feed

Forum

Tutorials: Belcanto syntax

Most Recent

written by: jim

Thanks for starting this Nik. It's something we've had on the list for a long time, and its easier to make corrections to something already started.

Serious applause for getting all the way down to the prolog interpreter! Although we've nearly replaced all the prolog now and it is slated for removal at some point. One thing we've learned is that the linguistic magic that can be done with that technique doesn't fit very well into the Workbench world, and we are gradually finding other ways of doing things that are a bit less opaque/magic.

I made a few changes directly to the page, trying to show the use of the 'all' word.

In the process, I added a new verb to the interpreter: 'identify' which you can use to explore the way nouns work. In the commander, you can type something like:


all recorder identify
all recorder all input identify


Which can help tremendously in figuring out why something didn't work.

written by: niksilver

Sun, 29 Apr 2012 22:41:56 +0100 BST

As a peculiar recreation I've spent the last few evenings trying to understand Belcanto syntax. There are a lot of example scripts available, but much less explaining the structure of the language. I've written up my findings on the wiki at Belcanto syntax.

Before you click on that link you should know there will be errors in there. I've put the document together from reading around the wiki, looking at the source code on github (including... Prolog?!) and watching the videos from DevCon 2012. Nevertheless, while the document may be consistent with the truth it almost certainly is not actually the truth. There will be subtleties I've missed and things I've just got plain wrong.

Therefore I'd welcome corrections from anyone more knowledgeable.

I've tried to introduce as few concepts as possible in order to keep it as straightforward as I could (although I'm sure it could be simplified further). So I've omitted mention of the stack, context, command line tools, and more. Those are probably topics for another article or ten. As it stands, the document is sufficient to answer the questions I had in my mind when I embarked on this.

One other thing. I've not linked the wiki page from anywhere because I don't seem to be able to edit the page it should come off, which is the main Belcanto page. If someone could do that when it's considered in a fit state to be seen then it would be more findable.


written by: 0beron

Mon, 30 Apr 2012 09:39:09 +0100 BST

This looks like a great addition to the wiki, and seems like the missing link to get people to point where the in depth Belcanto reference material becomes much more useful, thanks for putting this together.


written by: jim

Fri, 4 May 2012 14:00:14 +0100 BST

Thanks for starting this Nik. It's something we've had on the list for a long time, and its easier to make corrections to something already started.

Serious applause for getting all the way down to the prolog interpreter! Although we've nearly replaced all the prolog now and it is slated for removal at some point. One thing we've learned is that the linguistic magic that can be done with that technique doesn't fit very well into the Workbench world, and we are gradually finding other ways of doing things that are a bit less opaque/magic.

I made a few changes directly to the page, trying to show the use of the 'all' word.

In the process, I added a new verb to the interpreter: 'identify' which you can use to explore the way nouns work. In the commander, you can type something like:


all recorder identify
all recorder all input identify


Which can help tremendously in figuring out why something didn't work.



Please log in to join the discussions