rel:: [[Software Engineering]]
# Programming Languages
## Compilers and Parsers
- [crafting interpreters](https://craftinginterpreters.com/contents.html)
- [[Lisp in Small Pieces|LiSP]]
- [Cornell CS 6120 Advanced Compilers](https://www.cs.cornell.edu/courses/cs6120/2020fa/self-guided/) ^e8c1af
- [github](https://github.com/sampsyo/cs6120)
## General Purpose
- [[Clojure]]
- [[golang]]
- [[TypeScript]]
- [[Java]]
- [[Lisp]]
## Specialty
- [[SQL]]
- [[regex]]
## Radar
### General Purpose
- [Flix](https://flix.dev/) \- Flix is a principled functional, imperative, and logic programming language developed at [Aarhus University](https://cs.au.dk/), at the [University of Waterloo](https://uwaterloo.ca/), and by a community of [open source contributors](https://github.com/flix/flix). Flix is inspired by OCaml and Haskell with ideas from Rust and Scala. Flix looks like Scala, but its type system is based on Hindley-Milner. Two unique features of Flix are its polymorphic effect system and its support for first-class Datalog constraints. Flix compiles to [[JVM]] bytecode, runs on the Java Virtual Machine, and supports full tail call elimination. A VSCode plugin for Flix is available.
- [unison](https://www.unisonweb.org/) \- Unison is an open source functional programming language based on a simple idea with big implications: code is content-addressed and immutable.
- [zig](https://ziglang.org/) ^f882b6
- implementation language for [[TigerBeetle]]
### Specialty
- [[dhall-lang]] \- programmable configuration language
- [[Malloy]] \- query language
- [[PRQL]] \- query language
- [[cue-lang]] \- data constraints, configuration, unifies schema and data
- [[nickel]] - another programmable configuration language, [[nix]]-affiliated
## Concepts
### Coroutines
- [[John McCarthy]]'s GOPHER, samefringe
- counter case for coroutines
- [Storing Data in Control Flow](https://research.swtch.com/pcdata#gopher) ([readwise link](https://readwise.io/reader/shared/01h534d8v5a9eym5h18vc7ntcw))
- [Coroutines for Go](http://research.swtch.com/coro) ([readwise link](https://readwise.io/reader/shared/01h5jn7c977bmh05zn30wve5bt)) [[golang]]