Re: Brackets for type parameters distracting
In my opinion, white brackets are great and [\ \] is really not a big
deal. People should probably concentrate more on IDEs for Fortress
than finding a temporary solution. I don't care how the scaffolding
looks like, only the façade matters.
As an aside, wouldn't it be great to be able to write:
type IntToStrings = Map[\ZZ32,List[\String\]\]
before that expression?
On Mon, May 12, 2008 at 7:36 PM, David Chase <dr2chase@...> wrote:
> We're discussing this in our weekly meeting, not reaching consensus,
> and curious to know what other people think. This example comes
> from the recently created wordcount demo, and was chosen because
> it's hard to read. Here's four versions (better viewed in a fixed font,
> not only does that line up the indents, that's also what people will
> probably use to edit code in this form):
>
> (1) status quo:
>
> opr BIG UNIONUNION(g:(Reduction[\Map[\ZZ32,List[\String\]\]\],
>
> Map[\ZZ32,List[\String\]\]->Map[\ZZ32,List[\String\]\])->
>
> Map[\ZZ32,List[\String\]\]):Map[\ZZ32,List[\String\]\] =
> embiggen[\Map[\ZZ32, List[\String\]\]\](fn(a,b) => a UNIONUNION b,
>
> mapping[\ZZ32,List[\String\]\](),
> g)
>
> (2) [[ and ]]:
>
> opr BIG UNIONUNION(g:(Reduction[[Map[[ZZ32,List[[String]]]]]],
>
> Map[[ZZ32,List[[String]]]]->Map[[ZZ32,List[[String]]]])->
>
> Map[[ZZ32,List[[String]]]]):Map[[ZZ32,List[[String]]]] =
> embiggen[[Map[[ZZ32, List[[String]]]]]](fn(a,b) => a UNIONUNION b,
>
> mapping[[ZZ32,List[[String]]]](),
> g)
>
> (3) [[ and ]] with some spacing:
>
> opr BIG UNIONUNION(g:(Reduction[[Map[[ZZ32,List[[String]] ]] ]],
> Map[[ZZ32,List[[String]] ]]->Map[[ZZ32,List[[String]]
> ]])->
> Map[[ZZ32,List[[String]]
> ]]):Map[[ZZ32,List[[String]] ]] =
> embiggen[[Map[[ZZ32, List[[String]] ]] ]](fn(a,b) => a UNIONUNION b,
> mapping[[ZZ32,List[[String]]
> ]](),
> g)
>
> (4) with actual white square brackets, no other formatting (might not
> display if no font on your box has the character(s) 27E6 and 27E7):
>
> opr BIG UNIONUNION(g:(Reduction⟦Map⟦ZZ32,List⟦String⟧⟧⟧,
> Map⟦ZZ32,List⟦String⟧⟧->Map⟦ZZ32,List⟦String⟧⟧)->
> Map⟦ZZ32,List⟦String⟧⟧):Map⟦ZZ32,List⟦String⟧⟧ =
> embiggen⟦Map⟦ZZ32, List⟦String⟧⟧⟧(fn(a,b) => a UNIONUNION b,
> mapping⟦ZZ32,List⟦String⟧⟧(),
> g)
>
> We'd like some estimate of relative awfulness -- for instance,
> how do these proposals compare to:
>
> (a) Python blocking with indentation
> (b) Lisp backquote macros
> (c) Lisp parentheses
> (d) C declaration syntax
> (e) Perl (in general)
> (f) Postscript
>
> Changes could still get tangled up in parsing issues, but we're trying to
> get a feel for whether [\ \] is a short-term annoyance, or something that
> will bother people every time they use the language.
>
> David
>
>
>