David John Cooper
Michigan, USA · [email protected] · davecooper.name · @dcooper8 · u/dcooper8
Software engineer and company founder. I have built knowledge-based engineering systems in Common Lisp since 1993, first at Ford Motor Company and since 1997 at Genworks, which I founded in 1996: languages and engines that capture engineering rules as executable models, the geometry and web layers around them, and the infrastructure they are built, tested and served on. Founder of Genworks and of the Common Lisp Foundation.
Experience
Founder, President and Chief Technology Officer, Genworks International
November 1996 to present
- Founded the company on 1 November 1996 and went full time with it a year later, on 1 November 1997, the day after leaving Ford.
- 1997 to 2002: knowledge-based engineering consulting and training with the ICAD System, under contract at Ford and General Motors, with trainings for Raytheon in Wichita and Embraer in Brazil.
- 2002: put GDL online as open source. Alstom Power asked for a commercially supported edition, the source closed again for nine years, and the company has made its living by its own software since.
- Designed and built GDL, a declarative object language embedded in ANSI Common Lisp for knowledge-based engineering, with dependency tracking, demand-driven evaluation and caching.
- Delivered and supported production applications since 2002 in power generation, steel, window manufacture, defense and aerospace, and automotive, and educational deployments, among them the curriculum at Delft University of Technology and companies of the YES!Delft incubator.
- Released the kernel as open source again, as the Gendl project under the AGPL, on 24 October 2011, and have maintained it since on Allegro CL, Clozure CL and SBCL.
- Integrated a NURBS solid-modeling kernel and STEP and IGES translation into the commercial engine; wrote the geometry, drawing and web-application layers of both engines.
- Built the present workstation around the engines: container deployment, an Emacs editing console, and a Model Context Protocol layer through which AI agents work in the running Lisp.
- Built the products around them: the Prompt Lab, where a modeling agent turns a part described in plain words into a parametric Gendl model, and the Cyclops reverse proxy.
- Run the company's build, CI and hosting: GitLab pipelines across amd64 and arm64, container images, and a reverse proxy and web fleet serving the company's sites.
Founder and President, Genworks B.V.
2009 to present
- Founded and run the Dutch subsidiary: licensing and support for Genworks GDL in continental Europe.
- Worked with the Faculty of Aerospace Engineering at Delft University of Technology, and took part in the European research project AGILE.
System Analyst, Ford Motor Company
1993 to October 1997
- Developed and deployed rule-based generative design and engineering applications with the ICAD System, a declarative superset of Common Lisp with built-in geometric primitives and CAD system interfaces.
Software Engineer, Schlumberger CAD/CAM (Applicon)
July 1990 to February 1991
- CAD software developer on Applicon's Editor suite of CAD systems.
Analyst, summer internship, Ford Research Laboratory
1989
- Programmed data acquisition test equipment for the ETX-II prototype electric vehicle.
Community
Founder, President and Director, Common Lisp Foundation
2010 to present
- Founded the Foundation as the legal entity that manages funding for Common Lisp projects, meetings and initiatives.
- Maintain common-lisp.net, the community's project hosting: the website, GitLab, the mailing lists and the meeting room.
- Maintain the container images of the Common Lisp implementations that the community's CI, hosted IDEs and application deployment services run on.
Board Member, Association of Lisp Users
2013 to present
Program Chair, ELS 2018, European Lisp Symposium
2018
- Chaired the program of the 11th symposium, Marbella, Spain.
Publications and talks
- Knowledge-based Techniques for Developing Engineering Applications in the 21st Century, with Gianfranco La Rocca. 7th AIAA Aviation Technology, Integration and Operations Conference (ATIO), Belfast, 2007, AIAA 2007-7711.
- A Gentle Introduction to Gendl, a Common Lisp-based Knowledge Based Engineering Environment. Tutorial, ILC 2014, the 8th International Lisp Conference, Montreal, 2014, and ELS 2015, the 8th European Lisp Symposium, London, 2015.
- Gendl meets X3DOM: The Declarative Web, All the Way Down, with Reinier van Dijk. Poster, Web3D '12, the 17th International Conference on 3D Web Technology, Los Angeles, 2012.
- Keys to Success with Knowledge-based Techniques, with Michel van Tooren and Wan Mazlina Wan Mohamed. SAE Technical Paper 2008-01-2262, Wichita Aviation Technology Congress, 2008.
- Genworks GDL. Talk, ECLM 2011, the European Common Lisp Meeting, Amsterdam, 23 October 2011. The talk that introduced the Common Lisp Foundation.
- Lisp and AI. Round table, ELS 2025, the 18th European Lisp Symposium, Zürich, 2025.
- Understanding Common Lisp. A short book introducing Common Lisp to working programmers, first edition, 2026. Derived from the third edition of Basic Lisp Techniques, published by Franz Inc. in 2000, 2003 and 2011. The source.
Skills
- Languages
- Common Lisp (Allegro CL, Clozure CL, SBCL), Emacs Lisp, JavaScript, shell
- Engineering software
- Knowledge-based engineering, declarative and generative modeling, NURBS surfaces and solids, STEP and IGES, technical drawing output (PDF, SVG, DXF)
- Web
- Server-side application frameworks, AllegroServe, 3D in the browser (X3D)
- Infrastructure
- Linux, Docker and Compose, GitLab CI, reverse proxies and TLS, multi-architecture builds
- AI tooling
- Model Context Protocol servers, agents working in live Lisp images
- Spoken languages
- English, German
Education
- MSE, Computer Science and Engineering, University of Michigan, 1991 to 1993.
- BS, Computer Science, University of Michigan, 1988 to 1990.
- BA, German, University of Michigan, 1983 to 1986. One year abroad at the University of Freiburg, Germany.
Code and sites
The public repositories and the sites I maintain are listed on the home page.
Comments
Comments, corrections and complaints are all welcome. Plain text, no links, 1000 characters at most.