kona
april
Our great sponsors
kona | april | |
---|---|---|
10 | 52 | |
1,342 | 580 | |
- | - | |
1.6 | 7.3 | |
11 months ago | about 2 months ago | |
C | Common Lisp | |
ISC License | Apache License 2.0 |
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.
kona
- k on pdp11
- APLcart – Find your way in APL
- K: We need to talk about group
- Ngn/k (free K implementation)
- I wrote the least-C C program I could
-
Konna, my programming language
At first, I thought you were going to be talking about Kona which is another language. You may wish to consider a more unique name, though Kona isn't super well known.
-
Here's how 2 lines of APL code checked & fixed 1h of maths calculations on paper.
For anyone interested in using a language like APL that doesn't require special symbols, I'd recommend K. You can try it out using Kona.
-
Some thoughts on APLs (real or imagined) beauty, and the value of very concise languages (Twitter thread)
There are some open source implementations of J and K that you might enjoy.
april
-
Thinking in an Array Language
There are attempts to combine those...
April (Array Programming Re-Imagined in Lisp)
https://github.com/phantomics/april
> operations that apply to the whole array
like MAP and REDUCE, higher order functions are not really new to Lisp. In Common Lisp they are extended to vectors.
> list languages and array languages are quite different.
There are some common things like interactive use, functional flavor, etc.
- April
-
A Personal History of APL (1982)
There's also April APL: https://github.com/phantomics/april
Also the array language family seems to be stronger than ever with foss: ngn/k, BQN, uiua, and of course J but as you mentioned they're all different languages.
-
The C juggernaut illustrated (2012)
I love J and APL, but April takes the cake for me[1]. APL in Lisp.
I also prefer SPARK2014 instead of Rust if I am not going to use C. I've started learning Rust a few times. SPARK2014 is easier to get going for me, and it has been used to produce high-integrity software and real-world applications for over a decade, and more if you include Ada from which it sprang[2].
[1] https://github.com/phantomics/april
[2] https://www.adacore.com/about-spark
-
Erlang: The coding language that finance forgot
The one big use case was RabbitMQ in a messaging app, not HFT. I doubt Elixir even with Nx can compete with low-level HFT code. Python DL/ML code libraries are just wrappers around C too. Maybe if BeamAsm and Nx are used Elixir could be used for more numerical or not just distributed applications.
I've programmed in Python and Julia, and when I worked at an engineering (mechanical, entertainment engineering) company, Julia was great for its similarity to Matlab. I am a self-taught engineer, so I did not get pulled into Matlab in college.
Personally, I took to Erlang, so I could write plugins for Wings3D back in the early 2000s, but I never stuck with Erlang, or Wings3D (Blender3D was my choice and I even contributed to have it go opensource way back when). I like Erlang's syntax better for some reason, although Elixir's is beautiful too. I was not a Ruby programmer, and I had delved into Haskell and Prolog, so I think Erlang made more sense to me. I think Elixir has a lot more momentum behind it than Erlang, but at the root it's Erlang, so I think I'll stick with Erlang for BEAM apps. My favorite language is April[1] (APL in Lisp), and given my love of J, would be a better fit for any finance apps I might write. I am trying to convert some of the Lisp code in this book, "Professional Automated Trading: Theory and Practice" to April.
Maybe I'll write some equivalent Elixir code to compare.
[1] https://github.com/phantomics/april
-
Learn Lisp the Hard Way
I'm also very curious for hear from expert lispers. I've tried to find the sweat spot where lisp would fit better than what I already know: shell for glue and file ops, R for data munging and vis, python to not reinvent things, perl/core-utils for one liners. But before I can find the niche, I get turned off by the amount of ceremony -- or maybe just how different the state and edit/evaluate loop is.
I'm holding onto some things that make common lisp look exciting and useful (static typing[0], APL DSL[1], speed [2,3,4]) and really want to get familiar with structural editing [5]
[0] https://github.com/phantomics/april - APL dsl
-
The APL Programming Language Source Code (2012)
The 2 0 at the start of the APL line above controls the mirroring behavior. The second number can be set to 0 or 1 to choose which side of the image to mirror, while the 2 sets the axis along which to mirror. This will be 1 or 2 for a raster image but this function can mirror any rank of array on any axis.
April was used to teach image filtering in a programming class for middle-schoolers, you can see a summary in this video: https://vimeo.com/504928819
For more APL-driven graphics, April's repo includes an ncurses demo featuring a convolution kernel powered by ⌺, the stencil operator: https://github.com/phantomics/april/tree/master/demos/ncurse...
- I’m trying Advent of Code in APL and Common Lisp with April
-
I spent the last 2 months converting APL primitives into executable NumPy
#1: Thanks to J, I was able to get in the global Top 100 in the first day of Advent of Code. I've never done this before and I'm feeling a bit emotional. Thanks, J. #2: April 1.0 Is Released | 4 comments #3: BQNPAD — a BQN REPL with syntax highlighting and live evaluation preview | 8 comments
-
APL deserves its Renaissance too
APL + Lisp =
https://github.com/phantomics/april/ and yes it is used in production©!
> What pushed the development of April really is that April is used by a hardware startup called Bloxl (of which I am the CTO). There are other users but Bloxl is the flagship application.
https://www.arraycast.com/episodes/episode23-andrew-sengul
Bloxl in use: https://user-images.githubusercontent.com/3721004/159686845-... See also the ELS conference 2022.
What are some alternatives?
Kbd - Alternative unified APL keyboard layouts (AltGr, Backtick, Compositions)
BQN - An APL-like programming language. Self-hosted!
unmaintainable-code - A more maintainable, easier to share version of the infamous http://mindprod.com/jgloss/unmain.html
stumpwm - The Stump Window Manager
PDP_11_Simulator - PDP11 Simulator written in APL
common-lisp-stat - Common Lisp Statistics -- based on LispStat (Tierney) but updated for Common Lisp and incorporating lessons from R (http://www.r-project.org/). See the google group for lisp stat / common lisp statistics for a mailing list.
ngn-k-tutorial - An ngn/k tutorial.
lisp-matrix - A matrix package for common lisp building on work by Mark Hoemmen, Evan Monroig, Tamas Papp and Rif.
cpaint - https://briancallahan.net/blog/20220220.html
APL - another APL derivative
ok - An open-source interpreter for the K5 programming language.
numcl - Numpy clone in Common Lisp