The current `define-struct' is among very few `define-' forms that binds names not mentioned directly in the form. In that sense, it's more like `require' or `open-package', so that's why `struct' seems like a sensible name to me.
In the list below, I think `define-values/invoke-unit' is the only other one that binds names not mentioned on the form, and it has always bugged me. I think it would be better with a non-`define' name, too. Maybe an `open' convention would be appropriate, though probably we haven't had enough things like that for the convention to be worthwhile. At Tue, 6 Apr 2010 14:22:26 -0400, Sam Tobin-Hochstadt wrote: > On Tue, Apr 6, 2010 at 2:00 PM, Matthias Felleisen <[email protected]> > wrote: > > Can we inspect all define- names in our base and consider deleting the > > define- part? Thanks -- Matthias > > I thoroughly agree with Carl about this being a bad idea. > > With that said, here's the list: > > core definition forms: > define-values > define-syntaxes > define-values-for-syntax > define > define-for-syntax > define-syntax > > versions of define-struct: > define-contract-struct > define-struct > define-struct/derived > define-struct/contract > > class forms: > define/augment-final > define/override > define/private > define/public > define/augride > define/overment > define/pubment > define/override-final > define/public-final > define/augment > > unit definition forms: > define-compound-unit > define-unit/s > define-unit-binding > define-unit/contract > define-unit/new-import-export > define-unit-from-context > define-compound-unit/infer > define-unit > define-signature > > things that have to bind static info (like `define-struct'): > define-member-name > define-local-member-name > define-serializable-class* > define-serializable-class > define-match-expander > define-signature-form > define-namespace-anchor > define-sequence-syntax > define-opt/c > > macros over existing definition forms: > define-values/invoke-unit > define-syntax-rule > define-values/invoke-unit/infer > define/contract > -- > sam th > [email protected] > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-dev _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev
