Allegro CL 11.0

The Ultimate Neuro-Symbolic AI Programming Platform

Allegro CL ® the most powerful Symbolic AI development system available today offers a perfect match with LLMs for fact-based enterprise-wide, AI application development. The power of Symbolic AI with LLMs, required by fields ranging from Life Sciences to Manufacturing to Financial Analytics, is delivered by Franz's complete AI technology stack, which also satisfies the need for Retrieval Augmented Generation (RAG). Allegro CL 11.0 is the most effective system for developing and deploying Neuro-symbolic applications to extend AI in the real world. For more information, contact info@franz.com.

  • Combination of classic AI symbolic reasoning + Large Language Models + Graphs.
  • Plug-in AllegroGraph for seamless Semantic Knowledge Graph capabilities,
  • Use Lisp or Prolog to write rules for symbolic reasoning with or without AllegroGraph.
  • Extract structured and unstructured information from LLMs and store in AllegroGraph.
  • Perform fast, accurate, and intelligent text retrieval and query answering with the built in Vector Database.

"Franz has further advanced its industrial-strength Common Lisp platform with the release of Allegro CL 11. Impressive ARM support on both Mac and Linux means switching architectures is painless. Internally, hashtables and sorting are measurably improved. ACL 11 is a great platform for development professionals"

Jason Cornez CTO, RavenPack International

"Common Lisp remains one of the best languages for Artificial Intelligence applications, its flexibility enables rapid experimentation and deployment. Today's Lisp compilers are robust and flexible allowing development entirely within Lisp or in combination with other languages. For example, our CyclePad system for helping engineering students learn thermodynamics is written entirely in Allegro CL. Similarly, our sketch understanding system, CogSketch, which is a novel platform for both cognitive science research and education is primarily written in Allegro CL with two modules in C."

Ken Forbus - Walter P. Murphy Professor of Computer Science at Northwestern University

"For several years now, Triton has been harnessing the extraordinary power and flexibility of Common Lisp, and more specifically the Allegro CL platform, to research and rapidly develop cutting-edge approaches for the implementation of advanced embedded AI prototypes. With Allegro CL 11 this superbly integrated development platform continues to evolve with many powerful and handy new capabilities. Panos Lekkas, VP - AI Systems, at Triton Systems, Inc."

Panos Lekkas, VP - AI Systems, at Triton Systems, Inc.

Enhancements

See the Release Notes for a complete description of new features and enhancements.

New Features in 11.0

  • LLM Integration for Neuro-Symbolic Computing
  • Knowledge Graph and Vector Storage capabilities via AllegroGraph
  • AWS Graviton Processor Support - ARM Processor
  • Extensible lock-free hash-table imprelementation
  • Native port to Apple Silicon and Software is Notarized
  • Bowser Based IDE - CG/JS version of Common Graphics and the IDE
  • Prebuilt fast-but-unsafe clrhash implementation.
  • Significant changes to the runtime analyzer.
  • New protection against trashing system constants.
  • New situations for atomic update operations on slot-value calls.
  • New :libname keyword argument to ff:def-foreign-call.
  • MariaDB databases work with Allegro CL MySQL functionality.
  • Support of package-local nicknames.
  • New embellisher metaclass allows adding code to the class definition.
  • AllegroServe documentation moved to github.
  • Sort reimplemented to perform better on specialized arrays.
  • The resource mechanism is more efficient on SMP lisps.
  • Performance improvement for many boolean operations.
  • New compile-file strategy
  • More than 400 fixes and 150 enhancements (see the Release Notes for the highlights).


Overview

Connectivity Tools Database Tools Deployment Tools GUI Tools
IDE Prolog Tuning Tools Web Server

Powered by Common Lisp, Allegro CL's true dynamic object technology allows developers to generate leading edge, mission-critical applications that are robust, extensible, and easy to evolve and deploy.

  • AllegroCache
  • AllegroCache -- The enabling technology behind Allegro CL persistent objects is a high-performance, scalable, dynamic object-caching database. It allows programmers to work directly with objects as if they were in memory while in fact the object data is always stored on disk. It supports fully ACID-compliant transaction mode with both long and short transactions. It automatically maintains referential integrity of complex object networks. AllegroCache provides 64-bit real-time data caching on the application memory to achieve very high data access throughput over as large a data set as required. AllegroCache features include:

    • Persistent CLOS Objects in Allegro Common Lisp -- Class definitions are stored as first class objects in the database
    • Dynamic Schema Evolution -- Redefine classes on the fly, persistent objects are lazily updated when accessed
    • Standalone & Client Server -- Single user on local disk or multiple clients talking to single server over sockets
    • Bulk Loading -- Improved performance adding objects to the database
    • Transaction Logging -- Restore databases after power failure or disk crash
    • Expression Cursors -- Iterate over a set of instances that satisfy a predicate over multiple slots of an instance
    • Range Queries -- Retrieve objects with slots that match a range of values
    • Native lisp btrees -- Comparable in speed with BerkeleyDB, with more control
    • Transactional model -- All ACID features, commit/rollback, and optimistic concurrency
    • Supports databases with billions of objects (and Terabytes of Data)
    • Convenient macros to loop over classes, maps and sets
    • Indexed slots -- A mapping from slot-values to objects, retrieve objects and object ids (oid)
    • Maps -- Transactionally safe persistent hashtables
    • Sets -- Persistent large collections of objects
    • Supports most common datatypes -- Including unsigned-byte 8 arrays, maps and sets
    • Object ID's unique for the lifetime of the database -- User accessible
    • Dump the database into XML files
    • Restore database from the XML dump
    • User controlled caching -- For the size of the btrees and the total number of objects stored in the cache
  • Connectivity
  • Connectivity:
    • SAX/DOM XML Parsers: Validating XML parsers, successfully tested against all major test suites. Analyze and process enterprise XML data extremely fast
    • Allegro Webactions: A Web Application Framework for building dynamic web pages that can be easily maintained and updated
    • AllegroServe: A dynamic, high-performance Lisp-based web server that also interoperates with other web/application servers
    • HTML Parser: Process and analyze web page data
    • SSL Socket Streams: Secure internet transactions
    • XML RPC (Remote Procedure Call): Allows Lisp applications to communicate via XML
    • Lisp RPC (Remote Procedure Call): Allows two Lisp applications to more easily communicate
    • IPv6 -- Internet Protocol version 6 socket support
  • Development
  • Development:
  • Source Level Debugger for Mac, Windows, and Linux
  • The Allegro CL Source Stepper

    The Allegro CL Source Stepper is an offering unique to existing Lisp debuggers, and in fact probably unique to source-level debuggers provided by other languages. The Allegro Source Stepper provides the following:

    • Debug/stepping info can be loaded on demand, without recompiling the function under debug.
    • Assembler instructions can be displayed and stepped.
    • Macros are rendered transparent, allowing macro forms as well as all levels of their expansions to fully participate in the debug process.
    • Language personalities can be defined and loaded, which customize the debugger behavior for domain specific languages implemented in Common Lisp.

    The source stepper displays source code while stepping through a form. When using it with the IDE, the source stepper is associated with the new Stepper Dialog. The Stepper Dialog allows carefully testing compiled code by interrupting execution at selected forms in the original source code and at macroexpansions of the code, allowing state to be examined at each stop point.

    The dialog displays the original lisp source code for a function or method that is being stepped through, highlighting the form at which the stepper is stopped. Button widgets allow proceeding in various ways each time execution has been interrupted. The dialog also displays macroexpanded forms and the values of arguments and local variables, updated after each step. The IDE's code editor can be invoked at any time on the code being stepped through.

    The dialog is implemented on top of the base lisp's stepping facility, which also has a simpler textual interface that can be used in a lisp listener. See The Lisp DeBug (ldb) stepper and The source stepper, both in debugging.html.

    Stepper Dialog Example (click on picture to enlarge)

    The Definition Pane

    The Definition Pane (at the top of the dialog) shows the source code for the function or method that's currently being stepped through. This is a copy of the real source code text, complete with comments and original line breaks. The form at which the stepper is currently stopped will be highlighted with a different background color. Red parentheses are drawn around any breakpointed forms. The breakpointable form under the mouse (if any) in the Definition Pane will have a blue border drawn around it.

    The form in the Definition Pane where the stepper is stopped is drawn with a background color that can have different meanings. An explanatory note will appear in the dialog the first three times each highlighting color is used. The default color is blue. When green, source-level debugging information is available for the function that the highlighted form will call. This is a "green light" that pressing the Step Into button will continue doing source-level stepping. When orange, you are stopped at a macro form. When gray, it means that no source code range is known for the current step point.

    The Form Pane

    The Form Pane (second from the top) shows just the form at which the stepper is currently stopped. This form would be executed by a subsequent Step Next. Sometimes this is a form in the original source code, and is the same as the highlighted form in the Definition Pane, and at other times it is all or part of a macroexpansion.

    The Stack Pane

    The Stack Pane (third from the top) lists the arguments and local variables of the function that is being stepped through, followed by the arguments to the function that called the function being stepped, and then by the arguments to to the next calling function.

    Assembly-Language Stepping in the Stepper Dialog

    If breakpoints are added to functions for which source-level debugging information is not available, the Stepper Dialog will still display some information and allow stepping to be done.

    Documentation

    Please refer to the Stepper Dialog documentation for the full details.

  • Interoperability
  • Interoperability:
  • Runtime
  • Runtime:

Minimum Supported Operating System Versions

Allegro CL 11 is available on the following operating system versions.

Platform Types available
Linux (x86-64) with glibc 2.17 non-SMP, SMP
Linux (ARM v8.1) Amazon Linux (Graviton) with glibc 2.26 non-SMP, SMP
Linux (ARM v8) Redhat/CentOS with glibc 2.17 non-SMP, SMP
Apple macOS (Apple Silicon) non-SMP, SMP
Apple macOS (x86-64) non-SMP, SMP
Windows (x86, 32bit) non-SMP, SMP
Windows (x86-64) non-SMP, SMP
FreeBSD (x86-64) SMP
Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter