LINUX.ORG.RU

[Лиспофлейм]Реализации common lisp и пакеты


0

0

Вот не пойму.

Вы хотите написать программу, использующую сторонние библиотеки в C, вы пишите

#include <foo.h> // препроцессор вставляет сдесь содержимое foo.h

В пистоне: import foo // Создается неймспейс foo, читается код из foo.py, все переменные/функции запихиваются в этот неймспейс.

В лиспе же вообще нет единой системы. Когда я сидел под дебианом в clisp'е там было что-то типа:

(require 'common-lisp-controller)
(common-lisp-controller:clc-require 'foo)

В sbcl для установки(!!) пакетов (вернее «систем», которые определяются с помощью defsystem) используется asdf-install:

(asdf-install 'foo)
(require 'foo)

Так вот вопрос: почему реализация берет на себя установку пакетов, контроль путей к пакетам итд.? Почему установку не доверить, например, пакетному менеджеру операционной системы?

Почему везде нельзя как в emacs (идеальный вариант):

(setq load-path (append load-path '(#p"/foo/bar" #p"/foo/buz")))
(require 'bar)
(require 'buz)

Или тупо (load «/foo/bar/buz»)?

Вопрос не совсем технический, поэтому в talks

Ответ на: комментарий от yoghurt

> На нём можно удобно и быстро решать задачи, а тот факт, что этим мало кто занимается, есть следствие не неприменимости, а скорее относительной непопулярности

а непопулярность есть следствие чего ? из-за какой такой фичи или misfeature язык вдруг выпадает из контекста рассмотрения в голове конкретного программиста?

anonymous
()
Ответ на: комментарий от lester

«xfBuild has been tested on projects with 300+ modules and achieves build times of around 2–3 seconds when just a few modules need to be recompiled therein (on a 1.7GHz Intel Centrino CPU with DMD-Win).»

Сейчас проверю на DWT.

naryl ★★★★★
()
Ответ на: комментарий от naryl

ты главное протестируй на большом проекте, а то ведь в gcc тоже можно насоздавать .gch для всех библиотек и быстро собирать не обращая внимания на зависимости

lester ★★★★
()
Ответ на: комментарий от yoghurt

он думает так не просто так, а патаму что есть уже написанные тулзы с подержкой на уровне процессов и платформы, а не конпелятора и езыга. Этот ынтерпрайс-код просто лень всем писать по второму разы, поэтому условно согласимся, что это хорошее решение (за неимением лучшего)

смолток, да. Пачиму — странно, хотя тормозной он был в своё время, не зря, ох не зря возник тот же селф, даже жабе от него была польза, в хотспоте.

На тему понимания исторических процессов применительно к лиспу, а не смоллтоку — есть 2 работы «Why did Symbolics failed?» и «If that works, it's not AI». Полезно почитать их в контексте другой книжки, «Innovator's Dilemma», и вынести что-нибуть про heterogenous engineering, не только продукта/артефакта, но и процесса, и технологии отрасли в целом.

Но кому надо, тот знает и тихо пользует.

«у нас есть такие приборы, но мы вам о них не расскажем», да?

anonymous
()
Ответ на: комментарий от lester

> ты главное протестируй на большом проекте, а то ведь в gcc тоже можно насоздавать .gch для всех библиотек и быстро собирать не обращая внимания на зависимости

Сейчас проверю на DWT.

naryl ★★★★★
()
Ответ на: комментарий от Rastafarra

> а нафиг нужен язык, на котором никто не пишет и ничего не написано? или он аки первый самолет?

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

anonymous
()
Ответ на: комментарий от Rastafarra

> а нафиг нужен язык, на котором никто не пишет и ничего не написано? или он аки первый самолет?

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

anonymous
()
Ответ на: комментарий от archimag

> Хм, в каком языке есть, например, мультиметоды, динамические переменные, рестарты?

в Dylan вот кажется есть, хотя это тоже лисп, только алгол. Кстати, там вроде бы работает и «rebuild and execute» фича в IDE (в OpenDylan, не gwydion).

anonymous
()
Ответ на: комментарий от dragonfly

есть к примеру аналог екселя на схеме. Можно я в нём балансы посвожу?

anonymous
()
Ответ на: комментарий от lester

> в практичном мире - задачи должны решаться быстро, удобно, надежно, недорого

выбери любые две, да

anonymous
()
Ответ на: комментарий от dragonfly

я знаю, на чём считают сотни нефти. И лисп там известен ни разу — а из чего выбирать-то? Из каких решений, продуктов, напильников?

anonymous
()
Ответ на: комментарий от lester

именно этого слова нет, но оценку опенсорса вы дали

Опять приписывание своих неверных выводов другим людям. Этому специально на каких-то курсах по C++ учат?

mv ★★★★★
()
Ответ на: комментарий от mv

> Опять приписывание своих неверных выводов другим людям.

т.е. «смирись» - это радость и восхищение качеством опенсорса?

Этому специально на каких-то курсах по C++ учат?


конечно

lester ★★★★
()
Ответ на: комментарий от naryl

> Постоянное время компиляции в C/C++ больше благодаря функциональному метапрограммированию на шаблонах (только C++) и контекстно-зависимому синтаксису. Хотя второй больше влияет на сложность, чем быстродействие компиляторов.

однородный синтаксис решает. Почему, к примеру, в Google Go есть gofmt, а в D из аналогов только более толстый languagemachine c d-to-d translator'ом? Сложность разная

anonymous
()
Ответ на: комментарий от lester

т.е. «смирись» - это радость и восхищение качеством опенсорса?

Это констатация факта возможности выбора: использовать то, что есть, либо воспользоваться наличием исходников в свободном доступе.

mv ★★★★★
()
Ответ на: комментарий от mv

> это констатация факта возможности выбора: использовать то, что есть, либо воспользоваться наличием исходников в свободном доступе.

тогда приношу извинения

lester ★★★★
()
Ответ на: комментарий от anonymous

> вот только не надо про «неплохая» — ты вообще на ней писал что-нибудь объёмное и/или нетривиальное?

да.

Шаг влево-шаг вправо, и приходится писать компоненту на COM

не «приходится», а «есть возможность». почуствуй разницу.

Rastafarra ★★★★
()

От метео-бюро: «Ближе к выходным на ЛОРе намечается ещё один срач о Лиспе (читай CL)».

Надоело уже - каждый месяц.

К dragonfly - можно у вас спросить, вы зачем эту тему открыли? Если у вас другая дорога, и CL вам не интересен, то и проходили бы мимо, мешает он вам что ли?

Вот собственно что хотел сказать :) Ну ещё (можете принимать за флуд):

1. Библиотек много, есть хорошие. 2. Уж система загрузки-то (ASDF) у CL как раз таки ничего - её даже можно использовать вместо make :) 3. У меня имеется огромное количество литературы в электронном виде по теме - не меньше чем про Си или Питон. Причём эта литература заведомо по-мощней будет чем K&R какой-нибудь, или любой другой справочник о языке.

anonymous
()
Ответ на: комментарий от anonymous

> Если у вас другая дорога, и CL вам не интересен, то и проходили бы мимо, мешает он вам что ли?

Так интересен же)

dragonfly
() автор топика
Ответ на: комментарий от dragonfly

На ЛОР - только собирать срач. Если действительно хочешь получить ответ, то сюда: http://lisper.ru

naryl ★★★★★
()
Ответ на: комментарий от ott

> arabica xml library - обертка над libxml2, expat, xerces и msxml

Хм, мне казалось, что arabica предоставляет обёртки только для SAX, а всё остальное реализует полностью сама.

archimag ★★★
()
Ответ на: комментарий от anonymous

> нельзя — они все субъективные, одному арбузы важнее, другому вот — свиной хрящик.

так вот с этого и надо было начинать. а весь опус ниже адресуй тому перцу, который про критерии и таблицы начал.

Rastafarra ★★★★
()
Ответ на: комментарий от anonymous

> вполне нормальный веб-сервер

веб-сервер — это ты отнес к пхп, 1цэ или ДЕ?

ну хрен с ним. пусть веб-сервер. взглянул по диагонали линк. на глав.странице некто мне рассказывает как это круто, посчитать числа фибоначи. я никак понять не могу, традиция у них такая что ли...? типа хеловорда?

вопрос: нахрен эти числа нужны? :) лучше б двигло показал какое, или еще чего полезное.

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

> на глав.странице некто мне рассказывает как это круто, посчитать числа фибоначи. я никак понять не могу, традиция у них такая что ли...? типа хеловорда? вопрос: нахрен эти числа нужны? :)

Видимо, ты никогда не составлял хорошее гуи? Или у тебя просто нет в окружении людей, знакомых с архитектурой ;)

dave ★★★★★
()
Ответ на: комментарий от dave

Не, просто человек слегка незнаком с основами вычислительной техники. В частности, с арифметикой в системе счисления Фибоначчи и ее преимуществах. А вообще открываем Главу 1.2.8 «Искусства программирования» Кнута и читаем, для чего нужны числа Фибоначчи.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

То есть, раздел 1.2.8, конечно же. Да, а в разделе 3.2.2 читаем о датчике случайных чисел Фибоначчи, в Главах 5 и 6 — об использовании этих чисел при быстрой сортировке и поиске.

eugine_kosenko ★★★
()
Ответ на: комментарий от dave

> Видимо, ты никогда не составлял хорошее гуи?

покажи пару примеров, где «хорошее гуи» генерится и для этого используются эти самые числа.

Rastafarra ★★★★
()
Ответ на: комментарий от eugine_kosenko

> Не, просто человек слегка незнаком с основами вычислительной техники.

что такое числа фибоначчи я знаю, вопрос не в этом.

специально для таких, как ты: как гуйня повязана на эти числа? зачем они нужны при рисовании гуя?

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

Я уже сказал — читаем Кнута, там и об эстетике золотого сечения тоже написано. Даже ссылки на Мартина Гарднера есть, где это подробно рассматривается.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

Кстати, в ту же копилку численный метод решения уравнений методом золотого сечения.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

> Я уже сказал — читаем Кнута

читал.

там и об эстетике золотого сечения тоже написано


и про него читал.

я правильно понимаю, что если тебе надо нарисовать гуй (вебовый, если кто забыл, ибо началось все с пхп), то:
1. ты его генеришь
2. ты в обязательном порядке считаешь числа фибоначчи. кстати, до какого обычно?

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

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

dave ★★★★★
()
Ответ на: комментарий от dave

Я тебе дал подсказку на твой вопрос.

ты сметанировал ты написал что-то мало вразумительное и не относящееся к контексту.

Rastafarra ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.