>>>> "ms" == Michael Sperber
>>>> "Stephen" == Stephen J Turnbull
Stephen> But (from this third party's point of view) neither of
Stephen> you has really explained what the advantages are to your
Stephen> preferred dialect.
ms> My case for Scheme has been at
ms> for a while.
Been there. The only thing I understood in that page was that Scheme
is small, elegant, extensible and thus a good candidate for a
substrate. Agreed. The rest was so much noise, except for the "now
you've got two big problems" comment about CL, which I would tend to
agree with but as you point out yourself, and Hrvoje agrees, XE-CL
would be a scaled-down version.
Ah, and I do agree with your assessment that CL's goal of
compatibility with various historically important Lisps is
inappropriate for XEmacs's substrate. I don't really see the need for
so many different ways of expressing a conditional, for example, and
they always leave me with the sneaking suspicion that
(cond ((this that)))
(if this that)
(when this that)
have different semantics, but I'm not sure what it is.... This is a
great way to create a write-only language, IMHO.
From that page:
ms> Many features aren't part of the Scheme standard because they
ms> can be easily expressed within the language as it stands. True
ms> concepts are more important, and here CL is weak. I could go
ms> on about the virtues of hygienic macros, the evils of CL-style
ms> macros, especially in connection with module systems, the
ms> usefulness and beauty of call-with-current-continuation
ms> etc. etc. etc. Someone make me.
OK. *twist, twist, twist*
However, URLs where I can find out WTF the vocabulary means ahead of
time would be vewy hehpfuh. I've been to Indiana's Scheme
Repository; I don't know where to start.
Re: global options and keyword arguments
ms> However, Scheme idiomatics usually uses a parameterization
ms> mechanism to achieve what you're talking about; they're
ms> similar to a structured and thread-compatible version of
ms> dynamic binding.
Urk. I mean, URL please. :-)
I'm not sure I agree with you, if I do get the general direction of
your thought. I'm talking about situations where we are currently
stuck choosing between
;; isn't it a shame that the FSF is now doing
;; (defun foo (arg &optional face) ...)?
(defun foo (arg &optional coding-sys) ...)
(foo "insert me in" 'euc-jp)
(defun foo (arg) ...)
;; boy this is ugly compared to
;; (foo "insert me in" :coding-sys 'euc-jp)
(let ((coding-system-for-insertion 'euc-jp))
(foo "insert me in"))
What does that look like in Scheme idiom, if your idea does apply?
ms> (Note that the reverse is not generally possible, since Common
ms> Lisp is not properly tail-recursive and does not support
ms> control abstraction.)
Stephen> Do we care? Ie, can you give specific examples where
Stephen> those features would be useful to developers, either of
Stephen> the core XEmacs or of application libraries, or enhance
Stephen> efficiency of a running XEmacs?
ms> You're quoting me out of context: I was talking about running
ms> Scheme code inside a Common Lisp substrate.
But _we_ only care if those features would be useful to XEmacs running
Scheme idioms emulated inside a Common Lisp substrate. No?
ms> The term [proper tail recursion] doesn't exist as a noun. As
ms> I said above, a Scheme implementation is properly
ms> tail-recursive if it implements tail calls as gotos.
No, you didn't say it. At least, not in words _I_ could understand.
Point is that a lot of the people who should contribute to this
discussion don't even know where to start asking questions. I assume
I'm not the only person totally ignorant of modern programming
language theory on this list. Is that assumption unjustified?
 See? I have been doing my homework. At least I know that "We're
hunting RABBIT." Or a modern version thereof. [ObRef Bugs Bunny/Elmer
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +1 (298) 53-5091