Fakultas Ilmu Komputer UI
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
ariangganugraha-funpro2020-lambda
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Ari Angga Nugraha
ariangganugraha-funpro2020-lambda
Commits
e830cb6e
Commit
e830cb6e
authored
8 years ago
by
Sean Gillespie
Browse files
Options
Downloads
Patches
Plain Diff
Add a README and move the rest into doc/
parent
d09dd0ba
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
doc/README.md
+71
-0
71 additions, 0 deletions
doc/README.md
doc/lambda-calculus.md
+0
-0
0 additions, 0 deletions
doc/lambda-calculus.md
with
71 additions
and
0 deletions
doc/README.md
0 → 100644
+
71
−
0
View file @
e830cb6e
# Lambda Calculus
Lambda Calculus is a tiny functional language for expressing computation based
on function abstraction and application.
This project is intended to be an educational resource for learning and
implementing functional programming languages.
# Introduction to Lambda Calculus
An introduction to Lambda Calculus is provided. The tutorial can be found at
[
docs/lambda-calculus.md
](
docs/lambda-calculus.md
)
## Extended Examples
More examples can be found in the test-suite, located at
[
test/Language/Lambda/Examples
](
test/Language/Lambda/Examples
)
# Implementation
A simple implementation of lambda calculus is included. It is written in Haskell
and is implemented to be as easy to follow, at the possible expense of performance.
## Building
In order to build, you will need
*
GHC
*
cabal-install
*
stack
Build:
stack build
Then install:
stack install
## Running
Once the program is installed, you simply run it:
lambda-calculus
This will open a repl (read-eval-print loop) prompt
Lambda Calculus (0.2.0)
Type :h for help
You can start typing lambda calculus expressions and the program will evaluate them
and print the result. Here are a few examples:
Lambda Calculus (0.2.0)
Type :h for help
λ > \x. x
λx. x
λ > (\x. x) n
n
λ > (\n f x. f (n f x)) (\f x. f (f x))
λf x. f (f (f x))
λ > :q
You can exit by typing the command :q.
## Running Tests
In order to run the testsuite, run
stack test
# Author
**Sean Gillespie**
[
sean@mistersg.net
](
sean@mistersg.net
)
# License
This project is licensed under the MIT License. See
[
LICENSE
](
LICENSE
)
This diff is collapsed.
Click to expand it.
README
.md
→
doc/lambda-calculus
.md
+
0
−
0
View file @
e830cb6e
File moved
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment