What is Scato?
Scato is both a programming language and a runtime environment for this language.

')
The language was conceived as extremely simple, but at the same time most adapted for the needs of drawing fractals of L-systems and other self-similar broken lines.
Scato - “turtle tongue”. The program is performed by a turtle that crawls and draws. But it makes it easy to do everything that is necessary for drawing fractals.
- Coordinate transformations: turns, scaling.
- Named procedures that allow recursive calls.
- Means of localization of different aspects of the context.
- Conditional statements
- Named variables and elementary mathematical operations.
In addition, there is, of course, the ability to control the thickness of the line, set the color and mix color.

Examples of code and work can be viewed on
the project website .
There you can
learn more about the grammar of the language . In addition, Scato is equipped with built-in examples.
The runtime environment allows not only to load and execute programs, but also to easily understand the causes of possible problems. You can
- Stop the program anywhere
- Run the program step by step
- View the current values of variables and parameters of the bug
Where did it come from and why is it needed?
A little more
about the project is written on the project website.
And shortly ... the language was formed about five years ago. The first implementation in Python (before that was Tcl / Tk) appeared a couple of years ago (it is on my
homepage ).
Over the past couple of years, the program has acquired a user base, and has been used in schools. Here the fact that Scato (and at that time it was called Fact) was similar to Pascal played a role, and this language is studied in schools and used in the Unified State Exam.
I began to receive reasonable feedback and suggestions. In the end, I gathered enough opinions, I finally sorted out the details with the most active users and made, in fact, a new language.
I posted it in a new place, under a new license, with a new name ... in general, the project began a new life.
Well, why was this whole post written?
Of course, I am writing this for a reason - I have self-interest! I would like to attract users (and testers, -)).
How could you help the project:
- You will help the project if you just use and promote Scato.
- You will help, if not only you come up with beautiful fractals, but also send them to me, for inclusion in the distribution. All names will be mentioned in thanks.
- You will be very helpful to the project if you find errors and report them.
- And of course patches are welcome! For those who wish to join the development, I wrote a few words about the internal structure of Scato
- And oh yeah! My English is very bad. Any constructive suggestions are accepted.
In short, this post, I want to raise the popularity of Scato, in order to force its development. Because now very few people are testing it ... I, students of school number 30 in Yoshkar-Ola and someone else ... from Germany, perhaps :-)
Thanks to all!