Cat 0.10.4 Release now with Graphics

Christopher Diggins — 2007-04-07 21:28:11

The latest Cat release 0.10.4 (
http://code.google.com/p/cat-language/downloads/list ) now supports
graphics, see http://www.cdiggins.com/ for an example program. As well
several fixes have been applied to the standard library, and some new
functions have been added.

The license of Cat has now changed to MIT for the interpreter but the
source code remains public domain. So if you compile the source code
yourself, you avoid the MIT license obligation (it becomes your own
product). This should protect me against liability, and allows me to
continue using Google code hosting.

I have also been manically adding pages to the wiki (
http://code.google.com/p/cat-language/w/list )

- Christopher

chris glur — 2007-04-09 11:12:20

> Live languages go beyond dynamic languages with more
> programmer-centric features. A live language supports
> live programming that provides programmers with responsive
> and continuous feedback about how their edits affect
> program execution. A live language is also based on
> declarative programming constructs such as rules or
> data-flow connections so that programmers can write less code.
> A live language should also provide programmers with
> responsive semantic feedback to enable time-saving services
> such as code completion.
>
Would a spreadsheet be a 'Live language' ?
Why/how 'based on declarative programming constructs' ?
I propose going beyond code completion, to a syntax
directed editor. Which is old-hat and rejected by the
industry? It seems that what's wanted, is subjective.

I dream of a system where instead of picking from the
keyboard, I can select from syntactically valid choices.
Which system[s] reportedly already exist and have been
rejected. Similarly I can't live without linux's mc,
but most users don't like/use it ?!

Live systems are good because they provide early
feedback; which facilitates correction/improvement.

Re. feedback: I'm using this new to me mail-list via
my new to me [not favoured] gmail facility, via a non
standard [but snappy] browser sometimes; and I don't
get feedback to know if my posts succeed. With other
mail-lists I get a self-copy too as a member.

Because algorithms & CS-concepts are published 'with
a multitude' of languages -- eg. with examples -- one
needs either to retain a mental fluency of all the
langauges, which is absurd, or rather, have access to
a 'multi language dictionary'.

Since the imperative languages need only a few
constructs: alternative [IF, CASE], repetition
[WHILE..], factoring [Proc/Funct]; it would be nice
if the 'minimum construct, spread-sheet-like
algorithm-builder & tester', could be extended to
translate a set of existing [and future] languages
to it's minimal syntax.

eg. the forth & C++ ...etc. equivalent of:
" FOR i := 0 to 9 DO .."
would be translated - incrementally.
This for human consumption, not to run.
So when there's no exact/direct translation, the
heuristic is still of value.

I'm hoping/speculating that there's a one-to-one
mapping between the minimal constructs [above]
and the concatanative-langs, and that cat-lang
algoritms are able to be formally analysed/proved.

So therefore a system could be built which allows
easier formal proof. Ie. although 'Algol/Pascal
format' is the most natural for humans to
understand; that a [hopefully live] mapping to
an equivalent cat-syntax can be used to prove
semantic correctness.

Syntactic correctness should be automagic ?!
When I go out of my door, I don't need to
burden my mind about which of 4 directions
is syntactically valid. The 'environment'
provides the menu and enforces a valid choice.

== Chris Glur.