Related articles |
---|
User defined precedence for user defined operators. gah@ugcs.caltech.edu (glen herrmannsfeldt) (2006-08-14) |
Re: User defined precedence for user defined operators. tommy.thorn@gmail.com (Tommy Thorn) (2006-08-15) |
Re: User defined precedence for user defined operators. DrDiettrich1@aol.com (Hans-Peter Diettrich) (2006-08-15) |
Re: User defined precedence for user defined operators. marcov@stack.nl (Marco van de Voort) (2006-08-15) |
Re: User defined precedence for user defined operators. tmk@netvision.net.il (Michael Tiomkin) (2006-08-15) |
User defined precedence for user defined operators. derek@knosof.co.uk (Derek M Jones) (2006-08-15) |
Re: User defined precedence for user defined operators. torbenm@app-5.diku.dk (2006-08-18) |
From: | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
Newsgroups: | comp.lang.fortran,comp.compilers |
Date: | 15 Aug 2006 18:53:47 -0400 |
Organization: | Compilers Central |
References: | <1155280055.803334.85200@h48g2000cwc.googlegroups.com> <1155424619.168792.202040@h48g2000cwc.googlegroups.com> <ebpn6e$qbt$1@vilya.larc.nasa.gov> <1hk1yfv.zyn74w12uw4xsN%nospam@see.signature> <44E0B3FF.4040401@cits1.stanford.edu> 06-08-081 |
Keywords: | Fortran, design |
Posted-Date: | 15 Aug 2006 18:53:47 EDT |
glen herrmannsfeldt wrote:
> As far as I know, the languages that allow operator overloading
> use the same precedence in all cases for each operator.
The same precedence, associativity, and other semantics of the
"original" operators.
>>Type(a) + Type(b) returns a Type(b)
IMO binary operands will expand to a.<op>(b), with a possible type cast
of b, into an type compatible with a.<op>. But a and b may be swapped as
well, according to the grouping of the operator <op>.
> [I don't think I've ever seen a language where the operator precedence
> depended on the types of the operands, and I hope I never do. -John]
At least not in a language, that allows for user defined and possibly
polymorphic types, whose exact type is unknown at compile time.
There may exist situations, like a multiplication of an vector by a
scalar, where special handling might make sense. Nontheless it also
would make sense, then, to introduce new operators for such operations.
DoDi
[I don't doubt that it's possible to write a parser with type-dependent
precedence, but if ever there were a feature guaranteed to produce
unreadable code with hard to find bugs, that's it. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.