public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [Ann] MELT plugin 0.9 rc1 for GCC 4.6
@ 2011-09-12 11:53 Basile Starynkevitch
  2011-09-13 19:48 ` [Ann] MELT plugin 0.9 rc2 " Basile Starynkevitch
  0 siblings, 1 reply; 3+ messages in thread
From: Basile Starynkevitch @ 2011-09-12 11:53 UTC (permalink / raw)
  To: gcc, gcc-melt


Hello All,

It is my pleasure to announce the release candidate 1 of MELT plugin 0.9 for GCC 4.6

MELT is a high-level lisopy domain specific language to develop GCC extensions.


A release candidate 1 of MELT plugin 0.9 for gcc 4.6 is available, as a
gzipped source tar archive, from 
  http://gcc-melt.org/melt-0.9rc1-plugin-for-gcc-4.6.tgz 
of size 3767264 bytes, and md5sum 1142d37a7e8b22b87257c7964be4dcd5 (september 12th
2011). It is extracted from MELT branch svn revision 178780. The version
number 0.9 of the MELT plugin is unrelated to the version of the GCC
compiler (4.6) for which it is supposed to work.


#######################################################################
NEWS for 0.9 MELT plugin for gcc-4.6

September 2011: Release of MELT plugin 0.9 rc1 for gcc-4.6

New features:

    Documentation is generated

    The PLUGIN_PRE_GENERICIZE event is interfaced.

    The build machinery and the binary module loading has been
    significantly updated.  Modules shared objects are like
    warmelt-macro.3461497d8ef7239dc1f2f132623e6dd5.quicklybuilt.so and
    they contain the md5sum of the catenation of all C files. They
    also come in various flavor: quicklybuilt (the generated C is
    compiled with -O0 -DMELT_HAVE_DEBUG), optimized (the generated C
    is compiled with -01 and without -DMELT_HAVE_DEBUG), debugnoline
    (the generated C is compiled with -g and -DMELT_HAVE_DEBUG but no
    #line directives).

    Conceptually, a module is loaded by loading its +meltdesc.c
    file. That file (e.g. warmelt-macro+meltdesc.c corresponding to
    warmelt-macro.melt) should never be moved or even edited.  It is
    parsed at module load time, and contains the various md5sum of
    real generated C files.

    New option -fplugin-arg-melt-workdir= for the work directory,
    where every .c or .so files are generated.

    The DISCR_BOX discriminant has been removed. Use containers instead.

    Containers, that is instances of class_container having one single field 
    :container_value, are supported by syntactic macros and sugar & function.
       (container V)   
          =equivalent=   (instance class_container :container_value V)
       (content C)
          =equivalent=   (get_field :container_value C)
       (set_content C V)
          =equivalent=   (put_fields C :container_value V)
    You can write exclaim instead of content, and there is a new syntactic 
    sugar
       !X

     is the same as (content X) - the exclamation mark should be
     followed by spaces, letters, or left parenthesis to be parsed as
     exclaim -that is as the content macro above.

    In patterns, ?(container ?v) means 
    ?(instance class_container :container_value ?v)

    Fields can be accessed by their name, so
      (:F C)
   is the same as (get_field :F C)
   Hence (:container_value foo) is the same as !foo or 
   (get_field :container_value foo)

   Experimental syntactic sugar: inside an s-expr, a macro string
   written ##{...}# is expanded as several components, not a single
   list.

   Slow boxed arithmetic operations are available (e.g. +iv gets two
   boxed integer and gives the boxed integer of their sum).

Many bug fixes.

The build system has been revamped. The generated .c files should be
available when running MELT.


Thanks to Pierre Vittet, Alexandre Lissy, Romain Geissler for
feedback, patches, suggestions.


####

The gcc-melt.org site contains also the HTML documentation which is produced when building that plugin.

Enjoy!

Regards.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Ann] MELT plugin 0.9 rc2 for GCC 4.6
  2011-09-12 11:53 [Ann] MELT plugin 0.9 rc1 for GCC 4.6 Basile Starynkevitch
@ 2011-09-13 19:48 ` Basile Starynkevitch
  2011-09-13 19:51   ` Basile Starynkevitch
  0 siblings, 1 reply; 3+ messages in thread
From: Basile Starynkevitch @ 2011-09-13 19:48 UTC (permalink / raw)
  To: Basile Starynkevitch; +Cc: gcc, gcc-melt


Hello,

It is my pleasure to announce MELT plugin 0.9 release candidate 2.

MELT provides a Lispy domain specific language to ease the coding of GCC extensions, with
high-level features (dynamic typing, reflection, object-oriented, functional/applicative,
and pattern-matching) while dealing well with GCC internals. The MELT language is
translated to C.

The NEWS are the same as for 0.9rc1 announced yesterday.

I believe that the bug reported by Alexandre Lissy on
http://groups.google.com/group/gcc-melt/msg/2a23f12c6f0d7f02 
has been corrected.

> #######################################################################
> NEWS for 0.9 MELT plugin for gcc-4.6
> 
> September 2011: Release of MELT plugin 0.9 rc1 for gcc-4.6
> 
> New features:
> 
>     Documentation is generated
> 
>     The PLUGIN_PRE_GENERICIZE event is interfaced.
> 
>     The build machinery and the binary module loading has been
>     significantly updated.  Modules shared objects are like
>     warmelt-macro.3461497d8ef7239dc1f2f132623e6dd5.quicklybuilt.so and
>     they contain the md5sum of the catenation of all C files. They
>     also come in various flavor: quicklybuilt (the generated C is
>     compiled with -O0 -DMELT_HAVE_DEBUG), optimized (the generated C
>     is compiled with -01 and without -DMELT_HAVE_DEBUG), debugnoline
>     (the generated C is compiled with -g and -DMELT_HAVE_DEBUG but no
>     #line directives).
> 
>     Conceptually, a module is loaded by loading its +meltdesc.c
>     file. That file (e.g. warmelt-macro+meltdesc.c corresponding to
>     warmelt-macro.melt) should never be moved or even edited.  It is
>     parsed at module load time, and contains the various md5sum of
>     real generated C files.
> 
>     New option -fplugin-arg-melt-workdir= for the work directory,
>     where every .c or .so files are generated.
> 
>     The DISCR_BOX discriminant has been removed. Use containers instead.
> 
>     Containers, that is instances of class_container having one single field 
>     :container_value, are supported by syntactic macros and sugar & function.
>        (container V)   
>           =equivalent=   (instance class_container :container_value V)
>        (content C)
>           =equivalent=   (get_field :container_value C)
>        (set_content C V)
>           =equivalent=   (put_fields C :container_value V)
>     You can write exclaim instead of content, and there is a new syntactic 
>     sugar
>        !X
> 
>      is the same as (content X) - the exclamation mark should be
>      followed by spaces, letters, or left parenthesis to be parsed as
>      exclaim -that is as the content macro above.
> 
>     In patterns, ?(container ?v) means 
>     ?(instance class_container :container_value ?v)
> 
>     Fields can be accessed by their name, so
>       (:F C)
>    is the same as (get_field :F C)
>    Hence (:container_value foo) is the same as !foo or 
>    (get_field :container_value foo)
> 
>    Experimental syntactic sugar: inside an s-expr, a macro string
>    written ##{...}# is expanded as several components, not a single
>    list.
> 
>    Slow boxed arithmetic operations are available (e.g. +iv gets two
>    boxed integer and gives the boxed integer of their sum).
> 
> Many bug fixes.
> 
> The build system has been revamped. The generated .c files should be
> available when running MELT.
> 
> 
> Thanks to Pierre Vittet, Alexandre Lissy, Romain Geissler for
> feedback, patches, suggestions.
> 
> 
> ####

As usual, bug reports, patches, comments are welcome.

Cheers.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Ann] MELT plugin 0.9 rc2 for GCC 4.6
  2011-09-13 19:48 ` [Ann] MELT plugin 0.9 rc2 " Basile Starynkevitch
@ 2011-09-13 19:51   ` Basile Starynkevitch
  0 siblings, 0 replies; 3+ messages in thread
From: Basile Starynkevitch @ 2011-09-13 19:51 UTC (permalink / raw)
  To: Basile Starynkevitch; +Cc: gcc, gcc-melt

On Tue, 13 Sep 2011 21:48:21 +0200
Basile Starynkevitch <basile@starynkevitch.net> wrote:

> 
> Hello,
> 
> It is my pleasure to announce MELT plugin 0.9 release candidate 2.
> 

I forgot to mention the URL for GCC MELT http://gcc-melt.org/
The plugin 0.9rc2 can be retrieved on
http://gcc-melt.org/melt-0.9rc2-plugin-for-gcc-4.6.tgz
as a gzipped source tar archive,  of size 3776717
bytes, and md5sum 22ff0e3416354e5fffd72d0f5af0310c (september 13th 2011). It is extracted
from MELT branch svn revision 178830.
The version number 0.9 of the MELT plugin is unrelated to the version of the GCC compiler
(4.6) for which it is supposed to work.

Bug reports and patches are welcome (to the gcc-melt list on googlegroups).

Cheers.
-- 
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-09-13 19:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-12 11:53 [Ann] MELT plugin 0.9 rc1 for GCC 4.6 Basile Starynkevitch
2011-09-13 19:48 ` [Ann] MELT plugin 0.9 rc2 " Basile Starynkevitch
2011-09-13 19:51   ` Basile Starynkevitch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).