SourceForge Logo
BrainScript
 
Project Home
News
Downloads
Links
Cat's Eye Technologies

>>++++[<++++>-]<[<++++>-]<++.>>++++[<++++>-]<[<+++>-]<.>++++
[<---->-]<-.>++[<++++>-]<.+++++.>++++[<------->-]<+.>++++[<+
+++>-]<.>++++[<++++>-]<-.>++[<---->-]<-.>+++[<++>-]<+.++++.

Brainf*ck is arguably the most concise programming language available given that it only has eight commands and yet remains capable of computing any computable problem. For more information about the language itself you can try Cat's Eye Technologies for a number of implementations of brainf*ck interpreters and compilers along with a number of sample scripts.

BrainScript is an Active Script implementation of Brainf*ck. The Active Script technology is a mechanism built upon COM which defines a set of interfaces that allow different script languages to be hosted by an active scripting aware application. A good example is Internet Explorer. You can write script elements in your html pages using any installed active scripting engine by specifying the language attribute. Hence, there are now such engines for Perl, Python, Ruby and others. Now we may add Brainf*ck to this illustrious list. "Why?" I hear you ask - because we can!

It turns out that brainf*ck isn't especially useful as an active script languge because there is no mechanism to manipulate the object model exposed by a hosting application. For instance, to produce output on an internet explorer page, the language interpreter is given a document object to manipulate. I have yet to work out a method to call methods on such objects, or even how to represent such an object in the brainf*ck interpreter. However, all is not lost. Your script will be interpreted and the resulting buffer is returned as a string. unfortunately this still doesn't help you unless you are using a custom client but no matter - the program has been evaluated and the answer computed. What more can you ask?

As an example, here is a valid Windows Script Host script, using the BF HelloWorld example code

<?xml version="1.0" ?>
<package>
<job id="HelloWorld.bf">
<?job debug="true" ?>
<script language="BrainScript">
<![CDATA[
===============================================================================
= Hello, World
===============================================================================
>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]
<.#>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[
<++++>-]<+.[-]++++++++++.
===============================================================================
]]>
</script>
</job>
</package>


 
Last modified: Fri Jun 8 23:05:37 BST 2001
$Id: index.html,v 1.3 2002/09/19 22:17:10 patthoyts Exp $