[gambit-list] {Spam?} (Marc + ML:) Extension/patch feedback & inclusion request: Practical custom types in the sexp reader (finally)

Adam adam.mlmb at gmail.com
Thu Feb 25 11:11:55 EST 2016


Aha cool.

So, a user can then define his own custom Gambit with
##make-readtable-char-sharp-sexp-reader-transformer support by making a
file mycustomgambit.scm that contains

(##define-macro (interpreter-or x) x)
(##include "~~/lib/header.scm")
(##include "~~/lib/gsi_main.scm")


and then the ##make-readtable-char-sharp-sexp-reader-transformer
definition, so that's https://github.com/feeley/gambit/pull/180/files 's
contents.

Sure works. And that should be IO code that changes only rarely.


2016-02-25 4:04 GMT+07:00 Marc Feeley <feeley at iro.umontreal.ca>:

> Those are already exported by _io#.scm and are therefore accessible after
> including ~~lib/_gambit.scm .
>
> Marc
>
> > On Feb 24, 2016, at 3:44 PM, Adam <adam.mlmb at gmail.com> wrote:
> >
> > What about macro-readenv-filepos-set!, macro-readenv-wrapper,
> macro-readenv-unwrapper, macro-readenv-wrapper-set!,
> macro-readenv-unwrapper-set!, macro-readenv-wrap?
> >
> >
> > 2016-02-25 3:37 GMT+07:00 Marc Feeley <feeley at iro.umontreal.ca>:
> > As a solution for the short term, I have moved the
> macro-read-next-char-or-eof and macro-peek-next-char-or-eof macros to
> _io#.scm so that they can be used after an (include "~~lib/_gambit#.scm").
> >
> > So you should be able to easily implement the extension you want locally.
> >
> > Marc
> >
> >
> > > On Feb 24, 2016, at 1:04 PM, Adam <adam.mlmb at gmail.com> wrote:
> > >
> > > Guillaume is making an excellent point here. (Reposted below with his
> permission.)
> > >
> > > (To paraphrase him,) I suggest that
> https://github.com/feeley/gambit/pull/180 should be included because it's
> reasonable that users should be able to implement their own hash-sequence
> extensions.
> > >
> > > We don't need to make a bigger philosophical deal about it than that.
> This is low-level.
> > >
> > > Also I think all reasonable uses will be about data and not code, and
> therefore they will not need any line numbering or similar info, so the
> unwrapping is fine - or easy access to an unwrapping routine (you choose).
> So finally perhaps the only thing would be to give it a better name, if you
> want that.
> > >
> > > Please let me know if-when it can be included in Gambit :D
> > >
> > > Thanks!!
> > >
> > >
> > > 2016-02-24 21:04 GMT+07:00 Guillaume Cartier <gucartier at gmail.com>:
> > > Hi Adam,
> > >
> > > I think the main thing I'd say is that from my experience, waiting for
> Marc to integrate something into Gambit so as "not to use undocumented
> features", you will wait a long time :) I'd say don't worry too much about
> using undocumented stuff. I think it is actually a wonderful feature that
> Gambit exposes its internal stuff, where in many languages you just don't
> have any access to internals. JazzScheme uses what I'd say is a "healthy"
> mix of mostly documented features and various undocumented features.
> > >
> > > One reason I say you'll be waiting a long time is that a big design
> goal in Gambit is to *not* go into unclear how best to implement high-level
> features. In this Marc is really in-tune with the old R5RS philosophy,
> which is kinda obvious since he was on the committee :) Regarding that, I
> think Marc should include the low-level part of your code to implement #\
> extensions even if he feels the higher level stuff is unclear.
> > >
> > > Cheers,
> > > Guillaume
> > >
> > > On Mon, Feb 22, 2016 at 4:29 PM, Adam <adam.mlmb at gmail.com> wrote:
> > > Dear Guillaume,
> > >
> > > I trust you are well -
> > >
> > > if you have any thoughts about the sexp extension ML topic right now
> feel free to tell there,
> > >
> > > Thanks :)
> > >
> > >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20160225/f396bb44/attachment.htm>


More information about the Gambit-list mailing list