Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/the-little-typer/pie
The Pie language, which accompanies The Little Typer by Friedman and Christiansen
https://github.com/the-little-typer/pie
Last synced: 5 days ago
JSON representation
The Pie language, which accompanies The Little Typer by Friedman and Christiansen
- Host: GitHub
- URL: https://github.com/the-little-typer/pie
- Owner: the-little-typer
- License: agpl-3.0
- Created: 2018-01-05T15:41:56.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-07T18:15:35.000Z (over 3 years ago)
- Last Synced: 2024-08-01T22:52:27.413Z (3 months ago)
- Language: Racket
- Homepage: http://thelittletyper.com/
- Size: 152 KB
- Stars: 685
- Watchers: 34
- Forks: 57
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# Pie: A Little Language with Dependent Types
This is Pie, the companion language for _The Little Typer_ by Daniel P. Friedman and David Thrane Christiansen.
## How to Use Pie
Pie is a [Racket](http://racket-lang.org) language, requiring Racket version 6.5 or newer. After installation, Racket will interpret any file beginning with `#lang pie` as a Pie program.
### TODO items
If you can't figure out what to write at some point in a Pie program, it's OK to leave behind a space to be filled out later. This corresponds to the empty boxes in _The Little Typer_. These TODOs are written `TODO` in Pie.
### DrRacket Integration
Pie provides additional information to DrRacket, including tooltips and other metadata. Point the mouse at a pair of parentheses, a name, or a Pie constructor or type constructor to see information about the expression.
Additionally, Pie supports the [DrRacket TODO list](https://github.com/david-christiansen/todo-list) for incomplete programs.
### Command-Line REPL
If you prefer an editor other than DrRacket, it may be convenient to start a Pie REPL on a command line. To do so, use the command `racket -l pie -i` to start Racket with the `pie` language in interactive mode.
## Installation Instructions
Pie is available on the Racket package server. If you don't plan to make your own changes to Pie, then it is easiest to install it from there.### From DrRacket
Click the "File" menu, and then select "Install Package...". Type `pie` in the box, and click the "Install" button.
### From a Command Line
Run the following command:
`raco pkg install pie`## Updates
Because it exists to support a book, the Pie language is finished and will not change. However, this _implementation_ of Pie might someday acquire additional features, or it might require updates to keep up with new computers. In that case, update it as you would any Racket package.
### Updating in DrRacket
Click the "File" menu, and then select "Install Package...". Type `pie` in the box, and click the "Update" button.
### Updating from a Command Line
The command `raco pkg update pie` updates Pie.