Hacle FAQ


The Clean compiler fails with the message ``Heap Full'' when compiling Hacle's output. How can the compiler's maximum heap size be increased?

Under Linux: We may offer, in future, a package almost identical to the official binary (Linux) Clean distribution. The only difference is that the compiler and linker have been compiled to have a slightly larger heap and stack.

I worry about making this available now due to my lack of understanding of the Clean license. Under the Clean license, I would have to make available the Clean source code used to create the above package. However, since I haven't actually changed any source code, I don't really see the point in doing this. What I can do, at least, is explain what I did to make this package.

  • In the file Compiler/unix/make.linux.sh, I increased the numbers after the -h and -s command line options to 64m and 8m respectively. I then ran the make.linux.sh script to build the cocl executable.
  • When compiling the linker, I specified the command line options -h 64m and -s 8m
  • .
Then the two resulting files cocl and linker were copied to the exe directory of the original Clean binary (Linux) distribution.

Under Windows: In the Clean IDE, select from the menu Environment->Edit Current. If the compiler path shows the text

  ...CleanCompiler210.exe:: -dynamics -generics
then replace it with the text
  ...CleanCompiler210.exe:-h 64m -s 8m: -dynamics -generics
This will set the maximum heap and stack sizes to 64MB and 8MB respectively. Alternatively, if the compiler path simply shows the text
  ...CleanCompiler210.exe
then replace it with the text
  ...CleanCompiler210.exe:-h 64m -s 8m
You may wish to increase the maximum heap and stack sizes even further.

The Clean compiler fails with the message ``internal overloading of x could not be solved''. What is the problem?

This represents a known limitation of Hacle. Refer to the Overloading Limitation for information on overcoming this problem.


The Clean compiler fails with an error message. What is the problem?

Please check that (1) your program is accepted by Hugs (without any extensions) and (2) that your program obeys the limitations of the Hacle tool.

If the program does satisfy the above criteria then you have probably found a problem. If you email me a description and an example of the problem I can update the list of limitations. I hope you can understand that I might not have the time to fix any bugs that may arise.