Spad language compiler

Spad is programming language used by Fricas Computer Algebra System. It's a multiparadigm language with second order dependent types.

Compiler backend is implemented in Ocaml and uses LLVM framework. The sources are available here.

As a participant in GSoC 2014 programme I'm planning to implement an improved type checker, my progress will be monitored here.


By Stephen M. Watt

  1. Type Specialization in Aldor, 2010
  2. Multiprocessed Parallelism Support in ALDOR on SMPs and Multicores, 2007
  3. Generic Programming Techniques in Aldor, 2007
  4. What Happened to Languages for Symbolic Mathematical Computation?, 2007
  5. Post Facto Type Extension for Mathematical Programming, 2006
  6. Domains and Expressions: An Interface Between Two Approaches to Computer Algebra, 2005
  7. Parametric Polymorphism Optimization for Deeply Nested Types in Computer Algebra, 2005
  8. Debugging A High-Level Language via a Unified Interpreter and Compiler Runtime Environment, 2004
  9. On the Implementation of Dynamic Evaluation, 1995
  10. A First Report on the A# Compiler, 1994
  11. FOAM: A First Order Abstract Machine, 1994
  12. The Scratchpad II Type System: Domains and Subdomains, 1990
  13. Scratchpad II: An Abstract Datatype System for Mathematical Computation, 1987
  14. Infinite Structures in Scratchpad II, 1987

By Simon Thompson

  1. The Aldor-- Language, ?
  2. Integrating Computer Algebra and Reasoning through the Type System of Aldor, 2000
  3. Aldor meets Haskell, 1999
  4. The Type System of Aldor, 1999
  5. Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor, 1998