Skip to content
/ golc Public

(WIP) Go implementation of a quantum lambda calculus

License

Notifications You must be signed in to change notification settings

mbivert/golc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

98dadb7 · Sep 29, 2024

History

66 Commits
Sep 22, 2024
Sep 27, 2024
Sep 27, 2024
Sep 23, 2024
Sep 25, 2024
Sep 29, 2024
Sep 29, 2024
Sep 29, 2024
Sep 23, 2024
Sep 22, 2024
Sep 29, 2024
Sep 29, 2024
Sep 29, 2024
Sep 29, 2024
Sep 27, 2024
Sep 27, 2024
Sep 27, 2024
Sep 27, 2024
Sep 25, 2024
Sep 25, 2024
Sep 29, 2024
Sep 23, 2024

Repository files navigation

Introduction

This repository contains an implementation (WIP) of a typed λ-calculus, extended to support elementary arithmetic expressions, some syntactic sugar, and more importantly, implements the quantum λ-calculus1 described by Peter Selinger. One might also be interested in Benoît Valiron's thesis.

Implemented in Go; the parsing/scanning stages mimic, for practice, what has been done in the Go compiler itself.

Note: This builds on a previous λ-calculus interpreter, written in Nix's language, and an unpublished partial implementation of craftinginterpreters.com. In particular, I'm recylcing some of the tests from the former, and parsing/evaluation code for mathematical expressions handling from the latter.

Footnotes

  1. Beware, there are multiple papers pertaining to quantum λ-calculus authored by Selinger, e.g. this one.

About

(WIP) Go implementation of a quantum lambda calculus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published