Prathyush Profile picture
Jan 24, 2021 26 tweets 24 min read Read on X
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/ Cover art of Programming la...
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. Logo of Pikelet from the Gi...
@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… Screenshot of Koka Language
@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 Screenshot of Factor on Mac...
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 Screenshot of a program in ...
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 Screenshot from the 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! Screenshot of writing in Ca...PDF exported from the langu...
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 Screenshot from the core la...Screenshot of the language ...
Kitten is a statically typed concatenative language aimed at systems programming.

Website: kittenlang.org
Repo: github.com/evincarofautum… Kitten code screenshot
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… Screenshot from Jeffrey’s P...Screenshot from Jeffrey’s P...
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… Screenshot of Gottlob progr...
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… Arend logo
@ice1000kotlin Zap by Graham McNeill looks like a neat indie compile-to-JS language.

Website: gjmcn.github.io/zap/
Repo: github.com/gjmcn/zap Screenshot of Zap website
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 Screenshot of Beef IDE
Wasp (@WaspLang) by @MartinSosic and @MatijaSosic looks like an interesting take on building web applications: wasp-lang.dev Screenshot of Wasp DSL
@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 Screenshot of Lain homepageScreenshot of Ronin
Pretty interesting language this one — Hamler is a Haskell style functional programming language that runs on the Erlang VM: hamler-lang.org Screenshot from https://www...
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… Image of organization of Or...
Caramel by @leostera is a type-safe functional language that leverages OCaml compiler for the ErlangVM! Check it out here: caramel.run Screenshot from the front p...
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 Screenshot of the Ink blog ...
@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/ Screenshot of Lucerne, the ...Screenshot of Sistine, the ...Screenshot of Nightvale, th...Screenshot of Eliza, the ch...
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 Screenshot from Github page...

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Prathyush

Prathyush Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @prathyvsh

Feb 16, 2022
TIL that light is an eigenvector of a Lorentz Transformation! I think this means that light plays the role of an invariant when you try to shift between two bases. For example: something like say truth value of an expression when you shift between two logical systems studying it.
I am right now in the middle of researching something else and will have to return to this later, but this page has some real nice pedagogic material on Special Relativity: jila.colorado.edu/~ajsh/sr/sr.ht…
Here is another animation from Wikipedia. Line crossing the vertical axis are sequential events and the line crossing horizontal axis simultaneous ones. The diagonals that remains invariant indicates light. Funny how this shows connections with linear algebra and order theory.
Read 8 tweets
Dec 29, 2021
Can’t claim to have even remotely understood this article with the intended precision, but I just loved the exposition of ”Are deep networks just kernel machines?” here: m0nads.wordpress.com/2021/05/09/are… Figure 2. Kernel method fro...Figure 3. Kernel trick from...Figure 4. Weights paths fro...Figure 6. Deep network weig...
Stumbled on this discrete visualization of fundamental theorem of calculus by @PeterSaveliev and thought it was amazing!

There is more of such goodness in his lecture notes: dropbox.com/s/p8hxmgaygbb7… Visualization of fundamenta...
This is a neat video to watch on how Leibniz conceived his version of fundamental theorem of calculus using the harmonic triangle and telescoping sums:
Read 4 tweets
Dec 23, 2021
A really cool visualization of Fermat’s Last Theorem by Andrew J. Hanson from 1990! (Part 1/2)

Source: legacy.cs.indiana.edu/~hansona/Ferma…
This is the second part where Fermat surfaces are used to create a different visualization (Part 2/2).

Key takeaway: You can vary the geometric framework in which visualization is conducted to generate distinct forms for the curves.
Also, totally worth exploring is this awesome WebGL environment made by Hanson for exploring Fermat surfaces: cgi.soic.indiana.edu/~hansona/4D/4D… Image showing a Fermat surf...
Read 4 tweets
Nov 14, 2021
Matrices can be visualized as functions! This enables us to see matrix multiplication as function composition. In this thread let us take a visual tour of these mathematical ideas. To get this thread as a PDF: patternatlas.com/v0/matrices-as… Cover image with the title ...
I stumbled on this idea as a part of my logical explorations. I saw how the matrix way of representing things has an intertwining between simultaneity and sequentiality which is awesome! Let us start uncovering the ideas here by representing matrices as pixel grids. Matrices as Pixel Grids. Sh...
Let us label the matrix and understand how to represent arbitrary connections. A dark square in the pixel grid means a connection exists between a row element and a column element. A row element can be thought as an input and the corresponding column elements its outputs. Matrix Mappings: Shows a pi...
Read 37 tweets
Nov 12, 2020
Design ∩ Code Systems: Curating a thread on a topic I’m really interested in. Tools that blur the line between designing and engineering. Hope you find something inspiring here: patternatlas.com/v0/models-of-i…
Cover design for Design ∩ Code Systems
@bahrami_ Nodebox (@nodebox) is a node based environment for generative data / interactive visualizations:

This people generator is an interesting application of it:

h/t to @tautau_co for reminding me. nodebox.net/node/
nodebox.net/gallery/2014/0…

Screenshot of Nodebox3
Generated graphics
Matt (@mattdesl) is one of my favourite generative artists and he has produced a slew of great art and software products over the years. Here is him testing out a new environment for his canvas-sketch toolkit:
Read 76 tweets
Nov 9, 2020
Awesome ontology map of Mathematics by Daniel Tubbenhauer here: dtubbenhauer.com/Talk-Dublin-20…

After my explorations in the last few years, I arrived at an almost same global partitioning except that I had geometry and topology united and number theory featuring as a prominent circle. Map of mathematics
I found out previously that Category Theory derives from Kant’s work: but looks like Lawvere was attempting to formalize Hegel, who was inspired by Kant’s work!

Have a look at this nLab page to see how deep the rabbit hole runs: ncatlab.org/nlab/show/Scie… Screenshot from nLab
This is in the philosophical realm but use of “relay signs” by artists and mathematicians as sharing the same protogeometry is an interesting take in this article. It draws links between the work of Peirce, Grothendieck, Riemann among others: glass-bead.org/article/multil…
Read 76 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(