otp
april
otp | april | |
---|---|---|
24 | 52 | |
11,067 | 583 | |
0.5% | - | |
10.0 | 7.3 | |
5 days ago | 3 months ago | |
Erlang | Common Lisp | |
Apache License 2.0 | 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.
otp
-
Install mutiple Erlang and Elixir with vfox
Theoretically, you could install any version that appears in https://github.com/erlang/otp/releases. Since it is compiled and installed from source, the installation process will take some time. When you see the following message, the installation is complete.
-
Perfect Elixir: Environment Setup
I’m on MacOS and erlang.org, elixir-lang.org, and postgresql.org all suggest installation via Homebrew, which is a very popular package manager for MacOS.
- Scheduling Internals
- Epoll: The API that powers the modern internet (2022)
-
Elixir v1.15 released
You can read my original report and subsequent PRs in Erlang/OTP here: https://github.com/erlang/otp/issues/5811
-
Open Sourcing Erlfuzz
- a massive speedup of a common static analyzer for Erlang (https://github.com/erlang/otp/pull/5997)
-
Why are there so many languages?
Funny that you should mention Erlang. Looking at the Github for Erlang, it appears that the source for Erlang is 16.8% written in C. I would bet these are not the least important bits of the whole thing. So, Erlang depends on C.
-
Erlang: More Optimizations in the Compiler and JIT
It looks more like some of the JIT improvements made it profitable to manually unroll some loops in the base64 module: https://github.com/erlang/otp/commit/a03cf1601605dee767cd9d5...
-
Mixing sync and async views in the same application
https://github.com/erlang/otp as far as I know. It's somewhat confusing and I honestly couldn't say exactly where the BEAM VM or OTP or ERTS (Erlang Runtime System) start and end. I've never dug into it. I just install Elixir and sometimes Erlang through the ASDF tool, which does all the compiling for me.
- When people send a https request to my custom web server, it crashes the entire system. How do I fortify my system not to accept em?
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?
protoactor-go - Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
BQN - An APL-like programming language. Self-hosted!
Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications
stumpwm - The Stump Window Manager
calypso - Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity.
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.
scryer-prolog - A modern Prolog implementation written mostly in Rust.
lisp-matrix - A matrix package for common lisp building on work by Mark Hoemmen, Evan Monroig, Tamas Papp and Rif.
caramel - :candy: a functional language for building type-safe, scalable, and maintainable applications
Mezzano - An operating system written in Common Lisp
cdk-emqx-cluster
APL - another APL derivative