└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # swift-compiler-stuff 2 | A scraped list of resources/inspiration for learning programming lang implementation in Swift 3 | 4 | ### Why? 5 | 6 | I've become fascinated with programming language implementation and design and I think it would be amazing to make a contribution to an open source language one day 😅. Just a list of random resources and inspiration for me as I begin this exploration. Most references are related to Swift, as it's the language I'm most comfortable with. 7 | 8 | 9 | ### Repositories 10 | 11 | 

https://github.com/marciok/Mu - It's a Swift playground explaining how to create a tiny programming language named Mu 12 | 13 | 

https://github.com/louisdh/lioness - The Lioness Programming Language 14 | 15 | 

https://github.com/louisdh/cub - The Cub Programming Language 16 | 17 | 

https://github.com/silt-lang/silt - An ML-like programming language. 18 | 19 | 

https://github.com/trill-lang - A type safe, compiled language inspired by (and written in) Swift 20 | 21 | 

https://github.com/trill-lang/Kaleidoscope - Kaleidoscope is an LLVM language for writing tutorials. 22 | 23 | 

https://github.com/harlanhaskins/Kaleidoscope-Swift - A compiler for the Kaleidoscope sample project, written in Swift 24 | 25 | 

https://github.com/bencochran/Kaleidoscope - Simple programming language written in Swift and compiled with LLVM 26 | 27 | 

https://github.com/kai-language/kai - An expressive low level programming language http://docs.kai-lang.org 28 | 29 | 

https://github.com/joewillsher/Vist - The Vist programming language 30 | 31 | 

https://github.com/dcutting/Song - Song is a terse functional programming language. 32 | 33 | 

https://github.com/alexito4/slox - Swift implementation of a Lox interpreter 34 | 35 | 

https://github.com/hashemi/slox - Lox tree-walking interpreter written in Swift - Based on Part II of Bob Nystrom's Book "Crafting Interpreters" 36 | 37 | 

https://github.com/hashemi/bslox - Lox bytecode VM written in Swift - Based on Part III of Bob Nystrom's Book "Crafting Interpreters" 38 | 39 | 

https://github.com/eirikvaa/slox - Swift implementation of the Lox programming language as seen in the Crafting Interpreters book by Bob Nystrom 40 | 41 | 

https://github.com/yanagiba/swift-transform - A source-to-source compiler that transforms Swift code and produces the equivalent source code in other programming languages. http://yanagiba.org/swift-transform 42 | 43 | 

https://github.com/SlayterDev/DeafShark - The DeafShark Programming Language implemented in Swift, Objective-C++, and LLVM http://slayterdev.github.io/DeafShark 44 | 45 | 

https://github.com/kyouko-taiga/anzen - The Anzen programming language. 46 | 47 | 

https://github.com/bencochran/Kaleidoscope - Simple programming language written in Swift and compiled with LLVM 48 | 49 | 

https://github.com/orbit-lang/Orbit - Orbit programming language 50 | 51 | 

https://github.com/jweinst1/Pigeon - A streamable, fast interpreted programming language 52 | 53 | 

https://github.com/BrettRToomey/Llama - A programming language made in Swift 3 54 | 55 | 

https://github.com/marciok/Fabienne - Fabienne is a programming language, inspired by kaleidoscope. 56 | 57 | 

https://github.com/caosuyang/Swizzle - Swizzle - The Swift Programming Language, Started in the Swift, version 3.1 58 | 59 | 

https://github.com/michaelkent94/willow - willow is a programming language 60 | 61 | 

https://github.com/vinivendra/jokr - The Jokr Programming Language. 62 | 63 | 

https://github.com/jweinst1/fenon - The abstract programming language 64 | 65 | 

https://github.com/kyouko-taiga/void-lang - The void programming language 66 | 67 | 

https://github.com/josephessin/Mindnumb - Mindnumb Compiler for the Mindfudge Programming Language 68 | 69 | 

https://github.com/jweinst1/CornFlake - A small programming language interpreted in Swift 70 | 71 | 

https://github.com/ZidPlan/zid-swift - ZID implementation in Swift programming language 72 | 73 | 

https://github.com/luosheng/HQ9Plus - HQ9+ is a joke programming language. 74 | 75 | 

https://github.com/emlai/gaia - A statically duck-typed functional programming language. Pre-alpha. https://emlai.github.io/gaia/ 76 | 77 | 

https://github.com/jpeinelt/kopke - Programming language implemented in Swift for the LLVM 78 | 79 | 

https://github.com/anayini/swiftlox - Implementation of the Lox programming language in Swift 80 | 81 | 

https://github.com/ninguid-owl/Invocat - A nondeterministic, generative programming language for aleatory text. 82 | 83 | 

https://github.com/dcutting/song - Song is a terse, functional programming language with a Ruby-like syntax. 84 | 85 | 

https://github.com/paulgriffiths/calclang - Implementation of a simple mathematical programming language environment for OS X. 86 | 87 | 

https://github.com/xebia/xtime-ios - An experiment in (at least one) monkey(s), typewriter(s) and the Swift programming language. 88 | 89 | 

https://github.com/hashemi/FlyingMonkey - Monkey interpreter written in Swift - Based on Thorsten Ball's Book "Writing an Interpreter in Go" 90 | 91 | 

https://github.com/DJBen/ShakespearePL-Swift - An implementation of the parser of Shakespeare programming language, in Swift. 92 | 93 | 

https://github.com/fferri/ND.swift - A minimal interpreted programming language inspired by Algol, LISP, Golog, and others. 94 | 95 | 

https://github.com/agisilaos/CompilerSwift - Building a compiler in Swift with LLVM 96 | 97 | 

https://github.com/olenhad/sisp - A Simple Lisp LLVM Compiler. Implemented in Swift 98 | 99 | 

https://github.com/S2dentik/Cobain - Simple language built on top of LLVM 100 | 101 | 

https://github.com/jtrivedi/Teddy-Compiler - A simple, educational compiler implemented in Swift. 102 | 103 | 

https://github.com/mkchoi212/LBAC-Swift - Let's Build a Compiler by Jack Crenshaw translated to Swift Playgrounds 104 | 105 | 

https://github.com/apbendi/bitsy-swift - A small compiler, written in Swift, compiling the Bitsy language 106 | 107 | 

https://github.com/evanjhopkins/Compiler - A compiler written in Swift to compile Alan++ into machine code 108 | 109 | 

https://github.com/rsrbk/Compiler - Simple compiler written on swift 110 | 111 | 

https://github.com/apbendi/bitsyspec - Bitsy: The best language to implement when writing your first compiler or interpreter 112 | 113 | 

https://github.com/livioso/cpib - 🦄 A tiny compiler written in Swift. 114 | 115 | 

https://github.com/yanagiba/swift-transform - A source-to-source compiler that transforms Swift code and produces the equivalent source code in other programming languages. http://yanagiba.org/swift-transform 116 | 117 | 

https://github.com/HaniKazmi/swift-compiler - A compiler for a small turing complete language, written in Swift. 118 | 119 | 

https://github.com/JadenGeller/CS-81-Project - Compiler Project 120 | 121 | 

https://github.com/andrewcb/swiftemplate - A compile-time HTML templating system for Swift, consisting of a compiler that produces Swift code 122 | 123 | 

https://github.com/gwk/ploy - Ploy language compiler (ongoing experiment, in Swift). 124 | 125 | 

https://github.com/vinivendra/Tiger - Repository for storing the Tiger exercises (modern compiler implementation in ML) in Swift/C 126 | 127 | 

https://github.com/Krillere/Expressions - Compiler for the Expression language in Swift. Expression is a simple functional programming language, explained in the readme 128 | 129 | 

https://github.com/jweinst1/Noodle - A small, interpreted programmling language written in Swift 130 | 131 | ### LLVM 132 | 133 | 

https://github.com/llvm-swift/LLVMSwift - A Swift wrapper for the LLVM C API (version 5.0) 134 | 135 | ### Transpiler 136 | 137 | 
https://github.com/jweinst1/Peryton - A Python to Swift Transpiler 138 | 139 | 

https://github.com/shift-js/shift-js - Swift to JavaScript transpiler 140 | 141 | 

https://github.com/ankurp/swift-js - Swift to JS Transpiler 142 | 143 | 

https://github.com/moshbit/Kotlift - Kotlift is the first source-to-source language transpiler from Kotlin to Swift 144 | 145 | 

https://github.com/BenchR267/Get-Schwifty - Get Schwifty is a self-hosted Swift transpiler and was originally build for my WWDC scholarship application. 146 | 147 | 

https://github.com/BenchR267/SwiftTranspiler - Example implementation for a Swift -> Javascript transpiler with ParserCombinator. 148 | 149 | ### Resources 150 | 151 | 

https://tomassetti.me/resources-create-programming-languages/ - 68 Resources To Help You To Create Programming Languages 152 | 153 | 

https://github.com/aalhour/awesome-compilers - 😎 Curated list of awesome resources on Compilers, Interpreters and Runtimes. 154 | 155 | 

https://www.skilled.io/u/playgroundscon/building-a-compiler - How to Clang Your Dragon 🐉 Building a Compiler with LLVM - by Harlan Haskins 156 | 157 | 

http://craftinginterpreters.com/contents.html - A handbook for making programming languages 158 | 159 | 

https://beautifulracket.com - beautiful racket, how to make your own programming languages with racket 160 | 161 | 

https://www.microsoft.com/en-us/research/publication/implementing-functional-languages-a-tutorial/ - Implementing functional languages: a tutorial 162 | --------------------------------------------------------------------------------