HomeLisp

    Недавно мой отец закончил разработку своей реализации языка LISP под Windows. Проект называется HomeLisp. Для того, чтобы проект был доступен любителям LISP-а был создан простейший сайт, куда будут выкладываться обновления, документация и где отец будет отвечать на вопросы пользователей. Собственно передаю ему слово.

    HomeLisp – простой, свободно распространяемый Лисп на платформе Windows!


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

    Идея, лежащая в основе Лиспа, чрезвычайно красива: все конструкции языка (программы и данные) представляются с помощью единой универсальной структуры – списка. Методология программирования на Лиспе в корне отличается от методологии программирования на традиционных языках (типа Си или Паскаля).

    Лисп-программист не разбивает алгоритм на отдельные элементарные шаги, не использует циклы, ветвления, присвоения значений переменным, а строит функцию, решающую поставленную задачу. При этом структура функции почти дословно соответствует математической формулировке решаемой задачи.
    Подобная методология сейчас называется функциональным программированием. Лисп – первый функциональный язык программирования и, вероятно, первый язык, который явно приветствовал использование рекурсии.

    Языки, появившиеся после Лиспа, превзошли Лисп по изобразительным возможностям… но по соотношению «сила/простота» рекорд Лиспа не побит до сих пор!

    Лисп – абсолютно не попсовый, элитарный язык программирования. И не удивительно, что хотя с момента его изобретения Дж. МакКарти прошло уже более 50 лет, Лисп жив по сей день! Далеко не каждому языку суждена столь долгая жизнь, – где сейчас Алгол-60 (которому пророчили большое будущее)? А по Лиспу издаются книги (к сожалению, не на русском языке…); появляются новые и новые реализации Лиспа на разных аппаратных платформах.

    Одну из таких простых реализаций Лиспа и предлагает автор этих строк.


    HomeLisp (домашний Лисп) – это 32-х битная реализация Лиспа в среде Windows.За основу была взята реализация Лиспа, описанная в книге С.С. Лавров, Г.С. Силагадзе «Автоматическая обработка данных. Язык Лисп и его реализация» М. 1978

    HomeLisp является свободно распространяемым программым обеспечением (FreeWare). Допускается свободное копирование как программного обеспечения, так и документации. Изменение программного кода компонентов HomeLisp не допускается. Цитирование документации допускается только с указанием автора.

    Авторские права на программный продукт и прилагаемую документацию принадлежат разработчику – Файфелю Борису Леонидовичу. E-mail для связи catstail@narod.ru.

    HomeLisp включает в себя следующие независимые компоненты:


    1.Среду разработки (IDE), содержащую ядро языка, текстовый редактор, конструктор диалогов (экранный дизайнер), построитель EXE-файлов и скромные средства отладки;
    2.COM-библиотеку, позволяющую вызывать Лисп из любой программной среды, поддерживающей COM-автоматизацию (например, из Microsoft Excel), а также два скриптовых «движка», позволяющих писать скрипты на языке Лисп;
    3.WEB-компоненту для работы на WEB-сервере IIS, позволяющую построить учебный класс для изучения Лиспа (при этом WEB-компонента инсталлируется только на сервере).

    HomeLisp обрабатывает следующие типы данных:


    1.целые числа практически неограниченной разрядности;
    2.стандартные числа с плавающей точкой;
    3.битовые шкалы;
    4.строки.

    HomeLisp поддерживает функции пользователя трех видов:


    1.обычные функции Лиспа (вычисляющие значения аргументов);
    2.специальные функции (не вычисляющие значения аргументов);
    3.макросы.

    К числу объектов, встроенных в ядро HomeLisp относятся:


    1.COM-объекты, позволяющие вызывать из среды Лиспа объекты, поддерживающие COM-автоматизацию;
    2.Файлы и BLOB-объекты (большие двоичные объекты), позволяющие обрабатывать произвольную двоичную информацию;
    3.Графические окна, позволяющие использовать простую графику;
    4.Диалоги, позволяющие строить программы с графическим пользовательским интерфейсом;

    HomeLisp снабжен подробной документацией, содержащей не только описание всех функций, описание языка “с нуля”, а также приемов программирования на Лиспе (что может оказаться полезным для тех, кто впервые знакомится с языком). Имеется список литературы на руccком языке, включающий и ряд Интернет-ресурсов, посвященных Лиспу.

    Скачать HomeLisp

    Несколько скринов






    Share post

    Comments 261

      –2
      А что символизирует «лямбда» в иконке?
      –15
      >по соотношению «сила/простота» рекорд Лиспа не побит до сих пор!

      >DrToller

      может быть все таки DrTRoller?
        +21
        я специально потрачу время и соберу все камменты где мне это говорили. и каждый такой клоун считал себя афигенно остоумным и оригинальным.
        0
        И тем не менее он прав. Лисп — очень мощный язык и в тоже время простой. Я если взять схему, так вообще наипростейший.
        +2
        а существуют ли какие-нибудь не академические применения HomeLisp?
        0
        О! Спасибо за книжку! Самый смех, что я сейчас тоже пишу интерпретатор лиспа, малюсенький, теперь хоть будет откуда оттолкнуться, а то в интернетах очень тухло по этому поводу :)
          +2
          Пишите на указный e-mail, отец человек отзывчивый — ответит на вопросы (я так думаю).
            +1
            вот то что вам нужно

            www.civilized.com/files/
            оттуда возмите

            lisp.c
            lispbook.pdf
            lispinit
            +3
            А чем вас не устроил SBCL, тот что полновесная реализация Common Lisp? ГУИ — лучше таки CLIM. В CLIM окна сделаны по-лисповски, с нормальной объектной моделью.

            Рекомендую вообще заглянуть на CLiki (Common Lisp Wiki).
              +1
              ссылки папе дам, он посмотрит.

              но в любом случае, это не исключает возможности сделать свою реализацию
                +1
                У SBCL есть проблемы в Windows. Тут скорее Clozure CL можно порекомендовать.
                Для GUI в этом сезоне модно использовать cl-gtk+.
                  0
                  Тогда уж Clojure + Swing :)
                    0
                    Хорошая штука Clojure, если закрыть глаза на несколько мелочей, но Java… ни разу не видел нетормозное приложение на Swing.

                    Да-да, тесты показывают, что java не тормозит, но я — не тест, я — человек.
                      0
                      Я тоже не видел, но верю, что они есть :)
                      А что за мелочи?
                        0
                        Отсутствие оптимизации хвостовых вызовов, недоступность read-table, недоступность cons.

                        Но есть одна менее легко обходимая проблема. Разработчики Clojure зовут его функциональным языком. И, тем не менее, из Clojure можно вызывать методы Java, которые могут иметь и, скорее всего, будут иметь побочные эффекты, т.е. методы не являются функциями.
                          0
                          Lisp не Haskell, во всех распространенных диалектах побочные эффекты — норма.
                  +8
                  предлагаю добрым людям дать отцу юзера инвайт :)
                    +2
                    ну да, а то мне тяжело за него отбиваться)))
                      +6
                      Я могу дать, пишите e-mail / имя в личку
                        0
                        А разве кармы 73 не достаточно, чтобы давай инвайты?
                          0
                          *давать

                          А, ну судя по списку приглашённых, вы скорее всего их уже потратили :)
                      +1
                      Браво! Всегда радует такая любовь к языку :)
                        0
                        спасибо
                        +3
                        >HomeLisp является свободно распространяемым программым обеспечением (FreeWare)

                        freeware != СПО
                          +4
                          СПО != свободно распространяемое ПО
                            +3
                            freeware != свободно распространяемое ПО
                              +2
                              Извините, что вмешиваюсь и занудствую, но из того, что A != B и B != C не следует, что A != C.
                                0
                                Конечно.
                                Тем не менее, freeware != свободно распространяемое ПО, так как
                                свободно распространяемое ПО предполагает, что никаких ограничений на распространение того, что имеется (экзешник, исходный код, движок сайта, что-то ещё).
                                В то же время freeware — это просто программа, доступная бесплатно с сайта разработчика.

                                То есть если у меня есть свободный «a.exe» и фриварный «b.exe», то своему другу Пете я смогу легально отдать только «a.exe», а «b.exe» он должен будет скачать с сайта самостоятельно.
                                  0
                                  Ну, я это все понимаю, спасибо…
                              +1
                              свобода копировать туда-сюда исполняемый win-only блоб не есть свобода распространения ПО
                            +9
                            нет языка, кроме LISP и ProLog пророк его (Ц) ;))

                            интерфейсик ИДЕ вин3.11стайл ужасен, конечно
                            планируется ли «веб-компонента» для других веб-серверов (Apache etc)?
                            другие планы развития?
                            плюспиццот за фришный Лисп в винде, только вчера думал, как бы его заюзать…
                            (это я к тому, что не оставляю попыток выучить лисп; в пятницу вот разобрался синтаксисом)
                              0
                              планы развития безусловно есть. но зачем говорить о планах? лучше показать результат.
                                0
                                Посмотрите на mod-lisp в связке с SBCL или clisp.
                                  0
                                  я заметил ваш каммент выше, взял на заметку
                                    +1
                                    mod-lisp — это нечто вроде mod_fastcgi, так что его можно использовать хоть с чем, ничего особенно лиспового там нет, просто тупой как валенок протокол передачи запроса от апача приложению.

                                    ИМХО, лучше взять GNU clisp и запустить на нём лисповый веб-сервер Hunchentoot. Или использовать fastcgi-модуль, который идёт в комплекте clisp.
                                    +1
                                    CLozureCL уже давненько на вину портировали
                                    (SBCL тоже с горем-пополам работает. Вот где, кстати, не помешали бы усилия...)
                                    +1
                                    Замечательный проект. Грандиозная работа. Вашему отцу наилучшие пожелания!
                                      0
                                      спасибо!
                                      +5
                                      А в чем смысл создания еще одного диалекта? Почему вы не приложилось к работе над реализациями существующих? Ведь язык сам по себе — это игрушка, пока у него не появляется сопутствующей экосистемы в виде разработчиков и написанного ими. Понять подобную разработку еще можно было, если бы вы хотели сказать какое-то новое слово (как, например, разработчик Lisp'а Clojure), однако в данном случае, похоже, происходит повторение «давного пройденного материала»…
                                        +2
                                        Вы никогда не программировали просто так для души?
                                          +1
                                          постоянно этим занимаюсь ;)
                                            +1
                                            Я люблю perl-гольф, а он еще бесполезнее, чем HomeLISP :)
                                              0
                                              Было бы любопытно взглянуть на результаты этих занятий…
                                            0
                                            написать интерпретатор языка это не тривиальная задача. «Давно пройденный материал» это для пользователей, а для разработчика это отличная тренировка мозгов (хоум лисп я уверен тоже писался 4fun). Если нужна польза, то «старые» языки можно переводить на другие рельсы (платформу).
                                              0
                                              Тренировка мозгов — это, конечно, неплохая личная мотивация, не спорю. Однако, согласитесь, нужно еще и многие другие вещи тренировать. Например, NIH-синдром считается весьма вредным качеством для разработчика
                                                0
                                                Лисп один из наиболее простых в реализации языков.
                                            +2
                                            Посоветуйте вашему отцу какие-нибудь книжки посвежее.

                                            «Мир Лиспа» там, перевод Practical Common Lisp (ищется в гугле), если хорошо знаете английский и интересно написание собственных реализаций — Lisp in Small Pieces и Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (ищится в пираццких интернет-библиотеках).

                                            А интерпретатор на списках — это, извините, баловство. Лисп надо компилировать ;)
                                              +1
                                              Например, в LLVM.
                                              >This might be a cool basis for new generation of Lisp implementations. Today at least, you can compile small Scheme systems, such as SIOD and TinyScheme, with the LLVM C front-end compiler. We haven't tried any Common Lisp implementations yet.
                                              (http://www.cliki.net/LLVM)
                                                +1
                                                Я знаком со ВСЕМИ книгами по Лиспу, изданные на русском. А на «Мир Лиспа» я ссылаюсь в списке литературы…
                                                  0
                                                  > А интерпретатор на списках — это, извините, баловство. Лисп надо компилировать ;)

                                                  У авторов PicoLisp мнение противоположное.
                                                  +6
                                                  Кстати, а код, я так понимаю, открыт не будет?
                                                  Тогда какой прок от такого академического проекта?
                                                    0
                                                    В ближайшее время точно не будет
                                                      +1
                                                      Так мне и интересно — почему?
                                                      Это же гроб с колёсиками для некоммерческого проекта по ещё одной реализации языка программирования.
                                                        0
                                                        Потому что для этого нужно выполнить еще некий объем работ. Я же нигде не сказал, что это конечная версия и проект дальше развиваться не будет. Имейте терпение.
                                                          0
                                                          Так тут на хабре куча народа хотела бы поразвивать проект.
                                                          Я бы покрутил его с удовольствием, скажем. Глядишь, появился бы нормальный GUI для среды разработки, на Qt.
                                                          Или опять же компилятор до LLVM-байткодов.

                                                          Но исходников нет, и это очень жалко.
                                                            0
                                                            блин, повторяю Имейте терпение!!!
                                                              +1
                                                              См. CL-QT4, CL-GTK2
                                                              Хотите сделать компиляцию в LLVM — сделайте backend для SBCL
                                                                0
                                                                > сделайте backend для SBCL
                                                                А это мысль.
                                                                Как раз думал разобраться с компиляцией в байткоды — а тут и задачка интересная есть.
                                                                \me ушёл изучать вопрос.
                                                                +1
                                                                Есть желание — развивайте лучше тот же порт SBCL на винду или какую-нибудь реализацию Scheme, а не этот привет из 70-х.
                                                            +5
                                                            оффтопик:
                                                            господа я в ужасе. Минимум 5 человек судя по -5 за комментарий «В ближайшее время точно не будет» от DrToller считают что если гонец принес плохую весть его нужно убить. Я понимаю когда минус за грубость, или глупость. Но минус за честный ответ на вопрос… печально это как-то.
                                                              +1
                                                              Не переживайте, все будет хорошо.
                                                            +3
                                                            Очень часто встречал такое мнение «программистов» под виндоус, что если открыть код, его тут же своруют и вообще это неправильно. Якобы в их коде есть что-то такое, что никто и никогда не делал. В голове есть равенства: «Закрытый код == деньги», «Открытый код == работать бесплатно», которые беспрекословно соблюдаются :)
                                                              0
                                                              со временем код будет открыт.
                                                                +3
                                                                Я думаю, тут человек скорее стесняется, и будет доводить красоту кода, прежде чем открыть его.
                                                                Но понять это точно из формулировки «для этого нужно выполнить еще некий объем работ» действительно затруднительно.
                                                                  –4
                                                                  нет, дело не в стеснении. не льстите себе
                                                                    +2
                                                                    Так в чём оно тогда, дело-то?
                                                                      –10
                                                                      habrahabr.ru/blogs/lisp/83587/#comment_2490832 минус в карму вам)))
                                                                        +8
                                                                        Круто.

                                                                        «Код будет открыт?»
                                                                        «В ближайшее время точно не будет.»
                                                                        «Почему?»
                                                                        «Имейте терпение!!!»
                                                                        «По-моему, человек немного стесняется, того, что его код не самый лучший в мире.»
                                                                        «Не льстите себе, дело не в этом.»
                                                                        «А в чём?»
                                                                        (минусует в карму)

                                                                        Славно поговорили, слов нет.
                                                                          –8
                                                                          для особо одаренных и сообразительных поясню: раскрытие резонов потребует раскрытие планов. это преждевременно. в любом случае доебываться приставать c одним и тем же вопросом нужно было прекратить после первого отказа.
                                                                            +1
                                                                            ХУЙ
                                                                            у нас не матерятся
                                                                    +2
                                                                    Я не стесняюсь. Мой сын сообщил ВСЮ информацию, которую можно было сообщить. Есть дальнейшие планы. После их реализации код БУДЕТ ОТКРЫТ ОБЯЗАТЕЛЬНО. (Без открытия кода эти планы просто теряют смысл). Бессмысленно и открывать код преждевременно.

                                                                    Кроме того, меня вообще удивляет сочетание мнений:

                                                                    1) Интерпретатор Лиспа — это пройденный этап… Это — не круто… и т.д.

                                                                    2) Дай код!

                                                                      0
                                                                      Вы забыли указать мою позицию:
                                                                      «У Вас очень интересный проект. Давайте, я помогу ему в развитии»
                                                                      Хотя тут всплыло, что VB6, а я в нём не разбираюсь, так что проехали, извините.
                                                                        0
                                                                        А вот помогать не нужно… Открывайте свой — и флаг в руки!
                                                                –6
                                                                Возможно, пользы от него было бы больше, если бы оно было по .net
                                                                  –5
                                                                  сейчас нибегут питонолюбы, перлолюбы и рубидевушки и скажут тоже самое про свои фетиши. на мой взгялд это не принципиально для академического проекта.
                                                                    –1
                                                                    Думаю упоминание под Windows, не дает им основания. Если проект хочет остаться академическим, догда да.
                                                                      0
                                                                      А чего в нём академического?
                                                                        –2
                                                                        «академический» в том смысле, что служит обучению других.
                                                                        –2
                                                                        Им просто завидно, что их языки попсовы и не элитарны.
                                                                        0
                                                                        А почему?
                                                                        +1
                                                                        В универе половину семестра изучали его. Сначала после паскаля и фортрана было сложно и непонятно. Потом дело пошло, а курс уже закончился. Функциональное программирование в ВУЗах несправедливо недооцененно.
                                                                        Спасибо за топик. Вряд ли правда мне это пригодится, но приятно знать, что направление не угасает.
                                                                          +1
                                                                          крутой папа [x]

                                                                          действительно, респект.
                                                                            0
                                                                            >элитарный язык программирования
                                                                            лол.
                                                                            А как к проекту относиться? Если серьёзно, то он не нужен. Если же проект делался для удовольствия и опыта, то тут дело другое. Я в своё время тоже писал реализацию схемы, но без шумных анонсов, а опытом делился в своём бложике.
                                                                              –2
                                                                              и кто тот бложик читал? homelisp.ru/ создан именно для общения по теме и обмена опытом.
                                                                                –2
                                                                                Понятно, что гораздо меньше людей чем на хабре, оно мне и не надо было. Но тут как-то школьники даже десктопную операционную систему писать собирались, скоро будут писать про то, что на уроках математики узнали.
                                                                                  –7
                                                                                  ой, давно ли ты сам был школьником, мальчик? ))) lurkmore.ru/%D0%A8%D0%BA%D0%BE%D0%BB%D0%BE%D1%82%D0%B0
                                                                                    0
                                                                                    Ну, лет 7 назад закончил, хорошие были времена, жаль только хабра тогда не было, наверное тоже бы народ собирал, делать ОС или мегаигру.
                                                                                      –1
                                                                                      в 13 лет из школы выгнали?
                                                                                        0
                                                                                        В 14, 9 классов, 9 троек. Исходя из этого можешь составить о мне своё мнение :)
                                                                                0
                                                                                Ну как минимум его читали те, кто читает Russian Lambda Planet.
                                                                                  +2
                                                                                  Для общения по теме и обмена опытом, боюсь, больше подходит lisper.ru :)

                                                                                  Кстати, написан он на Лиспе, а не PHP ;)
                                                                                    0
                                                                                    Я читал, мне было интересно.
                                                                                    +1
                                                                                    Ты хочешь поучить меня скромности? Не надо… Лучше покажи свои достижения.
                                                                                      0
                                                                                      А где здесь «шумный анонс»? Шумишь ты…
                                                                                      0
                                                                                      Расскажите лучше про внутренности, написан ли интерпретатор (или там VM) на самом lisp или на Си? Если на lisp, то чем бутстрапили? Какой алгоритм GC?
                                                                                        0
                                                                                        Я думаю, всё сделано по книге Лаврова-Силагадзе, которая упоминалась в посте.
                                                                                          +1
                                                                                          HomeLisp написан на VB6. Сборку мусора ведет в основном менеджер памяти VB. А для удаления циклических структур используется традиционный алгоритм: разметка + чистка. Вызов — при возрастании объема занятой памяти, превышающей заданную в конфигурации границу.
                                                                                            0
                                                                                            А на сколько он функционально чист? В статье есть небольшое упоминание функциональности, в связи с этим такие вопросы.

                                                                                            Имеется ли Referential transparency и оптимизация хвостовых вызовов? Как устроен ввод-вывод (побочные эффекты, монады, параметры main)? Имеется ли в языке сопоставление по образцу?

                                                                                            И главное, планируется ли версия под что-то ещё, кроме Windows?
                                                                                              0
                                                                                              Монады в Лиспе? Не слышал об этом…
                                                                                              Побочные эффекты у ряда функций есть — как же без них.
                                                                                              Сопоставления по образцу можно реализовать на Лиспе же — об этом подробно написано, например, в книге Крюкова и Родионова (1991 г). В списке литературы эта книга есть.
                                                                                              Версии не под Windows пока не планируются. Дальше будет видно.
                                                                                                –1
                                                                                                > Побочные эффекты у ряда функций есть — как же без них.

                                                                                                Ответ понятен. но без них всё-же можно было обойтись как минимум двумя способами.
                                                                                                1. Монады.
                                                                                                2. Сделать функцию main принимающей stdin и отдающей stdout, хотя с этим подходом связана куча проблем.

                                                                                                Тогда правильнее говрить, что HomeLisp имеет поддержку функциональной парадигмы, наряду с императивной, как и остальные Лиспы.

                                                                                                Насчёт отсутствия поддержки других ОС. Нужна очень серьёзная причина, чтобы делать свою разработку доступной эксклюзивно на платной проприетарной системе. Считайте что к стоимости HomeLisp с точки зрения пользователя прибавляется стоимость той единственной ОС на которой он работает. На самом деле таких около 6%, но 6% — это сотни тысяч людей.
                                                                                                  0
                                                                                                  О каких 6% вы говорите? У меня получилось почти 90% для России.
                                                                                                  пруф

                                                                                                  Да и затруднительно себе представить образовательный курс, основанный исключительно на Лиспе. Обычно все-таки изучают несколько языков программирования. Поэтому стоимость ОС нужно делить между всем софтом установленным на железе пропорционально востребованности софта в учебном курсе.
                                                                                                    –1
                                                                                                    У 90% людей в мире не стоит Windows? Это новость. :D
                                                                                                      0
                                                                                                      как раз наоборот. но вы то написали так, что можно понять что винда только у 6%. Видимо я вас не правильно понял
                                                                                                        –1
                                                                                                        Я имел в виду, что платить за ОС придётся 6%.
                                                                                                    0
                                                                                                    «Тогда правильнее говрить, что HomeLisp имеет поддержку функциональной парадигмы, наряду с императивной, как и остальные Лиспы.» — а разве я утверждал обратное?

                                                                                                    По поводу ОС. Я — сторонник Microsoft. Linux видел. Не привлекает. «Считайте что к стоимости HomeLisp с точки зрения пользователя прибавляется стоимость той единственной ОС на которой он работает.» — HomeLisp распространяется БЕСПЛАТНО.
                                                                                                      –1
                                                                                                      > HomeLisp распространяется БЕСПЛАТНО.

                                                                                                      Но чтобы им воспользоваться, мне придётся купить лицензию на Windows, которой у меня сейчас нет. Ни Windows ни лицензии.

                                                                                                      Попробую под wine.
                                                                                                        –1
                                                                                                        «Ни Windows ни лицензии.» — сочувствую…
                                                                                                          0
                                                                                                          Чему? Напротив, я рад, что ничего не заплатил и при этом получил систему, которая удобнее в использовании и требует меньше времени на поддержание в рабочем состоянии. :)

                                                                                                          Ладно, хотите добровольно отказаться от нескольких сотен тысяч потенциальных ползователей — ваше право.
                                                                                                            0
                                                                                                            И я за вас тоже рад. А я люблю Windows. Спорить, что лучше Windows или LINUX не хочу. Для меня вопрос давно решен.
                                                                                                              –1
                                                                                                              А я за Вас рад, но вы пишете HomeLisp для себя или для школьников-студентов? За что такая дискриминация пользователей, которые сделали выбор в пользу другой ОС?

                                                                                                              Особенно, учитывая, что в скором времени в школах виндов уже не останется, а среди студентов у них процент всегда был намного ниже. Среди моих знакомых всего около 60%.
                                                                                                                0
                                                                                                                И для школьников/студентов, и для себя. Про то, что Windows умрет, я слышу с 1995-го…
                                                                                                                  –1
                                                                                                                  Windows не умрёт, но, кто знает, может проект СПО в школах таки увенчается успехом? :)
                                                                                                        –1
                                                                                                        Под wine неюзабельно, к сожалению. Остаётся надеяться, что после открытия исходников найдётся добрая душа, которая займётся портированием и поддержкой.
                                                                                                          –1
                                                                                                          Еще советую попробовать по Win-OS2. Тоже не запустится…
                                                                                                            –1
                                                                                                            Хм… Странные вещи Вы говорите. Зачем пробовать, если уже известно, что не запустится? Или вы уже знали, что под wine не работает? Тогда почему не сказали в новости?
                                                                                                              0
                                                                                                              Это была ирония с моей стороны… Вообще эмуляторы типа wine (или win-os2) — это штука не слишком надежная. Что нисколько не удивительно, ведь эмуляция всего Win-интерфейса — вещь очень кляузная.
                                                                                                                0
                                                                                                                WinAPI тут ни при чем. Какая версия VB юзалась при написании HomeLisp?
                                                                                                                  0
                                                                                                                  Как это «не при чем»? Объектый код PE-модуля должен «не замечать», что выполняется в LINUXe (или где там еще) Это очень непросто, и уж ВЕСЬ winAPI придется проэмулировать точно. А также COM и др… Короче: wine в настоящее время — игрушка.

                                                                                                                  HomeLisp написан на VB6.
                                                                                              0
                                                                                              Круто. У вас мировой отец.
                                                                                              –1
                                                                                              Купи уже макбук и возьми LispWorks, и папе скажи, чтобы дурью не маялся. И да, лисп нисколечки не элитарен, его в школах учат вместе со Смолтоком, а такая вот реализация — это обычный курсач на третьем курсе.

                                                                                              Удачи в открытии Хаскела и ML.

                                                                                              «Папа купил автомобиль, бип бип» (с)
                                                                                                0
                                                                                                >а такая вот реализация — это обычный курсач на третьем курсе.
                                                                                                пруф или не было! покажите мне еще хоть один такой вот «обычный курсач»
                                                                                                  –2
                                                                                                  ну вот когда школу закончишь, в вуз поступишь ( видимо, уже после возвращения из армии ), тогда сам и узнаешь. можешь еще сходить на mit opencourseware, если прям не терпится.

                                                                                                  ты должен понимать, что элитарного в лиспе ничего нет, в основном по семейству ( не считая стандарт common lisp ) это язык простой как доска и вобщем даже примитивный, что конечно не отменяет мощности макр.

                                                                                                  но главное его свойство, называющееся homoiconicity, присутствует ( внезапно ) во многих других «попсовых языках», например если в лиспах все — список, в tcl — строка, а в lua — таблица. сюда можно с натяжкой отнести даже javascript ( реализация лиспа на котором кстати делается под пиво за вечер ).

                                                                                                  я прекрасно понимаю радость от соприкосновения с тем, что считают «языком богов», но это обычно проходит после 20.
                                                                                                    +2
                                                                                                    Ты бы прежде чем выеживаться и делать поспешные выводы на счет моего возраста глянул бы в мой профиль. В твоем-то профиле информации существенно меньше.

                                                                                                    И к тому же ты уклоняешься от ответа: покажите мне еще хоть один такой вот «обычный курсач»

                                                                                                    Поясню, что под словом «обычный» лично я понимаю, что каждый год в каждом техническом вузе как минимум 3-4 студента делают подобную работу. Где они?
                                                                                                      0
                                                                                                      О том, что это возможно, нужно гуглить «Write Yourself a Scheme in 48 Hours».

                                                                                                      О том, что это делается регулярно студентами. В японии есть курс «A Crash Course for the MinCaml Compiler», который засчитывается когда студент создает свой компилятор. Правда это OCaml, а не Lisp; но он и сложнее, imho, так система типов используется.
                                                                                                        0
                                                                                                        В машинный код без использования сторонних фреймворков (gcc, llvm)? Сурово.
                                                                                                          0
                                                                                                          Ага под SPARC.
                                                                                                          –1
                                                                                                          >В японии есть курс
                                                                                                          >В японии есть курс
                                                                                                          >В японии есть курс

                                                                                                          тут каждое слово подтверждает мою правоту.
                                                                                                          во-первых, «в Японии», а не в России.
                                                                                                          во-вторых, «есть» — следовательно, он только есть, но разве он обязательный для всех технарей?
                                                                                                            +1
                                                                                                            Единственный обязательный курс для всех технарей, это, наверное, матан. Поэтому само требование противоречиво, нужно брать тех, кто в теме. Я предоставил пруф, согласно которому ежегодно 3-4 студента в университете Токио делают свой компилятор. Кстати, этот курс читают на третьем курсе:)

                                                                                                            А что не так с Японией?
                                                                                                              0
                                                                                                              с Японией все хорошо, я за них спокоен. А вот России массово таких курсовиков нет. Да и нормальных сред для обучения тоже не наблюдаю.
                                                                                                                0
                                                                                                                Для обучению чему?
                                                                                                                  0
                                                                                                                  очевидно игре на гитаре
                                                                                                                  0
                                                                                                                  Надо продвигать Лисп! :) И скоро все ВУЗы будут преподавать по SICP 2005-го (до перехода на Python).
                                                                                                                  0
                                                                                                                  «свой компилятор» (для курсовой работы) делают и на нашем мехмате (в Саратове).
                                                                                                                  но это — не программный продукт (которым можно пользоваться), а ПОДЕЛКА.
                                                                                                                  Я сам года два назад помогал одному симпатичному студенту в этом «трудном» деле, так что знаю об этом не понаслышке.

                                                                                                            +2
                                                                                                            Лисп на javascrite за вечер? Верю! (если есть готовый исходник...)
                                                                                                          +1
                                                                                                          Укажи мне ссылку на такой «обычный курсач»! Буду благодарен. Пиши в почту catstail@narod.ru
                                                                                                          Жду с нетерпением!

                                                                                                          И в какой это школе учат Лисп? Было бы интересно узнать.

                                                                                                          Вообще же, судя по стилю, ты blind, тяжелее *** в жизни ничего не поднимал…
                                                                                                            0
                                                                                                            Я учился в московской гимназии №1514, и там был lisp на программировании.
                                                                                                              0
                                                                                                              А поинтересуйся, где еще в России преподавался Лисп…
                                                                                                                0
                                                                                                                Наш школьный курс — результат совместной работы с ВЦ РАН.
                                                                                                                Его программа стандартна. Значит, как минимум 15 школ в Москве учат lisp'у.
                                                                                                                  0
                                                                                                                  15 школ — это скромно…
                                                                                                              0
                                                                                                              В японии есть курс «A Crash Course for the MinCaml Compiler», который засчитывается когда студент создает свой компилятор. Правда это OCaml, а не Lisp; но он и сложнее, imho, так система типов используется.
                                                                                                          –2
                                                                                                          А почему использовали COM а не .NET?
                                                                                                            0
                                                                                                            Эй, что за быдло минусует. Сейчас кто то использует com в новых проектах? Покажите мне его пальцем!
                                                                                                            +1
                                                                                                            «Лисп-программист не разбивает алгоритм на отдельные элементарные шаги, не использует циклы, ветвления, присвоения значений переменным, „

                                                                                                            В каком смысле не использует циклы? А (do (dotimes (loop что делают?

                                                                                                            И так же setf насчет присвоений, (if (cond насчет ветвлений..?
                                                                                                              0
                                                                                                              Вы путаете LISP-1 и Common Lisp. Common Lisp — императивный язык с dotimes, setf, но и с кучей функциональных фичей.

                                                                                                              При разработке софта на Scheme (современном наследнике LISP-1) вы разбиваете алгоритм не на шаги, а на декларации, используете не циклы, а рекурсию, не присвоение (set!, хоть он и есть в Scheme «на всякий случай»), а связывание (let).

                                                                                                              А вот паттерн-матчинга вместо ветвлений даже в R6RS нет.
                                                                                                                0
                                                                                                                Лиспер может использовать циклы… Но это — не лисповский стиль программирования.
                                                                                                                  0
                                                                                                                  Вы всё-таки уточняйте, какой Лисп. В Common Lisp куча циклических форм в стандарте и отсутствует оптимизация хвостовых вызовов (кроме некоторых реализаций). Поэтому циклы — вполне Common Lisp'овский стиль.
                                                                                                                    0
                                                                                                                    Любой лиспер может использовать циклы. В т.ч. и пользователь HomeLisp
                                                                                                                      –1
                                                                                                                      Да, но плохим стилем они считаются только в Scheme и Clojure. (хотя второй и с большой натяжкой диалект лиспа)
                                                                                                                        0
                                                                                                                        Ради Бога! В моих примерах много программ, написанных в императивном стиле. Ничего страшного.
                                                                                                                +1
                                                                                                                Почитал обсуждение и опять стало грустно.
                                                                                                                Господа, ну почему у нас столько народа считают своим долгом ткнуть указующим перстом с высоты своего олимпа. Все кидаются обсуждать недостатки, советовать как жить и что делать.
                                                                                                                Да, наверно, поддержка уже имеющихся реализаций, более плодотворна для лисп-сообщества. Да, многое выглядит как очередное изобретение велосипеда. Но ведь автор нигде не претендует на лавры первооткрывателя.
                                                                                                                А взгляните с другой стороны. Большинство начинающих программистов на платформе Windows работают не с командной строкой, а в IDE. Создают GUI не в текстовом редакторе путаясь в море API функций, а с помощью визуальных конструкторов. И для изучения основ не так важна производительность.
                                                                                                                SBCL, CLISP и прочее — это командная строка, отсутствие привычного (для Windows) редактора. GUI делать в LispWorks, но это вообще коммерческая разработка.
                                                                                                                Так что для обучающихся (а академический проект, мне кажется, предполагает именно такое использование) этот продукт в самый раз.
                                                                                                                И за это можно и нужно сказать автору огромное спасибо!
                                                                                                                  0
                                                                                                                  у LispWorks есть версия для студентов.
                                                                                                                  IDE для LIsp под винду тоже есть. Тот же CUPS Plugin для Eclipse.

                                                                                                                  А сказать «с высоты олимпа», как вы говорите, стоит. Потому чтоб взоюраться на этот Олимп (пусть это даже какой-то не Олимп, а обычный холмик), приходится проходить через непонимание, заблуждения, предрассудки (как то: у Лиспа нет поддержки графики, нет IDE, нет того, третьего, десятого — а все то есть).

                                                                                                                  И еще, представьте себе, что кто-то прийдет и напишет: я тут на выходных сваял инетрпретатор Python, соответствующий спецификации версии 0.8, он на VBscript написан и имеет биндинги к виндовому гуи. Это проект, чтобы научить студентов, как нужно программировать, поскольку у Питона нет нормальных бесплатных IDE под Виндоус. Как бы это выглядело, смешно, да?
                                                                                                                    0
                                                                                                                    слушайте, в россии есть яндекс. ну тогда все остальные поисковики должны умереть? ан нет, вот мэйловцы поднатужились и сделали свой большой поиск gogo.ru. мало того что сделали, так они еще и денег на этом заработают.

                                                                                                                    Если руководстваться вашей логикой получится, что есть один продукт и второй не нужен. Более чем спорная позиция!
                                                                                                                      0
                                                                                                                      вы мою реплику про Python 0.8 прочитали?
                                                                                                                      +2
                                                                                                                      Возможно это выглядит и смешно… Но уж точно по-жлобски выглядят попытки критиковать, не показывая свои программы. «Иду на грозу» читал? Там один герой сказал другому: «Я ваших статей не читал. И вы моих — тоже. Но, вероятно, по разной причине». Намек понял, или разъяснить?
                                                                                                                          0
                                                                                                                          Посмотрел. Это мысли «по поводу». А где программные продукты?
                                                                                                                            0
                                                                                                                            Вы первую ссылку смотрели? там исходный код некоторых библиотек, написанных на Common Lisp.
                                                                                                                            Ну а так, разрабатываю приложения. В основном, на Common Lisp.
                                                                                                                              0
                                                                                                                              Верю. Но где можно посмотреть эти приложения? Чтобы покритиковать? (Шутка...)
                                                                                                                        0
                                                                                                                        «как то: у Лиспа нет поддержки графики, нет IDE, нет того, третьего, десятого — а все то есть)» — я искал бесплатные среды Лиспа под Windows… Увы.
                                                                                                                          0
                                                                                                                          Вот вам реализации:
                                                                                                                          trac.clozure.com/ccl
                                                                                                                          www.sbcl.org/platform-table.html

                                                                                                                          Вот IDE:
                                                                                                                          www.bitfauna.com/projects/cusp/

                                                                                                                          не говоря уже про Lisp Works: если вас смущает необходимость платить, то есть www.lispworks.com/products/lispworks.html#personal
                                                                                                                            –1
                                                                                                                            emacs же. Хотя под виндовс его не использовал, но видел один раз :)
                                                                                                                              0
                                                                                                                              кстати говоря, вот еще одно, очень простое (доступное даже первокурснику :), кросс-платформенное Lisp IDE: common-lisp.net/project/able/
                                                                                                                                –1
                                                                                                                                drScheme. Что ещё ученику надо? Ценность HomeLisp скорее в гуй-дизайнере.
                                                                                                                                  0
                                                                                                                                  Мой английский не слишком хорош, но я понял — для работы этого пакета нужно инсталлировать TCL (а для моего — ничего дополнительного не нужно...)
                                                                                                                                    0
                                                                                                                                    да, это, конечно, серьезный недостаток :)
                                                                                                                                      0
                                                                                                                                      В общем — да. По определению интегрированная среда — это когда все — в одном флаконе. Или ты с таким определением не согласен?
                                                                                                                                        –1
                                                                                                                                        Интегрированная среда разработки — это система, объединяющая все инструменты, необходимые разработчику для разработки программного обеспечения. Eclipse требует Java, но он всё-равно IDE.
                                                                                                                                          0
                                                                                                                                          Но Java не требует Eclipse, и поставляется без IDE. А тут все в одном флаконе.

                                                                                                                                          И что вы вообще хотите доказать? Можете перейти от мелких нападок к конкретной критике? Задолбало обсуждать другие проекты. Есть что-то конкретно по homelisp-у? Вы его вообще ставили?
                                                                                                                                            0
                                                                                                                                            Ставил в wine, не заработало. Собственно, критику я уже несколько раз высказал. Автор утверждает, что проект бесплатный, но при этом привязывает его всеми мыслимыми способами к платной платформе и не хочет даже думать о поддержке бесплатных. (сейчас не об опенсоре)
                                                                                                                                              0
                                                                                                                                              А, понял! Ну что ж, сделайте свой проект для другой платформы. Вот же ниша, поздравляю вас! А для homelisp-а вполне достаточно 90% рынка.
                                                                                                                                          –2
                                                                                                                                          Молодец. Определение IDE выучил… Но посмотри на ситуацию с точки зрения пользователя: скачал нечто. Ставит, а ему сообщение «У вас нет поддержки Jav-ы»… Разве это хорошо?
                                                                                                                                            0
                                                                                                                                            Используйте менеджер пакетов и никакие сообщения вылазить не будут. ;)

                                                                                                                                            А под Windows можно сделать всё в одном флаконе, положив Java (или TCL, всего 5МБ) в архив. ЕМНИП так обычно и делают.
                                                                                                                                              0
                                                                                                                                              А я не хочу! Когда я ставлю VB/C++/VBNet — то ничего «доставлять» не нужно. И это правильно. Поставил — и работает. А у Линуксоидов подход другой: им «в кайф» возиться, подгонять, подстраивать… Бога ради! Но, по-моему, чем подстраивать — лучше писать самому!
                                                                                                                                                –1
                                                                                                                                                # emerge eclipse
                                                                                                                                                и не нужно задумываться на чём оно работает и какие там (пара десятков) библиотек ему нужно. Всегда удивляли люди, рассказывающие о мифической возне и «доставлении». :)

                                                                                                                                                Кстати, скачал и проверил. IntelliJ IDEA именно так и распространяется. Они в дистрибутив для Windows ( download.jetbrains.com/idea/ideaIC-9.0.1.exe ) положили и саму IDEA и jdk и msvcrt и всё остальное, что ей нужно для работы. Так что подстраивать ни в Linux (с менеджером пакетов) ни в Windows в большинстве случаев не нужно.
                                                                                                                                                  0
                                                                                                                                                  Символ "#" означает, что действие это нужно выполнять в LINUX-е…
                                                                                                                                                  Верю, LINUX- замечательная система, но я-то работаю в Windows. И меня тоже удивляют люди, которые вместо программирования чего-то ставят, сносят, ставят… и т.д.
                                                                                                                                                    –1
                                                                                                                                                    т.е. когда вам нужно будет написать что-нибудь на java, вы не будете ставить IDE для неё, а напишете сами? Похвально, но времени не жалко на изобретение велосипеда?
                                                                                                                                                      0
                                                                                                                                                      Естественно, нет. Поставлю IDE. А лучше — постараюсь найти реализацию Javы с IDE (например, MS-J# или Visual Java).
                                                                                                                                                        –1
                                                                                                                                                        Правильно. И пользователи других систем, очевидно поступают так же.

                                                                                                                                                        С чего вы взяли, что пользователи ОС отличных от Windows проводят круглые сутки за установкой-удалением программм? :D
                                                                                                                                                          –1
                                                                                                                                                          Среди линуксоидов таких больше — и хватит об этом. По основной теме (HomeLisp) — есть что сказать?
                                                                                                                                          +1
                                                                                                                                          Про IDE уже ниже написали. Что меня удивляет, так это то, что Вы как предподаватель программирования не понимаете (или не разделяете) базовой концепции «платформа-приложение». Вы говорите об интегрированной среде, но это актуально для конечных пользователей. А для программистов нужна платформа, на которой они будут сторить свои приложения. А платформы всегда многоуровневые: Ваш HomeLisp — это платформа, под которой другая платформа — Windows, под которой другая платформа — x86. Так же само и Tcl/Tk — это платформа. В данном случае важно то, что это платформа широко распространенная и зрелая. Если вместо Tcl/Tk был бы какой-то маргинальный язык/библиотека — еще можно было бы понять претензии, а так…

                                                                                                                                          Ну а что до критики про «зачем это написано?». В ее основании то, что вы реализовываете не один из считающихся в той или иной степени адекватными сегодняшним реалиям стандартов Lisp (как то Common Lisp, Scheme R5RS, R6RS), а то, что было 30-40 лет назад. А за это время было сделано много интересных открытий и улучшений. Начать хотя бы с лексического диапазона. Пробежавшись по документации, я так понял, что у вас его нет. А ведь это основа-основ того, что делает Lisp важным сейчас. Макросы… (В общем, перечислять придется долго)

                                                                                                                                          Проблема тут в том, что вы хотите этому учить своих студентов. И это будет, к сожалению, мисрепрезентация Lisp'а для них: они обоснованно согласятся с мнением, что Lisp — это устаревший язык, интересный только фанатикам (когда сравнят с современными динамическими языками, типа Python/Ruby).

                                                                                                                                          Если Вам не хватало интеграции Lisp с Windows, вы вполне могли бы расширить какую-то из уже имеющихся open-source реализаций или же написать свою реализацию того или иного современного стандарта. Никто бы Вам не предъявлял тогда претензий, а наборот только хвалил бы.
                                                                                                                                            0
                                                                                                                                            Невнимательно вы читали документацию: макросы в HomeLisp есть. А что вы понимаете под «лексическим диапазоном»?

                                                                                                                                            О студентах. Знаете, я использовал HomeLisp на занятиях — и эффект был совсем не такой, как вы пишете. И это понятно. Я вел практические занятия. И была цель — строить законченные приложения. Если бы я взял LispWorks — вот тогда, вероятно, так и случилось бы.

                                                                                                                                            О претензиях. Какие могут быть ко мне претензии? Я сделал законченный пакет и тиражирую всем желающим. В чем меня можно упрекнуть? Вообще подоплека этих упреков мне непонятна. Предположим, я занимаюсь некой проблемой. И увидел, что кто-то написал на эту тему откровенно слабую вещь (как HomeLisp выглядит с вашей точки зрения). Я бы не стал его пинать (смысла нет), а только утвердился в своей правоте. Откуда же такое стремление критиковать у вас (и еще у ряда участников)? Чуете, куда клоню?
                                                                                                                                              –1
                                                                                                                                              под лексическим диапазоном, видимо, понимается lexical scoping. В Common Lisp переменные, объявленные let такие. При lexical scoping связывание символа со значением происходит в точке объявления, а не использования, что делает код намного более безопасным, но менее гибким, а так же позволяет использовать замыкания в языке. Поэтому в Common Lisp есть и специальные переменные с динамической областью видимости, объявляемые defvar. Через них реализованы, например, потоки.
                                                                                                                                                0
                                                                                                                                                > Невнимательно вы читали документацию: макросы в HomeLisp есть. А что вы понимаете под «лексическим диапазоном»?
                                                                                                                                                Честно говоря, снова прошелся по документации и макросов не нашел. Конечно, внимательно я ее не читал, поскольку вопрос интерфейса с COM-объектами ВИнлоус меня сейчас мало интересует.
                                                                                                                                                А про лексический диапазон почитайте тут: lisper.ru/articles/cl-vars

                                                                                                                                                > О претензиях
                                                                                                                                                Дискуссия идет в публичном сообществе: мои замечания направлены ко всем, а не Вам лично. К Вам у меня был один вопрос (раз уж Вы решились написать сюда что-то, будьте готовы услышать разные вопросы), ответ на него я более-менее получил.
                                                                                                                                                  0
                                                                                                                                                  Я готов выслушать разумную критику. А не нападки типа: «зачем вы это написали?»
                                                                                                                                                  Про диапазон… «И с этой хохмой ты решил приехать в Одессу?» В HomeLispe все переменные — динамические. Было бы о чем говорить…

                                                                                                                                                  Макросам посвящено несколько разделов. И примеры приведены.

                                                                                                                                                    0
                                                                                                                                                    Т.е. Вы таки никогда не слышали про лексический диапазон (lexical scope) и про замыкания. Ну что ж, Вам виднее, конечно. Скажу лишь, что у всех современных Lisp'ов, к которым я отношу Common Lisp, Scheme и Clojure, лексическая область видимости является основной. Если Вас ненароком заинтересовало, почему это так, можете попробовать прочесть книгу Let over Lambda (в частности глава 2 letoverlambda.com/textmode.cl/guest/chap2.html, раздел Environments and extents). (Есть только в английском варианте. Впрочем, современных книг о Lisp'е на русском нет в природе. Разве что PCL перевели усилиями сообщества: lisper.ru/pcl/)
                                                                                                                                                      0
                                                                                                                                                      Про замыкания слышал. В HomeLisp-е их пока нет. Возможно, будут. Про замыкания есть материалы и на русском. Я в курсе.

                                                                                                                                                        0
                                                                                                                                                        picolisp, например, тоже не содержит lexical scope :P
                                                                                                                                                          0
                                                                                                                                                          Верно, как и названный выше newLisp. А еще вы Wasp Lisp, Emacs Lisp и Visual Lisp ;)
                                                                                                                                                          Но это все довольно специализированные языки, созданные для целей скриптования. (И вряд ли их можно назвать современными, разве что, в некоторых случаях, экспериментальными). Такую же нишу, как я вижу, собирается занять и HomeLisp.
                                                                                                                                                            0
                                                                                                                                                            Лучше занять хоть какую-то нишу чем не занять вообще ничего))) Удачи в поисках ниши
                                                                                                                                                              0
                                                                                                                                                              Спасибо, конечно. Впрочем, мы тут просто беседуем и искать, что бы такое новое сделать, вроде как, не собираемся: вполне хватает существующих вариантов. ;)
                                                                                                                                                                0
                                                                                                                                                                о, ключевая фраза! хорошо, что не все так рассуждают и есть люди способные двигать прогресс и не прости критиковать.

                                                                                                                                                                желаю тогда вам удачи в пролеживании дивана)))
                                                                                                                                        0
                                                                                                                                        Слышал об этих пакетах… Кое-что я скачивал и смотрел. Естественно, под Win. IDE не видел. Составлю мнение — скажу подробнее.
                                                                                                                                          0
                                                                                                                                          Вот что написано про CUPS… «Make sure you have the latest version of Eclipse running under Java 5.» т.е. нужна еще поддержка Jav-ы… Как было сказано в фильме «В джазе только девушки» — У КАЖДОГО СВОИ НЕДОСТАТКИ…
                                                                                                                                            0
                                                                                                                                            SBCL — юниксоидный пакет…
                                                                                                                                              0
                                                                                                                                              SBCL портирован под Windows
                                                                                                                                                0
                                                                                                                                                Но валится на собственных тестах. Под Windows SBCL работает так же как HomeLisp под wine.
                                                                                                                                                  0
                                                                                                                                                  сам не могу сказать, поскольку давно не имел дело, но подозреваю, что этот человек вам бы сказал по-другому: love5an.livejournal.com/335920.html
                                                                                                                                                  0
                                                                                                                                                  Верю. Что ты мне хочешь доказать? Что есть другие реализации? Знаю. И в документации это отмечено.
                                                                                                                                                0
                                                                                                                                                Скачал и установил LispWorks PE. Среда впечатляет (правда — 40 Мб...) И даже, я бы сказал — подавляет. Мощный пакет (гораздо мощнее HomeLispa), но напрочь утративший простоту.
                                                                                                                                                А где в нем графика? Где, например, двоичный доступ к файлам? Как насчет создания COM-объектов? Обнаружил библиотеку работы с сокетами. Прикольно.

                                                                                                                                                Постараюсь ЕЩЕ РАЗ (в документации это отмечено, но кто ее читает?) объяснить суть. Лисп — замечательный язык. Но если попытаться программировать на Лиспе расхожие задачи, то выяснится, что для графики — нужна доп. библиотека, к реестру Windows обратиться невозможно и т.д. В HomeLisp сделана попытка создать простую среду, в которой можно было бы реализовывать расхожие приложения, без доп. библиотек.
                                                                                                                                                  +1
                                                                                                                                                  Так ведь весь мир программирования построен из отдельных библиотек. Это же реализация принципа модульности. Не может одна программа уметь все (как и один человек сам управлять целой страной ;) Естественно, что в LispWorks PE нет очень много чего. Тем не менее, поскольку компилятор реализует стандарт Common Lisp, то можно задействовать одну из многих библиотек для Common Lisp. Для работы с графикой:
                                                                                                                                                  * CL-QT4, CL-GTK2, LTK, Celltk, McCLIM (не говоря о том, что в профессиональной версии есть собственный релактор графики CAPI)
                                                                                                                                                  * для двоичного доступа к файлам используются элементы стандартной библиотеки: www.lispworks.com/documentation/HyperSpec/Body/c_stream.htm
                                                                                                                                                  * что до COM, не знаю, есть ли библиотека работы с этим в Lisp-мире. Впрочем, в том то и преимущество библиотек, что не нужно писать целую среду, чтобы реализовать эту кокретную задачу: пишите библиотеку
                                                                                                                                                  * для работы с БД: CLSQL, Postmodern, CL-MSSQL,…
                                                                                                                                                  * и так со всем

                                                                                                                                                  Вы сделали относительно легкими создание оконных приложений под Windows или доступ к реестру. А как на счет других задач, которые могут оказаться не менее актуальными для кого-то: например, синхронизация многопоточных приложений, или работа с архивами BZIP2, или же интерфейса с СУБД Oracle? Как это можно сделать в рамках HomeLisp?
                                                                                                                                                    0
                                                                                                                                                    О! Уже лучше… О других задачах. Если будет необходимость могу дописать. Для работы с БД есть стандартные COM-интерфейсы. Если понадобится работать с архивами — включу в ядро необходимые средства. Место есть.

                                                                                                                                                    Вот и получается, что у HomeLisp ЕСТЬ СВОЯ НИША. Что и требовалось доказать…
                                                                                                                                                      0
                                                                                                                                                      Да, согласен теперь понятнее и в смысле ответа на мой вопрос: вы хотели создать Lisp для скриптования Windows платформы. Возможно, это действительно кому-то будет нужно, не спорю.
                                                                                                                                                        0
                                                                                                                                                        Вот и славно…
                                                                                                                                                          0
                                                                                                                                                          Для скриптования есть кроссплатформенный newLISP с превосходной системой для создания графических интерфейсов, но без дизайнера. И, само собой, без интеграции в ОС-специфичные фичи (COM, например). vseloved, 100%-го аналога HomeLisp не существует.
                                                                                                                                                            0
                                                                                                                                                            Да, у меня кстати HomeLisp вызвал ассоциации именно с newLisp. И, конечно, аналога не существует, я не спорю. Просто, в изначальном сообщении на этом аспекте как-то не акцентировалось внимание. Теперь понятнее. Не могу, впрочем, согласиться, что подобную среду нужно давать студентам. Им все-таки лучше бы что-то более стандартное: тот же Scheme, Smalltalk, Python или же Common Lisp, в конце концов. Чтобы они учились не только программки с ГУИ клепать, а и принципам code reuse, видели, что представляет из себя зрелая платформа. Не говоря уже о том, что студентов нужно учить заглядывать «под капот», что HomeLisp пока сделать не позволяет. В общем, это в какой-то степени квинтессенция WIndows-платформы. Но, поскольку автор не видит в ней никаких недостатков, понятно, что он не увидит их и в своем продукте.
                                                                                                                                                0
                                                                                                                                                Да разве же я хоть где-то написал что у Лиспа нет поддержки GUI? Разве же я спорю что нет нормально IDE. Речь идет не о профессиональных программистах, для которых Eclipse дом родной или ничего не стоит за пару минут настроить Slime на Emasc?
                                                                                                                                                Я, во-первых, огорчался по поводу излишней категоричности так присущей подавляющему большинству.
                                                                                                                                                А во-вторых, пытался объяснить, что для начинающего программиста не перегруженный фичами IDE, с привычными средствами редактирования и встроенной интеграцией с компилятором/интерпретатором гораздо более предпочтителен, так как позволяет сосредоточится на изучении языка, а не на освоении среды.
                                                                                                                                                Да и с точки зрения психологии, быстро полученный положительный результат при создании программы, стимулирует продолжать программировать дальше. А не опускать руки, после понимания что просто не понимаешь, как скомпилировать готовый исходник не выходя из Emasc :)
                                                                                                                                                И, в конце концов, а много ли жителей «олимпа» могут похвастаться проектами достаточной сложности? Нет, если тут все пишут IDE, CAD, и т.д. и т.п. я приношу свои глубочайшие извинения… Но как-то не очень верится в такую концентрацию программных архитекторов.
                                                                                                                                                  0
                                                                                                                                                  ну, если все будут писать IDE и компиляторы, то кто же будет заниматься прикладными вещами? ;) А если серьезно: да проблема тут не в том, а в изобретении велосипеда. Если хочется свою IDE под винду, что мешает написать его для существующей зрелой реализации? Как говорил один мой знакомый: это стандартное упражнение для всех функциональщиков — написать интерпретатор Lisp'а (а потом соревноваться, у кого быстрее работает). Но делать из этого серьезный проект… да нет, конечно, вперед. Меня, просто, изначально заинтересовала мотивация, стоящая за этим: может, от не знания того, что есть, или какая иная (о чем я, к сождалению, так ине узнал).
                                                                                                                                                    0
                                                                                                                                                    HomeLisp — единтвенная реализация, которая работает *только* на Windows! ;)
                                                                                                                                                      0
                                                                                                                                                      Уже неплохо…
                                                                                                                                                      0
                                                                                                                                                      А меня заинтересовала мотивация критиков. Сколько их у нас развелось… Кто работать-то будет? Все критикуют…
                                                                                                                                                        0
                                                                                                                                                        если сообщение запощено в сообщество, где люди в первую очередь общаются, то, наверно, стоит ожидать критики. Работают в других местах. Свою мотивацию я, кстати, изложил в предыдущем сообщении. Ответа, кстати, так и не получил… )
                                                                                                                                                          0
                                                                                                                                                          Критики — да, но замечания типа «а зачем это было вообще писать» — это не критика.
                                                                                                                                                        0
                                                                                                                                                        А чтобы реально критиковать HomeLisp, рекомендую заглянуть в документацию. Возможно, станет понятно, что главное в этом проекте — не IDE(как таковое), а сочетание возможностей: IDE+создание EXE+простая графика+системные функции, файлы,COM+GUI+скрипты. И все это — при объеме 10 Мб (с документацией). Свою нишу проект занимает четко. Будешь спорить? Зря…
                                                                                                                                                          0
                                                                                                                                                          > Клиентская часть WEB-компоненты выполнена на языке VBscript. В связи с тем, что из современных браузеров этот язык поддерживает только Internet Explorer (IE), следует использовать именно IE в версии, не ниже 6. Если WEB-компонента вызовет интерес пользователей, автор обещает переписать клиентскую часть на Jscript, что даст возможность использовать популярные браузеры FireFox и Opera.

                                                                                                                                                          Вообщем-то на этом можно проект закрывать.

                                                                                                                                                          ЗЫ. Jscript *не работает* под Firefox и Opera.
                                                                                                                                                            –1
                                                                                                                                                            Подозреваю, что автор перепутал названия с Javascript'ом.
                                                                                                                                                              –2
                                                                                                                                                              Возможно, но поражает упертость в заточку исключительно под MS. Почему VBscript? Или VB — единственный язык, который автор успел осилить до 40 лет?
                                                                                                                                                                –1
                                                                                                                                                                Нет, автор знает и другие языки… А что плохого в Basic-линейке? Единое ядро языка и синтаксис — это очень удобно. Есть возражения? И поражает упертость критиков, вероятно объяснимая ИХ СОБСТВЕННОЙ КРЕАТИВНОЙ ИМПОТЕНЦИЕЙ. Где твои собственные разработки, критик?

                                                                                                                                                                Ну, и о приверженности MS — к твоему сведению MS — мировой лидер разработки ПО, MS предлагает классные интегрированные решения во всех областях. Что же плохого в приверженности MS?
                                                                                                                                                                  –1
                                                                                                                                                                  Поражает, что в 32 года человек может оставаться школотой. Причем невнимательной. 1954 в нике catstail1954 какбэ номекает, что ему несколько больше чем 40 лет. Ты ему в сыновья годишься, мальчик. Выбирай выражения!

                                                                                                                                                                  По сути наезда: Напоминаю что в России 90% ОС — это Windows, и 40% браузеров — это IE. К тому же анонсированы версии для Javascript. Че те еще надо, гений?
                                                                                                                                                                    0
                                                                                                                                                                    Дружок, 40 лет — критический возраст, после 40 что-либо освоить — нужно жрать стимуляторы мозговой деятельности пачками. А реализация HomeLisp была бы революционной, если бы она вышла году эдак в 1996. В 2010 поддержка COM и гуй-дизайнер ничего кроме ностальгической улыбки не вызывает.
                                                                                                                                                                      –1
                                                                                                                                                                      Тузик, видимо у тебя этот момент настал раньше и тебе уже сейчас нужно жрать стимуляторы мозговой деятельности пачками. Знаешь почему? Потому что твои куцые не стимулированные мозги не в состоянии уяснить — это проект академический.
                                                                                                                                                                    –1
                                                                                                                                                                    Что примолк, соколик?