Here, I share all my programs.
When downloading something from my website, it might be wise to check whether the file actually came from me by checking the sha256 hash. Show hashes to check integrity.
This is the compiler for my own programming language, pyfwalo. It works pretty much like any other compiler: you run the program on the command prompt with source files as arguments and the program builds an executable. Running the compiler without any sources as input will give a list of available options.
By default, the compiler internally generates a C source file which it then compiles further with gcc. Alternatively, you can use clang with the -clang option or generate my custom bytecode with -v. More information about my bytecode can be found here. Unfortunately, the bytecode can only be run with a virtual machine that knows about the specific foreign procedures that are used in the output program. Below I do provide a simple virtual machine capable of running simple console applications. In the future, I might create a more complete virtual machine capable of running programs using my system library. Of course, using the C backend will generate the most efficient executable.
Because my compiler compiles through C, you will probably want to have either gcc or clang installed on your computer. On Linux you probably already have gcc, or if not you can install it through the package manager. On Windows, you can install either MinGW or you can install TDM-GCC. Also, I recommend the 64-bit version if your system is 64-bit, which it most likely is.
In order to build games or other complex applications, you will want to use a library to interface with the operating system. This library I created exposes a fairly direct interface to SDL2 and OpenGL 3.3. It also contains code for networking and supports reading/writing various image and sound formats, using the stb_image, stb_vorbis, drwav and drflac single header libraries, made by Sean Barrett (stb* libraries) and by David Reid (dr* libraries).
To use the library, include the system.pyf in your pyfwalo project and link with -l system. On linux, libsdl2 needs to be installed on your computer (it probably already is) and libsystem.so can be placed in the same folder as the executable. On windows you can place both SDL2.dll and system.dll in the same folder as the executable.
In case you want to compile this library from source, you will need to install the SDL2 development library. You can download this here or install from the package manager on linux. On windows, copy the include folder and the import library (libSDL2.dll.a) from SDL2 to the source of system.
For xed or mousepad: place pyfwalo.lang inside ~/.local/share/gtksourceview-3.0/language-specs/
This is a blend between a simple text editor and an IDE, with semantic highlighting and autocomplete for pyfwalo, C, C++ and GLSL.
This is a general purpose scene editor, useful for creating levels and user interfaces for games.
This program visualizes any shape in four spatial dimensions, using projection. For more information on higher dimensions, see my section on higher dimensions. The following images were created with this program:
This is a command line tool to generate random words, following word structure of my conlang as described here.
These are the options:
By default, the program generates 64 words of 1-5 syllables, using the current time as seed.