The Jupyter lambda notebook is a tool for linguists working in compositional semantics to develop and interactively test digital fragments, as well as dynamically present compositional systems in a classroom or talk setting. This tool aims to move beyond traditional Montague Grammar-style fragments and provide an extensible framework for fragments that are digital, interactive and modular. The interface is in the style of a mathematica notebook, providing for the mixing of code and documentation; it is web-based and built on top of Jupyter Notebook and MathJax.
Here’s a screenshot showing some bottom-up composition:
Here’s a screenshot demonstrating implementing Heim & Kratzer’s Predicate Modification as a typeshift, rather than a composition rule:
Related / similar projects:
- The Lambda Calculator. Type-driven compositional semantics aimed at teaching / learning.
- van Eijck and Unger, Computational Semantics with Functional Programming (digital fragments in Haskell)
- boxer (CCG parsing + DRT-style representations)
- nltk.sem; a typed metalanguage similar to lamb.meta, with interfaces to provers and other useful things. See also chapter 10 of the NLTK book.