spade-0.1.0.0: README.md
# S.P.A.D.E
S.P.A.D.E stands of Simple Programming And Debugging Environment.
It contains a simple programming language and a built-in Terminal based
IDE.
The following is a small spade program that draws a bunch of random circles
in red color, in an SDL window.
```
graphicswindow(400, 400, true)
setcolor(255, 0, 0)
for i = 1 to 100
circle(random(10, 300), random(10, 300), random(10, 40))
endfor
drawscreen()
waitforkey()
```
The entire language and function reference is available in the IDE in an
easily searchable way. Press F1 or use the help menu to access it.
### IDE Demo
A small screen recording of SPADE in action can be seen here
[](https://asciinema.org/a/SM9tZ2ZiJofikPRxHCQyqDvRY)
### Installing
You can download the source package and use `stack` tool to build and install it.
After extracting the source to a folder, running the following command in the folder
should install it.
```
stack build && stack install
```
For the time being, this does not seem to build on Windows operating system.
### Getting started
The program should be started by providing a file name. For example,
```
spade /tmp/temp.spd
```
If the file does not exist, it will be created on save. If it exist then
contents will loaded into the editor.
Other than this are no provisions to select or open a file from within the IDE.
The user is supposed to only work with a single file at one time.
To interpret a spade program without starting the IDE, you can use
the `run` command.
```
spade run /tmp/temp.spd
```
Will execute the program without opening the IDE.
### Dependencies
To install depdendencies:
```
apt-get install libsdl2-dev
apt-get install libsdl2-mixer-dev
apt-get install libtinfo-dev
```