This is the mail archive of the guile@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: questions?


; 1. The Emacs interface that was recently included in the snapshot
; obviously needs some Emacs-side support.  What would that be?  Also,
; is there a way to disable the readline support short of activating the
; Emacs support or hacking boot-9.scm?  'Cause I was perfectly
; comfortable in Ilisp, but the above two new things mess it up (would
; be great to check (isatty? (current-output-port)) before turning on
; readline, for example :).

Oh dear, is the readline support actually enabled in a guile
interpreter?  I just wrote a function (readline-repl).  You're right,
it shouldn't be called from a non-tty.  Maybe it shouldn't be called
at all... you can just use an init file to do this:

cat >interactive-guile <<EOF
#!/luser/yokel/bin/guile -s
!#
(use-modules (lang rx) (lang ctax reader))
(readline-repl)
EOF

; 2. There are some things Guile needs.  Just off the top of my head, we
; need a better module system.  I remember discussions about it on this
; list.  I'm sure some of the maintainers has a preliminary design or a
; sketch lying somewhere, accumulating dust till the said maintainer has
; more time (fat chance of that, it seems!).  I'd probably take a stab
; at it if I were sure I'm not making some terrible design errors.  I'm
; sure seeing the design or whatever that was aggried apon by the
; maintainers would help a lot, as I'm clearly not seeing the whole
; picture (don't know a thing about dynamic linking, for instance).  If
; I actually implement something, the maintainers are always free to
; reject it.  So why not publicize the design?

That's a good idea; but I don't think anyone ever did decide on a
module system.  For myself, I wrote a few hacks that lived on top of
the current module system that did things like renamed imports,
absolute names, and a syntax I liked better.  Nobody was very
interested... 

What do you think the module system needs?  I'll start with my
wishlist, along with how I'd do it with the current module system:

* Autoloading (use-modules)
* Modules as objects (current-module returns the current one, how do I
look up somebody else's?)
* Easy explicit lookups (eg: ((@ ice-9 session apropos) "apropos"))
* Individual renamed imports ( (define session-apropos (@ ice-9
session apropos)) )
* Renamed imports from a whole module (eg: (define sess (lambda (var)
(module-lookup (ice-9 session) var))) ... ((sess apropos) "apropos")

Good syntax for all of the above would be nice.

; 3. My two little patches were ignored (q.scm queue exhaustion fix and
; r5rs multiple values).  Am I such a bad netizen, or is it just that
; nobody cares about these things?

No, I didn't see anything wrong with your posts... what worked for me,
though, was to stick them in incoming on red-bean, then notify the
(very busy) maintainers about them.  They eventually got around to
putting the patches in.

; 4. Yup, I know, nobody's got the time...

Yeah... but the maintainers have put together a good package (thank
you!). I really can't fault them for being busy. 

Andrew
aarchiba@undergrad.math.uwaterloo.ca