Re: request review: branch wingo

2009-04-01 Thread Ludovic Courtès
Hi Neil,

Neil Jerram n...@ossau.uklinux.net writes:

 Should we then put the Makefile.am code back?  Or does that break your
 uninstalled usage?  Other things being equal, I think it's more
 important for the generated guile-config to be simple, than for our
 Makefile.am to be simple.

Speaking of which, should we mark `guile-config' as deprecated in favor
of `pkg-config' (in 1.9)?

Thanks,
Ludo'.





Re: request review: branch wingo

2009-04-01 Thread Ludovic Courtès
Hello!

Andy Wingo wi...@pobox.com writes:

 On Tue 31 Mar 2009 14:31, l...@gnu.org (Ludovic Courtès) writes:

 Besides, there's the thread about cross-compilation where we mention
 building the compiler with an already installed Guile that may have an
 inappropriate stack limit.

 I don't think that is relevant. Since the Guile that is running would
 choose a stack size appropriate for it, based on the host getrlimit,
 there would be no problem.

 The already-installed Guile wouldn't use getrlimit(2) since that would
 be an old 1.8.

 You probably saw the other response already, but I don't think that the
 compiler will work with 1.8 as a host.

Yes, I saw it right after, so forget my remark.

 You'd have to install a 1.9 on
 the host, and somehow tell it that it should compile .go files with the
 endianness of the target.

OK.

Thanks,
Ludo'.





Re: GSoC: Emacs Lisp support for GNU Guile

2009-04-01 Thread Stefan Monnier
 as already discussed briefly with the Guile guys behind the new VM thing,
 I got the idea to implement Emacs Lisp as supported language for the Guile
 VM system.

I won't have time to mentor it, but I'd like to point out some relevant
directions in Emacs's future: as some of you know, other than hacking on
Emacs and its weakly typed C code and dynamically typed Lisp code, my
day job revolves around static typing and type theory, which makes for
some frustrations.  But while thinking of how to integrate Miles's
lexical scoping branch, it occurred to me that it would be a good
opportunity to try and combine both lives: with modern type systems (as
seen in Coq, Agda, TSCB, and friends), we can easily accomodate any
valid Lisp code.  While the plan is not fully fledged out yet, I've been
talking to Richard and Chong about it and we'll probably end up using
a variant of Agda's type system in Emacs-24: the code should be 100%
backward compatible, except that to take advantage of the newer features
(like closures, unboxed values, tail recursion, ...), you might need to
add a few simple type annotations at key places, like:

   (defun append (l1 l2)
 (declare (type _∷_ ↓ x ⊛ sequence Γ))
 (if (null l1)
 (withtype l2 ∃ \i - sequence (i ⊕ (1 + max bal)))
   (cons (car l1) (append (cdr l1) l2

As I said, it's not fully fledged out, so take the above example with
a grain of salt.  I didn't really want to talk about it in public yet,
but figured that maybe now would be the right time after all, especially
since Guile people might be interested in it as well.


Stefan




Re: GSoC: Emacs Lisp support for GNU Guile

2009-04-01 Thread Daniel Kraft

Andy Wingo wrote:

Hi Daniel,

On Tue 31 Mar 2009 12:44, Daniel Kraft d...@domob.eu writes:


as already discussed briefly with the Guile guys behind the new VM
thing, I got the idea to implement Emacs Lisp as supported language for
the Guile VM system.


This sounds great! I'd love to assist. As the fellow who's hacked most
on Guile's VM, I can offer mentorship if you like, on the Guile
side -- though I am not as knowledgable about Emacs as I'd like to be.


Thank you all for the quick replies and offers for mentoring!  I'd be 
really glad to work on this project and hopefully to bring the elisp 
support to guile, which really seems something valuable to the community!


And it seems mentoring won't be any problem...  I'll mention this to the 
GNU guy involved, so hopefully my proposal can finally be accepted.



Originally, Guile as the GNU scripting language was designed as a language
based on the Scheme lisp dialect; however, as a prime example for use of a
scripting language (and with a huge existing base of scripts) Emacs Lisp is
another popular lisp based scripting language.  With the new capabilities of
Guile, it will be possible to add support of this language to Guile and thus
allow it (and all programs using Guile as scripting engine) to be
programmed not
only in Scheme but also Emacs lisp; thus, it will also be possible to
utilize
all the existing elisp code for creating even more nifty and useful
scripts.


YMMV, but I think that elisp is most useful within the context of Emacs
itself -- its data types, its libraries, its runtime. So after getting
Emacs Lisp's semantics to compile, perhaps as a if time allows thing,
defining a Guile implementation of emacs/src/lisp.h would allow Guile to
slip into Emacs with minimal modification of C sources.


So far I've only thought about elisp as yet another language but 
you're of course right, it probably consists mainly (or at least 
importantly) of its bindings to Emacs.  While I've no particular 
experience there (at the moment), the idea to use Zile as test-bed for 
the SoC project and simply for getting started sounds reasonable to me.



Communication:

Depends on the requests from my mentor / the community, but I think the
public development mailing lists and private email should be fine; other
ideas
are instant messaging / IRC.


I'm often on #guile, with CET as my timezone. Between there and the
mailing lists we should be good, avoiding private email.


Cool, I'll try to drop in some time near (when I've got some time spare, 
which is unfortunatelly a little spare during the week at the moment)! 
Timezone is CEST for me, too :D


Yours,
Daniel

--
Done:  Arc-Bar-Cav-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Kni-Mon-Pri