Is APL Dead? Not anymore
Is APL dead? Not anymore. Changes in modern hardware, business needs, development methods, and our understanding of programming makes APL in its modern state perhaps more relevant and viable than ever before.
The latest blog posts to take off on Hacker News. 3,709 posts.
Is APL dead? Not anymore. Changes in modern hardware, business needs, development methods, and our understanding of programming makes APL in its modern state perhaps more relevant and viable than ever before.
Personal website of Jan-Erik Rediger
Years ago I planned to give a talk centered around exploring the Clojure source history to find interesting buried artifacts. In service to that goal I walked every commit in the repository to see what I could find. There were indeed interesting discoveries, but eventually my passion for giving the talk 1 dissipated…
In expressive languages, developers generally need to use fewer temporary variables.This means that in a typical piece of code there are fewer names defined,...
But OCaml is Pretty Great
It's kicked the bucket, it's shuffled off its mortal coil, run down the curtain and joined the bleedin' choir invisible!!
Compute enormous Fibonacci numbers in milliseconds using this one weird trick
Prolog is a language that excels at defining and exploring relationships. Let’s take advantage of that and use Prolog to explore a few of the myriad of relationships that exist between chords and the guitar’s fretboard.
So typically when you want to make your own compiled language you need a compiler to.. well.. compile it into something useful. Then making it work across a wide range of operating systems and CPU architectures is a huge effort, let alone having it be performant. This is where LLVM comes in.
In part 2, we completed the user facing part of the compiler with semantic analysis. Now we're free to focus on the backend, generating LLVM. To do so, we'll use the llvm-hs-pure library, which embeds LLVM into a Haskell ADT, allowing us to manipulate it without having to set up any FFI.|A blog about various…
About a year ago, I published a Rust crate called inline-python, which allows you to easily mix some Python into your Rust code using a python!{ .. } macro. In this series, I’ll go through the process of developing this crate from scratch.
Ruby's native I/O methods traditionally blocked the calling fiber, leaving event-loop libraries to provide replacement wrappers. This Ruby Concurrency Progress Report presents a lightweight per-thread Fiber Scheduler which lets those native operations cooperate with an event loop. It explains the implementation and…
Programming language performance is something that nearly everyone cares about at some point, whether they realise it or not. If you’re a programmer, you sometimes have to make your programs run fast; if you’re a user, you might be frustrated at a program that runs slowly, without knowing that it’s caused by a poor…
From a confusing page of old C code to APL/J praise.
A recent tweet by a friend of mine noted how the public interest in the Scala programming language seems to have plateaued or waned, which matches my feeling of the latest trends and zeitgeist. This blog post will go into why I think that has happened, where Scala stands now, and what the future holds for the Scala…
Why I can't use Elm, and can't recommend it to others.
Recently withoutboats posted a series of blog posts about some syntax sugar he would like added to Rust.
This expression: (1 2) represents the list containing the integers 1 and 2 in that order. If you want an empty list, that’s just () . And the list of the first five letters of the alphabet is just (\a \b \c \d \e) .
It took three years and 200,000 words more than I expected, but my second book, Crafting Interpreters , is complete. I finished the third draft of the last chapter today, marking the last of around 1,400 days of continuous writing.
Every now and then I like to think about topics that don't directly relate to my daily work. One of those topics has been parsers: back in January I wrote about byte-ordered stream parsing and how I think we can improve streaming parsing in Rust with a small set of API additions.
With cljfx and Java 14 it’s finally here
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
How many of you have listened, read or taken part in a discussion about programming languages that goes like the following: Person A: "Pro...
The other day I read 20 most significant programming languages in history, a “preposterous table I just made up.” He certainly got preposterous right: he lists Go as “most significant” but not ALGOL, Smalltalk, or ML. He also leaves off Pascal because it’s “mostly dead”. Preposterous! That defeats the whole point of…