Language
XL is defined at four different levels:
- XL0 defines how an input text is transformed into a parse tree.
- XL1 defines a base language with features comparable to C++
- XL2 defines the standard library, which includes common data types and operators.
- XLR defines a dynamic runtime for XL based on XL0
XL has no primitive types nor keywords. All useful operators and data types, like integers or addition, are defined in the standard library (XL2). XL1 is portable between different execution environments. There is no such guarantee for XL2: if a particular CPU does not implement floating-point multiplication, the corresponding operator definition may be missing from the standard library, and using a floating-point multiply may result in a compile-time error.
The Hello World program in XL looks like the following:
use XL.TEXT_IO WriteLn "Hello World"An alternative form in a style more suitable for large-scale programs would be:
import IO = XL.TEXT_IO IO.WriteLn "Hello World"A recursive implementation of factorial in XLR looks like the following:
0! -> 1 N! -> N * (N-1)!Read more about this topic: XL (programming Language)
Famous quotes containing the word language:
“There is no such thing as a language, not if a language is anything like what many philosophers and linguists have supposed. There is therefore no such thing to be learned, mastered, or born with. We must give up the idea of a clearly defined shared structure which language-users acquire and then apply to cases.”
—Donald Davidson (b. 1917)
“Language is filled
with words for deprivation
images so familiar
it is hard to crack language open
into that other country
the country of being.”
—Susan Griffin (b. 1943)
“Now that Stevenson is dead I can think of but one English- speaking author who is really keeping his self-respect and sticking for perfection. Of course I refer to that mighty master of language and keen student of human actions and motives, Henry James.”
—Willa Cather (18731947)