Powered by SourceForge   Home | About | Partners | Contact Us

Language design

Information about the design of the language

Updated the XLR reference document

The XLR reference document has been updated. I'm still actively working on it. This is a description of where we want to go, not where we currently are.

Main changes already done in the document (but not implemented yet):

  • Definitions and description of the execution contexts
  • Description of the type system

Parts of the documentation still under construction:

  • Description of the library
  • Implementation details and description

Parts of the design still largely in flux:

  • Error handling
  • Code generation strategies

Please review comment!

Access to the old web site

The older web site for XLR can be found here

Access to the old web site

The older web site for XLR can be found here

Types are functions

I’ve been working for years on XL. All the work of Taodyne, including our fancy 3D graphics, is based on XL. If you think that Impress.js is cool (and it definitely is), you should definitely check out what Tao Presentations can do. It’s an incredible environment for quickly putting together stunning 3D presentations. And we are talking real 3D here, with or without glasses depending on your display technology.

XLR - The functional flavor of XL


div class="insert"> 0! -> 1<br/> N! -> N * (N-1)!

Factorial in XLR

XL2 - The imperative flavor of XL


div class="insert"> use XL.UI.CONSOLE<br/> WriteLn "Hello World"

Hello World in XL2

XL Language Design

To achieve these objectives, XL is built around a few key ideas:

  1. A syntax that centers on how humans read things, rather than the needs of compilers. For example, humans are sensitive to indentation and spacing, but do not care much about parentheses and other punctuation.
  2. Enabling familiar and powerful notations in code, rather than language-imposed notations. For example, humans think of a linear transform as A*B+C rather than Linear(A,B,C).
  3. A core language definition based on a simple code rewrite rule.

The XL Programming Language

XL stands for "Extensible Language". It's a programming language designed to address the challenges faced by programmers today.

Syndicate content