APL: An Array Oriented Programming Language (2018)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • BQN

    An APL-like programming language. Self-hosted!

  • ivy

    ivy, an APL-like calculator (by robpike)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • QNial7

    The NIAL language environment

  • I guess you're referring to this: https://github.com/danlm/QNial7

  • odetoj

    Rewrite of Arthur Whitney's one-page J interpreter in Rust

  • Well, I read:

    http://nsl.com/papers/origins.htm

    https://github.com/zserge/odetoj

    And watched a few neat videos on the concepts of APL. There's a black and white one on YouTube of a British fellow introducing it using a typewriter. :)

    I vaguely get it, my beef with BQN besides being slow is that it is fledgling. And so I have no real excuse to play with it. Otherwise it seems like a holy grail, like, woah finally an APL/J/K to rule them all.

    I've seen enough wide eyed salty lispers telling tales of white whales to fear for my sanity going on this quest.

  • Co-dfns

    High-performance, Reliable, and Parallel APL

  • There are many styles of APL, not just due to its long history, but also because APL is somewhat agnostic to architecture paradigms. You can see heavily imperative code with explicit branching all over the place, strongly functional-style with lots of small functions, even object-oriented style.

    However, given the aesthetic that you express, I think you might like https://github.com/Co-dfns/Co-dfns/. This is hands-down my favorite kind of APL, in which the data flow literally follows the linear code flow.

  • rsbqn

    An embeddable BQN virtual machine in rust. Stay tuned!

  • futhark

    :boom::computer::boom: A data-parallel functional programming language

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ngn-k-tutorial

    An ngn/k tutorial.

  • To add to the list, this one is pretty good;

    https://github.com/razetime/ngn-k-tutorial

  • TablaM

    The practical relational programing language for data-oriented applications

  • In a round-about fashion I get interested in array languages because the relational model.

    I tough an array is "just a column" and somewhere I get to K and that leads me to my current attempt to build a language that make both paradigms work: https://tablam.org

    I think each paradigm complement and "fill" the mission pieces the other has. For example, you can name columns, that is alone very useful!

    BTW kdb+ is also on this direction but the combination is `array then SQL/Relational` and mine is `Relational then Array`.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts