Cat Programming Language Release v1.0 beta 3
This is an announcement of a new release of the Cat programming language. Recent changes include:
- automatic loading of the standard library
- 481 unit-tests (#test_all)
- documentation of over 400 primitive and standard-library instructions
- various minor bug fixes to the standard library
- searching for definitions matching a particular prefix, using “prefix” #defmatch
Cat is a functional stack-based language based on Joy. Cat is designed for several different purposes, but one of my key intentions was for education. Stack based languages can be very interesting for teaching computer science concepts because a student can see each step of a computation, and better understand how a computer operates.
In an effort to make Cat a suitable language for teaching programming I wanted to recapture the spirit of the Logo language in Cat. I found that when learning to program it was not only fun to write drawing programs, but that seeing the results of any mistakes I made helped me to understand what went wrong, and learn faster.
To do this I have included a turtle graphics library. The following screenshot is a demonstration of Cat in action:
The program that generated this is:
>> ow [20 tr pu 40 fd pd 40 draw_triangle] 20 repeat
These instructions are:
- ow - open a window
- tr - turn right
- pu - pen up
- fd - forward
- pd - pen down
- repeat - repeats a function a number of times
- [...] - pushes a function onto the stack
If you are interested in using Cat to teach programming, please let me know if I can help in any way. I’m very interested in trying to make it easier to teach programming to people.