Кто-нибудь использует Lisp для веб-приложений на базе MySQL?

Я все время слышу, что Lisp - действительно продуктивный язык, и мне нравится SICP. Тем не менее, мне не хватает чего-то полезного, что позволило бы мне заменить PHP для взаимодействия с серверной базой данных в веб-приложениях.

Есть ли что-то вроде библиотеки PHP PDO для Lisp, Arc, Scheme или одного из диалектов?

Самым популярным коммерчески используемым диалектом Lisp в настоящее время является Common Lisp (который во многом отличается от схемы SICP), а библиотека CLSQL отлично работает с MySQL. Это очень просто настроить с помощью quicklisp (.org). Я использовал CLSQL в серьезных проектах, он надежный и очень мощный (хотя я бы порекомендовал PostgreSQL с Postmodern как лучший выбор).

Luka Ramishvili 31.08.2012 11:03
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
6
1
5 025
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Cliki - хороший ресурс для библиотек Common Lisp: http://www.cliki.net/database

Существует проект под названием Elephant (http://common-lisp.net/project/elephant/index.html), который является абстракцией для сохранения объектов в CL.

newLISP - http://www.newlisp.org/ - поддерживает MySQL, но я не использовал его (newLISP).

Будьте предупреждены. Если вам нравится SICP, newLISP вас сильно разочарует.

jfm3 17.09.2008 02:20

Предупреждаем вдвойне: SICP использует схему, и большинство пуристов Lisp думают, что newLisp на самом деле больше схема, чем Lisp ...

philosodad 23.01.2011 02:49

Предупреждаем трижды: newLisp едва ли можно назвать Lisp.

JasonFruit 02.05.2011 21:04

Если вы довольны SQL как частью своей жизни, CL-SQL обеспечивает отображение в объекты CLOS. На вид он более зрелый, чем Слон.

Я использую его на своем собственном сайте.

Мы используем SBCL, UCW, CL-SQL и MySQL в качестве серверной части для Paragent.com. У нас это сработало очень хорошо. У нас также есть несколько клиентов, использующих UCW / CL-SQL / MySQL для пользовательских сайтов, которые мы создали с помощью нашего консультационного подразделения Битфауна.

Ответ принят как подходящий

newLisp поддерживает mysql5, и если вы посмотрите на вызовы функции mysql5, вы увидите, что он близок к PDO.

У меня были хорошие успехи с SBCL и CL-SQL. В CL-SQL есть API сопоставления объектов, но я использовал простой API SQL, который просто возвращает списки, и это сработало достаточно хорошо. А в языке Clojure вы взаимодействуете с JDBC через карты или структуры {: col1 "a",: col2 "b"}, поэтому сгенерированная библиотека классов не дает вам более простого кода, язык прекрасно справляется с этим. По моему опыту, между lisp и sql меньше проблем, чем между более статическими языками и sql.

наше ORM-решение Common Lisp - http://common-lisp.net/project/cl-perec/

базовая библиотека SQL - http://common-lisp.net/project/cl-rdbms/ (полностью протестирована с PostgreSQL, имеет игрушечный бэкэнд SQlite и несколько протестированный бэкэнд Oracle)

мы начали использовать CLSQL, но после некоторой борьбы решили развернуть свой собственный.

эти библиотеки и PostgreSQL используются в кластерном веб-приложении, разработанном для правительства Венгрии для планирования бюджета муниципалитетов. у него около 4000 пользователей, 500 на момент ознакомления. немного больше информации доступно на http://common-lisp.net/project/cl-dwim/

к сожалению, нет примеров, как его использовать :-(

ruby_object 05.05.2020 15:25

hu.dwim.perec имеет обширный набор тестов, а также многие другие библиотеки hu.dwim. *.

Attila Lendvai 06.05.2020 16:27

Поскольку никто об этом не упомянул, вы можете попробовать Постмодерн, который является интерфейсом для PostgreSQL. Он нацелен на более тесную интеграцию с PostgreSQL и поэтому не претендует на переносимость между базами данных.

Я объединил его с горбун и cl-who и создал довольно хороший веб-сайт.

Postmodern великолепен, но OP запросил MySQL, для которого лучше подходит CLSQL (его ORM поддерживает больше функций, но postmodern чище и в целом работает лучше).

Luka Ramishvili 31.08.2012 10:58

Пока вы переключаете свое Web-приложение на Lisp, подумайте об использовании персистентности: теперь у вас есть постоянно работающий образ Lisp, содержащий все, что касается вашего приложения. Я лично использовал для этого Слон.

Elephant может использовать CL-SQL или BDB в качестве бэкэнда, что означает, что вы можете использовать MySQL, если он у вас запущен. Однако я нашел использование SQLite действительно практичным.

Другие вопросы по теме