New
The latest blog posts to take off on Hacker News. 361 posts.
Nim language v0.18.0 released
The Nim team is happy to announce that the latest release of Nim, version 0.18.0, is now available. Nim is a systems programming language that focuses on performance, portability and expressiveness.
Should you Rust in embedded yet?
A transcript of the talk I given in 2018 about the state of embedded programming in Rust.
Reasoning with Types in Rust
Hi, I'm Ariel (she/her), a newly-minted member of the Swift team at Apple ! Previously, I helped lead the Luau team at Roblox where my efforts primarily focused on the design and implementation of Luau 's type system. I also led the creation of Lute to support using Luau both to build developer tooling, and as a…
Go 2017 Survey Results
What we learned from the December 2017 Go User Survey.
A Crash Course on ML Modules (2015)
I was having lunch with a couple of Haskell programmers the other day and the subject of the ML family came up. I’ve been writing a lot of ML lately and mentioned that I thought *ML was well worth learning for the average Haskeller. When pressed why the best answer I could come up with was “Well.. clean language, Oh!…
Ruby 2.6.0-preview1 Released
We are pleased to announce the release of Ruby 2.6.0-preview1.
Oxidizing Fedora: Try Rust and Its Applications Today
In recent years, it has become increasingly important to develop software that minimizes security vulnerabilities. Memory management bugs are a common cause of these vulnerabilities. To that end, the Mozilla community has spent the last several years building the Rust language and ecosystem which focuses primarily on…
Escaping Hell with Monads (2017)
As programmers we occasionally find ourselves in “Programmer’s Hell”, where our regular abstractions fail to satisfactory solve certain recurrent problems.
Mobile Smalltalk
I've been announcing the Open Beta release of my game HexSolve for Android and iOS. HexSolve was written in Smalltalk and people have been ...
Why writing a linked list in safe Rust is so damned hard
Before I start this post, let me preface it by saying that I’m not an experienced Rustacean by any means. The excellent foks at /r/rust gave a lot of helpful feedback and cleared up some misconceptions I had. Futher errata and corrections are appreciated. This post is aimed at helping other fledgling rust-learners…
Programming ARM μC in Rust at four different levels of abstraction
This content was originally meant to be presented as part of my workshop on Rust and microcontrollers at the NITC FOSSMeet 2018 . As I was not able to cover it satisfactorily during the workshop, I thought of writing it down!
research!rsc: Go & Versioning
The official Go proposal is at https://golang.org/issue/24301 , filed on March 20, 2018 and accepted on May 21, 2018.
Some Notes About How I Write Haskell
I want to say a few words on how I write Haskell as of 2017. Before I go on, I want to make very clear: this is neither a style recommen...
Maybe you don't need Rust and WASM to speed up your JS
Few weeks ago I noticed a blog post "Oxidizing Source Maps with Rust and WebAssembly" making rounds on Twitter - talking about performance benefits of replacing plain JavaScript in the core of source-map library with a Rust version compiled to WebAssembly.
What Made Lisp Different (2002)
(This article came about in response to some questions on the LL1 mailing list. It is now incorporated in Revenge of the Nerds .) When McCarthy designed Lisp in the late 1950s, it was a radical departure from existing languages, the most important of which was Fortran . Lisp embodied nine new ideas:
Yes, code is data, but that's not what makes Lisp cool
There has been some debate on Hacker News lately about what makes Lisp cool , in particular about whether the secret sauce is homo-iconici...
Go 1.10 is released
Go 1.10 adds automatic caching of build & test results, and more.
A look at the J language: the fine line between genius and insanity (2012)
I’ve been looking for a decent TSDB for years now. Took a shot at writing one in Lush using HDF5 (as others have done), but the experiments I did raised more questions than I got answers. I&#…
Just what does “code as data” mean anyway? (2014)
Recently, I’ve seen popular articles on macros and metaprogramming in Nimrod and Elixir . Both of these are wonderful metaprogramming systems, to be sure, but I couldn’t help but imagine some in the audience smirking inwardly – and occasionally less inwardly. What odd syntax! How out-of-place they are! If only there…
Sum Types Are Coming (2015)
Just as all mainstream languages now have lambda functions, I predict sum types are the next construct to spread outward from the typed functional programming community to the mainstream. Sum types are very useful, and after living with them in Haskell for a while, I miss them deeply when using languages without them…
An opinionated guide to Haskell
For me, this month marks the end of an era in my life: as of February 2018, I am no longer employed writing Haskell. It’s been a fascinating two years, and while I am excitedly looking forward to what I’ll be doing next, it’s likely I will continue to write Haskell in my spare time. I’ll probably even write it again…
Python’s Weak Performance Matters
Here is an argument I used to make, but now disagree with: Just to add another perspective, I find many “performance” problems in the real world can often be attributed to factors other…
C++ Coroutine Theory (2017)
In this post I will describe the differences between functions and coroutines and provide a bit of theory about the operations they support. The aim of this post is introduce some foundational concepts that will help frame the way you think about C++ Coroutines.