FreeCAD is a CAx RAD based on OpenCASCADE, Qt4, and Python. It features some key concepts like Macro recording, Workbenches, and the ability to run as a server. It's also platform-independent. It is is fully scriptable and designed to be easily extensible; only the core functionality is embedded into the core libraries, but all further functionality like support of triangle meshes, CAM, FEM, etc. is implemented in extension modules. Normally, such a module is divided into an 'App' part containing the data structures and algorithms and a 'GUI' containing the graphical representation of data structures, dialogs, workbenches, etc.
Racket (formerly PLT Scheme) is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrRacket programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the Racket Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Racket, ACL2, FrTime, and Lazy Racket.