Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Yet Another Stupid Programming Language
tree: 014929513a

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
yaspl
.gitignore
README.md
case-clause.rkt
datatypes.rkt
evaluate-system-f.rkt
evaluator.rkt
exports.rkt
final-machine.rkt
intermediate-ast.rkt
intermediate-manipulations.rkt
lambda-machine.rkt
lifted-anf-ast.rkt
lifted-manipulations.rkt
names.rkt
parser.rkt
source-ast.rkt
source-manipulation.rkt
system-f.rkt
test.rkt
typecheck-system-f.rkt
unique.rkt
yaspl.rkt

README.md

Yet Another Stupid Programming Language

  • Static type-checking
  • Purity (or at least no mutation)
  • Algebraic Data Types
  • Type classes
  • Better existential types

Numeric Context

Haskell always drives me batty with fromIntegral casts everywhere. yaspl instead uses numeric contexts, where all math in a context is presumed to be of that type.

(int32 (+ 2147483647 2147483647))
-2
(num (+ 2147483647 2147483647))
4294967294

yaspl also includes explicit casts:

(float (->int32 (* 1.5 2.1)))
3.0
Something went wrong with that request. Please try again.