5.3 Class Extensions

Classes

<statement> ::=

x = class [ $ ] ... end

==>

class x ... end

Method Names

<method head>, <method head label> ::=

unit

==>

!`Unit.'unit'`

<method head>, <method head label> ::=

true

==>

!`Bool.'true'`

<method head>, <method head label> ::=

false

==>

!`Bool.'false'`

Locks

<statement> ::=

x = lock E end

==>

lock x = E end

Operators

<statement> ::=

E1 <- E2

==>

local X in 
   
X = E1 
   
X <- E2 
end

if E1 is no variable.

<statement> ::=

x <- E

==>

local X in 
   
X = E 
   
x <- X 
end

if E is no variable.

<statement> ::=

x = E1 <- E2

==>

local X in 
   
X = E1 
   
x = X <- E2 
end

if E1 is no variable.

<statement> ::=

x = y <- E

==>

local X in 
   
X = E 
   
x = y <- X 
end

if E is no variable.

<statement> ::=

x = E1, E2

==>

E1, E2'

if exactly one $ occurs in E2 in pattern position. E2' is the result of replacing this $ in E2 by x.

<statement> ::=

E1, E2

==>

local X in 
   
X = E1 
   
X, E2 
end

if E1 is no variable.

<statement> ::=

x, E

==>

local X in 
   
X = E 
   
x, X 
end

if E is no variable.


Martin Henz and Leif Kornstaedt
Version 1.4.0 (20080702)