[erlang-questions] elrc "implementation limit"?

Dimitry Golubovsky golubovsky@REDACTED
Fri Aug 29 14:08:18 CEST 2008


Hi,

Given this Erlang module:

http://code.haskell.org/yc2erl/erlang/yc2erl.erl

and a file it includes (precompiled from an external source):

http://code.haskell.org/yc2erl/erlang/unitable.hrl

erlc gave this error message after several minutes of compilation (CPU
at 99%, but size in memory remained stable):

=============================================
[dima@REDACTED hugs_yc]$ erlc yc2erl.erl
yc2erl: function char_block/0+7:
  An implementation limit was reached.
  Try reducing the complexity of this function.

  Instruction: {move,{x,0},{y,2558}}
=============================================

This is basically the same "large indexable structure" I asked couple
days ago about (how to get the most efficient indexed access).

If compilation of such a large tuple fails, what is the other way to
build such a structure into a program (other than reading it from an
external file)?

Thanks.

PS Implementation of the same in C (Hugs, GHC) and Javascript had no
problems at all.

See e. g. http://darcs.haskell.org/hugs98/src/unitable.c,
http://darcs.haskell.org/libraries/base/cbits/WCsubst.c,
http://darcs.haskell.org/yhc/src/translator/js/lib/javascript/JUCD.js

How to compile such thing in Erlang?

-- 
Dimitry Golubovsky

Anywhere on the Web



More information about the erlang-questions mailing list