The OpenNET Project / Index page

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



"Выпуск SBCL 2.4.1, реализации языка Common Lisp "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск SBCL 2.4.1, реализации языка Common Lisp "  +/
Сообщение от opennews (??), 05-Фев-24, 13:31 
Опубликован выпуск SBCL 2.4.1 (Steel Bank Common Lisp), свободной реализации языка программирования Common Lisp. Код проекта написан на языках Common Lisp и Си, и распространяется под лицензией BSD...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=60554

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от zog (??), 05-Фев-24, 13:31   –3 +/
Ядро на этом языке реализовать можно?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (2), 05-Фев-24, 13:40   +4 +/
Нужно!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

3. Сообщение от Шарп (ok), 05-Фев-24, 13:42   –4 +/
>С целью оптимизации производительности убраны проверки границ для относительных смещений

Вы что, хотите CVE как в си?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

4. Сообщение от Аноним (4), 05-Фев-24, 13:43   –6 +/
((от (скобочек)) (рябит) (в (глазах)))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #35, #55, #80, #109

5. Сообщение от Аноним (5), 05-Фев-24, 13:59   +/
И где оно используется? Зачем вообще люди тратят сотни и тысячи человеко-часов на бесполезные и ненужные технологии, которым место в анналах истории?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #9, #10, #17, #53, #56, #66, #73, #88, #105

6. Сообщение от sailorTheCat (?), 05-Фев-24, 14:03   +1 +/
Годно и нужно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

7. Сообщение от Аноним (7), 05-Фев-24, 14:07   –3 +/
В ИИ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #38, #54

8. Сообщение от Аноним (5), 05-Фев-24, 14:10   –1 +/
> Годно и нужно.

Но ведь новость не про JavaScript

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #11

9. Сообщение от Аноним (9), 05-Фев-24, 14:16   +3 +/
прошу прощения, в след. раз обязательно у тебя все вместе спросим куда нам наше время тратить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #70

10. Сообщение от Аноним (36), 05-Фев-24, 14:19   +2 +/
>Зачем вообще люди тратят сотни и тысячи человеко-часов на бесполезные и ненужные технологии, которым место в анналах истории?

Потому что не хотят выучить скобочки, потому и обещают годами выпилить GIL.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #90, #96

11. Сообщение от Аноним (36), 05-Фев-24, 14:19   +/
А JavaScript в машкод не компилируется, как и в образы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #13, #15, #26, #42, #81

12. Сообщение от Аноним (36), 05-Фев-24, 14:20   +/
> Ускорена работа цикла "(LOOP FOR X IN (REVERSE LIST) ...)", который теперь использует меньше cons-ов.

А в принципе в функциональных языках замену map на map! компилятор умеет делать?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #95

13. Сообщение от Аноним (7), 05-Фев-24, 14:24   +1 +/
> А JavaScript в машкод не компилируется

Just JIT

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #14

14. Сообщение от Аноним (36), 05-Фев-24, 14:33   +1 +/
То есть, не компилируется. А в райнтайме потихоньку то там, то сям застопорит программу, потом ещё раз застопорит, потом выльет неоптимизированную портянку вызовов функций к библиотеке движка... и никаких тебе бинарей на диске с асмовставками и заменой anytype-кода на прямую тасовку fixnum-ов в асме через объявления safety, type и speed в declare.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Дима из Крыма (?), 05-Фев-24, 14:39   –2 +/
Компилируемые языки по большей части уходят в прошлое. Останутся только в системном программировании, в совсем уж критических местах. Не верите? Сравните количество вакансий и оцените спрос рынка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #19, #21, #28, #58

16. Сообщение от Аноним (-), 05-Фев-24, 14:57   –1 +/
А где крупный специалист по Lisp-у ЛОР-овец lovesan?
Ответить | Правка | Наверх | Cообщить модератору

17. Сообщение от Аноним (17), 05-Фев-24, 15:07   +1 +/
> бесполезные и ненужные технологии, которым место в анналах истории?

И правда зачем нужны бесполезные дубы, если есть желуди?

https://github.com/gcc-mirror/gcc/blob/master/gcc/common.md


;; Common GCC machine description file, shared by all targets.
...
(define_constraint "V"
  "Matches a non-offsettable memory reference."
  (and (match_code "mem")
       (match_test "memory_address_addr_space_p (GET_MODE (op), XEXP (op, 0),
                         MEM_ADDR_SPACE (op))")
       (not (match_test "offsettable_nonstrict_memref_p (op)"))))

https://github.com/gcc-mirror/gcc/blob/master/gcc/match.pd

#if GIMPLE
/* Optimize (X + (X >> (prec - 1))) ^ (X >> (prec - 1)) into abs (X).  */
(simplify
(bit_xor:c (plus:c @0 (rshift@2 @0 INTEGER_CST@1)) @2)
(if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
      && !TYPE_UNSIGNED (TREE_TYPE (@0))
      && wi::to_widest (@1) == element_precision (TREE_TYPE (@0)) - 1)
  (abs @0)))
#endif

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #18

18. Сообщение от Минона (ok), 05-Фев-24, 15:19   +2 +/
Столлман лично писал?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

19. Сообщение от Аноним (19), 05-Фев-24, 15:19   +/
Common Lisp -- компилируемый язык так то
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #50

20. Сообщение от Аноним (-), 05-Фев-24, 15:20   +/
В чём преимущество записи выражений в польской нотации. Типа: + 2 3

Для типично математический выражений никакого преимущества перед традиционной формой нет. Я по крайней мере не вижу.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22, #23, #24, #30, #31, #41, #57, #71

21. Сообщение от Минона (ok), 05-Фев-24, 15:21   +1 +/
Нет уж.
Давай ты сравнишь, а мы послушаем доклад.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

22. Сообщение от svr (?), 05-Фев-24, 15:29   +4 +/
Код является AST
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

23. Сообщение от sailorTheCat (?), 05-Фев-24, 15:30   +/
> Для типично математический выражений

Это такие, которые обычно занимают 0.0001% кода?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

24. Сообщение от Минона (ok), 05-Фев-24, 15:31   +/
https://en.wikipedia.org/wiki/S-expression
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

25. Сообщение от Минона (ok), 05-Фев-24, 15:33   +/
> На платформе FreeBSD реализована компоновка с libpthread и отключена рандомизация адресного пространства (ASLR).

А чем фряха провинилась?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #100

26. Сообщение от Аноним (26), 05-Фев-24, 15:34   +1 +/
> А JavaScript в машкод не компилируется

а на лиспе нельзя модули для ядра писать

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #29, #33, #34, #114

27. Сообщение от Минона (ok), 05-Фев-24, 15:40   +10 +/
Слабак!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

28. Сообщение от Аноним (36), 05-Фев-24, 15:41   +/
"Количество вакансий" и "спрос рынка" не с потолка берётся. И либо ты раб скиллбокса, либо сам пишешь проекты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

29. Сообщение от Минона (ok), 05-Фев-24, 15:42   +/
Один чувак на нём драйвер написал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

30. Сообщение от Аноним (30), 05-Фев-24, 15:43   +4 +/
Не нужно запоминать приоритет оператов. Проще парсить, проще понимать структуру выражения. Вообще проще программно работать с такой записью. А вот в случае с классической матетматикой на бумаге, наверное, нет смысла на такое переучиваться. Хотя некоторые разделы математики такую запись используют.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #32, #39

31. Сообщение от Аноним (36), 05-Фев-24, 15:46   +1 +/
>Для типично математический выражений никакого преимущества перед традиционной формой нет

Прикол в том, что:
1. Дело не в польской нотации, а в AST. Этот AST можно превратить в вызовы SIMD. На том же лиспе.
2. Математические операции в лиспе не являются операторами, они являются функциями. Со всеми вытекающими, навроде отправки в функции высшего порядка, неполного применения и так далее.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #60

32. Сообщение от Аноним (36), 05-Фев-24, 15:47   +/
>Проще парсить, проще понимать структуру выражения.

Особенно если вставлять переводы строк, большие формулы становятся понятнее.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

33. Сообщение от Аноним (36), 05-Фев-24, 15:47   +2 +/
На лиспе написали ОС и не одну.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #48, #62

34. Сообщение от Аноним (36), 05-Фев-24, 15:48   +/
>нельзя

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #40

35. Сообщение от Аноним (36), 05-Фев-24, 15:49   +1 +/
Так ты не на скобочки смотри. И вообще, для тебя придумали wisp.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

36. Сообщение от Аноним (36), 05-Фев-24, 15:50   +2 +/
safety в declare сунул и готово, это тебе не бондаж и дисциплина, а язык от людей и для людей
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

37. Сообщение от Аноним (36), 05-Фев-24, 15:52   +/
Документацию на VOP бы...
Ответить | Правка | Наверх | Cообщить модератору

38. Сообщение от Аноним (38), 05-Фев-24, 15:55   +/
Хорошая шутка, прямиком из 70-80-х.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #52

39. Сообщение от Аноним (38), 05-Фев-24, 15:57   +/
> Не нужно запоминать приоритет оператов. Проще парсить, проще понимать структуру выражения.

Да, просто парсинг перекладывается на оператора ЭВМ. Ну… если вспомнить, на каком убогом железе она в основном использовалась, то оно и понятно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #43

40. Сообщение от ZloySergant (ok), 05-Фев-24, 16:03   +/
>И тут мы подходим к тому, что каждый вменяемый программист должен уметь присобачить свой язык к си.

TCL (немного протух, но собрать после пары ящиков пива - можно), ECL (эти долбоклюи на кресты решили переехать), CCL (ябблы - то бишь дуподрюки, но не точно).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

41. Сообщение от ZloySergant (ok), 05-Фев-24, 16:07   +1 +/
>В чём преимущество записи выражений в польской нотации. Типа: + 2 3

В стандартизации выражений. Первой всегда идёт функция, потом значения. Отсюда и масса скобочек. Меньше шансов, что какой-нибудь альтернативно одаренный перепутает "=" и "==". В коде сразу видно будет.

З.Ы. Поэтому, кстати, LOOP я недолюбливаю - выбивается за концепцию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #51, #68

42. Сообщение от ZloySergant (ok), 05-Фев-24, 16:16   +/
> А JavaScript в машкод не компилируется, как и в образы.

SBCL как-бы тоже (только в "образ"). Даже tree shacker'а нет. За этим - к ECL и CCL.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

43. Сообщение от Аноним (36), 05-Фев-24, 16:16   +/
Это с каких пор процессор, ориентированный на язык, убогим железом является?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #59

48. Сообщение от Аноним (26), 05-Фев-24, 16:42   –1 +/
> На лиспе написали ОС и не одну.

если бы было что-то стоящее я бы об этом знал

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #97

50. Сообщение от Тот_ещё_аноним (ok), 05-Фев-24, 16:55   +/
Sbcl - компилирующий common lisp
Основная масса common lisp реализаций интерпретаторы или jit
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #82

51. Сообщение от Аноним (30), 05-Фев-24, 17:04   +/
Кстати говоря, классическая префиксная нотация может писаться вообще без скобок
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #98

52. Сообщение от Пользователь планеты Земля (?), 05-Фев-24, 17:08   +1 +/
на разработках 70-80-х держится весь интернет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

53. Сообщение от Аноним (53), 05-Фев-24, 17:23   +1 +/
Судя по гитхабу нигде оно не используется. Ну то есть тыщи репозиториев есть, но реально полезного кода считай что нет.
Язык чисто для образовательных целей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

54. Сообщение от Аноним (54), 05-Фев-24, 17:30   –3 +/
В том что сейчас называют ИИ интеллекта нет ни грамма, а лисповые игрушки 80-х это вообще не более чем шутка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #69

55. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 17:41   +/
А от unwrap() и закорючек не рябит?

Кстати, в схеме по стандарту разрешили смешивать () и []. В комоне как с этим?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #65, #86

56. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 17:42   +1 +/
> Зачем вообще люди тратят сотни и тысячи человеко-часов на бесполезные и ненужные технологии

Хороший вопрос, но не в ту сторону, учитывая, что лисп появился в 60-х.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

57. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 17:47   +2 +/
Не нужно вводить понятие приоритета и ассоциативности, разбирать и вычислить выражение можно за один проход, достаточно просто стэка. Это использовалось раньше во многих физических калькуляторах. А по поводу программ: man dc. Его, кстати, использует bc.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #63

58. Сообщение от Аноним (54), 05-Фев-24, 17:59   +1 +/
То что ты подразумеваешь (а подразумеваешь ты языки со статической типизацией) хоронят уже 20 лет, но только сейчас закопана динамическая - mypy, typescript и иже с ними не дадут соврать. А то что ты написал это вообще безграмотный бред, потому что языки от способа их исполнения никак не зависят. Возьми C и хочешь - интерпретируй, хочешь в байткод JVM компиль, хочешь в WASM, хочешь - в нативный. При этом и динамические языки все компилируемые, везде кроме питона JIT, а и питон к нему активно стремится, умея, те не менее, и компиляцию в нативный код (nuitka, pypy, cython). Ну и таки да, не знаю что мне должно сказать количество вакансий. Ну нужно много жс мaкак. Ещё курьеров, таксистов, дворников. Но идти-то надо на нормальном языке писать за 10х денег.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #74, #115

59. Сообщение от Аноним (54), 05-Фев-24, 18:02   +/
С тех пор как языков много, а конкретно тот на который он ориентирван никому нахрен не сдался.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

60. Сообщение от Аноним (54), 05-Фев-24, 18:03   –1 +/
Ну-ка, а расскажи нам скорее в каком языке операторы не являются функциями?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #104, #108

61. Сообщение от Аноним (26), 05-Фев-24, 18:05   –2 +/
Почитаешь уринотерапию что лисп и простой и быстрый и безопасный, так почему всё на Rust переписывают то ?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #64, #67

62. Сообщение от Аноним (-), 05-Фев-24, 18:08   +/
>  На лиспе написали ОС и не одну.

Простите, но эти поделия не достойны звания ОС...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

63. Сообщение от Аноним (54), 05-Фев-24, 18:09   –1 +/
> Не нужно вводить понятие приоритета и ассоциативности

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

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

Супер, возьмём вычислительную технику которой нет проблем ни в 2 ни в 10 ни в 100500 проходов программу распарсить, но не будем использовать её возможности, а заставить людей ковыряться в yблюдском формате.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #76, #77

64. Сообщение от Аноним (-), 05-Фев-24, 18:10   +/
> Почитаешь уринотерапию что лисп и простой и быстрый и безопасный

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #79

65. Сообщение от Аноним (65), 05-Фев-24, 18:15   +/
Как только в стандарте появится — сразу же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

66. Сообщение от Аноним (65), 05-Фев-24, 18:17   –1 +/
> И где оно используется?

Например, в менеджменте ресурсов.

> Зачем вообще люди тратят сотни и тысячи человеко-часов

Конкретно в этом случае потому, что хорошо платят.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

67. Сообщение от Аноним (54), 05-Фев-24, 18:21   –3 +/
Он не простой, не быстрый и не безопасный, даже упоротые фанатики лиспа вам такого не скажут. Они продвигают свою мазохистскую философию, суть которой в том что работу машины нужно переложить на человека, при этом доставив емё максимальную боль. Нет, не смей взять и написать математическое выражение, строй RPN стеки в голове, зато машинка распарсит код в один проход.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #72, #78

68. Сообщение от Аноним (54), 05-Фев-24, 18:23   +/
А в чём смысл стандартизации выражений? Brainfuck и тот язык с одной инструкцией поболе стандартизированы, почему лисп лучше их?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #99

69. Сообщение от Аноним (69), 05-Фев-24, 18:37   +1 +/
Как говорится, «as soon as it works, no one calls it AI anymore».
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #130

70. Сообщение от Бывалый смузихлёб (?), 05-Фев-24, 18:54   +2 +/
> прошу
> все вместе спросим

для начала надо определиться сколько анонимов в одном анониме

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

71. Сообщение от Анонизмус (?), 05-Фев-24, 18:57   +4 +/
> В чём преимущество записи выражений в польской нотации. Типа: + 2 3

(+ 2 3 4)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

72. Сообщение от _kp (ok), 05-Фев-24, 18:58   +/
>> работу машины нужно переложить на человека, при этом доставив ему максимальную боль.

Во времена маломощных компьютеров это было обоснованно.
Но, почему сейчас то, не добавляют более эргономичные языковые конструкции?
Те же автокадовские скрипты, с тоннами скобок и RPN, и читаемости не добавляют, и провоцируют пренебрежительное отношение к исходнику который тупо не красив.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #75

73. Сообщение от ИмяХ (ok), 05-Фев-24, 19:06   +1 +/
Расскажи автокадчикам , насколько лисп бесполезен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #89

74. Сообщение от Бывалый смузихлёб (?), 05-Фев-24, 19:08   –1 +/
только есть вероятность что иная жс ма.кака как раз и будет получать те самые 10х денег
пока истинные ценители(тм) будут просиживать пыльные академические лавки ради всяких лиспов
почти как с бздями которые тоже якобы академики ваяли

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

вот и с тайпскриптом примерно так получилось. От чего он героически защищает и избавляет - так никто и не понял. Только гомна прибавилось в лице крайне перегруженного синтаксиса и кратного увеличения объёмов писанины вперемешку с кривописанием для влезания в проверки в специфических случаях или исключениями конкретных проверок для конкретных строк( что само по себе "гениально" )
А ошибки - они никуда и не делись, равно как и целенаправленно созданные дыры. Внезапно оказалось, что типизация в принципе не избавляет от ошибок

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #111

75. Сообщение от Бывалый смузихлёб (?), 05-Фев-24, 19:13   +/
> Но, почему сейчас то, не добавляют более эргономичные языковые конструкции?

Потому что получится один из современных ЯП, а не лисп


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

76. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 19:21   +1 +/
>> Не нужно вводить понятие приоритета и ассоциативности
> Но его нужно вводить, потому что это правила разбора математических выражений. Если
> на языке решаются реальные задачи, включающие математику, он обязан это делать.

В префиксной нотации скобки не обязательны если арность фиксирована. Конкретно в лиспе скобки - это вызов процедуры, поэтому запись (+ * 1 2 3) просто некорректна, потому что * - это процедура и нужно писать так (+ (* 1 2) 3). Таким образом, скобки однозначно определяют порядок вычисления в мат выражении.

>> разбирать и вычислить выражение можно за один проход, достаточно просто стэка
> Супер, возьмём вычислительную технику которой нет проблем ни в 2 ни в
> 10 ни в 100500 проходов программу распарсить, но не будем использовать
> её возможности

Можешь дальше писать на жс под электрон и требовать 16Гб памяти под ничего неделание.  

> а заставить людей ковыряться в yблюдском формате.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #107

77. Сообщение от Аноним (77), 05-Фев-24, 19:23   +2 +/
> потому что это правила разбора математических выражений.

Так в такой записи эти правила не нужны, про ассоциативность

> а заставить людей ковыряться в yблюдском формате

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #83

78. Сообщение от Аноним (77), 05-Фев-24, 19:24   +/
Так математические выражения реально удобнее писать в польской нотации, дело тут даже не в простоте парсинга. Их понимать потом проще, когда код читаешь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

79. Сообщение от Аноним (77), 05-Фев-24, 19:24   +2 +/
> Был бы он хорош - на нем бы писали многие и много

Выигрывают не лучшие, а с самым хорошим маркетингом

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

80. Сообщение от Аноним (80), 05-Фев-24, 19:27   +3 +/
Есть 2 подхода к синтаксису ЯП:

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

2. Представлять синтаксическую структуру программы явно и в унифицированном виде (Лисп). Для удобной работы с таким кодом нужен структурный редактор (paredit и подобные) — команды редактора позволяют манипулировать непосредственно структурой кода. Никто не считает скобки, вы просто создаете, объединяете, разделяете, перемещаете выражения — код практически становится осязаемым. Научившись работать с этим, возвращаться к п.1 уже не хочется.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #101

81. Сообщение от Аноним (65), 05-Фев-24, 19:38   +/
JavaScript компилируется в Webassembly, который по сути машкод для довольно специфичной машины.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #84

82. Сообщение от Аноним (86), 05-Фев-24, 19:40   +/
Основная масса - это какие? sbcl, cmucl, ccl, allegro, lispworks напрямую генерируют машинный код, ecl, clasp, gcl - через сишку,  abcl - в байткод jvm. Только clisp представляет из себя интерпретатор, да и тот интерпретирует байткод и имеет jit.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

83. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 19:55   +1 +/
> оно только выглядит страшно по началу

Еще любят приводить примеры с двумя-тремя аргументами. В инфиксной записи сложные выражения читаются ничуть не проще. Во многих кодстайлах даже разрешено добавлять скобки для читабельности и чтобы не надо было вспоминать приоритеты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #102, #119

84. Сообщение от C00l_ni66a (ok), 05-Фев-24, 20:02   +/
>который по сути машкод для довольно специфичной машины

Не просто "специфичной", а "несуществующей в природе".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

85. Сообщение от Аноним (85), 05-Фев-24, 20:25   –3 +/
Непонятно для кого и для чего созданы все эти 100500 языков, связки Python + C хватает для всего.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #87, #92, #94

86. Сообщение от Аноним (86), 05-Фев-24, 20:52   –1 +/
Прикручивается в несколько строчек кода через макросы чтения. Но это не нужно: зоопарк скобочек, вопреки бытующему мнению, снижает читаемость кода.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #91

87. Сообщение от Аноним (86), 05-Фев-24, 20:59   +/
Кому-то и одного 1С хватает. Могу только пособолезновать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

88. Сообщение от Аноним (86), 05-Фев-24, 21:05   +/
Например, в этом https://nyxt-browser.com/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

89. Сообщение от Аноним (86), 05-Фев-24, 21:12   +1 +/
В автокаде очень кхем... своеобразный диалект лиспа. Настолько, что мало кто даже из лисперов обрадовался бы возможности программировать на таком. Даже за деньги.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

90. Сообщение от Bottle (?), 05-Фев-24, 21:18   +1 +/
Вот кстати, что забавно, GIL обходят самыми разными костылями: то запускают параллельно несколько интерпретаторов Python, то транспилируют код Python, то привязывают Сишные либы и теряют кроссплатформенность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

91. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 21:23   +1 +/
> зоопарк скобочек, вопреки бытующему мнению, снижает читаемость кода.

Чьему мнению? Лисперы не смотрят на скобочки https://spritely.institute/static/papers/scheme-primer.html#...

> In general, Scheme/Lisp programmers' editors do the work of managing parentheses for them, and most code is read by indentation rather than by the parenthetical grouping. In other words, Lisp programmers usually don't spend much time thinking about the parentheses at all.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #125

92. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 21:28   +1 +/
> Непонятно для кого и для чего созданы все эти 100500 языков, связки
> Python + C хватает для всего.

Лисп создан в начале 60-х. Теперь посмотри когда создан Python и другие языки и задай свой вопрос их создателям.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

94. Сообщение от Вы забыли заполнить поле Name (?), 05-Фев-24, 21:29   +1 +/
> Непонятно для кого и для чего созданы все эти 100500 языков, связки
> Python + C хватает для всего.

И вообще Lisp не люди создали

> It is an established fact that John McCarthy shared alien tech with the world in 1958 when he introduced us to Lisp.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #103

95. Сообщение от Аноним (86), 05-Фев-24, 22:31   +/
Сабж не является функциональным, но мультипарадигменным.
SBCL умеет только раскрывать map'ы в циклы.  "Сплюснуть" цепочку map/reduce до однопроходного цикла не может (вдруг у тебя там побочный эффект, тогда оптимизация сломает логику).
Но есть интересная библиотека series, она может. https://github.com/tokenrove/series/blob/master/s-doc.txt
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

96. Сообщение от Аноним (96), 05-Фев-24, 23:01   +/
Но, ведь, наконец таки, решились выпилить в течение ближайших пяти лет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

97. Сообщение от Аноним (96), 05-Фев-24, 23:04   –1 +/
Про Redox же знаешь наверняка? Но оно нестоящее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #112

98. Сообщение от ZloySergant (ok), 06-Фев-24, 00:24   +/
> Кстати говоря, классическая префиксная нотация может писаться вообще без скобок

Может, но блоки кода определять сложнее.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

99. Сообщение от ZloySergant (ok), 06-Фев-24, 00:28   +/
> А в чём смысл стандартизации выражений? Brainfuck и тот язык с одной
> инструкцией поболе стандартизированы, почему лисп лучше их?

Brainfuck - некорректный пример. Сравнивать надо с чем-нибудь высокого уровня (хотя тоже будет не совсем корректно).

З.Ы. Да, забыл совсем, как очевединое. Такая стандартизация позволяет составить произвольный список переменных и их обработать, а не насиловать себе мозг. К примеру, в функции "сложения" указать через REST произвольное количество входящих данных.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

100. Сообщение от Аноним (96), 06-Фев-24, 00:41   +/
Вам многопоточность дали, а вы недовольны. А рандомизация..., значит, работает плохо/не совсем как нужно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

101. Сообщение от Аноним (101), 06-Фев-24, 00:48   –1 +/
Ну вообще-то любой ЯП имеет AST. И пользоваться обычным ЯП куда удобнее, чем лиспом. Не понимаю, откуда столько лиспофанатов взялось.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #124, #126

102. Сообщение от Аноним (77), 06-Фев-24, 04:52   +/
Именно так, да. В сложной формуле с кучей + и *, ещё и если всратые пробелы, легко запутаться, кто где первее выполняется. Уж во всяком случае одним взглядом не распарсишь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

103. Сообщение от Аноним (-), 06-Фев-24, 06:54   +/
>John McCarthy shared alien tech

Джон Маккарти "расшарил" людям инопланетную технологию. Возрадуйтесь люди!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

104. Сообщение от n00by (ok), 06-Фев-24, 07:25   +/
В Си операторы не являются функциями. Особенно comma operator.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

105. Сообщение от Аноним (105), 06-Фев-24, 08:39   +/
> И где оно используется? Зачем вообще люди тратят сотни и тысячи человеко-часов на бесполезные и ненужные технологии, которым место в анналах истории?

зачем ты это сюда пишешь?
раз люди тратят время, значит видят смысл.
вот у них и поинтересуйся.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

107. Сообщение от Аноним (108), 06-Фев-24, 09:49   –1 +/
>>потому что * - это процедура

(setf * 10)
(print (+ * 1 2 3))
(print (* * 10))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #116, #118

108. Сообщение от Аноним (108), 06-Фев-24, 09:55   +/
почти во всех
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

109. Сообщение от Аноним (109), 06-Фев-24, 10:32   +1 +/
Мне от знаков '$' рябит в некоторых язычках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

111. Сообщение от Прохожий (??), 06-Фев-24, 11:20   +/
>парадоксально ли, но ощутимое количество "ит-специалистов" по итогу оказываются падкими на всякий инфомусор мак.аками, для которых достаточно опубликовать несколько статеек на хабре и каком-нибудь реддите-медиуме

Обычно (не всегда) подобные статьи пишутся очень и очень умными людьми. И в них много рациональных зёрен. Поэтому другие люди и берут их на вооружение. А можно их просто игнорировать и продолжать ходить по граблям. Каждому своё.

>Внезапно оказалось, что типизация в принципе не избавляет от ошибок

А кто говорит про все ошибки? Речь о том, что их количество желательно свести к минимуму, чтобы удешевить эксплуатацию ПО конечному пользователю. В этом весь смысл. Странно, что подобные банальные вещи надо ещё обсуждать.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

112. Сообщение от Прохожий (??), 06-Фев-24, 11:27   +/
Вполне себе стоящее для образовательных целей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

114. Сообщение от Аноним (86), 06-Фев-24, 12:48   +/
Зато можно написать само ядро
https://github.com/froggey/Mezzano
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

115. Сообщение от Аноним (115), 06-Фев-24, 12:53   +/
>закопана динамическая - mypy, typescript и иже с ними не дадут соврать

Так дают же, anytype anytype-ом погоняет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

116. Сообщение от Аноним (115), 06-Фев-24, 13:00   +/
А ты зачем за процедурой в неймспейс данных лезешь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107

118. Сообщение от Вы забыли заполнить поле Name (?), 06-Фев-24, 17:00   +/
>>>потому что * - это процедура
> (setf * 10)
> (print (+ * 1 2 3))
> (print (* * 10))

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

> (print (* * 10))

Вот это в Scheme работать не будет, т.к. ты пытаешься вызвать процедуру 10, а это не процедура.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #120

119. Сообщение от n00by (ok), 06-Фев-24, 19:12   +/
Транслятор Си на сложных выражениях выдаёт предупреждение и просит добавить скобки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

120. Сообщение от Аноним (120), 06-Фев-24, 19:17   +/
> Что ты этим хотел сказать? Что процедуры можно переопределить? Что в лиспе динамическая типизация?

Намёк на особенности lisp-2. Что в лиспе разные пространства имён для разных сущностей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118

124. Сообщение от Аноним (80), 07-Фев-24, 18:01   +/
> Ну вообще-то любой ЯП имеет AST. И пользоваться обычным ЯП куда удобнее,
> чем лиспом. Не понимаю, откуда столько лиспофанатов взялось.

Так об этом и речь, но можно по-разному отобразить AST в текст и по-разному с ним работать: как с плоским текстом или прямо манипулировать деревом. Мало кто пробовал второй способ, но лисперы знают как это удобно, пока остальные продолжают недоумевать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

125. Сообщение от Аноним (125), 07-Фев-24, 20:21   +/
А почему бы тогда не использовать табы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #128

126. Сообщение от Аноним (125), 07-Фев-24, 20:28   +/
> пользоваться обычным ЯП куда удобнее, чем лиспом

Ой-ли? Это те самые обычные языки (Си, С++, Java, Rust и т.п.) с их премудрыми правилами разрешения венегрета шаблонов и матрешками макроподстановок?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

127. Сообщение от Аноним (127), 07-Фев-24, 21:57   +/
Десятое правило Гринспена:
Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp.
Ответить | Правка | Наверх | Cообщить модератору

128. Сообщение от Вы забыли заполнить поле Name (?), 07-Фев-24, 22:01   +/
> А почему бы тогда не использовать табы?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125

130. Сообщение от kusb (?), 08-Фев-24, 17:15   +/
ChatGPT сам называет себя AI
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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