# 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.