New
The latest blog posts to take off on Hacker News. 5,636 posts.
The Four Flaws of Haskell
Summary: Last year I made a list of four flaws with Haskell. Most have improved significantly over the last year. No language/compiler ecosy...
Type Punning Functions in C
C has a reputation for being inflexible. But did you know you can change the argument order of C functions if you don't like them?
From first principles: Why I bet on Scala.js
Three years ago, I downloaded the nascent Scala.js compiler and tried to use it on a toy project.
PyPy gets funding from Mozilla for Python 3.5 support
"Python 2.x versus Python 3.x": this is by now an old question. In the eyes of some people Python 2 is here to stay, and in the eyes of oth...
APL Tutorial
Interested in learning about APL? Have you heard of this exciting language with strange characters and incredible brevity? Look no further, here you will find an introduction to the language, and even understanding from a historical perspective.
The truth about Lisp (2006)
In which the truth about lisp is revealed, and some alternatives are enumerated.
Crystal: Fast as C, Slick as Ruby
Ruby is awesome
.NET Framework 4.6.2
Updated (4/2017): See .NET Framework Releases for newer releases. Today we are excited to announce the availability of the .NET Framework 4.6.2! Many of the changes are based on your feedback, including those submitted on UserVoice and Connect. Thanks for your continued help and engagement! The release is packed with…
I Love Go; I Hate Go
I liked Go right away. It was close enough to C and Java to be instantly familiar, the examples and tutorials were straightforward, and I was quickly writing…
A Peek into F# 4.1
Later this year, we’re going to ship a new version of Microsoft’s tools for F#. This will include support for F# 4.1, featuring important incremental improvements to the language that have been developed in conjunction with F# users and contributors. Our tools will also include a cross-platform, open-source F# 4.1…
Code behaving differently in C90, C99, C11, C++98, and C++11
There are some subtle differences between the revisions of the C standard that makes it possible to create programs that behaves differentl...
Programming Language Rankings: June 2016
With the spring and summer travel schedule drawing to a close, we finally have had time to sit down and run the numbers collected back in June. As always, aside from the fact that we run our own GitHub rankings now, the process used for our bi-annual programming language rankings remains the same as when
New Features in Ruby 2.4
Learn more about what’s new at Cognito, and what’s new in the world of identity verification, risk management, and compliance regulations.
Functional programming in C (2013)
0.1 Discriminated unions in C 0.2 Nested functions and lambda variables 0.3 Automatic cleanup of local variables 0.4 Data structures 0.5 Wrapping up This post/program (as I’m writing it in literate…
What Template Haskell gets wrong and Racket gets right
Why are macros in Haskell terrible, but macros in Racket great? There are certainly many small problems with GHC’s Template Haskell support, but I would say that there is one fundamental design point which Racket got right and Haskell got wrong: Template Haskell does not sufficiently distinguish between compile-time…
Exponential time complexity in the Swift type checker
One of the most annoying problems in Swift is when the compiler gives an 'Expression was too complex to be solved in a reasonable time' error. I look at why this error occurs, how to avoid it and talk about how this should be solved in a future compiler update.
Destroy All Ifs – A Perspective from Functional Programming
Replace conditionals with lambdas for simpler code that's more powerful