← Back to home

Technology

What the workstation and the engines are made of. For how the engine thinks, see the Concepts page.

ANSI Common Lisp

Gendl and Genworks GDL are written in ANSI Common Lisp, standardized in 1994 as ANSI X3.226-1994. The standard has not changed since, so code written against it keeps running. The language provides macros, the Common Lisp Object System with multiple dispatch, condition handling, and runtime introspection; the declarative, knowledge-based form of Gendl and Genworks GDL is built from those.

Gendl runs on Clozure CL and SBCL, both free software. Genworks GDL Professional and Enterprise run on Allegro CL from Franz Inc, which has developed and supported it continuously since 1984; Genworks holds support continuity agreements with Franz.

The SMLib NURBS kernel

Genworks GDL integrates the SMLib geometry kernel from Solid Modeling Solutions for surface and solid modeling, as a separate option for a Professional or an Enterprise seat. The Genworks license predates NVIDIA's acquisition of Solid Modeling Solutions and continues under its own terms.

  • •NURBS surface and solid modeling
  • •Boolean operations: union, intersection, subtraction
  • •Filleting, shelling, and surface operations
  • •Non-manifold topology
  • •Tessellation and mesh generation

HarmonyWare STEP and IGES

CAD exchange in Genworks GDL goes through HarmonyWare's translators, which work directly on SMLib geometry. They come with the SMLib option.

  • •STEP AP203 and AP214, import and export
  • •IGES 5.3
  • •Supported and updated by HarmonyWare

The workstation

Basalt runs the engines, the editing console and the monitor as Docker containers on a shared network, generated from one configuration file by a Docker Compose deployment. Readymacs is GNU Emacs, native-compiled, with SLIME connecting it to the engines over Swank. Every service answers over HTTP, and each engine and the editing console carry a small HTTP endpoint for evaluating code, the Lisply contract.

MCP for AI agents

Lisply-MCP, a Node.js middleware, presents each Lisply endpoint to any Model Context Protocol client as a set of tools: evaluate code, read documentation, reach the service's HTTP endpoints, search the document corpus. An agent evaluates code in the running engine the same way a person does at the REPL. Startup of a Basalt deployment writes the client configurations, so a connected agent sees every service on the roster.