Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
1

СУБД на Лиспе

07.03.2022, 22:31. Показов 1002. Ответов 11

Author24 — интернет-сервис помощи студентам
Привет всем.
Есть ли какие-нибудь СУБД написанные на Lisp?
Вообще как вы видите себе построение СУБД на Lisp, на сколько это оправданно?
Мне кажется, что построение СУБД на бестиповом языке имеющим в своей основе списки весьма перспективным.
Как вы считаете?

Добавлено через 46 минут
вот небольшой пример.
в качестве основы данных может быть список пар, где ключом является символ, а пользовательскими данными любой иной тип данных

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#lang racket
 
(define person '((name ."Иван")
                 (age . 19)
                 (country ."Россия")
                 (profession . "студент")))
 
 (define (over-table person)
     (if (empty? (cdr person))
         (printf "~s\n" (car person))
       (begin
         (printf "~s\n" (car person))
         (over-table (cdr person)))))
 
(printf "~s\n\n" "Печатаем таблицу")
(over-table person)
 
(printf "\n")
(printf "~s\n\n" "Осуществляем поиск по запросу")
 
 
(define (find person query)
  (if (empty? person)
      (printf "~s\n" "Ничего не найдено")
      (if (equal? (car (car person))
                 query)
          (printf "~s\n" (car person))
          (find (cdr person) query))))
 
(find person 'age)
 
"Печатаем таблицу"
 
(name . "Иван")
(age . 19)
(country . "Россия")
(profession . "студент")
 
"Осуществляем поиск по запросу"
 
(age . 19)
>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2022, 22:31
Ответы с готовыми решениями:

Реализация циклов на Лиспе, Вложенные циклы на Лиспе
1)реализовать двумя способами (LET, LOOP, DO, DOTIMES) первая картинка 2)Согласно варианту...

Импортирование из СУБД Linter в СУБД PostgreSQL
Други, кто-нибудь может помочь с импортированием из СУБД Linter в СУБД PostgreSQL

СУБД Oracle vs СУБД SAP HANA
Коллеги, в России появилась новая СУБД, которая создавалась компанией SAP AG с целью замены СУБД,...

Создать СУБД "Энергосбыт". СУБД должна выдавать следующие сведения:
В организации "Энергосбыт" ведётся реестр поступивших платёжных документов за пользование...

11
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
08.03.2022, 08:11 2
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

CLOG Builder Tutorial 4 a complete database app in minutes
1
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.03.2022, 09:54  [ТС] 3
Цитата Сообщение от _sg Посмотреть сообщение
CLOG Builder Tutorial 4 a complete database app in minutes
"We are going to use SqlLite that automatically creates a pseudocolumn rowid for each table and use that unique id to build our relations."

Не торт! Используется SqlLite и натягивается потом на приложение.
Есть ли написанные с нуля на лиспах СУБД? Движок и всё остальное.
Как вообще относитесь к идее реализации СУБД на лиспе?
0
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
08.03.2022, 11:24 4
Цитата Сообщение от Гай Посмотреть сообщение
Привет всем.
Вообще как вы видите себе построение СУБД на Lisp, на сколько это оправданно?
LambdaLite - A functional, relational database in about 250 lines of Common Lisp. MIT.
AllegroGraph - A modern, high-performance, persistent graph database. Там еще всроенный пролог как язык запросов.

Добавлено через 2 минуты
Цитата Сообщение от Гай Посмотреть сообщение
Привет всем.
Вообще как вы видите себе построение СУБД на Lisp, на сколько это оправданно?
Вопрос ведь кто ей ползоваться будет? кроме лисперов коих самих по себе тоже немного

Добавлено через 6 минут
Rucksack - Rucksack is a persistence (embedded database) library for Common Lisp. Древний и интересный эксперимент
CommonLispPrevalence - A way to let your lisp environment be your Database. Концепция традиционная для CL

Добавлено через 10 минут
Clobber - Учебный пример в этом подходе

Добавлено через 13 минут
PycoLisp тоже идет с собственой БД на базе Пролога
A Minimal DB/GUI Example
The Picolisp database, ORMS and relational database systems. A comparison between the built-in Picolisp database, ORMs and relational database systems.
3
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.03.2022, 11:39  [ТС] 5
Цитата Сообщение от antares0 Посмотреть сообщение
Вопрос ведь кто ей ползоваться будет? кроме лисперов коих самих по себе тоже немного
Не важно мало их или много. Если будет хорошая СУБД, то будут пользоваться в независимости от того, на чём написано.
Единственный вопрос в интеграции с кодом сторонних программ. Тут уже да, возникают вопросы. А как отдельная сущность СУБД на лиспе - ничем не хуже других баз данных, написанных на других языка.

Да и вообще, лисп же, по сути, для подобных задач и создавался. В СУБД он может раскрыться очень хорошо.

Я тут, в связи с текущей ситуацией, глянул на существующие отечественные СУБД и все они, по-моему, используют в своей основе другие уже известные SQL, что как бы не комильфо. То есть берут уже готовые решения и обвешивают их мешурой сверху. Мне кажется те, кто сейчас предложат готовые хорошие решения могут хорошо взлететь. Но, надо признаться, не у всех на это хватит мозгов. У нас принято делать Bolgenos OS за миллиарды из бюджета, апо итогу - кирдык.
0
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
08.03.2022, 11:49 6
Цитата Сообщение от Гай Посмотреть сообщение
Я тут, в связи с текущей ситуацией, глянул на существующие отечественные СУБД и все они, по-моему, используют в своей основе другие уже известные SQL, что как бы не комильфо. То есть берут уже готовые решения и обвешивают их мешурой сверху. Мне кажется те, кто сейчас предложат готовые хорошие решения могут хорошо взлететь. Но, надо признаться, не у всех на это хватит мозгов. У нас принято делать Bolgenos OS за миллиарды из бюджета, апо итогу - кирдык.
Тут ведь вопрос где найти тех кто готовые решения на эльбрус перенесут. Вот ето интересно будет

Добавлено через 2 минуты
Цитата Сообщение от Гай Посмотреть сообщение
Не важно мало их или много. Если будет хорошая СУБД, то будут пользоваться в независимости от того, на чём написано.
Единственный вопрос в интеграции с кодом сторонних программ. Тут уже да, возникают вопросы. А как отдельная сущность СУБД на лиспе - ничем не хуже других баз данных, написанных на других языка.
Рантаймом лиспа и хуже и лучше. И тут вопрос кто в этой архитектуре разбирается
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.03.2022, 11:58  [ТС] 7
Цитата Сообщение от antares0 Посмотреть сообщение
Тут ведь вопрос где найти тех кто готовые решения на эльбрус перенесут. Вот ето интересно будет
Про Эльбрусы пока речи нет. Может китайцы возьмутся их выпускать, пока тайваньцы их отказались выпускать. Но суть в том, что простому смертному Эльбрус не получить. Да и когда он сможет это сделать - вопрос. Да и вообще Эльбрусы как продукт - сомнительны в плане того, что это тоже какая-то полумера. Во-первых для разработки языка использовались Си. С++, Ада и тд. Что как бы уже говорит о неполноценности, ведь изначально для эльбрусов использовлись языки семейства Эль. Сама система тоже на англицком. ОС - Линукс доработанная. В общем это полумера, а не цельное автономное решение. Да и по-моему лисп на эльбрусы ещё не портирован.
А так они помогают в переносе, если есть желание и возможности. Или хотя бы открытый код.
0
331 / 199 / 9
Регистрация: 12.05.2015
Сообщений: 334
08.03.2022, 12:10 8
Цитата Сообщение от Гай Посмотреть сообщение
Про Эльбрусы пока речи нет. Может китайцы возьмутся их выпускать, пока тайваньцы их отказались выпускать. Но суть в том, что простому смертному Эльбрус не получить. Да и когда он сможет это сделать - вопрос. Да и вообще Эльбрусы как продукт - сомнительны в плане того, что это тоже какая-то полумера. Во-первых для разработки языка использовались Си. С++, Ада и тд. Что как бы уже говорит о неполноценности, ведь изначально для эльбрусов использовлись языки семейства Эль. Сама система тоже на англицком. ОС - Линукс доработанная. В общем это полумера, а не цельное автономное решение. Да и по-моему лисп на эльбрусы ещё не портирован.
А так они помогают в переносе, если есть желание и возможности. Или хотя бы открытый код.
Лисп не портирован, поcему я вижу мало смысла в умзрительном продвижении отечественных СУБД на нем. Хотя само портировне в принципе реальная задача. Проще чем СУБД массово внедрять
В остальном можно было бы дискутровать на тему все не так просто, но лучше вкратце замечу - системы на нем не идущие будут отбрасывать. А постгрес,sqlite и линтер на нем таки пойдут
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.03.2022, 12:23  [ТС] 9
Цитата Сообщение от antares0 Посмотреть сообщение
Проще чем СУБД массово внедрять
Я никуда ничего не собираюсь внедрять и никому не предлагаю. Мне интересна стала сама тема)

Добавлено через 2 минуты
Да и вообще если об этом говорить, то путь должен быть каким-то таким.

Процессор -> архитектура -> ЯП -> ОС -> экосистема

Добавлено через 4 минуты
Цитата Сообщение от antares0 Посмотреть сообщение
но лучше вкратце замечу - системы на нем не идущие будут отбрасыват
В пример приведу Vlang
Вы слышали о таком языке? Скорее всего нет. Развивает его один человек по сути, но у него уже экосистема - будь здоров.
Есть web, script, gui, графика и даже ОС Vinix.
Если сравнивать с тем же Rust где нет до сих пор нормального gui, то Vlang выглядит куда привлекательней.
Хотя Rust разрабатывала целая компания, а Vlang - энтузиасты.
1
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
08.03.2022, 13:18 10
Гай,
Михаил Бахтерев: О системах и языках программирования
0
Нарушитель
79 / 75 / 16
Регистрация: 12.01.2022
Сообщений: 901
08.03.2022, 13:35  [ТС] 11
Цитата Сообщение от _sg Посмотреть сообщение
Михаил Бахтерев: О системах и языках программирования
Согласен с тем, что поддерживать Linux - глупо.
Про open source - не согласен. Он open формально, но может быть и closed вполне.
Просто много наших программистов его поддерживают своей работай поэтому, думаю, не рискнули.
Про то, что для лиспа открываются сейчас хорошие возможности - согласен.
0
100 / 8 / 2
Регистрация: 12.03.2014
Сообщений: 10
08.03.2022, 18:58 12
Лисп - это готовая база данных в оперативной памяти, причём как язык превосходит по мощности любой SQL. Если задача представляется иерархией сложных структурных объектов в относительно небольшом количестве (не больше 100000), лучший подход - сериализация и десериалзиция целой базы в один большой файл на диске. При нынешних размерах ОП (и довольно стабильной работе Windows 10 - довели спустя десятилетия :-)) для многих предметных областей - идеально. Плюс автосохранение или логи для восстановления на случай зависания.

Если же задача лучше ложится на реляционную БД: неисчислимое количество довольно простых объектов с относительно небольшим числом связей, то
- либо библиотека для укладки в РБД, вроде Common-SQL, Picolisp и т.п.
- либо специализированное заточенное под Лисп ОО-хранилище, например, Allegro-Store или Rucksack.
3
08.03.2022, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2022, 18:58
Помогаю со студенческими работами здесь

Реализация отправки данных из EditText приложения Android в поле таблицы БД под СУБД Oracle 11g и в поле БД под СУБД MSSQL
всем доброго времени суток! Читаю и изучаю мануалы и уроки по разработке ПО под Андройд....

Списки на Лиспе
даны списки L1,L2,L3. Если L1 является префиксом L2, а L3 - суффиксом L2, то ответ yes, иначе - no....

Структуры на Лиспе
Добрый ночи, форумчанин! Прошу помогите мне пожалуйста. Задача 4. На аптечном складе...

Вывод в лиспе
(defun main() (setq a 5) ;как вывести: a = 5? ) (main)

О Лиспе и гомоиконности
Ясно.

Рекурсия в лиспе
объясните пожалуйста зачем здесь T. Я понимаю практически до конца как работает код, но одного не...

Мультидиспетчеризация в Лиспе
Допустим, имеем иерархию Животное Млекопитающее Собака Кошка Земноводное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru