[Agda] Size limit on generated code?

Peter Hancock hancock at fastmail.fm
Sun Sep 28 22:04:06 CEST 2014


On 27/09/2014 13:08, Andreas Abel wrote:
> Haha, these are truly insane numbers! 

I found this discussion, and the horrific numbers most interesting. A natural reaction is
that there must be a (hugely) better way of producing an executable.   I'm sure a lot
of worthwhile thought has gone into producing good executables from haskell code; but
jamming agda into haskell and relying on haskell to make something sensible out of it seems
distictly over-optimistic.  We're at run-time, and we might as well be in untyped lambda calculus,
or combinators.

Or is it (also?) that we want to make use of Haskell's IO-monad?

If there are now 3 sort-of backends for producing executables, there is probably something like
an interface between what the type-checker passes on to the code generator, or a rough idea of what
it might be.  Are there papers, or code modules, where I can learn something about what people think?

I spoke a week ago to someone currently at Microsoft who has experience with functional languages,
and LLVM , who claims to be at a loose end, and dying to get their teeth into something juicy.

The issue of the IO interface is maybe a subtle one.  An executable agda program is, in my dreams,
a thing that (when executed) does something, intertwined with proofs that the effect its execution will
have on the world meets a specification (expressed in terms of state-predicate transformers, or some such foundation).  A lot of the "proofs" might not be run-time-relevant, if the run-time system is to trust the type-checker.  (But it may be relevant to the prosecution of guilty parties when some airplane falls out of
the sky.)

Hank



More information about the Agda mailing list