[plt-dev] some Racket proposals & implementation

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Tue Apr 6 14:56:09 EDT 2010

You've convinced me, Matthew. I like the rule that 'define...' names
everything that it binds and anything that makes stuff up shouldn't be
a 'define...'

Jay

On Tue, Apr 6, 2010 at 12:49 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Tue, 6 Apr 2010 14:12:35 -0400, Carl Eastlund wrote:
>> Can we inspect all ! names in our base and consider deleting the ! part?
>> Can we inspect all % names in our base and consider deleting the % part?
>> Can we... yeah, yeah.  My point is, naming conventions can be
>> important, let's not abandon them lightly.
>
> Your point could also be that conventions are merely guidelines, and
> not hard rules. We definitely don't put `!' on the end of every
> function or method name that modifies state.
>
>> I like being able to read something and know whether it is (a) a
>> definition form and (b) introducing new bindings into the current
>> scope.  If we changed, for instance, define-signature to simply
>> signature, there would be nothing to indicate to a user of both units
>> and classes that signature is a definition, whereas interface is
>> merely a value constructor, despite the two otherwise performing very
>> similar roles.
>
> Along the lines of my other message, I agree that we shouldn't change
> `define-signature'. It binds the name that appears right after the
> `define-signature', so the `define-' is a strong and appropriate
> signal.
>
> But `require' and `open-package' also bind in the enclosing scope. So
> do `init' and `field'. I expect that there are more examples.
> Meanwhile, local-binding forms are considerably more varied: `let',
> `syntax-case', `match', etc.
>
> I think `struct' is prominent enough that it will stand out, if we go
> with it, much as `require' does.
>
>> My vote is against (struct posn [x y]) as a definition form.
>
> Fair enough, and it may come down to a vote. I'm currently in favor of
> Robby's proposal.
>
> In any case, the only suggests we have so far are the ones from Robby
> (`struct') and Eli (just `define').
>
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-dev
>



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://teammccarthy.org/jay

"The glory of God is Intelligence" - D&C 93


Posted on the dev mailing list.