boojay is back on track

4 views
Skip to first unread message

Rodrigo B. de Oliveira

unread,
Jan 12, 2009, 11:46:42 AM1/12/09
to jvm-la...@googlegroups.com
I worked on getting the most complex features to work first and so far
so good. We have:

* closures - http://code.google.com/p/boo-extensions/source/browse/trunk/boojay/tests/integration/callables/Closures-1.boo?r=242
* generators (http://code.google.com/p/boo-extensions/source/browse/trunk/boojay/tests/integration/generators/IntGenerator.boo)
* first class functions (even for instance members) -
http://code.google.com/p/boo-extensions/source/browse/trunk/boojay/tests/integration/callables/InstanceMethodReference-1.boo?r=242

On the IDE front I even got my first eclipse debugging session to work
yesterday :)

I'm currently moving all the code to the recently created boojay
google project (http://code.google.com/p/boojay).

Expect an alpha release soon.

Best wishes,
Rodrigo

Patrick Wright

unread,
Jan 12, 2009, 11:52:33 AM1/12/09
to jvm-la...@googlegroups.com
Very nice news.

What version of Boo are you tracking?


Patrick

Rodrigo B. de Oliveira

unread,
Jan 12, 2009, 12:19:43 PM1/12/09
to jvm-la...@googlegroups.com
On Mon, Jan 12, 2009 at 2:52 PM, Patrick Wright <pdou...@gmail.com> wrote:
>
> Very nice news.
>
> What version of Boo are you tracking?
>

trunk - soon to be released as 0.9.

Charles Oliver Nutter

unread,
Jan 12, 2009, 1:11:53 PM1/12/09
to jvm-la...@googlegroups.com

Wow that's awesome...can you give an overview of Boo for our friendly
readers? It meets several goals I've had for Duby, which would mean I
might not have to implement them :)

- Charlie

Mark Haniford

unread,
Jan 12, 2009, 1:45:57 PM1/12/09
to jvm-la...@googlegroups.com
Given the current situation with Java 7, Sun's troubles, and
basically nothing like Boo on the JVM, I don't think I can emphasize
enough how popular Boo *could* be on the JVM.

Thanks Rodrigo

Rodrigo B. de Oliveira

unread,
Jan 12, 2009, 3:50:49 PM1/12/09
to jvm-la...@googlegroups.com
Cool. Thanks for the support, Mark.

Rodrigo B. de Oliveira

unread,
Jan 12, 2009, 3:49:24 PM1/12/09
to jvm-la...@googlegroups.com
On Mon, Jan 12, 2009 at 4:11 PM, Charles Oliver Nutter
<charles...@sun.com> wrote:
> ...
> Wow that's awesome...

Yeah :)

> can you give an overview of Boo for our friendly
> readers?

Sure.

Boo is a wrist friendly statically typed language with optional
dynamic typing and a special focus on meta-programming.

Wrist friendlyness comes in the form of a heavily python inspired
syntax (significant whitespace and all), type inference, support for
features such as closures, first class functions and generators with a
lot of sugar on top.

On the meta-programming front boo supports a few different strategies
of which the most commonly used are macro definitions:

macro assert:
condition, = assert.Arguments
yield [| raise
java.lang.IllegalStateException($(condition.ToCodeString())) if not
$condition |]

The [| ... |] thingie is a code literal (quasi-quotation) and $ is the
code splicing operator.

The syntax itself can be redefined and extended through the new OMeta
based parsing infrastructure
(http://blogs.codehaus.org/people/bamboo/archives/001722_boo_ometa_and_extensible_parsing_i.html).

Boo is a language playground.

> It meets several goals I've had for Duby, which would mean I
> might not have to implement them :)

Nice :)

Charles Oliver Nutter

unread,
Jan 12, 2009, 5:56:14 PM1/12/09
to jvm-la...@googlegroups.com
Rodrigo B. de Oliveira wrote:
>> It meets several goals I've had for Duby, which would mean I
>> might not have to implement them :)
>
> Nice :)

Boo also has (as I understand it) a very pluggable toolchain. My thought
has been that I could use Duby syntax but instead build a Boo AST and
then let it take over from there.

What sort of runtime dependencies does Boo have? Is that what you're
working on porting, mostly?

- Charlie

Rodrigo B. de Oliveira

unread,
Jan 12, 2009, 6:24:19 PM1/12/09
to jvm-la...@googlegroups.com
On Mon, Jan 12, 2009 at 8:56 PM, Charles Oliver Nutter
<charles...@sun.com> wrote:
>
> Rodrigo B. de Oliveira wrote:
>>> It meets several goals I've had for Duby, which would mean I
>>> might not have to implement them :)
>>
>> Nice :)
>
> Boo also has (as I understand it) a very pluggable toolchain.

Yes.

> My thought
> has been that I could use Duby syntax but instead build a Boo AST and
> then let it take over from there.
>

Yes. That's pretty much how UnityScript (the scripting language for
Unity 3D) was implemented.

> What sort of runtime dependencies does Boo have?

The boo compiler framework was mostly implemented in c#. So mono or
.net are still required.

> Is that what you're
> working on porting, mostly?
>

Right now I'm plugging a java bytecode emitter to the toolchain and
porting the standard library to boo. That will be enough to get
started on the jvm. Eventually the complete compiler framework will be
ported to boo.

Reply all
Reply to author
Forward
0 new messages