Разработчики из проекта dotcl создали реализацию Common Lisp, работающую прямо на .NET. Источники кода на лиспе компилируются в CIL и выполняются через JIT-компилятор .NET, что позволяет единому образу запускаться на Windows, macOS и Linux для архитектур x86-64 и ARM64 без отдельной портировки под каждую платформу. Решение строго следует стандарту ANSI Common Lisp, что подтверждено тестированием по набору ansi-test suite. Ядро проекта состоит из библиотеки dotcl.runtime, которую можно подключить к любому C# или F# проекту и использовать для оценки лисповских форм и взаимного вызова кода.
Специальный пакет dotnet: даёт прямой доступ к типам .NET, позволяя создавать строки через System.Text.StringBuilder и вызывать Math.Sin прямо из скриптов. С помощью dotnet:define-class можно наследоваться от классов .NET, и компилятор генерирует реальные классы, которые фреймворки вроде MAUI, ASP.NET Core и MonoGame воспринимают как обычные наследники. Поддержка экосистемы NuGet делает доступными любые пакеты, а большинство библиотек Quicklisp, не зависящих от внутренних механизмов SBCL, также загружаются нормально.
Запуск происходит после однократной сборки с помощью Roswell и SBCL. Команда make cross-compile компилирует линтер, а make install устанавливает его как глобальную утилиту dotnet tool. После этого dotcl умеет самосборку: можно вызвать DOTCL_LISP=dotcl make cross-compile, чтобы перекомпилировать компилятор самому. В демо-проектах демонстрируется создание приложения MAUI с лисповскими контроллерами, веб-сервера на ASP.NET Core, игры в MonoGame с анимацией через лисповский код и сервер протокола Model Context Protocol, выводящий REPL для клиентов вроде Claude Desktop. Архитектура проекта, написанная на лиспе, превращает S-выражения в плоский список инструкций CIL, а C#-часть обрабатывает объекты и сборку .fasl файлов. Документация по установке на Windows, включая работу с Registry и WMI, доступна в отдельных файлах.