Prathyush Profile picture
Map maker @patternatlas ∩ Interface Engineer @prabros

Jan 24, 2021, 26 tweets

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.

Keep scrolling