1. C++ / Говнокод #18792

    +6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    int main() {
        interpretator_t i;
    
        i.eval(
        {let, "factorial_helper", {quote, {"this", "num"},
            {if_, {eq_, {"num"}, 0}, 1, {mul_, {"num"}, {{"this"}, {"this"}, {sub_, {"num"}, 1}}}}
        },
        {let, "factorial", {quote, {"num"}, {{"factorial_helper"}, {"factorial_helper"}, {"num"}}},
            {do_,
                {write_, "vvedite chislo: "},
                {assign_, "x", {to_number_, {read_}}},
                {write_, "factorial: "},
                {write_, {{"factorial"}, {"x"}}},
                {write_, "\n"}
            }
        }}
        );
    
        return 0;
    }

    Смотрите, какой лисп я написал. Он еще и ленивый.

    Запостил: kurwa, 01 Октября 2015

    Комментарии (31) RSS

    • chuj dupa kurwa cipa
      Ответить
      • А осмысленное предложение написать слабо́? Например, так: Czyś ty się z chujem na głowy pozamieniał?
        Ответить
    • Ссыль на ideone хоть бы дал.
      Ответить
    • фу! однозначно не умеет лиспового препроцессора.

      ЗЫ и лисп не ленивый.
      Ответить
      • > и лисп не ленивый
        Лол что? Что такое lisp? Что мне мешает реализовать диалект с отложенными вычислениями?
        Ответить
        • > Что мне мешает реализовать диалект [...]

          Браво! Ответ настоящего лиспщика!!! ;-)
          Ответить
          • > лиспщика
            Лиспера

            Дело в том, что не существует языка программирования Lisp. Есть семейство языков с похожими идеями, слово Lisp никак не описывает семантику. Четвёртая глава SICP же.
            Ответить
            • > Дело в том, что не существует языка программирования Lisp.

              Чувствую что на какой-то ваш внутренний холивар нарываюсь, но все таки спрошу: Common Lisp?
              Ответить
              • Common Lisp - это один из стандартизированных диалектов Lisp.
                У Scheme тоже периодически стандарты выходят.
                Является ли CL лиспом? Да.
                Является ли Scheme лиспом? Да.
                Является ли Clojure лиспом? Да.
                Является ли ELisp лиспом? Да.
                При этом никакие два диалекта толком не совместимы, семантика во многом различается. Например, есть понятия Lisp1 (Scheme, Clojure) и Lisp2 (CL, Elisp).

                В общем, Lisp - это семейство, основанное на общих идеях, но каждый представитель обладает собственной семантикой.
                Можно сделать лисп, обладающий семантикой эрланга (http://lfe.io/), можно использовать семантику пролога, можно добавить строгой типизации и получить Хаскелл со статической проверкой типов и горой скобок.
                Ответить
                • >есть понятия Lisp1 (Scheme, Clojure) и Lisp2 (CL, Elisp)
                  Замечу что тут нет критической массы лисперов для холивора какой из двух подходов лучше: с отдельным неймспейсом или без, как например в js.
                  Ответить
                  • > какой из двух подходов лучше
                    Никакой.
                    Для языка общего назначения больше подходит Lisp1, т.к. он гораздо прозрачнее и предсказуемее.
                    Для специализированных применений Lisp2 предоставляет больше приятных возможностей. Например, в Elisp к произвольным символам можно аттачить не только функции, но и доку, например (примерно как __doc__ в пистоне).
                    Ответить
                    • >примерно как __doc__ в пистоне
                      Только к функциям же.
                      Ответить
                • > можно добавить строгой типизации и получить Хаскелл со статической проверкой типов и горой скобок
                  - снова немного понекропощу. А какой лисп из коробки предлагает статическую поверку типов, да так, чтобы это было production ready? typed/racket не предлагать
                  Ответить
    • отсыпь, в исследовательских целях надо
      Ответить
    • не впечатляет
      надо было на шаблонах в compile time
      Ответить
    • Уже есть: intelib.org
      Ответить
      • Это позор, что столяров с этим говном защитил кандидатскую.
        Ответить
        • И не только Столяров кандидатскую, но ещё и куча студентов курсовые/ВКР/дипломы.
          Ответить

    Добавить комментарий