All Projects ā†’ owo-lang ā†’ MLPolyR

owo-lang / MLPolyR

Licence: other
The MLPolyR programming language, revived

Programming Languages

Standard ML
205 projects
c
50402 projects - #5 most used programming language
Lex
420 projects

Projects that are alternatives of or similar to MLPolyR

voile-rs
Dependently-typed row-polymorphic programming language, evolved from minitt-rs
Stars: āœ­ 89 (+323.81%)
Mutual labels:  type-theory, extensible
spax
[WIP] šŸš€ a framework for building frameworks
Stars: āœ­ 22 (+4.76%)
Mutual labels:  extensible
twittbot
An advanced Twitter bot.
Stars: āœ­ 14 (-33.33%)
Mutual labels:  extensible
cicada
Cicada Language
Stars: āœ­ 9 (-57.14%)
Mutual labels:  type-theory
TypeTopology
Logical manifestations of topological concepts, and other things. This version adopts the univalent point of view.
Stars: āœ­ 132 (+528.57%)
Mutual labels:  type-theory
koa-better-router
ā¤ļø Stable and lovely router for `koa`, using `path-match`. Foundation for building powerful, flexible and RESTful APIs easily.
Stars: āœ­ 88 (+319.05%)
Mutual labels:  extensible
shapesafe
SHAPE/Sāˆ€Fāˆƒ: static prover/type-checker for N-D array programming in Scala, a use case of intuitionistic type theory
Stars: āœ­ 17 (-19.05%)
Mutual labels:  type-theory
parse-commit-message
(!! moved to tunnckoCore/opensource !! try `parse-commit-message@canary`) Parse, stringify or validate a commit messages that follows Conventional Commits Specification
Stars: āœ­ 31 (+47.62%)
Mutual labels:  extensible
variant
Variant types in TypeScript
Stars: āœ­ 147 (+600%)
Mutual labels:  type-theory
tt-in-cubical
Type Theory in Type Theory using Cubical Agda
Stars: āœ­ 12 (-42.86%)
Mutual labels:  type-theory
ink
The flexible TypeScript Markdown editor that powers https://octo.app
Stars: āœ­ 82 (+290.48%)
Mutual labels:  extensible
Idris-HoTT
Homotopy Type Theory proofs in Idris
Stars: āœ­ 19 (-9.52%)
Mutual labels:  type-theory
theon
Declarative library to build Web API clients & SDKs for the browser and node.js
Stars: āœ­ 50 (+138.1%)
Mutual labels:  extensible
cat
A categorical semantics library in Agda.
Stars: āœ­ 16 (-23.81%)
Mutual labels:  type-theory
powsybl-core
A framework to build power system oriented software
Stars: āœ­ 87 (+314.29%)
Mutual labels:  extensible
SymmetryBookFormalization
Univalent mathematics in Agda
Stars: āœ­ 117 (+457.14%)
Mutual labels:  type-theory
ugo
An extensible and composable cli
Stars: āœ­ 12 (-42.86%)
Mutual labels:  extensible
path semantics
A research project in path semantics, a re-interpretation of functions for expressing mathematics
Stars: āœ­ 136 (+547.62%)
Mutual labels:  type-theory
pacco
A bundler for modular and extensible web projects.
Stars: āœ­ 16 (-23.81%)
Mutual labels:  extensible
Isabelle-HoTT
An experimental implementation of homotopy type theory in the interactive proof assistant Isabelle
Stars: āœ­ 30 (+42.86%)
Mutual labels:  type-theory

MLPolyR

This is a ML dialect with first-class cases (first-class pattern matching) and row-polymorphism that solves the expression problem directly with language features.

Build

Install SML/NJ, tested with v110.75 and v110.87 on Linux (make sure it has ML-lex) and build with this command:

make

and that's it.

Usage

There's a LaTeXed PDF manual is in doc/, which is excatly the same as language spec.

There are also a compiler overview, a paper, and a PhD thesis about MLPolyR.

For code editing, we've created an IntelliJ plugin for MLPolyR.

Current Status

It builds and produce PPC assembly code, which cause failure upon linking phase.

Call mlpolyrc with command line switch -S emits assembly code without linking, which is a viable option if you only want typechecking programs. Other switches all requires linking.

Now you can call with -t to typecheck without doing codegen.

Now you use -e to eval. However, I/O operation is not yet supported, which means all you can do is integer arith stuff.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].