This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: more module system wishlist blathering


Michael Livshin <mlivshin@bigfoot.com> writes:

> * readtable extensions.  so a module can extend the readtable to grok, 
>   for example, things that look like '#,(<stuff>)', etc., and the
>   module system will combine such extensions at link time.

Read table or reader extensions?  [From the Bigloo manual]:

 - bigloo procedure: read/rp GRAMMAR PORT
 - bigloo procedure: read/lalrp LALRG RG PORT [EMPTYP]
     These functions are fully explained in the Subsections *note
     Regular Parsing::.  and *note Lalr Parsing::..

[...]
A new way of reading
--------------------

  There is only one way in Bigloo to read text, *regular reading*,
which is done by the new form:

 - bigloo procedure: read/rp REGULAR-PARSER INPUT-PORT
     The first argument is a regular parser and the second a Scheme
     port.  This way of reading is almost the same as the Lex's one.
     The reader tries to match the longest input, from the stream
     pointed to by INPUT-PORT, with one of several regular expressions
     contained in REGULAR-PARSER. If many rules match, the reader takes
     the first one defined in the grammar. When the regular rule has
     been found the corresponding Scheme expression is evaluated.

     *remark: * The traditional `read' Scheme function is implemented
     as:
          (define-inline (read port)
             (read/rp scheme-grammar port))

[...]

Mikael wanted to send me his bison/flex hack some time ago...


> * [ redundant item ] generics.

Sure thing.  BTW: generic functions are only a special form of
generics.  What we really need are generic classes.


Jost

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]