Blog
Improved error messages in Wipple
Wipple's new typechecker operates on groups of expressions, enabling more informative error messages.
Updated drag-and-drop in the Wipple Playground
An early preview of the updated drag-and-drop functionality in the Wipple Playground.
A Datalog-based compiler
I have recently been exploring the idea of writing parts of a compiler in Datalog, and I think it has a lot of potential.
Ideas for changes to Wipple syntax
I have a few ideas for cleaning up Wipple's syntax around generics, custom error messages, and assets without changing the surface level of the language.
Redesigned code editor
Introducing a new code editor for the Wipple Playground! The new editor features a sidebar with a Run button and an improved command palette. It also has all-new error messages, redesigned to be less overwhelming and more helpful.
Announcing Wipple 1.0 and wipple.org
I am proud to announce the release of Wipple 1.0 today! Wipple 1.0 has been four years in the making — since April 2020, I have made over 2,000 changes. Wipple 1.0 brings a new compiler, playground, and website at wipple.org, and I can't wait for you to try it out.
Custom error messages in Wipple
Try the new Wipple Playground!
I'm excited to announce that the all-new Wipple Playground is available for testing at preview.wipple.dev — try it out and let me know what you think! The new Wipple Playground is the result of student feedback and features a huge list of improvements. And it's powered by a new Wipple compiler that's built for speed. Here are some of the most notable changes...
Update on Wipple’s new compiler
Wipple's new compiler and language changes
Redesigned lesson view
Suggest alternatives in Wipple Playground
Learning about climate change with Wipple
Automatic multi-line statements
Mutable projections
Focus mode
New syntax for lists and tuples
Fixing type inference involving multiple bounds
Wipple's new error design
Handling math errors in Wipple
Teaching Wipple in elementary school
Last week, I visited Tygsborough Elementary School in Tyngsborough, Massachusetts to teach Wipple to the 4th and 5th graders in Science and Technology class. Students spent about 30 minutes creating a Turtle drawing using the Wipple Playground. For many students, Wipple was their first text-based programming language, so learning Wipple was also an opportunity to practice typing. As I walked around the classroom, I was amazed by everyone's creativity!
Derived instances in Wipple
One feature that a lot of languages have is the ability to automatically derive behavior for a structure or enumeration...
How to build a type checker
The type checker for my programming language Wipple is one of the most complex programs I've ever written. In this article, I'll show you how to build one of your own!
Wipple v0.1.0 released!
After over two years of development, I'm proud to announce that Wipple v0.1.0 is released!
Traits in Wipple are implemented!
After months of work, I've finally implemented the Wipple trait system! In this post, I want to explain how to use traits in Wipple programs.
Typeclasses and higher-kinded types in Wipple
Typeclasses are a powerful construct used in functional programming languages like Haskell...
Wipple's updated type syntax
In my spree to streamline different parts of Wipple, I've decided to update the type syntax to be more flexible and consistent. Here's how it works!
More consistent assignment syntax in Wipple
I've been trying to simplify and consolidate many different Wipple features. Last time was function syntax, this time is assignment syntax!
Computed values in Wipple
Let's say I wanted to create a random number generator in Wipple...
Extended functions in Wipple
Wipple Weekly Update
Wipple’s Module System
A simple introduction to Wipple
Trait-Oriented Programming in Wipple
New Directives Design in Wipple
Wipple updates
Binding Optionals in SwiftUI
Some examples of Wipple code
“Generic extensions”?
Using dynamic member lookup to implement the builder pattern