Re: rough first impressions
Michael Vanier <[email protected]> Mon, 14 Apr 2003 15:27:37 -0700
| Newsgroups | gmane.comp.lang.goo.general |
|---|---|
| Message-ID | <[email protected]> |
> Date: Mon, 14 Apr 2003 16:59:45 -0400 > From: Bob Cassels <[email protected]> > > [email protected] wrote: > > >>Date: Mon, 14 Apr 2003 12:12:24 -0400 > >>From: Jonathan Bachrach <[email protected]> > >> > >> > >>actually what i was thinking was changing goo over to using case > >>sensitivity and having all caps be the convention for types. this > >>saves characters and is pretty standard and lets you name the > >>constructors by lowercasing the type name. lots of lispers object to > >>case sensitivity and using the shift key (except to type parentheses). > >> > > > >It seems reasonable to have a different namespace for types. I think > >all-caps is PRETTY HEAVY THOUGH. What about having the first letter > >capitalized? Many languages (prolog, ocaml, haskell) use this convention > >for various purposes. > > > > > > Yuck. I thought we'd moved beyond this kind of syntax. Fortran > variables that begin with i-n are integers, Basic variables that end > with $ are strings.... > > Case sensitivity detracts from readability. As do short abbreviations > that don't mean anything. > > But I guess I'm an old fogey who likes to read words. > > I'm with you on point #2 ;-) As for point #1, I think there is a qualitative difference between using syntax to denote a specific type (as in old Fortrans, Basic and perl) and using syntax to denote a whole class of entities (in this case, types). That seems much more acceptable to me, but personally I don't care that much either way. I do like the idea that I can define a variable as (say) "list" without worrying if it conflicts with the name of the list type. Even if there are separate namespaces, I think that "list|<List>" is clearer than "list|<list>". However, the <> syntax already provides a huge hint, so maybe it isn't needed. Separate question: what about constrained types e.g. "list of int"? How would those work in the type syntax? <list<int>>? Mike