Teenage Haskell
I’ve been inspired by the efforts of others (Chris Smith, Manuel Chakravarty) to try teaching children haskell as a first experience of programming. Haskell has a reputation of being a "…
Topics /
The most popular blog posts about programming languages on Hacker News. 204 posts.
I’ve been inspired by the efforts of others (Chris Smith, Manuel Chakravarty) to try teaching children haskell as a first experience of programming. Haskell has a reputation of being a "…
Stack Some time ago i started to write a series of posts about assembly x64 programming. It is third part and it will be about stack. The...
This post is part of the series “Debris: Opening the box”. Okay, previous posts from this series aimed to actually convey useful technical information: assuming you actually want to wri…
This blog post is meant to help my friends get started in reading my other blog posts, that is, this post is a crash course on the notation ...
It's not about technology for its own sake. It's about being able to implement your ideas.
In Chapter 9 of Types and Programming Languages , Pierce presents his exposition of the Simply typed Lambda-Calculus. It is a truly awesome chapter - each subsection in succession constructs a rich and very well detailed system of computation and Pierce is a master of precision, guiding the reader through the maze of…
Introduction Link to heading Several months ago, I promised to write an updated version of my old post, “The State of Statistics in Julia”, that would describe how Julia’s support for statistical computing has evolved since December 2012. I’ve kept putting off writing that post for several reasons, but the most…
Overview of how to handle errors in the current version of the Rust programming language.
How to design resilient architectural patterns that last the test of time
There has been a lot of discussion lately about Rust’s allocator story, and in particular our relationship to jemalloc. I’ve been trying to catch up, and I wanted to try and summarize my understanding and explain for others what is going on. I am trying to be as factually precise in this post as possible. If you see a…
Let's assume Go has one killer feature – cheap concurrency – not present in any other language with similar serial performance (ruling out say Erlang). And let's agree that it gives Go its perfect niche – and we're only discussing uses of Go outside that niche from now on. So we won't come back to concurrency till the…
Note : This article is for an obsolete version of Rust, and has been superceded by the slightly less misleadingly named "A Practical Intro to Macros in Rust 1.0" .
2013 Update: I was young and stupid when I wrote this. I fear that Haskell is doomed to succeed. — Tony Hoare I ♥ Lisp. I think it's t...
Recently I gave an itemis internal talk about basic functional programming (FP) concepts. Towards the end I made a claim that objects and their blueprints (a.k.a. classes) have severe downsides and that it is much better to "leave data alone", which is exactly how Clojure and Haskell treat this subject.
Well, not quite but let's start from the beginning.
WARNING: 2018-04-12 : The code snippets for this post are no longer available. This is just as well anyway, since they all depended on an unstable internal compiler interface, which hasn’t existed for years.
I have decided to do a two-part series here praising Perl in part 1 and PostgreSQL in part 2. I expect that PostgreSQL folks will get a l...
If The `if` statement is pretty much the same in Rust as C++. One difference is that the braces are mandatory, but brackets around the ...
This is a sketch of proposed enhancements to the Java Virtual Machine instruction set, and secondarily to the Java Language, to support small immutable, identityless value types . (They may also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes.) This is an…
Some time ago i started to write series of blog posts about assembly programming for x86_64. You can find it by asm tag. Unfortunately i wa...
Hello everyone! Time for a bit of a diversion towards one of my favorite projects, Hy ! (I'm an occasional committer, but the main mastermind behind the project is my good friend Paul Tagliamonte .) For those of you who don't know, Hy is a Lisp that transforms into the Python AST. Even more fun: you can import .hy…
Rust is a systems language and therefore must give you raw access to memory. It does this (as in C++) via pointers. Pointers are one area w...