guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

some notes from after the recent elisp SoC


From: Andy Wingo
Subject: some notes from after the recent elisp SoC
Date: Thu, 10 Feb 2011 18:38:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hi,

Here are some notes that Brian Templeton had sent me at the end of the
recent SoC that didn't make it to the list, for posterity.

  recent changes pushed:

  * Unbound fluids should be ready for inclusion in Guile (I also added
    `variable-unset!' for "undefining" variables)

  * Function bindings are no longer special; this increases TAK
    performance somewhat, and shouldn't introduce serious compatibility
    problems (cl.el `flet' is only used ~30 times in Emacs's packages, and
    some of those uses would work just as well with lexical `flet')

  * I ported the rest of the Gabriel benchmarks to Elisp (only minor
    changes required for thirty-year-old code -- Lisp is quite a stable
    language family!); I'm not sure what the copyright/license status of
    the orginial code is, so it may not be able to go into Guile but is
    useful nonetheless. Gabriel benchmarks attached, along with bench2.el
    and bench2.scm. Use bench2.el by evaluating (in *scratch*)

      (bpt-repeat X (bpt-time* Y (lambda () BENCHMARK))),

    where X and Y are integers, and BENCHMARK runs the benchmark once
    (e.g. "(tak 18 12 6)"). Use bench2.scm by evaluating

      (repeat X (time Y BENCHMARK))

    Elisp functions are in `(language elisp runtime function-slot)', and
    are stored directly in the module rather than in fluids after the
    lexical function bindings change.

  * More Elisp subrs added, mostly wrapping guile procedures; there aren't
    really many nontrivial subrs or special forms left that make sense
    without Emacs integration. "boot.el" is attached.

  * Trivial compatibility fixes. Also, initial attempt at "wide symbols"
    patch attached -- it only adds slots to variable objects, and doesn't
    have VM or Elisp compiler integration.

All if this was merged in.  The files he attached were as follows:

Attachment: gabriel.el
Description: Text document

Attachment: bench2.el
Description: Text document

Attachment: bench2.scm
Description: Text document

Attachment: boot.el
Description: Text document

Attachment: bigsym.diff
Description: attachment

Regards,

Andy
-- 
http://wingolog.org/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]