The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен язык программирования GNU Guile 3.0.10

24.06.2024 10:02

Опубликован релиз GNU Guile 3.0.10, свободной реализации функционального языка программирования Scheme, поддерживающей возможность встраивания кода в приложения на других языках программирования. Guile может быть использован как язык для разработки расширений для приложений, определения конфигурации или разработки компонентов для связи различных примитивов, предоставляемых приложением. Guile является официальным языком разработки расширений для операционной системы GNU.

Основу Guile составляет виртуальная машина, которая выполняет переносимый набор инструкций, генерируемый специальным оптимизирующим компилятором. Виртуальная машина Guile легко интегрируется с кодом приложений на языках Си и Си++. Кроме языка Scheme, для которого реализована поддержка спецификаций R5RS, R6RS и R7RS, в рамках проекта Guile разработаны компиляторы и для других языков, таких как ECMAScript, Emacs Lisp и Lua (в процессе разработки). В состав пакета входит библиотека модулей, в которых реализованы типовые сервисные функции, такие как работа с протоколом HTTP, парсинг XML и использование методов объектно-ориентированного программирования.

Среди изменений в новом выпуске:

  • Реализован экспериментальный интерфейс для использования сторонних бэкендов. Разработчикам предоставлена возможность использования имеющегося фронтэнда, преобразующего исходный код во внутреннее представление, и оптимизатора Guile вместе с другими бэкендами, выполняющими генерацию кода.
  • Представлен внешний бэкенд hoot для генерации промежуточного кода WebAssembly, который может выполняться в браузере. В будущем не исключено включение WebAssembly в число основных поддерживаемых целей компиляции в Guile.
  • Разрешено использование определений "define" в контексте выражений "when", "unless", "cond", "case", "and-let*" и "with-fluids".
  • Добавлена поддержка механизма custom ports, описанного в диалекте языка Scheme R6RS и позволяющего подключать обработчики для трансформации данных (например, сжатие/распаковка или изменение кодировки символов), обрабатываемых в таких функциях, как read, write и display. В Guile также предложен модуль "(ice-9 soft-ports)", предоставляющий интерфейс "soft port", который позиционируется в качестве более простого аналога "custom ports".
  • Добавлена поддержка упрощённого синтаксиса wisp, позволяющего писать более читаемый код, например:
    
       define : factorial n
         if : zero? n
             . 1
             * n : factorial (- n 1)
       display : factorial 5 
       newline
    
    вместо 
    
       (define (factorial n)
           (if (zero? n)
              1
              (* n (factorial (- n 1)))))
    
       (display (factorial 5))
       (newline)
    
  • В компиляторе реализовано новое предупреждение, выдаваемое в случае импорта в коде модулей, функции которых не используются.
  • Добавлена новая аннотация "maybe-unused", подавляющая вывод предупреждений о неиспользовании процедур.
  • Вывод трассировки стека вызовов теперь обрезается по границе 500 символов, а не 80 (можно изменить через параметр default-frame-width).
  • В процедуру "copy-file" добавлен параметр "#:copy-on-write", позволяющий использовать механизм copy-on-write в поддерживающих его файловых системах.
  • Добавлена оптимизация, обеспечивающая inline-развёртывание вызовов процедур с keyword-аргументами.


  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск GNU Mes 0.26, инструментария для самодостаточной сборки дистрибутивов
  3. OpenNews: Выпуск системного менеджера GNU Shepherd 0.10
  4. OpenNews: Выпуск Mcron 1.2, реализации cron от проекта GNU
  5. OpenNews: Увидел свет GNU Guile 3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61430-guile
Ключевые слова: guile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (137) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:09, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Пока что единственный нормальный гнутый язык.
     
     
  • 2.12, Аноним (12), 11:39, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    как? есть же питон
     
     
  • 3.14, Аноним (1), 11:57, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Питон не гнутый, он PSFL.
     
     
  • 4.16, Аноним (12), 11:59, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    это что за зверь?
     
     
  • 5.17, Аноним (1), 12:12, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это пример как бздненужно. Подробно на секретном сайте https://ru.m.wikipedia.org/wiki/Python_Software_Foundation_License
     
     
  • 6.29, zshfan (ok), 13:51, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Анонимоненужно, а БСД нормальная лицензия, со своими минусами и плюсами.
     
     
  • 7.31, Аноним (12), 14:08, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    мне тоже больше по душе BSD по сравнению с GPL, а ещё больше нравитца MIT
     
     
  • 8.59, Аноним (59), 16:48, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ровно до тех пор, пока ты не прекратишь мечтать и не начнешь писать код ... текст свёрнут, показать
     
     
  • 9.81, Аноним (81), 20:50, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Большая часть кода, которая вываливается на гитхабчик, и так лицензирована всяки... текст свёрнут, показать
     
  • 7.82, Аноним (81), 20:52, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Думаю, он всё-таки иронизировал
     
  • 4.49, Аноним (49), 15:48, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он тягучий.
     
     
  • 5.83, Аноним (81), 20:52, 24/06/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.61, Аноним (61), 17:01, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Питон не гнутый, он PSFL.

    Professional Spring Football League?

     
  • 3.34, Илья (??), 14:16, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Когда мне в голову приходит мысль, что мне придётся пересаживаться с крутых технологий на пейфон, я впадаю в уныние.

    Пейфон модный, это факт. Но там ни одного преимущества не вижу. Даже перед водой, не говоря уже про дотнет

     
     
  • 4.41, Аноним (49), 14:50, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А крутые технологии это которые?
     
     
  • 5.104, Илья (??), 07:35, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А крутые технологии это которые?

    Смотря для каких целей. Для бека - дотнет. Для мобилок - нативное, для веб-фронтенда js.

     
  • 4.47, Аноним (47), 15:45, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    о да. расскажите про крутые технологие которые Вы упямянули
     
     
  • 5.108, Илья (??), 08:52, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > о да. расскажите про крутые технологии которые Вы упомянули

    Любые, у которых есть осязаемые техническое преимущества:

    Например:
    - строгая типизация и как следствие
    - расширенные оптимизации производительности
    - статический анализ исходя из типов
    - ошибки времени компиляции а не рантайма
    - скорость. экономия оперативки и цпу
    - отсутствие GC
    - многопоточка
    - расширенный ООП или ФП,
    - нативная АОТ компиляция
    - нормальный синтаксис "примерно как у всех"

    Например, голанг, дотнет, c++, js. Да что угодно кроме пейфона на мой взгляд можно брать.

     
     
  • 6.126, fuggy (ok), 11:49, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что из этого есть у golang: отсутствие GC, расширенный ООП, нативная АОТ компиляция?
    Что из этого есть у js: начиная со строгая типизация; отсутствие GC, ошибки времени компиляции а не рантайма, многопоточка, статический анализ исходя из типов?
    Если нужно удовлетворить часть пунктов, то в Common Lisp есть расширенный ООП, расширенный  ФП само собой, он компилируемый, есть нативная АОТ компиляция, сильная (динамическая) типизация. То есть кроме привычного синтаксиса он целиком удовлетворяет требованиям?
    Между прочим именно в Lisp первым изобрели GC, который есть в перечисленных тобой и мейнстримных языках.
     
  • 6.128, freehck (ok), 12:35, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле само по себе наличие GC -- это не минус Всё зависит от реализации... большой текст свёрнут, показать
     
     
  • 7.149, Аноним (149), 18:31, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> - отсутствие GC
    > На самом деле само по себе наличие GC -- это не минус.
    > Всё зависит от реализации. Сделать хороший многопоточный GC -- это задача
    > на докторскую, как минимум, да. На данный момент существуют две таковые:
    > в JVM и в OCaml.

    Вариант GC для OCaml лежит у меня на гитхапе, вместо родного консервативного, уплотняющий. Не помню в оригинале "хорошей моногпоточности".

    Проще говоря: потрудись подтвердить ссылкой на исходники.

    Кстати, сообщения от Анонима тебе не запретили удалять? ;)

     
  • 6.129, Аноним (129), 12:50, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    JS: строгая типизация, расширенные оптимизации производительности, скорость. экономия оперативки и цпу, нативная АОТ компиляция :))
     
     
  • 7.141, Илья (??), 17:56, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В JS свои приколы, которые его делают конкурентным. Например, единый язык на фронте и беке.

    Для любителей типов есть TS, а по производительности он значительнее шустрее пейфона

     
  • 4.62, Аноним (61), 17:03, 24/06/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 4.86, Bottle (?), 22:52, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Преимущество в том, что это реально язык, который поймёт любой школьник, а не только ученик физматшкол, входящих в топ-100 России. Это идеальный язык для обучения.
     
     
  • 5.88, Прохожий (??), 00:41, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Почти идеальный для обучения, всё же - это Pascal. Python очень далёк от идеала в этом плане.
     
     
  • 6.103, Аноним (103), 07:18, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Паскаль хорош для обучения, потому что для обучения ему ничего не надо менять. Вот преподаватели-пенсионеры, они уже есть, они могут преподавать паскаль условно до смерти.

    Ему ещё подыгрывает оторванность образования от реальности. Нет нацеленности на подготовку реальных работников - можно учить любым языкам. Обучающийся всё стерпит, его время бесплатно, а потом он внезапно может даже защищать такое обучение (землянам приятнее считать, что они делали что-то полезное и осмысленное, это полезно для их психики).

     
     
  • 7.106, Прохожий (??), 08:03, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Pascal хорош для обучения, потому что:
    1. Простой синтаксис.
    2. Строгая типизация.
    3. Компилируемый.
    4. Работает с указателями.
    5. Отсутствует (или там очень мало) UB.
    6. Модули.

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

     
     
  • 8.109, Аноним (103), 09:01, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну это несерьёзно Вот примерим эти пункты на ALGOL 68-R, Pascal и C Одинаково... текст свёрнут, показать
     
  • 8.152, Аноним (-), 07:36, 26/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо прохожему плевать на время других людей Паскаль хороший язык, но если мн... текст свёрнут, показать
     
  • 6.124, Аноним (124), 11:34, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Golang для обучения лучше, только при обучении надо выкинуть (или замести под ковер) все кейсы с interface{}. Статически типизированный (с учётом поправки выше), простой синтаксис с минимумом вариативности, явная обработка ошибок, форсированный стиль кода. И С понять потом будет легко - поняв слайсы, легко поймёшь указатели
     
  • 5.105, Илья (??), 07:38, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Преимущество в том, что это реально язык, который поймёт любой школьник

    вставьте сюда ЛЮБОЙ современный язык.

     
     
  • 6.107, Прохожий (??), 08:08, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Haskell, C++, Rust. Мало кто из школьников с нуля, не зная азов, сможет их освоить. Что уж там говорить, далеко не все профессионалы могут.
     
  • 2.21, Витюшка (?), 12:34, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если бы он был нормальным его бы сам GNU из своих проектов не выпиливал.

    В gdb он признан устаревшим

     
     
  • 3.22, Аноним (1), 12:38, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Каждому овощю свой фрукт.
     
  • 3.28, Аноним (-), 13:46, 24/06/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.48, Аноним (49), 15:46, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А чего же его в Guix выбрали для описания сборки пакетов, для самого пакетного менеджера?
     
     
  • 4.125, Аноним (124), 11:35, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лисп-подобные языки удобны для DSL.
     
  • 3.52, Аноним (-), 16:07, 24/06/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.72, MaleDog (?), 18:58, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как по мне так дофига многословный. На таком только копилоту писать удобно.
     

     ....большая нить свёрнута, показать (39)

  • 1.2, Аноним (2), 10:10, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > по границе 500 символов, а не 80

    Интересный коэффицент. Если язык не менялся, а перестало хватать 80, то менялись использования.

     
     
  • 2.3, Аноним (1), 10:13, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Мониторы внезапно перестали быть текстовыми. Это как на пути нашего радиоканала внезапно построили дом.  
     
     
  • 3.19, 12yoexpert (ok), 12:29, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    исходники должны влазить в два вертикальных сплит редактора IDE, 80 символов для этого в самый раз, остальное неважно
     
     
  • 4.20, Аноним (1), 12:34, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Выкинь уже свой 15 дюймовый квадратный монитор уже. Прошу тебя.  .
     
     
  • 5.36, Vindex (?), 14:23, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Больший монитор - возможность поместить больше текстовых областей. Отказ от 80 символов сводит это преимущество на нет. Хотя на C++ действительно сложно уложиться в 80, а в Java/C# так совсем. На Python, Bash, D - вообще спокойно
     
     
  • 6.43, Аноним (43), 14:54, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Писать в пределах 80 колонок можно, просто выглядеть это будет ужасно (эстетически). Особенно это касается XAML с его нивротбольшими названиями атрибутов и байндингами.
     
     
  • 7.73, Аноним (2), 19:02, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Писать краткий код, легко читаемый код, на хорошем языке - это спутники таланта.
     
  • 4.35, Илья (??), 14:17, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В 2024 году и 120 влазит
     
  • 4.156, фф (?), 09:55, 27/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    для 3-way diff и мерджа хорошо бы даже 3 колонки сразу видеть
     

  • 1.4, Аноним (4), 10:18, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Добавлена поддержка упрощённого синтаксиса wisp, позволяющего писать более читаемый код

    Во, уже даже сами лисперы признают, что (((с(ко))б(((к)))и) -- это нечитаемо.

     
     
  • 2.8, Bottle (?), 11:20, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Глядишь, когда-нибудь и обратную польскую нотацию признают нечитаемой.
     
     
  • 3.9, Аноним (4), 11:30, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    (насчет (с соглашусь (твоей позицией)) (польской нотации))
     
     
  • 4.32, Аноним (12), 14:10, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    мне больше по душе О-нотация
     
  • 3.26, Андрей (??), 13:24, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так у них же не обратная польская(1 3 +), а префиксная запись(+ 1 3)
     
  • 2.15, Аноним (1), 11:58, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Питоновская нотация ещё более не читаемая.
     
     
  • 3.84, Аноним (81), 21:01, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Давно ты конфиг емакса не открывал
     
  • 2.69, Аноним (69), 18:03, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Есть два типа программистов: те, кто понял Лисп, и те, кто так и не научился программировать. По реакции)))))) на скобочки можно очень легко отделить первых от вторых.
     
     
  • 3.79, n00by (ok), 20:21, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Турчин не понял Лисп и потому сделал в Рефал три вида скобочек? Я серьёзно спрашиваю. Если превосходно читаемый код приходится особым образом форматировать, это первый звоночек. Не про Лисп, а вообще.
     
     
  • 4.138, Аноним (-), 16:13, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если превосходно читаемый код приходится особым образом форматировать, это первый звоночек.

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

    > Турчин не понял Лисп и потому сделал в Рефал три вида скобочек?

    Что за турчин, и что за рефал? Какая-то никому не нужная маргинальщина? Раз маргинальщина, значит не понял.

     
     
  • 5.145, n00by (ok), 18:22, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Турчин не понял Лисп и потому сделал в Рефал три вида скобочек?
    > Что за турчин, и что за рефал? Какая-то никому не нужная маргинальщина?
    > Раз маргинальщина, значит не понял.

    Зачем же ты влез с своим сверхценным мнением, если не понял? Тем более, что о тебе тем более никто ничего не слышал.

    >> Если превосходно читаемый код приходится особым образом форматировать, это первый звоночек.
    > Программу на любом языке программирования приходится особым образом форматировать, иначе
    > она превращается в нечитаемое месиво чаров. Например, C позволяет писать без
    > переводов строк вообще, но попробуй такую программу прочитай.

    Аноним ничего не слышал про индукцию и наивно полагает, что частный случай доказывает общее правило. Тем более он не слышал про ЯП, очень похожие на обычный текст.

     
  • 3.123, Аноним (123), 11:24, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да чего там понимать. Лисп - это язык по сути без синтаксиса, с программированием в AST напрямую (прямолинейный маппинг s-expr на AST синтаксисом назвать сложно). Понятно-то оно понятно, но программировать напрямую в AST - это удовольствие на любителя. Ну кому-то нравится.
     
  • 2.122, Аноним (123), 11:21, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    да все равно, чтобы нормально поставить все эти точки и двоеточия, надо понимать, где у тебя скобочки
     
  • 2.157, фф (?), 09:58, 27/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не знаю, я вот с лиспом не знаком, но вариант со скобочками понял что делает, а висп вариант - нет (пока скобочки не подглядел).
     

  • 1.10, Аноним (10), 11:30, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Реализован экспериментальный интерфейс для использования сторонних бэкендов.

    Ждём натив и VOP.

     
  • 1.11, Bottle (?), 11:36, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Так и не понял в чём смысл лиспов, если по скорости они отстают от других языков. Даже джава быстрее.
     
     
  • 2.18, Аноним (1), 12:13, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Во первых это красиво.  
     
     
  • 3.23, Аноним (23), 12:42, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зависит от шрифта. В некоторых скобочки смотрятся убого.
     
  • 3.42, Аноним (43), 14:51, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собственно, на этом и всё :) Причём это красиво КОНЦЕПТУАЛЬНО, а не синтаксически. Лисп потому и остался в академической ***опе, что не вывезет нормальные серьёзные приложения.
     
  • 2.33, Вы забыли заполнить поле Name (?), 14:12, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Смысл лиспов в макросах, что позволяют просто создавать dsl: для примера в guix пакеты описываются тоже на схеме. Также это позволяет имея небольшой набор базовых сущностей все сводить к ним или легко добавлять нужный тебе синтаксис. Например, добавить unless в питон без модификации компилятора ты не сможешь, а в лисп пожалуйста.

    По скорости он, конечно, сильно быстрее питона, но с примерно той же скоростью разработки (в отличие от джавы).

    Ещё один немаловажный фактор - это простота языка. Спецификация r6rs занимает всего 90 страниц. Что позволяет просто реализовать язык самому. Пусть он и не будет таким же быстрым как существующие реализации, но будет корректным. Благодаря этому схема выбрана проектом GNU Mes для бутстрапинга компилятора gcc.

     
     
  • 3.39, BeLord (ok), 14:49, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. вы хотите сказать, что можно взять и относительно быстро написать на Lisp транслятор в С++, потом скормить этом транслятору код приложения на LISP и получить корректный код на С++, потом все это скормить компилятору С++ и получить работающее приложение, тем самым сократив время разработки?
     
     
  • 4.55, Вы забыли заполнить поле Name (?), 16:27, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. вы хотите сказать, что можно взять и относительно быстро написать на
    > Lisp транслятор в С++, потом скормить этом транслятору код приложения на
    > LISP и получить корректный код на С++, потом все это скормить
    > компилятору С++ и получить работающее приложение, тем самым сократив время разработки?

    Нечто подобное в Naughty Dog для данных (https://www.youtube.com/watch?v=oSmqbnhHp1c), только использовали racket.  

     
  • 3.40, Аноним (43), 14:49, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть одна маленькая проблемка: DSL в лиспе тоже являются лиспом! Если я правильно понимаю, ты можешь наопределять функций, но они всё равно должны подчиняться синтаксису лиспа - те же скобочки, "цитаты" и т.п. Нафига оно тогда мне?? Сравни с Nemerle - там ты можешь ЛЮБОЙ синтасис задвинуть, хоть вообще из одних знаков препинания! :) Это и есть настоящий DSL - когда нет никаких ограничений.
     
     
  • 4.56, Вы забыли заполнить поле Name (?), 16:30, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > но они всё равно должны подчиняться синтаксису лиспа

    Не обязательно, например, в Racket можно кастомизировать reader https://beautifulracket.com/explainer/lang-line.html

     
  • 4.57, Вы забыли заполнить поле Name (?), 16:33, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть одна маленькая проблемка: DSL в лиспе тоже являются лиспом!

    Преобразуй свой синтаксис в лисп подобный (s-expr) и потом работай с ним привычными средствами.

    >  Нафига оно тогда мне??

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

     
  • 4.115, fuggy (ok), 10:19, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Код это данные, данные это код. Это очень мощный подход для метапрограммирования. И новый синтаксис это ломает. Это как json формат, но json это только данные. По поводу скобочек до сих пор не могу понять претензий разве в JavaScript их меньше, с той лишь разницей что скобочки пишутся после вызова имени функции, а не до.
    Сравни (defun foo (a b) (boo a b)) и function foo(a, b) { return boo(a, b); } скобочек ровно столько же. Более того в js встречаются конструкции колбеков с их громадой скобочек }) }) }).
     
     
  • 5.118, n00by (ok), 10:58, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В JavaScript скобочки разные.
     
     
  • 6.127, fuggy (ok), 12:07, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Какая разница. В Clojure вот скобочки разные например, но почему )))) - это "ой боюсь, страшно", а }) }) }) - это нормальный синтаксис? Одинаковые скобочки может IDE легко закрывать по хоткею например. Да и в js одинаковые подряд тоже бывают foobar(foo(bar())).
     
     
  • 7.143, n00by (ok), 18:05, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что люди разные и восприятие различается. Одному удобнее одинаковые )), поскольку не надо думать, где какую поставить. Другому }), поскольку видно, какая что закрывает.
     
  • 6.136, Вы забыли заполнить поле Name (?), 14:07, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарт схемы позволяет использовать разные виды скобок, так например в racket и chezscheme много используются квадратные скобки для читабельности.
     
     
  • 7.144, n00by (ok), 18:08, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так и претензия к одинаковым скобочкам. Не удивлюсь, что во время зарождения LISP других скобочек и не было. Сделали же в Си триграфы ??( для [ и ??< для {.
     
  • 2.46, Аноним (47), 15:40, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    разновидностей лиспов есть много.
    и не сказал бы что какой-то SBCL отстаёт от явы по скорости. Скорее наоборот совсем
     
  • 2.58, Аноним (58), 16:46, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Считается, что функциональные языки более надёжны, в них можно динамически конструировать (и модифицировать) процедуры, отсутствие жёсткой структуры у данных и алгоритмов облегчает сопровождение.
     
     
  • 3.65, Аноним324 (ok), 17:55, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё можно менять программу прям в проде, и ничего не сломается.
     
  • 3.154, Аноним (123), 16:14, 26/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    вы путаете lisp-подобные языки с функциональными, то, что lisp отчасти (но не полноценно) функциональный - это просто следствие его дизайна, а вот слабость типов - это сам дизайн

    haskell функциональный, причем полноценно (в отличие от lisp), но статически типизирован.

     
  • 2.74, Аноним (2), 19:04, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Так и не понял в чём смысл лиспов, если по скорости они отстают от других языков. Даже джава быстрее.

    В краткости решения задач на этом языке, для которых язык предназначен?

     

  • 1.37, Аноним (43), 14:46, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > для разработки расширений для приложений

    Ребят, объясните мне как проф. программисту, С КАКОГО ПЕР-ЕП-ОЯ скриптота внезапно стала нужной для "расширений"? Концепция "динамических библиотек" (которые можно загружать в рантайме и которые и есть РАСШИРЕНИЯ) существует несколько десятков лет, это те же *.so или *.dll (а может и ещё раньше - см. Smalltalk).
    Спрашивается - нафига мне тормозная, нетипизированная, убогая скриптота, когда у меня есть ровно ТАКОЙ ЖЕ язык главного приложения (Си, C#, D, etc) на котором я ТОЖЕ могу делать расширения, только при этом зная ОДИН язык и не жертвуя ни на процент скоростью!??!

     
     
  • 2.44, Аноним (44), 14:59, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Распространение расширений, которые не зависят от бинарного представления на конкретной платформе. Не всегда стоит доверять скомпилированным кем-то программам/расширениям. Не всегда важна производительность ЯП, когда описывается какой-то сценарий.
     
     
  • 3.90, Аноним (43), 01:29, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если программа УЖЕ скомпилена для Линукса, то какая на%рен разница, чё там с представлением? Просто поставляешь so-шку и программа её загружает! Для венды канпеляешь DLL. Всё. Тут нет никакой "зависимости", бинарный шмот основной программы будет такой же, как и расширения.

    Про доверие бинарям - извини, это уже к параноикам. Ты ставишь линукс, где скомпилены ТЫСЯЧИ программ. Не тобой. Как ты им доверяешь?? :))

    Производительность ещё как важна! Ты же пишешь расширение - откуда тебе знать, как глубоко оно влезет? А если оно по каждому нажатию клавиши проверяет всю таблицу юникода? Скорость ВСЕГДА важна.

     
  • 2.45, Аноним (12), 15:17, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > мне как проф. программисту

    та странная портянка, что ты накатал, делит на ноль тебя как профессионала

     
     
  • 3.71, Аноним (49), 18:55, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты бесконечно вырастил его в собственных глазах.
     
     
  • 4.80, n00by (ok), 20:30, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    При делении на 0 генерируется исключение, а не бесконечность.
     
     
  • 5.89, Аноним (89), 00:52, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В матане нет исключений.
     
     
  • 6.101, анон (?), 03:59, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В матане нет и деления на ноль.
     
     
  • 7.131, Аноним (129), 13:00, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В матане есть пределы, в которых когда приходят к константным значениям при раскрытии, таки подставляют значения 0 или лежачую восьмёрку.
     
     
  • 8.147, Аноним (-), 18:26, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но это не деление на ноль ... текст свёрнут, показать
     
  • 6.119, n00by (ok), 11:00, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Далёк матан от программирования.
     
  • 2.50, Bottle (?), 15:54, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в этом мире далеко не все являются профессиональными программистами. Поэтому и Visual Basic и Python встроены в Excel, а не чистый Си.
     
     
  • 3.92, Аноним (43), 01:31, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Извини, но ты напишешь полное г***но хоть на пестоне, хоть на Си - разницы нет. Для работы с пестоном, прикинь, тоже нужна квалификация! В нём нет НИЧЕГО, чтобы домохозяйка со знанием Икселя могла на нём писать. Это тебе не "язык черепашки"!
    Так что аргумент мимо. Ещё есть?
     
     
  • 4.148, Аноним (-), 18:29, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Так что аргумент мимо. Ещё есть?

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

     
  • 2.53, Аноним (-), 16:13, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я ТОЖЕ могу делать расширения, только при этом зная ОДИН язык и не жертвуя ни на процент скоростью

    Делай. Тебе никто не запрещает писать расширения к emacs'у на C. Или расширения к firefox'у на C++. Да, будут определённые неудобства, типа необходимости перекомпиляции сорцов, после каждого изменения расширения, но я не думаю, что это какая-то серьёзная проблема.

    И я на полном серьёзе тебе рекомендую попробовать. Если ты не понимаешь зачем нужен отдельный язык для расширений с динамической типизацией и сборкой мусора, то возьми и попробуй обойтись без этого. Собственный опыт -- лучший учитель.

     
     
  • 3.93, Аноним (43), 01:33, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Фигню не говори! Не нужно ничего ПЕРЕкомпилировать, ты видимо давно не писал программ - освежись. Аддоны прекрасно загружаются, даже если ты сменил сто версий основной программы. Просто в этом и суть внешних библиотек (вернее, модулей) - они не зависят от основного кода, так и было задумано.
     
     
  • 4.111, Аноним (-), 09:41, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Аддоны прекрасно загружаются, даже если ты сменил сто версий основной программы.

    Ну-ка покажи мне пример, как ты подгружаешь аддон писанный на C к emacs'у без перекомпиляции emacs'а.

     
  • 2.54, n00by (ok), 16:20, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ребят, объясните мне как проф. программисту, С КАКОГО ПЕР-ЕП-ОЯ

    Орать не надо, «программист».

    > Спрашивается - нафига мне тормозная, нетипизированная, убогая скриптота, когда у меня есть
    > ровно ТАКОЙ ЖЕ язык главного приложения (Си, C#, D, etc)

    «Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp.»

     
  • 2.60, Аноним (60), 16:57, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Смотря какие расширения. Если расширения - скрипты, то скриптовый язык лучше. Скрипты это несложные программы которые по назначению надо постоянно менять. Представь программу-качалку с разных сайтов или программу-переводчик использующую какие-то сайты как сервисы или их апи. Сайты постоянно ломаются, соответственно расширения на скриптах намного удобнее, чем писать и компилить нормальный код.
     
     
  • 3.64, Аноним (23), 17:14, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    какие сайты, какие апи? сходи накопай картошки и скрипт не нужен
     
  • 3.95, Аноним (43), 01:38, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если расширения - скрипты...

    Боже, что ты несёшь?? :)))

    Расширения - это функциональность, причём тут скрипты? Пишешь внешний модуль, даёшь программе - она работает.
    И нет, расширения НЕ простые программки! (иначе они нахрен не нужны) Там целая связь с API основной программы + свои функции. И нет, их не надо постоянно менять - с чего ты это взял???
    Иногда - да, нужен апдейт. Просто перезаписал старый модуль - всё, расширение новое! Сорсы для этого не нужны.
    Если сайты постоянно ломаются, это вообще не проблема расширений, они по-прежнему могут быть написаны на Си. А такие сайты идут на *****.

     
  • 2.63, Аноним (59), 17:08, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Скриптоту" можно модифицировать налету (live coding), в простых случаях - без использования среды разработки. А скорость работы сценариев может быть неважна, когда они редко выполняются (например, только раз во время старта приложения), или когда значительное время занимает не сама обработка данных, а, скажем, системные вызовы (I/O). Кроме того язык скриптов может более намного проще и удобнее для разработки логики внутри приложени, за счет лучшей абстракции, большей независимости от платформы (ОС и железа).
     
     
  • 3.96, Аноним (43), 01:54, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    О Оптимистов подвезли Скажи, ТЫ ЛИЧНО много модифицировал расширений Даж... большой текст свёрнут, показать
     
     
  • 4.113, funny.falcon (?), 10:04, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Quake работал на железках в 100 раз медленнее нынешних.

    Тем не менее, вся логика, а также многое из отрисовки, была написана на интерпретируемом языке QuakeC.

    Казалось бы, зачем? Зачем терять скорость выполнения на и так уже не быстрых компьютерах? Зачем нужна была ещё одна прослойка от фантазии разработчика до процессора?

    Подумай над этим.

     
  • 2.67, Аноним324 (ok), 17:58, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что ты пишешь программу для оператора, а оператор не проф. программист(как и ты, судя по твоим умозаключениям), он не может, и не должен знать плюсы, для того чтобы прикрутить к своей программе что либо. Оператору нужен язык который может понять человек, а не программист. Именно по этой причине существует, питон, луа, автолисп, 1С, матлаб и прочее. Чтобы человек, которому нужно больше функциональности, мог дописать эту функциональность, не имея 6 лет кампутер саенс вышки за плечами. И страдать жручи С++, шарпы или джаву он тоже не должен.
     
  • 2.75, Аноним (2), 19:08, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > скриптота внезапно стала нужной для "расширений"?

    Попытка отдать пользователю описание логики работы, нужной пользователю.

    Для простых вещей неплохо. Взлетело ж? Значит, хорошо подходит.

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

     
     
  • 3.98, Аноним (43), 02:09, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А чем плоха логика, написанная на Си Даёшь юзеру скелет, он его наполнил, ск... большой текст свёрнут, показать
     
     
  • 4.121, n00by (ok), 11:10, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто ЯОН в принципе не может быть "простой"
    > - все конструкции того же Си обязаны присутствовать, иначе ты просто
    > не сможешь выражать все алгоритмы.

    Не проецируй на других свои знания и способности. Лучше почитай "мем с тырнета" под названием "тезис Чёрча-Тьюринга".

     
  • 2.76, Омоним (?), 19:09, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На их сайте всё написано:

    Using any of the supported scripting languages, users can customize and extend applications while they are running and see the changes take place live!

    Users can easily trade and share features by uploading and downloading the scripts, instead of trading complex patches and recompiling their applications

     
     
  • 3.99, Аноним (43), 02:14, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не убедил. Зачем мне live?? Как разработчик, у меня и так есть IDE со всеми плюшками. Запустил, отладил, опубликовал. Конечному юзеру ТЕМ БОЛЕЕ не нужно - он просто положил аддон рядом и он работает.

    Скрипт - это просто файл. Скачать файл и записать его в /addons/ - не бóльшая трудозатрата, чем скачать ТАКОЙ ЖЕ ФАЙЛ в виде .so и положить туда же. Какие ещё "complex patches and recompiling"??? Авторы явно не в курсе, что динамические либы для того и придумали, что не нужны никакие recompiling. Скриптовое дилетантство - вот что мешает разрабам трезво взглянуть на ненужность и ущербность скриптов как "языка расширений".

     
  • 2.116, fuggy (ok), 10:30, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели ты не отличаешь динамическую типизацию от динамических библиотек.
    Смотря для каких целей. Для каждого инструмента своя цель. Для прототипирования или если нужно накидать быстро скрипт на один раз. Пока ты ещё будешь с указателями разбираться, они уже будут кофе попивать.
     
     
  • 3.120, n00by (ok), 11:07, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Неужели ты не отличаешь динамическую типизацию от динамических библиотек.

    Он и 10-е правило Гринспена назвал "мем с тырнета". ;)

     

     ....большая нить свёрнута, показать (31)

  • 1.38, Аноним (49), 14:47, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Кроме языка Scheme, для которого реализована поддержка спецификаций R5RS, R6RS и R7RS, в рамках проекта Guile разработаны компиляторы и для других языков, таких как ECMAScript, Emacs Lisp и Lua

    А насколько разнятся Scheme и Emacs Lisp?

     
     
  • 2.68, Аноним324 (ok), 17:59, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Полностью, начнём с того что схема не лисп вообще.
     
     
  • 3.70, Аноним (49), 18:07, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Но скобочки?
     
     
  • 4.78, Омоним (?), 19:18, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Emacs lisp - расширение Лиспа, а Scheme - не лисп, но похож.
     
  • 2.87, Аноним (-), 00:10, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Довольно серьёзно Схема -- это вылизанный лисп, из которого выкинут весь этот и... большой текст свёрнут, показать
     
     
  • 3.135, Аноним (129), 13:58, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Основные идеи одинаковы, но всё что не схема содержит в себе горы ненужного legacy из середины XX века, которое тогда казалось хорошей идеей, а со временем оказались отстоем.

    Я правильно понял, имелось ввиду "Elisp содержит в себе горы ненужного legacy из середины XX века", а не Scheme?

    Оставьте Столмана, он передал бразды правление Емаксом ещё с какой-то 24 версии. И теперь за новым сопровождающим решения по необходимости модернизации Elisp, если сочтёт нужным.

     
     
  • 4.140, Аноним (-), 16:42, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И теперь за новым сопровождающим решения по необходимости модернизации Elisp, если сочтёт нужным.

    Уже давно анрил. Вся конфигурация emacs'а делается через динамические бинды. Ты можешь открыть любой аддон к emacs'у и увидеть там сразу вначале грядку defconst и defvar.

     
  • 2.133, freehck (ok), 13:05, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень и очень сильно Emacs Lisp сильно тяготеет к Common Lisp У него все перем... большой текст свёрнут, показать
     
     
  • 3.137, Аноним (129), 14:10, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >У Scheme общее пространство имён для всех символов, у Lisp-ов -- функции живут в отдельном пространстве. Это упрощает жизнь.

    Так что упрощает: общее для всех или отдельное для функций?

    >Если вы выбираете себе лисп для изучения -- я рекомендую смотреть сначала на Racket Scheme, как на наиболее живого представителя схем.

    Я выбираю пакетный менеджер Guix, поэтому выбор очевиден :) Ну поглядываю в его сторону пока.

     
     
  • 4.151, freehck (ok), 19:20, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> У Scheme общее пространство имён для всех символов, у Lisp-ов -- функции живут в отдельном пространстве. Это упрощает жизнь.
    > Так что упрощает: общее для всех или отдельное для функций?

    Общее для всех. Проще говоря, внутри схемы просто одна большая таблица, которая связывает символы со значениями, а в CL -- их две. И таким образом вместо defvar и defun -- только define, а вместо #' и ' -- только '. Вот вроде бы мелочь, но хорошо, когда она не отвлекает.

    >> Если вы выбираете себе лисп для изучения -- я рекомендую смотреть сначала на Racket Scheme, как на наиболее живого представителя схем.
    > Я выбираю пакетный менеджер Guix, поэтому выбор очевиден :) Ну поглядываю в его сторону пока.

    Ваше право. Но осмелюсь заметить, что на Racket или Clojure вы работу найти сможете, а на Guile -- ну проблематично. Поэтому я Guile не могу рекомендовать.

     
  • 3.155, кто здесь (?), 03:08, 27/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > я рекомендую смотреть сначала на Racket Scheme, как на наиболее живого представителя схем

    Нет такого языка -- Racket Scheme.
    Есть просто Racket.
    Который вырос из PLT Scheme.
    И был переименован в Racket именно потому,
    что в какой-то момент перестал быть схемой.

     
     
  • 4.158, freehck (ok), 11:15, 27/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> я рекомендую смотреть сначала на Racket Scheme, как на наиболее живого представителя схем
    > Нет такого языка -- Racket Scheme.
    > Есть просто Racket.
    > Который вырос из PLT Scheme.
    > И был переименован в Racket именно потому,
    > что в какой-то момент перестал быть схемой.

    Да, Racket это не чистая Scheme. Но разница не сильно велика. Перейти с Racket на чистую Scheme в случае необходимости не составит большого труда.

     

  • 1.66, Аноним (69), 17:58, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавлена поддержка упрощённого синтаксиса wisp, позволяющего писать более читаемый код

    Если это более читаемый код, то я тогда мать Тереза.

     
     
  • 2.77, Аноним (2), 19:11, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Избыток скобочек засоряет взор индейца. Без скобок вариант читаемый легче (быстрее - с меньшей тратой внимания).
     
     
  • 3.85, Аноним (47), 21:39, 24/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    со скобками быстрее прочитать получилось
     
  • 2.132, anonymous (??), 13:01, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а мне понравилось, запомнить: 1) строки, которые начинаются с точки, оборачивать в скобки не надо, 2) двоеточие, наоборот - заключить в скобки, 3) новая строка и отступы - и так понятно
    зато как итог, никакой тебе кучи смайликов

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

     

  • 1.110, жявамэн (ok), 09:33, 25/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >зыком разработки расширений для операционной системы GNU.

    что это за ОС такая?

     
     
  • 2.114, Аноним (114), 10:06, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    GNU is an operating system that is free software 8212 that is, it respects user... большой текст свёрнут, показать
     
     
  • 3.117, жявамэн (ok), 10:39, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    где скачать исошку?
    на реальном железе работает?
     
     
  • 4.139, Аноним (129), 16:31, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего, придётся всё самому собирать from scratch.
     
  • 4.150, Аноним (-), 18:39, 25/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >где скачать исошку?

    На сайте GNU.

    >на реальном железе работает?

    Да, но оно 32-х битное, не 64 битное.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру