--- Thom Boyer <[EMAIL PROTECTED]> wrote: > Smylers [mailto:[EMAIL PROTECTED]] wrote: > > > And an alternative > > spelling for the assignment operator[*0] doesn't strike me as > something > > Perl is really missing: > > > > $msg <~ 'Hello there'; > > $msg = 'Hello there'; > > > I still remember the first time I saw a computer program, before I > had > learned anything about programming myself. A friend showed me his > first > Fortran program, and it included the following line: > > N = N + 1 > > I stared at that in puzzlement for a long minute, and then said "That > sure > isn't true for any value of N that *I* know of!" Then he told me that > "=" > doesn't mean "equals" in Fortran (no, *that's* spelled "EQ" :-). > > I've always been bothered by this misuse of mathematical notation, > which is > used in an incredibly bewildering array of computer programming > languages. > On the other hand, I've never been a fan of the ":=" spelling of > assignment, > either. I always thought that "<-" was much better, except for the > pitfall > that humans are likely to misread "a<-5" as a comparison. > > One of the most... er, *interesting*, dodges I've seen in this area > is the > one used by Squeak (a Smalltalk variant). Squeak spells assignment > with an > underscore ("_"), but the Squeak system *draws* it as a left-pointing > arrow. > Hey, I know: let's not bother with Unicode...let's just reassign a > few ASCII > control characters for Perl's use! :-) > > I, for one, could live with "<~" as the only assignment operator. But > I only > suggest it tongue in cheek. >
Hey! Don't make me come over there... > > > Speaking of Squeak, I notice that Buddha Buck just posted a > Smalltalk-translated-to-Perl implementation of the if-operator: > > class True is Bool is singleton { > >... > > our True true is builtin; > >etc. > > which even includes the notion that the implementation of True and > False is > immutable, so that the code generator has a ghost of a chance of > knowing > what to do! > > That was followed by Austin Hastings' post: > > > log $user onto $system. > > log $message to $stderr. > > l2x = log 2 * log $x; # Don't check my math, please. :-) > > ... > > sub log($n) { ... } > > sub log _ onto($user; &_ ; $machine) { ... } > > sub log _ to($message; &_ ; $stream) { ... } > > which is a recycling of Smalltalk's "inject:into:"-style operators. I > have > to admit that I *like* the idea of being able to define those > kinds[1] of > operators; they can really add to the clarity of the code. I just > don't want > to have to write the parser! > [1] What *do* you call this style of operator -- intermingled-fix? > > Looks like we've got some Smalltalk fans here. What say we start a > new > mailing list for designing Perltalk? :-) I can't even smell Spalltalk. =Austin