[Agda] Size limit on generated code?
Andreas Abel
abela at chalmers.se
Fri Sep 26 23:33:48 CEST 2014
Ah, yes, no offense intended. ;-) I just would be very surprised if a
package like UTF8 would have a size limit that is anything below the
size of the address space, like 4GB or so.
Let's wait for a proper bug report before theoretizing more...
On 26.09.2014 20:10, flicky frans wrote:
> While I am agree, that `writeFile` is the best choice for many cases,
> low-level tools are not somewhere in the past.
>
> https://hackage.haskell.org/package/base-4.7.0.1/docs/System-IO.html
>
> There are hClose, hFlush and so on. All mainstream languages have such
> tools. Saying that "closing files" is in 90s is like saying that the
> assembler is in 70s. It all can be useful now.
>
> 2014-09-26 20:35 GMT+04:00, Andreas Abel <abela at chalmers.se>:
>> On 26.09.2014 15:47, flicky frans wrote:
>>> Could you just forget to close the file?
>>
>> Well, we could not, even if we wanted to, since MAlonzo writes the whole
>> result using writeFile, see
>>
>>
>> https://hackage.haskell.org/package/utf8-string-0.3.8/docs/System-IO-UTF8.html
>>
>> "Closing files", that makes me nostalgic, that's what you had to do in
>> the 1990s programming Pascal...
>>
>>> 2014-09-26 10:54 GMT+04:00, Andreas Abel <abela at chalmers.se>:
>>>> Hi Roly,
>>>>
>>>> I am not aware of any size limit of the MAlonzo compiler. Please submit
>>>> an issue report with a reproducible test case (can also be a link to a
>>>> commit on github or so) to
>>>>
>>>> https://code.google.com/p/agda/issues
>>>> .
>>>> Cheers,
>>>> Andreas
>>>>
>>>> On 26.09.2014 05:01, Roly Perera wrote:
>>>>> Hi,
>>>>>
>>>>> I've been working on an Agda development for some time and would now
>>>>> like to run some test code. (Outré, I know.) So I'm compiling to a
>>>>> binary using C-c C-x C-c in Emacs.
>>>>>
>>>>> Everything is hunky dory until GHC reaches the .hs file for the test
>>>>> code itself, which appears to be truncated at line 32653. I assume
>>>>> this is some kind of limit on the size of the generated code.
>>>>>
>>>>> I build a test value which represents a pi calculus expression
>>>>> containing several variables. It looks like each occurrence of a de
>>>>> Bruijn index in the pi calculus program is expanding into a rather
>>>>> large amount of Haskell, along these sorts of lines:
>>>>>
>>>>> (MAlonzo.Code.Data.Fin.d135
>>>>> (MAlonzo.RTE.mazCoerce
>>>>> (MAlonzo.Code.Data.Nat.C5
>>>>> (MAlonzo.RTE.mazCoerce
>>>>> (MAlonzo.Code.Data.Nat.mazIntegerToNat
>>>>> (8 ::
>>>>> Integer)))))
>>>>> (MAlonzo.RTE.mazCoerce
>>>>> (MAlonzo.Code.Data.Fin.d135
>>>>> (MAlonzo.RTE.mazCoerce
>>>>> (MAlonzo.Code.Data.Nat.C5
>>>>> (MAlonzo.RTE.mazCoerce
>>>>> (MAlonzo.Code.Data.Nat.mazIntegerToNat
>>>>> (8 ::
>>>>> Integer)))))
>>>>>
>>>>> The generated file is truncated in the middle of a token:
>>>>>
>>>>> (MAlonzo.Code.Dat
>>>>>
>>>>> Is there any way around the limit, if that's indeed what I'm running
>>>>> into, or tips for avoiding this sort of problem?
>>>>>
>>>>> thanks
>>>>> Roly
--
Andreas Abel <>< Du bist der geliebte Mensch.
Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden
andreas.abel at gu.se
http://www2.tcs.ifi.lmu.de/~abel/
More information about the Agda
mailing list