guile-devel
[Top][All Lists]
Advanced

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

enhancement requests


From: Andy Wingo
Subject: enhancement requests
Date: Thu, 17 Mar 2011 12:50:33 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hi Wolfgang,

> (I have "my own" scheme to play with, written in LISP, recently enhanced
>  by adding "call-with-prompt". Still trying to figure out all of its
>  implications ...)

Hey, me too... it's nice to have company in that regard :)

You mentioned a number of wishlist items as well, that I wanted to reply
to in a separate mail.  I have copied guile-devel, as people are more
likely to see it there and respond with better ideas than mine.

> (1) Please provide a means by which the debugger prompt (recursive REPL)
>       can be turned off/on. Both a 'hook' (like COMMON-LISP:DEBUGGER-HOOK
>     plus COMMON-LISP:ABORT) or a REPL command would be OK with me.
>     I mis-type too often!
>       [Anyway, I could not find such a means in 2.0.0].

I have added a REPL option, "on-error", which you may set to `backtrace'
or `report' instead of `debug'.

    scheme@(guile-user)> ,option on-error backtrace
    scheme@(guile-user)> (resolve-interface '(qux))
    In module/ice-9/boot-9.scm:
       2389:9  1 (resolve-interface (qux) #:select #f #:hide #<variable 1981650 
value: ()> #:prefix #f #:renamer #<procedure…> …)
    In unknown file:
               0 (scm-error misc-error #f "~A ~S" ("no code for module" (qux)) 
#f)
    ERROR: no code for module (qux)

The width defaults to the terminal width, hence the verbosity above...

> (2) Please provide some obvious "undefine" command, since UNINTERN is gone.
>       I'd need it only interactively, so a REPL command would be fine.
>       Primary use, of course, would be to remove syntax definitions -
>       alternating between syntax-based and procedure-based code
>     ought not require a re-start of GUILE.

I'm not sure what you mean here.  Can you give an example of a REPL
session in which you would like to have an undefine command?

> (3) documentation: Please do document that ~/.guile is (often) invoked
>     automatically (old omission), and what options (including
>     _undocumented_ "-q") inhibit this.

Will do.

> (4) compiler: Now that compiling into hidden ~.cache/... directories
>     has been declared the default behaviour, please cater to those
>     (like me) who'd always look for their compiled files in the
>     source directory, by providing a command line switch ...
>     (E.g. "psyntax" provides a useful "include" macro, the use
>     of which breaks the "need only recompile when source changed"
>     assumption. Don't like to "make clean" in that hidden place).

Ideally you would almost never need to do this, as we would have some
proper dependency tracking that would always know when you need a
recompile.  But alack, we don't actually do any dependency tracking.

Do you mind setting up a Makefile?  That way you compile to .go files in
your source tree.  We still need to add a command-line option to add a
path to the %load-compiled-path though; currently there is only the
GUILE_LOAD_COMPILED_PATH environment variable.  To load other files, you
would then use include-from-path or load-from-path.

Regards,

Andy
-- 
http://wingolog.org/



reply via email to

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