термологический вопрос

Dec 08, 2012 21:36

Коллеги! Не будет ли слишком изощренным издевательством во вводной части обзора Агды, при самом начале обсуждения типа Vec привести такие примеры

[true,false,true] : Vec Bool 3
[2,12,85,0,6] : Vec ℕ 5
Поясню - я не хочу в этом месте вдаваться в детали описания конструкторов, а скрытый здесь грандиозный обман я честным образом раскрою позже.

agda

Leave a comment

ulysses4ever December 8 2012, 17:41:58 UTC
Я Агды не знаю совсем, но пример мне нравится! Интуитивно понятно. Готов потерпеть обман ради такого.

Reply

deni_ok December 8 2012, 17:47:17 UTC
на самом деле в Агде все лексемы должны быть отделены друг от друга пробелами. То что стоит слева от каждого оператора типизации (:) - просто идентификатор (причём валидный :)

Reply

ulysses4ever December 8 2012, 17:48:24 UTC
А, круто…

Reply

ext_610527 December 8 2012, 18:37:05 UTC
Сурово. Кто-нибудь на автомате с пробелами напечатает - и твой обман раскроется.

Reply

deni_ok December 8 2012, 20:16:12 UTC
так а в любом случае это не валидное замкнутое утверждение, которое можно поселить в модуле. В действительности так

[2,12,85,0,6] : Vec ℕ 5
[2,12,85,0,6] = 2 ∷ 12 ∷ 85 ∷ 0 ∷ 6 ∷ []
Правда тип выражения можно в минибуфере глядеть по C-c C-d

Reply


Leave a comment

Up