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]]