[Agda] duplicate builtin natural, succ, zero
Peter Divianszky
divipp at gmail.com
Tue Feb 26 07:46:20 CET 2013
A short testcase is three separate files:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ X.agda
module X where
data N : Set where
zero : N
suc : N -> N
{-# BUILTIN NATURAL N #-}
{-# BUILTIN ZERO zero #-}
{-# BUILTIN SUC suc #-}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end of X.agda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Y.agda
module Y where
data N : Set where
zero : N
suc : N -> N
{-# BUILTIN NATURAL N #-}
{-# BUILTIN ZERO zero #-}
{-# BUILTIN SUC suc #-}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end of Y.agda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Z.agda
module Z where
import X
import Y
x = X.zero
y = Y.zero
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end of Z.agda
which doesn't compile.
On 25/02/2013 15:05, Andreas Abel wrote:
> You mean builtins are not subject to import/export, like instances in
> Haskell?
>
> What would be a short test case for your problem?
>
> Cheers,
> Andreas
>
> On 25.02.2013 14:36, Peter Divianszky wrote:
>>
>> Hi,
>>
>> Agda does not allow duplicate builtin bindings to natural numbers
>>
>> {-# BUILTIN NATURAL ℕ #-}
>> {-# BUILTIN ZERO zero #-}
>> {-# BUILTIN SUC suc #-}
>>
>> even if the bindings are in different modules which does not depend on
>> each-other.
>>
>> This makes hard to use the Standard Libraries with other developments
>> (for example the tutorial I'm working on).
>>
>> How hard would be to fix this?
>>
>> Peter
>>
>>
>> Duplicate binding for built-in thing NATURAL, previous binding to
>> .Data.Nat.ℕ
>> when checking the pragma BUILTIN NATURAL ℕ
>> _______________________________________________
>> Agda mailing list
>> Agda at lists.chalmers.se
>> https://lists.chalmers.se/mailman/listinfo/agda
>>
>
>
More information about the Agda
mailing list