Catalog of Programming Languages for the Enthusiast: Starting a curation on some of the cool indie / lesser known programming language projects I have been stumbling on.
You can get the full listing here: patternatlas.com/v0/pl/
Starting off with Pikelet by @brendanzab. It is a continuous source of inspiration to see Brendan starting from game dev and getting into deep type theory stuff! Check out his language Pikelet: github.com/pikelet-lang/p… and his twitter stream for updates on his work.
@brendanzab Koka is a strongly typed functional-style language with effect types and handlers: koka-lang.github.io/koka/doc/index…
I encountered Koka when researching about algebraic effects. Papers from Daan Leijen on its semantics and technical details are available here: microsoft.com/en-us/research…
@brendanzab Factor is a concatenative stack based programming language that supports interactive programming on multiples platforms. It comes with a feature rich library and extensive documentation. Check it out here: factorcode.org
Enso (@enso_org) takes a hybrid visual/textual approach towards programming. It is interesting to see them iterate from Luna to the current minimal aesthetic. Check out their dev diary here: medium.com/@enso_org/enso…
Repo: github.com/enso-org/enso
@enso_org Pony (@ponylang) is an actor model high performance language designed for the challenges posed by concurrency by Sylvan Clebsch and team.
There’s a collection of good videos on it here: codesync.global/media/top-10-p…
Repo can be found here: github.com/ponylang/ponyc
Datafun is a language made by @arntzenius along with Neel Krishnaswami. It generalizes Datalog with higher order functional programming.
Website: rntz.net/datafun/
Repo: github.com/rntz/datafun
@arntzenius Catala by @DMerigoux and team is a DSL for deriving faithful-by-construction algorithms from legislative texts. It is a pretty intriguing one in that it allows for describing the logical structure of laws and compiles down to a lawyer-readable PDF format in literate style!
Imp by Jamie Brandon is envisioned to be a programming environment for working with structured data across multiple platforms. It is still in an experimental phase, but already home to a few cool ideas.
Read about it here: scattered-thoughts.net/writing/imp-in…
Repo: github.com/jamii/imp
Kitten is a statically typed concatenative language aimed at systems programming.
Website: kittenlang.org
Repo: github.com/evincarofautum…
Jon Purdy, author of Kitten language has given a talk on “Concatenative Programming: From Ivory to Metal” that describes the history, theory, and implementation of concatenative paradigm:
Dark by @paulbiggar and team is an environment for building backends instantly with structured feedback.
Website: darklang.com
Repo: github.com/darklang/dark
It has some interesting design decisions which are detailed in the dev blog here: blog.darklang.com
@paulbiggar Jeffrey Guenther (@jeffreyguenther) has done a Ph.D. thesis on subjunctive interfaces instrumenting Shiro — a programming language that allows you to explore parallel instantiations of designs simultaneously.
Repo: github.com/jeffreyguenthe…
Thesis: summit.sfu.ca/system/files/i…
This is more towards esoteric programming realm, but IRCIS by @batman_nair_ inspired by Befunge is an awesome take on programming using a 2D grid and multiple cursors which map to control flow.
Repo: github.com/batman-nair/IR…
Demo: batman-nair.github.io/IRCIS/samples/…
@batman_nair_ Frege invented the quantifier as a higher order function: Curiously enough there’s a programming language that allows you to write programs in Frege’s Begriffsschrift (Concept script) notation. Meet Gottlob by @gfish: attoparsec.com/artifacts/gott…
Arend is a theorem prover based on homotopy type theory. It natively supports higher inductive types and a version of cubical syntax.
Website: arend-lang.github.io
Repo: github.com/JetBrains/Arend
A tutorial on it by @ice1000kotlin is available here: ice1000.org/2020/05-14-Are…
@ice1000kotlin Zap by Graham McNeill looks like a neat indie compile-to-JS language.
Website: gjmcn.github.io/zap/
Repo: github.com/gjmcn/zap
Found a performance-oriented language called Beef in the wild. It is designed to provide high level ergonomics suitable for game development.
Website: beeflang.org
Repo: github.com/beefytech/Beef
Wasp (@WaspLang) by @MartinSosic and @MatijaSosic looks like an interesting take on building web applications: wasp-lang.dev
@WaspLang @MartinSosic @MatijaSosic Lain is a lisp dialect that is used as a templating and scripting engine at XXIIVV by @neauoire: wiki.xxiivv.com/site/lain.html It also powers their image processing tool Ronin: 100r.co/site/ronin.html
Pretty interesting language this one — Hamler is a Haskell style functional programming language that runs on the Erlang VM: hamler-lang.org
Orion is a high level purely functional programming language with a LISP Syntax: github.com/orion-lang/ori…
A small tutorial on it here: github.com/orion-lang/ori…
Caramel by @leostera is a type-safe functional language that leverages OCaml compiler for the ErlangVM! Check it out here: caramel.run
It’s just a great feeling when you find out someone has built their own programming language and is using it to bootstrap their own cool stuff like a raytracer, twitter client, chatbot, and more! Check out the awesome Ink language written by @thesephist: dotink.co
@thesephist Among the cool projects done with Ink, my favourites are:
1/ Lucerne: Twitter client
2/ Sistine: Static site generator
3/ Nightvale: Interactive notebook
4/ Eliza: Chatbot
Check out these and more on the projects page: dotink.co/docs/projects/
Kind by @MaiaVictr and team is a dependently typed programming language for theorem proving: uwu-tech.github.io/Kind/
It was previously developed under the name of “Formality” and Victor has written some neat posts on it here: medium.com/@maiavictor
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.