Erlang (programming language)/Tutorials/Command Line

From Citizendium
< Erlang (programming language)‎ | Tutorials
Revision as of 01:16, 7 February 2010 by imported>Meg Taylor (spelling: differnce -> difference)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Getting to know the erlang command line.

Talk to the command line

Erlang has a command line like lisp, python and prolog. In the erlang command line you may not reuse a variable, unless you force it to forget with f(). f() makes it forget all variables. Let us do some simple list manipulations at the command line with head, hd(), tail, tl(), list difference, --, and list sum, ++.

[reason7@localhost ~]$ erl
1> L = [b,c,d,5].
[b,c,d,5]
2> hd(L).
b
3> H = [f,t].
[f,t]
4> H++L.
[f,t,b,c,d,5]
5> Q = [[a,b],[a,b]].
[[a,b],[a,b]]
6> hd(Q).
[a,b]
7> tl(Q).
[ [a,b ] ]

Questions:

1) Assume Q=[[a,b],[a,b]]. Is the head of Q equal to the tail of Q? Why/why not? Does there exist any list whose tail is equal to its head? Why/why not?

2) Is the length of A++B always longer than either A or B? Can you give a counter example?

3) Is the lenght of A--B always shorter than A? Can you give a counter example?

Command line handy tricks

If you type a package name with a colon, then hit tab, you see all the functions it owns.

lists: <tab>

gives:

ll/2           all/3          any/2          any/3          
append/2       concat/1       delete/2       dropwhile/2       
filter/2       filter/3       flat_length/1  flatlength/1 
...