owainlewis/bridge
A type-safe, stack-based functional programming language
{ "createdAt": "2020-06-27T19:57:18Z", "defaultBranch": "master", "description": "A type-safe, stack-based functional programming language", "fullName": "owainlewis/bridge", "homepage": "", "language": "OCaml", "name": "bridge", "pushedAt": "2025-02-19T16:49:29Z", "stargazersCount": 16, "topics": [], "updatedAt": "2025-10-06T09:07:23Z", "url": "https://github.com/owainlewis/bridge"}Bridge
Section titled “Bridge”Bridge is a stack based experimental functional programming language inspired by Joy. It makes heavy use of combinators to perform programming operations.
apt install -y opamopam install dune menhir utopExample Program
Section titled “Example Program”module example ( main);
import qualified prelude as P;
let main = "HELLO" "WORLD" concat println;
mainGetting Started
Section titled “Getting Started”Start a REPL session with
➜ bridge git:(master) ✗ make runBridge Interpreter. 2020 Owain Lewis> 1010> :exitBye ...To run a program from a file
➜ bridge git:(master) ✗ ./_build/default/bin/bridge.exe bridge/example.bridgeCombinators Reference
Section titled “Combinators Reference” [A] zap == [A] i == A [A] unit == [[A]] [A] rep == A A [A] m == [A] A [A] run == A [A] [A] dup == [A] [A] [B] [A] k == A [B] [A] z == B [B] [A] nip == [A] [B] [A] sap == A B [B] [A] t == [A] B [B] [A] dip == A [B] [B] [A] cat == [B A] [B] [A] swat == [A B] [B] [A] swap == [A] [B] [B] [A] cons == [[B] A] [B] [A] take == [A [B]] [B] [A] tack == [B [A]] [B] [A] sip == [B] A [B] [B] [A] w == [B] [B] A [B] [A] peek == [B] [A] [B] [B] [A] cake == [[B] A] [A [B]] [C] [B] [A] poke == [A] [B] [C] [B] [A] b == [[C] B] A [C] [B] [A] c == [B] [C] A [C] [B] [A] dig == [B] [A] [C] [C] [B] [A] bury == [A] [C] [B] [C] [B] [A] flip == [A] [B] [C] [C] [B] [A] s == [[C] B] [C] A [D] [C] [B] [A] s' == [[D] C] A [D] B [D] [C] [B] [A] j == [[C] [D] A] [B] A[E] [D] [C] [B] [A] j' == [[D] A [E] B] [C] B