Cat Version 0.11

0 views
Skip to first unread message

Christopher Diggins

unread,
Apr 24, 2007, 1:42:28 PM4/24/07
to catla...@googlegroups.com
Version 0.11.0 of Cat has just been released on Google code hosting (
http://code.google.com/p/cat-language/downloads/list ).

The latest release is decribed on my blog (
http://cdiggins.com/2007/04/24/cat-version-011/ )

In summary: lazy lists, optimized lists, significant test suite, many
graphics bug fixes, exception handling, internal code cleaning and
improvement.

I've also written a bit about what motivated Cat at Artima.com (
http://www.artima.com/weblogs/viewpost.jsp?thread=203732 )

In summary: an attempt to design a better intermediate langauge by
supporting functional programming at the instruction level, also
designed for use to teach basic programming concepts.

Any comments or questions would be appreciated.

Christopher Diggins

PS. Sorry Scott, but I am still working on binary i/o. I want to make
sure I get it right the first time, and I ran into a large number of
urgent bug fixes.

Scott Prouty

unread,
Apr 24, 2007, 7:03:33 PM4/24/07
to Cat Language
Thanks, no worries Chris (or do you prefer Christopher?). I did start
to realize after I had asked for it that it might not be so simple to
add. From what I gather, adding file I/O that has side effects to an
essentially side effect free language is quite a chore. You will have
to encapsulate it in a way that doesn't discombobulate the elegance of
the langauage.

BTW, for the current 0.11.0 release, is there any documentation on the
graphics primitives and how to use them?

Thanks
Scott Prouty

Christopher Diggins

unread,
Apr 24, 2007, 7:28:30 PM4/24/07
to catla...@googlegroups.com
On 4/24/07, Scott Prouty <scott....@solimarsystems.com> wrote:
>
> Thanks, no worries Chris (or do you prefer Christopher?).

I prefer Christopher, but Chris is fine.

> I did start
> to realize after I had asked for it that it might not be so simple to
> add. From what I gather, adding file I/O that has side effects to an
> essentially side effect free language is quite a chore. You will have
> to encapsulate it in a way that doesn't discombobulate the elegance of
> the langauage.

It won't be too bad Cat simply distinguishes between effectful code
and side-effectful code. So only a portion of Cat is actually effect
free. I just need to make sure that my API calls are intelligent. I
also need to add primitives for dealing with bytes, byte_blocks,
byte_streams, and mutable lists.

> BTW, for the current 0.11.0 release, is there any documentation on the
> graphics primitives and how to use them?

No, not yet sorry. You'll have to piece it together from the C# source code:
- http://cat-language.googlecode.com/svn/trunk/GraphWindow.cs
- http://cat-language.googlecode.com/svn/trunk/Primitives.cs

and Cat libraries
- http://cat-language.googlecode.com/svn/trunk/cat/graphics.cat
- http://cat-language.googlecode.com/svn/trunk/cat/demo.cat

I hope you don't mind doing a bit of detective work.

One thing I should warn you about is that wrapping functions in [...]
render can significantly improve performance of drawing code the first
time it is drawn, especially if it contains lots of nested graphics
primitives calls.

Cheers,
Christopher

Scott Prouty

unread,
Apr 25, 2007, 3:54:23 PM4/25/07
to Cat Language
> > BTW, for the current 0.11.0 release, is there any documentation on the
> > graphics primitives and how to use them?
>
> No, not yet sorry. You'll have to piece it together from the C# source code:
> -http://cat-language.googlecode.com/svn/trunk/GraphWindow.cs
> -http://cat-language.googlecode.com/svn/trunk/Primitives.cs
>
> and Cat libraries
> -http://cat-language.googlecode.com/svn/trunk/cat/graphics.cat
> -http://cat-language.googlecode.com/svn/trunk/cat/demo.cat

>
> I hope you don't mind doing a bit of detective work.
>
> One thing I should warn you about is that wrapping functions in [...]
> render can significantly improve performance of drawing code the first
> time it is drawn, especially if it contains lots of nested graphics
> primitives calls.
>
> Cheers,
> Christopher

Thanks, Christopher!

I was able to use graphics.cat and your blog post to play around a
little.
I noticed that "window" changed to "open_window", "square" to "sq",
and
"rt" to "tr". Since things are still evolving like this, it makes
sense to not
do any documentation yet. It would just have to be re-written later
anyway
when things start to stabilize.

Thanks
Scott Prouty

Reply all
Reply to author
Forward
0 new messages