Genworks International

Complex Design… Made Simple

GDL/GWL (General-purpose Declarative Language and Generative Web Language) is a Knowledge Base development environment that features an integrated web server-based user interface. GDL/GWL provides a complete environment for the development of business and engineering applications, covering areas traditionally serviced by specialized KBE (Knowledge-based Engineering), ERP (Enterprise Resource Management), and CRM (Customer Relations Management) software packages.

GDL/GWL integrates business and engineering logic, databases (through ODBC and a direct MySQL interface), and generative geometry, through its library of 3D geometric objects and integration to NURBS surface and solid modeling libraries. It can display graphics representing the geometry through any standard web browser, with no requirements for plugins, Java or Javascript (with their associated version incompatibilities). It can integrate with relational databases using a single simple unified object-oriented language, seamlessly integrated with GDL, both for defining tables and accessing/updating tables.

GDL/GWL follows a demand-driven, non-procedural paradigm for application development and execution. This gives it all the convenience of a spreadsheet tool like Excel, with all the power of a full-blown native machine compiled object-oriented programming language.

GDL/GWL allows the application developer to describe what should be displayed on each of its dynamically generated web pages (both graphical elements and text/numerical elements contained in any standard HTML markup), and the runtime language automatically keeps track of what internal data elements have to be updated (recomputed), and when.

David Cooper Jr., founder of Genworks International, built his application in Lisp because he believes that Lisp is the best language for complex and scalable applications. "Lisp provides an ideal balance among development and execution speed, flexibility, and runtime stability/reliability." He says. "I was able to build the application with a small group of core developers — no other development environment and language would have enabled us to provide the feature set currently in GDL."

Cooper chose Allegro CL because it offered the most comprehensive features, and excellent technical and sales support. He also liked the platform portability of Allegro CL. "Allegro CL and Lisp provide a big advantage over other languages like Java, which claim to be platform-independent, but in fact, carry many hidden platform dependencies."

Lisp also makes GDL/GWL significantly more powerful and versatile than its competition. Most KBE systems use custom-designed interpreted scripting languages, which limit the performance and extensibility of an application. Because the GDL/GWL is a superset of Lisp, it's easier to handle compute-intensive tasks, and no special language interfaces are needed to connect to other applications.

Moreover, most CAD-oriented KBE tools focus only on parametric mechanical geometric parts, rather than supporting general-purpose application development. This makes it difficult to integrate a mechanical geometric application together with other non CAD-oriented applications.

Thanks to the inherent high level functionality available in Lisp, GDL/GWL doesn't have this problem. It can easily integrate with other applications and even be used in lieu of them — simplifying and reducing the cost of the development process. For example, GDL/GWL can easily replace the use of spreadsheets. Spreadsheets tend to follow a more event-driven updating model, where the entire sheet (and dependent sheets) are forcibly recomputed when a value is changed in any cell. With GDL/GWL, when a user changes a value on an application page, no computation or updating takes place at that time. Only when the user visits another page/sheet that must display results that depend on the changed value, is the computation done. Plus, the computation is only done for data elements on the pages being displayed — there might be hundreds or thousands of other pages that also potentially depend on the changed data, but the cost of computation will never occur if the pages are never viewed. Further, because GDL/GWL is based on a full object-oriented language model, there is a distinction between the definition of an object and a particular instance of an object. Unlike spreadsheets, where there is no separation between an object's definition and an instance, in GDL/GWL, a single object definition can serve as a "blueprint" for any number of independent instances of the object.

The use of Lisp also plays a role in the future use of GDL/GWL, since the application can be adapted to different domains.

Genworks International is based in Birmingham, Michigan. For more information about Genworks and the GDL/GWL product line, please visit

Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter