singlepost

Какие типы програм можно писать на языке Lisp? << На главную или назад  

53 ответов в теме “Какие типы програм можно писать на языке Lisp?”

  1. 25
    Жека Кирпичев ответил:

    > в классической МТ такая задача не может существовать.
    Да. Так же как на bash, например, не может существовать задача «записать такое-то 4-байтное слово по такому-то адресу в памяти». Об этом я, блин, и говорю; возможности языка — это не только то, какие *вычислительные* задачи на нем теоретически можно решить.

  2. 24
    Стас Кучер ответил:

    а чё неплохая идея ))

  3. 23
    Артём Бикинеев ответил:

    извините меня, в классической МТ такая задача не может существовать.
    Вы же не будете писать на лиспе программу, которая, например, будет чистить картошку или убираться в квартире…

  4. 22
    Жека Кирпичев ответил:

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

  5. 21
    Жека Кирпичев ответил:

    Так можно договориться до того, что на языке .bat-файлов, дескать, можно написать умножение матриц, потому что можно из .bat-файла вызвать программу для умножения матриц. Или, там, записать одну матрицу в один файл, другую в другой, а в третий записать слово "умножь" и дождаться, пока внешняя среда это не проинтерпретирует.

    Короче, это демагогия. Выразительность языка в теории и на практике – это разные вещи.

  6. 20
    Владимир Крылов ответил:

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

  7. 19
    Жека Кирпичев ответил:

    >И на машине Тьюринга можно реализовать все
    Ну-ка, как реализовать с помощью машины тьюринга вывод цифры "1" в файл /home/jkff/output.txt ?

  8. 18
    Николай Митропольский ответил:

    > Николай, а для лямбда-исчисления тогда хаскелл нужен?
    Ну… эм… Лиспом можно вполне обойтись) если вам не нужно типизированное лямбдасчисление, конечно…

  9. 17
    Валерий Лаптев ответил:

    #15 – я первый раз такой термин встречаю. Поэтому и спросил у знатока… :)
    #16 Совершенно согласен! Но все же зависит от задач… :) Да и системы лисповские нунче мощные, все можно написать… :)

  10. 16
    Александр Лищенер ответил:

    Николай, а для лямбда-исчисления тогда хаскелл нужен?

  11. 15
    Валерий Лаптев ответил:

    А что такое брейнфак?

  12. 14
    Александр Лищенер ответил:

    брейнфак – эзотерический ЯП, почему я должен за тебя это гуглить?

  13. 13
    Николай Митропольский ответил:

    На лиспе не нужно писать программы) Лисп нужен для того чтобы наслаждаться его красотой! )

  14. 12
    Валерий Лаптев ответил:

    Полный по Тьюрингу означает, что лисп с математической точки зрения – эквивалентен машине Тьюринга. Как и все остальные языки программирования.Более мощного инструмента пока не изобрели. И на машине Тьюринга можно реализовать все, что можно реализовать на любом язвке программирования. Только сделать это СЛОЖНО (трудно). Система команд слишком проста.

  15. 11
    Владимир Крылов ответил:

    ^
    чтд

  16. 10
    Александр Лищенер ответил:

    брейнфак тоже, если помните, полный по тьюрингу

  17. 9
    Жека Кирпичев ответил:

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

  18. 8
    Жека Кирпичев ответил:

    > любые, он же полный по тюрингу
    Зашибись аргумент. Сам-то понимаешь, почему он неверен?

  19. 7
    Владимир Крылов ответил:

    нет

  20. 6
    Владимир Крылов ответил:

    любые, он же полный по тюрингу

  21. 5
    Владимир Крылов ответил:

    почитай например статью //lisper.ru/pcl/introduction-why-lisp

  22. 4
    Валерий Лаптев ответил:

    Лисп – это язык, который дал существенный толчок программированию задач из искусственного интеллекта. Есть прекраксный двухтомник двух финнов – Мир Лиспа называется. Там подробно написано, что данные и программы представляются одинаково. Это первый язык (из мировых известных), на которым можно было написать "самоисполнитель". То есть сначала программа формируется динамически, а потом тут же исполняется.
    Это было еще в 1960 году.
    Кроме того, это первый из известных языков со сборкой мусора… :)

  23. 3
    Максим Самойлов ответил:

    Лисп это просто один большой хитрый калькулятор

  24. 2
    Жека Кирпичев ответил:

    «Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list.» — Kent Pitman

  25. 1
    Жека Кирпичев ответил:

    //stackoverflow.com/questions/172798/lisp-in-th...

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.