[squeak-dev] The Inbox: Compiler-nice.280.mcz

Frank Shearar frank.shearar at gmail.com
Tue Feb 25 22:56:01 UTC 2014


On 25 February 2014 14:35, tim Rowledge <tim at rowledge.org> wrote:
>
> On 25-02-2014, at 12:01 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
>
>> On 25.02.2014, at 20:52, karl ramberg <karlramberg at gmail.com> wrote:
>>
>>> control + up arrow ?
>>
>> Control should be reserved for controlling stuff,
>> you would run into a lot of key-clashes on both, linux and osx (that I know of)
>> but
>>       alt + up
>> should be decent :)
>> We can then think about alt-left for <- (aka := ) ;)
>
> Y’see this is where it all gets silly. At some point you have to trade; you can have nice clear easy to explain or you can have complicated unintelligible and pointless. If you want the latter, go play with C++.
>
> If we use some form of up-arrow glyph, whether plain old ascii caret or unicode +2191, then we need a sensible way to type it on typical keyboards. Anyone thinking that I will happily go all emacs and type ctl-alt-meta2-lshift-stallman-cursor-up is going to be disappointed. And deaf in one ear after I finish shouting at them…. Similarly for whatever assignment symbol one chose - I really dislike the := pascal nonsense - we need a convenient keypress. I say stick with shift-^ and shift-_ and accept that they are removed from general character usage.
>
> Either we have single symbols for these two rather important syntactical elements and accept that this takes out of circulation for general character usage, or we have to do the pascal thing and use long winded nonsense; want your code to look like
>
> abstractBytecodeMessagesFrom: startpc to: endpc do: aBlock
>         "Evaluate aBlock with the sequence of abstract bytecodes from startpc through endpc in the receiver"
>         TEMP-DCL scanner
>         scanner := InstructionStream new method: self pc: startpc.
>         BEGIN-BLOCK scanner pc <= endpc END_BLOCK whileTrue:
>                 BEGIN-BLOCK
>                         BEGIN-BLOCK
>                                 scanner interpretNextInstructionFor: nil
>                         END_BLOCK
>                         on: MessageNotUnderstood
>                         do: BEGIN-BLOCK
>                                         TEMP-DCL ex
>                                         aBlock value: ex message
>                                 END_BLOCK
>                         END_BLOCK
> Hmm? Not my idea of nice. And besides, you could use *exactly the same argument* about ‘why not use all characters in names’ to demand to be allowed to use BEGIN-BLOCK as a variable name.

Well, no, because Peter Landin solved this a long time ago (1966) with
the offside rule :)

> So to (mis)quote Zaphod, “ten out of ten for cleverness, minus several million for style"

It's not clear to what you're objecting: Nicolas' turning ^ into a
binary selector? Tobias' asking how we input some fancy unicode
character?

frank

> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Never write software that patronizes the user.
>
>
>


More information about the Squeak-dev mailing list