{"id":23584418,"url":"https://github.com/rawlins/lambda-notebook","last_synced_at":"2025-06-25T20:03:19.088Z","repository":{"id":46880354,"uuid":"15571665","full_name":"rawlins/lambda-notebook","owner":"rawlins","description":"Lambda Notebook: Formal Semantics in Jupyter","archived":false,"fork":false,"pushed_at":"2025-04-22T16:42:45.000Z","size":4707,"stargazers_count":27,"open_issues_count":4,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-25T20:02:27.389Z","etag":null,"topics":["digital-fragments","jupyter","jupyter-notebook","lambda-calculus","linguistics","semantics"],"latest_commit_sha":null,"homepage":"http://rawlins.github.io/lambda-notebook/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rawlins.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-01-01T23:12:33.000Z","updated_at":"2025-05-18T10:18:18.000Z","dependencies_parsed_at":"2023-10-05T00:32:08.849Z","dependency_job_id":"b8e39aac-c4f7-4811-972b-451b79510e32","html_url":"https://github.com/rawlins/lambda-notebook","commit_stats":{"total_commits":311,"total_committers":3,"mean_commits":"103.66666666666667","dds":0.427652733118971,"last_synced_commit":"32cba45d8bdf71d9e8281d568f91c151cf149551"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rawlins/lambda-notebook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rawlins%2Flambda-notebook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rawlins%2Flambda-notebook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rawlins%2Flambda-notebook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rawlins%2Flambda-notebook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rawlins","download_url":"https://codeload.github.com/rawlins/lambda-notebook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rawlins%2Flambda-notebook/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261945352,"owners_count":23234234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital-fragments","jupyter","jupyter-notebook","lambda-calculus","linguistics","semantics"],"created_at":"2024-12-27T02:27:09.316Z","updated_at":"2025-06-25T20:03:19.065Z","avatar_url":"https://github.com/rawlins.png","language":"Python","readme":"# Lambda Notebook: Formal Semantics with Jupyter and Python\n\n**Author**: Kyle Rawlins, [kgr@jhu.edu](mailto:kgr@jhu.edu)\n\n**Website**: https://rawlins.github.io/lambda-notebook/\n\n**Repository**: https://github.com/rawlins/lambda-notebook\n\nThis project is a framework for linguists and especially semanticists developing analyses in compositional semantics.  It aims to provide a means of developing 'digital fragments', following from the method of fragments in Montague grammar. Contributions, requests, and suggestions are welcome. To see some examples of the project in action, Have a look at the [demo page](https://rawlins.github.io/lambda-notebook/demo-for-linguists.html), which is pre-rendered from an interactive Jupyter document. The project itself comes with many more examples, though you will need to download and work with them interactively: https://github.com/rawlins/lambda-notebook/tree/master/notebooks\n\nThe lead developer for this project is [Kyle Rawlins](https://rawlins.io/). I'm an associate professor in the Cognitive Science Department at Johns Hopkins University, and I do both theoretical linguistic semantics and computational semantics. My eventual goal is for any theoretical linguistics I do to come with a lambda notebook file. (I'm a long way from that dream.)\n\n## Installation\n\nSee [https://github.com/rawlins/lambda-notebook/wiki/Installation](https://github.com/rawlins/lambda-notebook/wiki/Installation)\n\nBasically,\n* Install Jupyter Lab.\n* current release: install from PyPI. (`pip install lambda-notebook`.) \n* current development version: download/clone the repository and ensure you have Jupyter installed (probably via anaconda). Run `./install_lambda_kernel.py` from the repository root to\ninstall the kernel.\n* See the above link for information on using the package on colab. VSCode and other Jupyter notebook interfaces are not supported.\n\n## Getting started\n\nOnce you have installed the package, you can then open open lambda notebook\nfiles by using the newly installed kernel from any jupyter lab (or notebook)\ninstance. The kernel for regular installs is named `Lambda notebook (Python 3)`,\nand it can be selected as a new kernel from the launcher, or via the\n`Change Kernel...` menu item in the `Kernel` menu.\n\nAlternatively, with the `lamb` module installed in the python path, you can\nrun `import lamb.auto`, which is fully equivalent to loading a notebook with\nthe kernel.\n\nI recommend starting with some of the notebook files in this repository.\n\n  * `notebooks/Lambda Notebook Intro (start here).ipynb`\n  * `docs/demo-for-linguists.ipynb`\n  * look through the various [fragments](https://github.com/rawlins/lambda-notebook/tree/master/notebooks/fragments) and [documentation notebooks](https://github.com/rawlins/lambda-notebook/tree/master/notebooks/documentation)\n\n## Code overview\n\nThere are three main parts to the code, structured into `lamb.meta` and submodules (\"meta\" for metalanguage),\n`lamb.types`, and `lamb.lang`.\n  * `meta` and `types` together provide a typed logical metalanguage. Some of `meta`'s key submodules:\n    - `lamb.meta.core`: core machinery for typed expressions and functions\n    - `lamb.meta.boolean`: boolean expressions\n    - `lamb.meta.quantifiers`: quantified expressions\n    - `lamb.meta.sets`: set theoretic expressions\n    - `lamb.meta.meta`: meta-meta-language expressions\n    - `lamb.meta.ply`: tools for manipulating metalanguage expressions\n  * `lamb.types` provides implementations of type systems for a simply typed lambda calculus, a polymorphic lambda calculus using the \"Damas-Hindley-Milner\" type system, and various accessories.\n  * `lamb.lang` provides machinery for doing composition on an object language.\n\nTwo additional files, `magics.py` and `parsing.py` provide support for using\ncell magics in the notebook to directly type expressions in the metalanguage.\nSee the notebooks for demos and documentation.\n\n## License information\n\nThe lambda notebook is released under the [BSD 3-clause license](https://github.com/rawlins/lambda-notebook/blob/master/LICENSE).\n\nThe module `lamb.tree_mini` provides a modified and dependency-less version of the `nltk.tree` module from the [nltk package](https://www.nltk.org/). See [here](https://github.com/nltk/nltk/blob/develop/LICENSE.txt) for NLTK license information (Apache license).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frawlins%2Flambda-notebook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frawlins%2Flambda-notebook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frawlins%2Flambda-notebook/lists"}