AI and Pointless

The Role of AI in Pointless Development

As I write this in March 2026, AI has played a very limited role in the design and development of the Pointless language, its documentation, and its website. In this document I'll describe the ways in which this may change, and the ways in which it will not.

I've been working on this project for around 8 years now; making engineering mistakes, applying my knowledge of algorithms to a variety of tricky problems, writing some pretty clever code, and going through many, many iterations of prototyping, testing, and revision. I love software development, and I consider this project to be a testament to my creativity and skill as a software engineer, built through 8 years of hard, human work.

In the process, I've built a language that I am very proud of, and that I think has real-world potential, particularly as an educational tool. As such, I'm starting to think about how to better document, test, and publicize what I've built. I think that generative AI could be helpful in this next phase of work.


How I have used AI so far

As of March 2026, essentially all of the code in this project has been designed and written by hand, with the exception being very small code snippets (things like "write a function to escape an HTML string in JS"). Until now, there have been fewer than 100 lines of AI-generated code in this project across the core language code, standard library implementation, documentation, tooling, and website. Any AI-generated code that is currently present was not added using agentic AI, but was instead manually reviewed and incorporated into the project.

I myself started using AI regularly about a year ago, slowly incorporating it into my work. Over the past six months, when working on this project, I've used generative AI to help me understand APIs and specifications of existing software, and get feedback on design decisions. Examples of questions I've asked AI include:

I've also used AI to get feedback on some larger design choices, with questions like:

I'm thinking of allowing the arg keyword before a field name to be omitted and inserted implicitly by the parser, which would let me write code like this cities $ .population > 100000 as a shorthand for cities $ arg.population > 100000. Is this a good idea? (It was not)


How I plan to use AI going forward