I wrote this software in a computer programming language called Freebasic. I also created a macro / scripting language for the application similar to LISP for autocad. The scripting language I chose to use is Freebasic of course but it is limited to only a small portion of the freebasic commands. It recognizes all numerical variable types such as integer and double to include arrays. It does not recognize udt's (user defined type) or strings. It supports up to 9 (1d to 3d) arrays of numerical variables to include Boolean. It recognizes sub routines and functions but they must be declared at the beginning of the script.
Fbcadcam has apx 70k lines of source code between the two main programs, fbcadcam.bas and fbcadcam-macro.bas. I use GTK for the gui. This software is still in beta and is open source GNU Public license. Beta version 1.0 is available for download from fbcadcam dot com.