[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-announce
Subject:    [ANNOUNCE] ANN - Muldis D v0.130.0 - no more $ sigils
From:       Darren Duncan <darren () darrenduncan ! net>
Date:       2010-06-21 4:03:03
Message-ID: 4C1EE477.1060505 () darrenduncan ! net
[Download RAW message or body]

Greetings,

I am pleased to announce that version 0.130.0 of the specification of the Muldis
D language, for object-relational databases, has been released on CPAN.

The largest change since last month's spec version 0.129.1 is the elimination of 
the "$" sigil that was used semi-gratuitously to mark data-entities (variables, 
parameters, attributes, named expression nodes).  These are now regularly 
formatted as barewords instead, like most languages and SQL, but unlike Perl.

Another significant change is renaming a syntax shorthand from ">foo" to "=>foo" 
for clarity; it means "foo => foo" and has nothing to do with "greater-than".

A few other improvements were made to the concrete grammars as well.

Here are 2 versions of the same code to illustrate both changes, with the new 
version above and the old version below; it is an atomic stored procedure that 
performs and returns the result of a query:

     recipe count_heads (&count : NNInt, search : Text,
             people ::= fed.data.db1.people) {
         with value-filter filt (Bool <-- topic : Tuple, search : Text) {
             .name like ('%' ~ search ~ '%')
         }
         count := r# (people where <nlx.lib.filt>( =>search ))
     }

     recipe count_heads (&$count : NNInt, $search : Text,
             $people ::= $fed.data.db1.people) {
         with value-filter filt (Bool <-- $topic : Tuple, $search : Text) {
             $.name like ('%' ~ $search ~ '%')
         }
         $count := r# ($people where <nlx.lib.filt>( $>search ))
     }

Since the prior announcement, the introduction page for the language had a 
number of significant updates and additions of its own, including the additions 
of some data-manipulating examples side-by-side with the SQL versions, plus a 
complete self-contained hello-world type program that interacts with the user:

     http://muldis.com/Muldis_D.html

See that url for other useful links, including to the language spec itself.

As a reminder, no Muldis D implementation actually exists yet, so you can't 
actually /run/ any code.  But sometime around September of 2010 I will expect to 
have created a substantially complete self-contained reference implementation of 
Muldis D, at which point you /will/ be able to run code.  Then, before the end 
of 2010, I expect to have made a translation layer for the Postgres DBMS so that 
you can use Muldis D to write anything you currently write in SQL or PL/pgSQL.

Collaboration is always appreciated.

Good day. -- Darren Duncan


---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:

               pgsql-announce-unsubscribe@postgresql.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic