Things I Enjoy in Rust: Error Handling
Things I enjoy in Rust:
The latest blog posts to take off on Hacker News. 384 posts.
Things I enjoy in Rust:
Being a self-described programming-language programming language is an ambitious goal. To preserve predictability while permitting linguistic extension, Racket comes equipped with a module system carefully designed to accommodate composable and compilable macros . One of the module system’s foundational properties is…
I am mostly a backend developer, but every now and then I need to do some frontend work. Even if just for personal use.
Asynchronous programming in Rust continues to make exciting strides, including the upcoming stabilization of the futures API . But, while these core APIs make it possible to write async Rust code today, it's not easy: it's a far cry from the smoothness of synchronous code.
This article teaches the fundamentals of parser combinators to people who are already Rust programmers. It assumes no other knowledge, and will explain everything that isn't directly related to Rust, as well as a few of the more unexpected aspects of using Rust for this purpose. It will not teach you Rust if you don't…
Crystal 0.28.0 has been released!
The execution of a program unfolds over some interval of time. The lifetime of every temporary resource (e.g., variable or object) is the time span between that resource’s “creation” and “destruction”. This lifetime is wholly contained within the typically-longer lifetime of the program.
This post will be different from the previous ones, since I’m going to present some of the early results of my work as a PhD student at the Prosecco team in ...
I spent this weekend writing a Forth designed for music synthesis, and it reminded me what a joy writing programming languages is! I have a big list of programming language experiments that I want to try, but it's mostly been in my head so far. Here's a living document of some of the languages I want to write.
This article has been translated into Spanish: Por qué debes aprender más lenguajes de programación (incluso si no los vas a utilizar)
Did you use to have some sort of intuition for what “lvalue” and “rvalue” meant? Are you confused about glvalues, xvalues and prvalues, and worry that lvalues and rvalues mi…
In this tutorial, you'll learn 16 ways for doing concurrency in Clojure including how to start threads and how to communicate between them.
Zig is a general-purpose programming language designed for robustness , optimality , and maintainability . Zig is aggressively pursuing its goal of overthrowing C as the de facto language for system programming. Zig intends to be so practical that people find themselves using it even if they dislike it.
Things I've learned while porting 50 thousand lines of code from Java to Go
Two commonly perceived problems of the programming language Go are that handling errors is verbose and repetitive parametric polymorphism is not available This post is about the intersection of those problems and Rob Pike’s recommendation on the former.
A pragmatic new design for high-level abstractions Monads (and, more generally, constructs known as “higher kinded types”) are a tool for high-level abstraction in programming languages1. Historically, there has been a lot of debate inside (and outside) the Rust community about whether monads would be a useful…
Every programming language has some fundamental idea(s) that drives its design and evolution. For Haskell that’s functional purity and state-of-the-art static typing, for Erlang that’s distributed programming and fault tolerance, for Clojure that’s simplicity and stability. What all these examples have in common is…
Today we're happy to announce the availability of TypeScript 3.4! If you haven't yet used TypeScript, it's a language that builds on JavaScript that adds
It has been 3 months since I joined IIT Madras and it has been good fun so far. Along with the members of the RISE group , we’ve initiated a project to build secure applications on top of secure extensions of the open-source Shakti RISC-V processor ecosystem. Unsurprisingly, my language of choice to build the…
What we learned from the December 2018 Go User Survey.
I’m very proud to announce the completion of my first programming language compiler! Malcc is an incremental and ahead-of-time lisp compiler written in C. This is the story of my progress over the years and what I learned in the process. An alternate title for this post is: “How to Write a Compiler in Ten Years or…