[erlang-questions] Why does this happen?
Michael McDaniel
erlangx@REDACTED
Sun Jun 3 05:07:35 CEST 2007
Works fine on my system
$ uname -a
Linux delora 2.6.20-15-386 #2 Sun Apr 15 07:34:00 UTC 2007 i686 GNU/Linux
eshell V5.5.3 (R11B-4)
mmcdanie@REDACTED:~/misc/src/erlang$ erl
Erlang (BEAM) emulator version 5.5.3 [async-threads:0] [hipe] [kernel-poll:false]
=> reading /home/mmcdanie/.erlang
=> ** Found 0 name clashes in code paths
Eshell V5.5.3 (abort with ^G)
1> f().
ok
2> X=[1,2,3,4].
[1,2,3,4]
3>
3> Y=fun(Z)->Z*Z end.
#Fun<erl_eval.6.56006484>
4> Y(2).
4
5> Y(4).
16
6> import(lists).
ok
7> lists:map(Y,X).
[1,4,9,16]
8> f().
ok
9> lists:map(Y,X).
** 1: variable 'Y' is unbound **
10> X=[1,2,3,4].
[1,2,3,4]
11> Y=fun(Z)->Z*Z end.
#Fun<erl_eval.6.56006484>
12> lists:map(Y,X).
[1,4,9,16]
~M
On Sun, Jun 03, 2007 at 02:41:39AM +0000, Brent McConnell wrote:
> I am new to Erlang and have been playing in the shell. I have some behavior
> that seems odd when importing the lists module and wanted to ask a more
> knowledgeable audience why it does this. In the first few lines I define a
> list and a function, import lists and then map the function. I then clear
> variables and start again but this time I import lists before defining the
> function and it fails. Why?
>
> 8> f().
> ok
> 9> X=[1,2,3,4].
> [1,2,3,4]
> 10> Y=fun(Z)->Z*Z end.
> #Fun<erl_eval.6.56006484>
> 11> Y(2).
> 4
> 12> Y(4).
> 16
> 13> import (lists).
> ok
> 14> lists:map(Y,X).
> [1,4,9,16]
> 15> f().
> ok
> 16> import (lists).
> ok
> 17> X=[1,2,3,4].
> [1,2,3,4]
> 18> Y=fun(Z)->Z*Z end.
>
> =ERROR REPORT==== 3-Jun-2007::02:31:08 ===
> Error in process <0.45.0> with exit value: {badarg,[{erlang,atom_to_list,
> [{module,lists}]},{erl_lint,'-unused_vars/3-fun-0-',2},{orddict,filter,2},
> {orddict,filter,2},{erl_lint,unused_vars,3},{erl_lint,check_unused_vars,3},
> {erl_lint,fun_clause,3},{erl_lint,'-fun_clauses/3-fun-0-'...
>
> ** exited: {badarg,[{erlang,atom_to_list,[{module,lists}]},
> {erl_lint,'-unused_vars/3-fun-0-',2},
> {orddict,filter,2},
> {orddict,filter,2},
> {erl_lint,unused_vars,3},
> {erl_lint,check_unused_vars,3},
> {erl_lint,fun_clause,3},
> {erl_lint,'-fun_clauses/3-fun-0-',3}]} **
> 19>
>
> !DSPAM:52,46622c3918341335313201!
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
> !DSPAM:52,46622c3918341335313201!
--
Michael McDaniel
Portland, Oregon, USA
http://autosys.us
+1 503 283 5284
More information about the erlang-questions
mailing list