[Agda] lists/vectors
Amr Sabry
sabry at cs.indiana.edu
Sun Oct 14 02:45:32 CEST 2012
Hi all,
Probably a fairly basic question...
Say I have an Agda module that works with things of type
Vector Bool 32
How does one write a complete program, i.e., an external Haskell
wrapper, that interacts with this module? I am thinking of a Haskell
wrapper that reads an arbitrary string, checks that the string length is
32, and if so calls the Agda code. This approach requires some
function:
(xs : List Bool) -> Vector Bool 32
where *we* know that the length of xs is actually 32 but Agda doesn't,
i.e., this will require an unsafe cast at the interface between Haskell
and Agda.
First, my approach above seems like the "natural" way to interface
between trusted Agda code and untrusted external code, right? If not,
what is the right idiom?
Even if this is not the right idiom, what's the right incantation to
get Agda to trust me and allow the cast above?
Thanks. --Amr
More information about the Agda
mailing list