[erlang-questions] Getting code from closures

Thomas Lindgren thomasl_erlang@REDACTED
Tue Dec 3 13:14:51 CET 2013


Hi guys,

Before I start hacking on something, I thought I'd ask whether there already is a standard way to get the original code from a compiled fun/closure. (I know you can get it for interpreted funs by using fun_info.)

E.g., for code like this:

-module(a). 
-compile(export_all).
adder(N) -> fun(X) X+N end.

I'd like to be able to write something like this:

> c(a), F = a:adder(3), magic:get_code(F).
{fun, 0, [{clause, 0, [{var, 0, 'X'}], [], [{op, '+', {var, 0,'X'},{var,0,'N'}}]}], [{'N', 3}]}  %% AST of fun F with free var env

Or the equivalent.

Best,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131203/b51d0b91/attachment.htm>


More information about the erlang-questions mailing list