Tim is an interpreted programming language. Almost everything in Tim is designed to be iterable. Working with Tim is (at least I think) a fairly enjoyable way to write simple, fast programs.
Tim is my first language and I'm sure (at least for a while) it will be rough around the edges. If you have any experience in language design, please do reach out or contribute; I'd love to pick your brain. As always is the case in programming, we're all constantly learning.
Much of the source code for Tim is based on the Lox language from the book "Crafting Interpreters" by Robert Nystrom.
TBC...
In the notes at the end of "Zen & The Art of Motorcycle Maintenance", Pirsig says:
”…there’s an adage to remember, ‘Reading is the enemy of writing.’ I remember telling that to Kay Sexton at B. Dalton who threw up her hands and said, ‘Don’t say that! You’ll put us out of business!’ But it’s true. Any time I did read a book during the years of writing ZMM and Lila it would stop the writing for as much as a week while memories of what I just read or heard gradually faded. That was also true of movies, TV, and parties.”
I try not to read too many other languages for fear I might like them so much that I inadvertently copy them. Tim is based on my experiences with reading and writing various other languages.
There were many reasons for naming the language Tim. Notably, there wasn't another language with the same name nor any .tim
file extension in existence.
When friends ask me I give them some variation of the following:
When my sister was about to give birth to her first child, a boy (also around the time I started writing this language) the subject of my own name arose. I've never really liked "Tim" (and us Tims are an unusual breed). Tim isn't a very popular name these days, despite the handful of famous Tims: Tim Berners-Lee, Tim Cook, Timothy Spall, Tim Peake, Timotheé Chalamet (alright, that one's a little contentious). For a while I considered changing it by deed poll (something you can do in the UK relatively cheaply) but the language is me almost doubling-down on "Tim".