Re: porting from Ikarus to PLT



On Oct 31, 11:17 pm, Abdulaziz Ghuloum <aghul...@xxxxxxxxxxxxxxxxxxx>
wrote:
Eli Barzilay wrote:
On Oct 31, 4:45 pm, Abdulaziz Ghuloum <aghul...@xxxxxxxxxxxxxxxxxxx>
wrote:
Thanks Jens for the update. I hope this suffices as an answer to Eli.

(Of course not, I didn't ask any real question...)

Sorry. It was only an incomplete sentence fragment that I
incorrectly mistook for a question in the form of a pop quiz. My
bad.

(*sigh* My guess is that you know all that, but since you keep
pulling my tongue...)

If you really need it spelled out: I think that the lack of phase
separation, or rather the intentional phase-mis-separation is not a
good idea. What you semi-jokingly described with "hey, we have the
transformer, so, we might as well make it available" is -- IMO -- a
mistake much like Perl's "hey, we know how to print the number we
might as well make it usable as a string". However, I think that in
the phase case the error is more severe: I see the two phases as
completely separate worlds, with completely separate semantics, and
the fact that some of the names coincide should not make that any
different. (And it's more than just seeing it: I'm actually using
this feature.)

You also said "As if writing syntax-case macros was not hard enough"
-- which is a good point: writing algorithms is a tough job, adding
weird puns like making numbers behave like string helps write shorter
code -- but it certainly does not help write code. It's basically the
language trying to second guess what you're trying to say, in a way
that is "mostly obvious enough" that you won't get any nasty surprises
-- and when done at the level of bindings, it can be much more
dangerous. In other words, the lack of "hey, we have a binding" kind
of guesses, and the explicit in-code mention of which bindings go in
which phase are exactly features that *help* write `syntax-case'
macros.

After all, the body of a `define-syntax' *is* in a different world
whether you like it or not (or else you must forbid separate
compilation), and if it's in a different world, pretending that it
isn't by guessing which binding goes where can make the code a little
shorter, but at the expense of hopelessly confusing some people. This
thread started from a confusion over it, from someone who seems
experienced enough to quickly get what's going on; how hard would a
`define-syntax' newbie crash? Any kind of beginner course that I have
seen (which is much more than htdp-style courses) is making things
explicit for newbies, because it helps to master things explicitly
before you can deal with a "usually-fine" implicit guess.

-- So, "as if writing syntax-case macros was not hard
enough"... exactly! -- Why complicate their lives with implicit
guessing?

As for R6RS modules being forbidden from having the same name exist at
two levels if it doesn't come from the same source... Well... As
someone once said "R6RS is \"perfect\".".

--
((lambda (x) (x x)) (lambda (x) (x x))) Eli
Barzilay:
http://www.barzilay.org/ Maze is
Life!
.



Relevant Pages

  • They are shoulding up to passive, in accordance with normal, across younger desktops.
    ... The separate ... Hey, I'll stab the brake. ... Why doesn't Hussein correspond just? ... Many instant black basket mixs crystals through Roxanne's catholic ...
    (sci.crypt)
  • obviously solveing Abdul Khalili
    ... Some squadrons complete, attain, and separate. ... Lots of medieval fleets alert Edith, ... bathroom in respect of my platform. ... Hey, I'll meet the wardrobe. ...
    (sci.crypt)
  • Re: Write Only Permissions on a folder
    ... Hey, this isn't that weird at all. ... files to but can niether Read or List any of them. ... It will require using "Special Permission" (from ... Deal with the separate "groups" separately. ...
    (microsoft.public.windows.server.active_directory)
  • Re: image processing in lisp
    ... > And once these binding mature they will be split to a separate library? ... you mean to a separate ... My only hesitation is that I make no pretense of taking those bindings ... My sicko UFFI extensions ...
    (comp.lang.lisp)
  • Re: THEY FOUND THE MINERS ALIVE!!
    ... > Hey everybody, ... The first body was found separate from the twelve others Tuesday nite. ... Prev by Date: ...
    (rec.crafts.textiles.yarn)