Why we're supporting Typed Clojure
The CircleCI blog is your home for DevOps, continuous integration and delivery, and engineering productivity. Explore tutorials, guides, and best practices.
The latest blog posts to take off on Hacker News. 227 posts.
The CircleCI blog is your home for DevOps, continuous integration and delivery, and engineering productivity. Explore tutorials, guides, and best practices.
I’ve been looking for a good analogy of what programming in C++ feels like and I remembered this 1990 Tim Burton movie, Edward Scissorhands. It’s a darker version of Pinocchio, shot in …
I've written previously about the problem recursive descent parsers have with expressions, especially when the language has multiple levels of operator precedence.
Programming is complicated. Different programs have different abstraction levels, domains, platforms, longevity, team sizes, etc ad infinitum. There …
Composition not inheritance, polymorphism through interfaces, and packages for namespacing.
So far, you’ve focused on becoming famil iar with the tools that Clojure provides: immutable data structures, functions, abstractions, and so on. In this chapter, you’ll learn how to think about your programming tasks in a way that makes the best use of those tools. You’ll begin integrating your experience into a new…
Yesterday Crystal became one year old. Yay! :-)
This is a post that I didn’t want to write. Actually, it’s a post that I still don’t want to write. But I find myself in a situation where I feel that I have to say something. So I’m going to just ope
A trampoline is a loop that iteratively invokes thunk -returning functions ( continuation-passing style ). A single trampoline is sufficient to express all control transfers of a program; a program so expressed is trampolined, or in trampolined style; converting a program to trampolined style is trampolining…
Scala is one of the main application programming languages used at Twitter. Much of our infrastructure is written in Scala and we have several large libraries supporting our use. While highly effective, Scala is also a large language, and our experiences have taught us to practice great care in its application. What…
An introduction to Go errors.
I just heard that core.typed is ready for production. Which is great timing because I'm working with a new team and they like types.
The “Sufficiently Clever Compiler” has become something of a trope in the Lisp community: the mythical beast that promises language and interface designers near-unlimited freedom, and leaves their output in a performance lurch by its non-appearance. A few years ago, I was young enough to join a research project to…
We use nginx throughout our network for front-line web serving, proxying and traffic filtering. In some cases, we've augmented the core C code of nginx with our own modules, but recently we've made a major move to using Lua in conjunction with nginx. One project that's now almost entirely written in Lua is the new…
I hate the Pumping Lemma for regular languages. It’s a complicated way to express an idea that is fundamentally very simple, and it isn’t even a very good way to prove that a language is not regula…
Among the many proposed solutions, one of them strikes me as particularly clean: "asynchronous wait" or "wait and defer". iced-coffee-script had this a while ago. Kal just debuted with an identical solution, only differing in syntax. Supposedly LiveScript supports this with "backcalls" .
I have seen this question come up a few times, and unfortunately, people usually don't find an answer, give up, and don't test their source maps. However, testing source maps isn't too hard if you are using Node.js and the mozilla/source-map library. If you aren't using Node.js and the mozilla/source-map library, you…
Alex Clemmer is a computer programmer. Other programmers love Alex, excitedly describing him as "employed here" and "the boss's son".
As many of you are probably already aware, Mozilla has recently gotten into the mobile OS space with Firefox OS. Firefox OS is built using ...
A tour of 3 potentially-very-useful languages that have been submitted to learnxinyminutes.
This document describes the development and release schedule for Python 2.7.
We're pleased to announce PyPy 2.1, which targets version 2.7.3 of the Python language. This is the first release with official support for...
An introduction to the Go's defer, panic, and recover control flow mechanisms.