Jon Purdy
185 followers -
Brilliant for a hopeless fool
Brilliant for a hopeless fool

185 followers
Jon's posts
Post has attachment
Lately in Kitten
At the turn of the new year, I resolved to work on Kitten every week of 2017, and so far it’s been going pretty well. With the success of This Week in Rust , I thought I’d make a point to continue documenting my thought processes when designing and implemen...﻿
Post has attachment
Arithmetic Types in Kitten
In order to motivate myself to work on my programming language, Kitten , I’ve decided to publish my notes on various aspects of the design as I figure them out. This is partly to solicit comments and drum up interest in the project, but mostly an exercise i...﻿
Post has attachment
Public
“Weird” is intellectually lazy
Saying “X is weird” is equivalent to saying “I don’t understand X, and I blame X for it.” I often have to make this point in discussions of programming languages. I enjoy writing in Haskell, and I’ve taught it to a number of developers. People who are accus...﻿
Post has attachment
Public
Thoughts on using fractional types to model mutable borrowing of substructures
In type theory, a pair is denoted by a product type , with a constructor pair and two projections fst and snd : $mathjax[ \textrm{pair}(a, b) : a \times b \\ \textrm{fst} : a \times b \to a \\ \textrm{snd} : a \times b \to b ]$ These projections are destruc...﻿
Post has attachment
Public
Give.
When I walk down the streets of San Francisco, people sometimes ask me for money. And if I have the time, as I almost always do, I stop and talk with them about what brought them to where they are. And if I have the cash, as I almost always do, I give it to...﻿
Post has attachment
Public
Don’t say what you mean.
In conversation, I used to think it was good to say what you meant. I thought doing so would help me be understood. But I learned very quickly when tutoring computer science students in college that this strategy does not work in general. The real challenge...﻿
Post has attachment
Public
Consent is important. Don’t oversimplify it.
Rape happens. It’s an awful reality, which a lot of good people are working very hard to fix. That starts with teaching people about consent and why it’s essential to healthy sexual interactions. But a lot of explanations of consent, while undeniably good a...﻿
Post has attachment
Public
Why I Don’t Use Syntax Highlighting
When I’m programming, and a fellow programmer looks over my shoulder, the first thing they invariably say is some variation of “Wow, no syntax highlighting? I can hardly read that.” Ever since I started programming almost 15 years ago, I have preferred very...﻿
Post has attachment
Public
A Simple Argument for Immutable Objects
You have an integer value 4 stored in the variable x . int x = 4; You change x . ++x; In doing so, you have not changed 4 into 5 , you have merely changed x to refer to the value 5 . Now suppose you have a class. class Person {

}; Instances of this clas...﻿
Post has attachment
Public
Caffeine vs. Nicotine
I had been experiencing some pretty severe anxiety off and on for a few months, and I was aware that my love of caffeine was exacerbating this anxiety, so I decided to look for a stimulant that would help me focus, while not worsening my anxiety. I eventual...﻿