I remember those classes as a student, to be honest I didn't really actually 
started to learn till after I'd left undergraduate.

Don't get me wrong, I know how frustrating syntax/semantics nuances can be.

I've been reflecting on the idea of existential keywords the past couple days 
and have realized that they complicate the situation more than their worth, so 
please consider this my formal withdrawal of support. I'm fine with just 
passing #t/#f to a keyword, it's crystal clear and consistent with everything 
else.

In interest of peace, I offer you this tidbit; in the future if I ever send you 
code, I'll first run it through the clan-of-colons meta-language so you'll only 
see nice :keywords throughout the code.

Aλexander



On Monday, November 23, 2015 at 5:30:40 AM UTC-5, Neil Van Dyke wrote:
> The Clan of Colon Keywords was willing to honor a truce.
> 
> > I think for people coming from other  languages with :keywords, Racket's 
> > #:keywords help to signal that they are not anything like how :keywords are 
> > usually used.
> 
> I'm sure there are relatively better justifications for pound-colon than 
> signaling nuances to people in their first 10 seconds of being exposed 
> to a new language, than by encumbering the syntax for everyone, for all 
> time.  After those first 10 seconds, you've had time to tell this 
> totally-new person from another language, "Racket keywords are somewhat 
> different from keywords in your other language (in a way that is not 
> worth pointing out at this early point, so sorry for the confusion, 
> please forget we even said anything, just assume for now that keywords 
> are similar to the keyword arguments you already know, because they are, 
> and let me tell you about the more important things for now)."
> 
> (That said, in a particular kind of undergrad CS curriculum, in which 
> numerous languages are thrown at students, one language after another, 
> with students to be tested on language trivia, with little time to begin 
> to actually learn any of the languages in a meaningful way... then, 
> sure, teaching-to-the-test, one might make the subtly-different keyword 
> arguments appear different between two languages, to help prepare 
> students for the all-important test question, "How do keywords in Racket 
> differ from keywords in Common Lisp?"  I shall not be complicit in that 
> atrocity.  Fortunately, I'm not aware of anyone teaching Racket like that.)
> 
> >   I'd love to see existential/toggle keywords.
> 
> Besides greatly changing how parsing could work (and complicating human 
> code reading of procedure applications, for the same reason that parsing 
> might have to do a lookup), imagine a common usage scenario... Procedure 
> A shares some of its signature with procedure B, and procedure A calls 
> B, passing some of its A's actual arguments to B.  Compare the code for 
> "passing through" Boolean arguments using existential and 
> non-existential keywords, especially the combinatorial explosion (or 
> need for dynamic list apply) when more than one argument is Boolean.
> 
> Neil V.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to