Last year while doing advent of code I came across the APL programming language. I had always been interested in exploring array programming, but the highly imperative nature of tools like NumPy, R, Julia and Matlab turned me off. Luckily APL has the best of both worlds as a functional array programming language with first class support both for functions and multi-dimensional arrays. More recently I've been playing around with BQN, a modern variant of APL, which is what I'll be exploring today.
-
- 02 April, 2023
- 20 minutes
Big Questions Notation -
- 21 July, 2020
- 30 minutes
A taste of dependent types with IdrisStatic type systems are ubiquitous in programming languages. Many of the most popular languages like C and Java have static type systems. Static types give the programmer some level of guarantee that their program won't contain runtime errors by checking types at compile time. However, the level of safety guaranteed by the type system varies widely on the implementation and there are certainly plenty of type systems that are more expressive and powerful than the ones found in mainstream languages. Today we will be looking at one such group of type systems which support dependent types.
-
- 07 July, 2020
- 5 minutes
Why Nix?I'm often asked questions such as "What's the point of Nix?", "Why would I ever use this?" and "Isn't it just yet another package manager?". So in this post I'll try to answer these questions and hopefully demystify what Nix is all about.