Hi! On Fri 01 Jul 2011 15:04, l...@gnu.org (Ludovic Courtès) writes:
> Andy Wingo <wi...@pobox.com> skribis: > >> here's the deal. I think I just read three emails of mine with this phrase in it. Terrible. I promise more syntactic variability in the future. >> (with-fluids ((%current-input-port 'foo)) ...) ? Probably not. > > No, but OTOH, I *think* it would lead to a graceful type error sooner or > later, as opposed to a crash. True. Still, not very nice :) > The problem I have is that (1) I don’t see how we could migrate the > existing public fluids to parameters without breaking the API, and (2) > it’s unpleasant to my eye to have both fluids and parameters in the core > API. As an example let's take *repl-stack* from boot-9. Here's what we could do: (define repl-stack (make-parameter #f))) and in deprecated.scm: (define *repl-stack* (parameter-fluid repl-stack)) Ideally we would change *repl-stack* to be an identifier-syntax like: (define-syntax *repl-stack* (identifier-syntax (begin (issue-deprecation-warning "it's dead jim") (parameter-fluid repl-stack)))) but in 2.0 that would break binary compat. We could do that in 2.2, or otherwise just remove it in 2.2, depending on what the situation was. So I am optimistic regarding our ability to gradually change over to parameters, if you are in agreement that parameters are the interface that we should export. Cheers, Andy -- http://wingolog.org/