primStringEquality не уменьшается - PullRequest
       10

primStringEquality не уменьшается

0 голосов
/ 05 сентября 2018

При запросе Агды нормализовать test в следующей программе:

data Bool : Set where
  T : Bool
  F : Bool
{-# BUILTIN BOOL  Bool  #-}
{-# BUILTIN TRUE  T #-}
{-# BUILTIN FALSE F #-}

postulate String : Set
postulate primStringEquality : String → String → Bool
{-# BUILTIN STRING String #-}

test : Bool
test = primStringEquality "bar" "foo"

Возвращает primStringEquality "bar" "foo" вместо F. Почему?

1 Ответ

0 голосов
/ 05 сентября 2018

Это primitive для равенства вместо postulate. Мы также должны объявить BUILTIN STRING перед примитивами.

postulate String : Set
{-# BUILTIN STRING String #-}

primitive primStringEquality : String → String → Bool
...