On 2014-10-01 23:55, Tony Rogvall wrote:
To my (mild) surprise I discovered that the tuples above where NOT
generated as literals!
So of course I checked if there was any particular reason for this.
Was there? =)
I developed a patch produced to patch function return values:
'__ffe_sqr'() -> <<"sqr">>.
here I replaced <<"sqr">>.
with
{ 0, <<"sqr">>, fun ffe:docol/4, fun ffe:dupe/0, fun ffe:star/0, fun
ffe:semis/0 }.
in the literal section of the beam file using beam_lib and a simple match.
The loader worked and the code now return constant tuples with
functions in them.
Could you use these literals? Even if the external module wasn't loaded?
I only checked the code briefly but I think that if you load an external
as a literal you have to make a stub for the module if it isn't loaded,
so the
error handler can load the module later on. But you are a savvy person,
I think you can figure it out. =)
I'm sure there are other things to consider as well.
Question:
1. Is my code going to crash later ? :-)
2. if so can I do anything about it ?
3. if not can we get external funs as supported literals ?
/Tony
_______________________________________________
eeps mailing list
[email protected]
http://erlang.org/mailman/listinfo/eeps
_______________________________________________
eeps mailing list
[email protected]
http://erlang.org/mailman/listinfo/eeps