Download Latest Version lamdu-0.8.1-linux.tgz (42.1 MB)
Email in envelope

Get an email when there's a new version of Lamdu

Home / v0.7
Name Modified Size InfoDownloads / Week
Parent folder
lamdu-0.7-linux.tgz 2018-10-26 32.9 MB
lamdu-0.7-macOS.zip 2018-10-24 15.5 MB
lamdu-0.7-win-setup.exe 2018-10-24 12.8 MB
0.7_ First release! source code.tar.gz 2018-10-24 2.4 MB
0.7_ First release! source code.zip 2018-10-24 2.6 MB
README.md 2018-10-24 2.0 kB
Totals: 6 Items   66.1 MB 0

Initial release of Lamdu, including 7 key features:

  • WYTIWYS projectional editing. Projectional editing ensures that syntax errors and name errors are impossible to make, while the What-You-Type-Is-What-You-See text-like interface makes the experience intuitive and familiar. Note that this concept isn't unique to Lamdu - MPS also implements a mostly WYTIWYS approach.
  • A novel UI framework for keyboard oriented editing of rich structured data, with responsive layout (the code's layout adapts to the screen or window's width) and animations for structural edits (making changes easier to follow).
  • Live-reloading for pure computations. Lamdu employs a distinction between pure computations and effectful code, like Haskell, and uses this distinction to enable safe live programming, which performs live-reloading only for pure computations, while requiring an explicit action to execute effectful programs.
  • Live programming with value annotations displayed under subexpressions (rather than only a single REPL result). Note that Flogo 2 appears to be the first project to come up with this notation.
  • A novel approach for type-errors: When filling a hole with a term with a mismatching type, it is wrapped in a "fragment" (aka non-empty hole), so that type inference keeps working continuously everywhere.
  • A novel decentralized solution for cross-module blame assignment for type errors. For every definition, Lamdu remembers the types for all of its dependencies. When a dependency's type changes, type inference still works with the saved type, with an "update" action offered for the type-mismatch.
  • Projectional Syntactic Sugar. The lower-level AST, which we call "Lamdu Calculus", is checked for patterns which are sugared. Sugaring happens automatically, reducing burdens of choice and manual conversion between equivalent syntax forms when making changes.
Source: README.md, updated 2018-10-24