array VS BQN

Compare array vs BQN and see what are their differences.


Simple array language written in kotlin (by lokedhs)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
array BQN
6 24
34 425
- -
9.4 9.8
18 days ago 8 days ago
Kotlin KakouneScript
MIT License ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of array. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-12.
  • Ngn/k (free K implementation)
    17 projects | | 12 May 2022
    In some of the example programs written in KAP (my APL derivative), I tried to write it in a style that makes people unfamiliar with the array style more comfortable.

    This code could of course have been written in a style similar to some of the more extreme examples, and they would have been significantly shorter in that case.

  • Why would a Java prime sieve run at only half its speed _some_ of the times?
    9 projects | | 5 Feb 2022
    This issue isn't directly related to BitSet. I have observed the same thing in my programming language interpreter that runs on the JVM (well, it's written in Kotlin multiplatform so it runs on JS and Natively as well).

    I start the interpreter and measue the time it takes to all all then numbers below 1000000000.

    The first time I run it after starting the interpreter it always takes 1.4 seconds (within 0.1 second precision). The second time I measure the time it takes 1.7, and for every invocation following that it takes 2 seconds.

    If I stop the interpreter and try again, I get exactly the same result.

    I have not been able to explain this behaviour. This is on OpenJDK 11 by the way.

    If anyone wants to test this, just run the interpreter from here:

    To run the benchmark, type the following command in the UI:

        time:measureTime { +/⍳1000000000 }
  • Is APL Dead?
    7 projects | | 20 Oct 2021
  • Symbolic Programming
    3 projects | | 8 Aug 2021
  • Try APL
    7 projects | | 10 Jun 2021
    I'm the opportunity to mention my project that implements a language that is inspired by, and is mostly compatible with APL. It has some major differences, such as being lazy evaluated and providing support for first-class functions.

    It also supports defining syntax extensions which is used by the standard library to provide imperative syntax, which means you can mix traditional APL together with your familiar if/else statements, etc.

    At this point there isn't much documentation, and the implementation isn't complete, so I'm not actually suggesting that people run out to try it unless they are really interested in APL. I just took this opportunity since APL is mentioned so rarely here.

    There is an example of a graphical mandelbrot implementation in the demo directory, that may be interesting.

  • Why am I wasting time on EndBASIC?
    3 projects | | 23 Jan 2021
    This post mirrors my feeling on this topic as well. Just like the author, I'm also working on a programming language which will not be used by a lot of people.

    In fact, having a lot of users would make things complicated as I would have to stop making incompatible changes if I want to try something new.

    Designing your own programming language is such a nice hobby, and something I believe a lot of programmers do. In fact, I would like to see links to other people's programming languages, just to see what people are playing around with at the moment.

    Here is my project:


Posts with mentions or reviews of BQN. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-09.
  • Looking for grid library
    2 projects | | 9 May 2022
    The best solution for general problems of this kind would be an array processing language (BQN is my personal favorite). However, when it comes to games there are only a few of those with bindings in mainstream languages, and their use may not be straightforward.
  • Can you settle this for me once and for all? What can emacs do that neovim+plugins can't?
    6 projects | | 8 May 2022
    If someone were to write a reddit post asking "what can BQN do that Haskell can't?" then one thing that I can say is that "while both are turing complete languages and one can implement anything the other can, in Haskell you have a very strong type system that bqn simply does. not. have, which allows for (a) self-documenting code, (b) easy refactoring, and (c) easy future proofing and debugging... meanwhile BQN allows for orders of magnitude more concise source code that is simply impossible in Haskell. You can write a program in bqn 15 lines that would take 200 in Haskell"
  • Why APL is a language worth knowing
    3 projects | | 31 Mar 2022
    Stories please! What did the closures do to you?

    Hopefully this won't be seen as too combative, but I feel like there are a few people in the array community giving me some pretty strong conclusions that they don't really have the experience to back up (Aaron wrote[0] 17 lines of array compiler, and says the low-abstraction approach he used is the only way to develop sustainably. Cool. I wrote[1] 350 lines of array compiler following his style, and I disagree[2]). At the same time, my experience only goes so far (there's no way I would have invented the array style compiler!), and clearly you arrived at these conclusions somehow. So is there a chance you'd share the observations that led you that way?

    On my end, I was actually introduced to a little object-oriented programming in J when Henry suggested using it for a simulation project. I used it, but I don't think I really got itβ€”just a weird way to organize data. And then in college I had to learn objects-only Java. Not good. But later I worked some with Node.js, and its module system was pretty nice: no name conflicts, easy to share code! Some way into BQN development, I figured out (with some help from a Common Lisp programmer) a way to add modules with an APL-y syntax, and something magic happened. I got objects[3] too! I think I've done about as much OOP in BQN as anywhere else, and I feel like I understand it a lot better now.

    So, this is my experience with Lisp-family features and APL. Fits like a glove, programming is easier and more fun. I mix and match array, functional, and object-oriented styles however I want. Did I lose coherence? When I translate my old J code it comes out shorter and cleaner and without exec (".) everywhere. But I still don't get why I should want the language I use to not support mutability rather than just default to immutability. Did I fail to understand something in J when I had the chance?





  • Does a language like this exist?
    3 projects | | 8 Feb 2022
    The array-handling characteristics of APL (or more recently BQN) can be ergonomically emulated in libraries, (usually with greater readability.) The higher-order functional programming characteristics of APL-languages are present in most modern high-performance languages, e.g. Rust, C++. Also things like Futhark exists.
  • Barriers to APL Adoption
    4 projects | | 21 Jan 2022
    BQN is too new for your criteria, but it's got more hype than any APL family language in recent memory. I'd be interested to see how it fares in a few years.
  • AoC 2021 completed! - Flavio Poletti
    1 project | | 26 Dec 2021
    I used BQN for the solutions. I'm a general fan of array languages. Many BQN users were doing AoC, and the days which seem most similar have to be the ones where more builtins are common. BQN gives a small set of basic, powerful tools which can solve any problem, and raku is vast and sprawling with tons of convenient things to program with. The philosophies are quite different.
  • What is your favorite programming language that isn't Haskell?
    4 projects | | 22 Dec 2021
    I've been enjoying programing in BQN recently, the documentation/error messages are better than other array languages I've tried. I think it helped me find different solutions to problems for advent of code this year that I wouldn't have seen when I had a similar problem in Rust/Python.
  • An die Informatiker und sonstigen Computerbegabten: Welche guten Ressourcen zum Erlernen von C++ und C# ?
    4 projects | | 20 Dec 2021
  • -πŸŽ„- 2021 Day 1 Solutions -πŸŽ„-
    252 projects | | 30 Nov 2021
    252 projects | | 30 Nov 2021
    Here is link number 1 - Previous text "BQN"

What are some alternatives?

When comparing array and BQN you can also consider the following projects:

APL - another APL derivative

Co-dfns - High-performance, Reliable, and Parallel APL

Kbd - Alternative unified APL keyboard layouts (AltGr, Backtick, Compositions)

type-system-j - adds an optional type system to J language

sbcl - Mirror of Steel Bank Common Lisp (SBCL)'s official repository

ride - Remote IDE for Dyalog APL


TablaM - The practical relational programing language for data-oriented applications

ngn-apl - An APL interpreter written in JavaScript. Runs in a browser or NodeJS.

pyret-lang - The Pyret language.

jelm - Extreme Learning Machine in J

april - The APL programming language (a subset thereof) compiling to Common Lisp.