Speagram Home | tutorial | use me | live interface | documentation | developer's corner | contact

LINKS

Parser Generation

CamlP4
A system for extending the syntax of the OCaml language. It makes it possible to define and use parsers and grammars and is one of the most convenient ways to generate LL(1) parsers. Standard ways to deal with ambiguity for example by defining associativities of operators are present. Still lexers have to be defined separately and not all context-free grammars can be used.

OpenZz
An interpreted dynamic parser that supports evolving grammars similar to Speagram but is limited only to LALR(1) languages.

Syntax Definition Formalism
SDF is a language for defining syntax that is based on context-free grammars and includes a formalism for lexer definitions and declarative disambiguation constructs like prioritiy and associativity definitions. It is used in the MetaEnvironment where grammars and program transformations can be defined. It does not support dynamic definitions of grammars and extending them on the fly.

Functional Programming Languages

Haskell
A purely functional language featuring static typing, higher-order functions, polymorphism, type classes, monadic effects and many other interesting features. You can read the motivation Why Use Haskell to understand why functional programming was chosen as the basis for Speagram.

The Caml Language
A general-purpose programming language, designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles and generates very efficient code.

User Interfaces and Human-Computer Interaction

The Humane Interface
The book The Humane Interface: New Directions for Designing Interactive Systems by Jef Raskin is about interactive system design. It claims that many current interface paradigms are dead ends, and that to make computers significantly easier to use requires new approaches. The author, Jef Raskin, is the creator of the Apple Macintosh project and this book can convince you that using language and keyboard is often more convenient than relying solely on your mouse and GUI.

Valid XHTML 1.1