19.11.2014 Views

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

α, β type variables<br />

f<br />

function or method name<br />

x<br />

field name<br />

T<br />

trait name<br />

O<br />

object name<br />

τ, τ ′ , τ ′′ ::= α type<br />

| σ<br />

σ ::= N type that is not a type variable<br />

| O −→ τ <br />

N, M, L ::= T −→ τ type that can be a type bound<br />

| Object<br />

e ::= x expression<br />

| self<br />

| O −→ τ ( −→ e )<br />

| e.x<br />

| e.f −→ τ ( −→ e )<br />

| f −→ τ ( −→ e )<br />

fd ::= f −−−−−−−−−→ αextends N( −→ x:τ):τ = e<br />

function or method definition<br />

td ::= trait T −−−−−−−−−→ αextends Nextends { −→ N } −→ fd end trait definition<br />

od ::= object O −−−−−−−−−→ αextends N( −→ x:τ)extends { −→ N } −→ fd end object definition<br />

d ::= fd definition<br />

| td<br />

| od<br />

p ::= −→ d e program<br />

Figure A.13: Syntax of Core <strong>Fortress</strong> with Overloading<br />

326

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!