This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
cs330_f2016:erlang1 [2017/03/13 20:49] dhart |
cs330_f2016:erlang1 [2018/03/04 04:28] morse |
||
---|---|---|---|
Line 7: | Line 7: | ||
====Preparation:==== | ====Preparation:==== | ||
- | Install Elixir on your own machine. Use Erlang OTP version 19. | + | Install Elixir on your own machine. Use Erlang OTP version 19 (or more recent versions). |
---- | ---- | ||
Line 13: | Line 13: | ||
====Deliverables:==== | ====Deliverables:==== | ||
- | Create a module named ''Elxir_Intro'' that contains the following functions: | + | Create a module named ''Elixir_Intro'' that contains the following functions: |
* ''fib/1'' | * ''fib/1'' | ||
* ''area/2'' | * ''area/2'' | ||
Line 51: | Line 51: | ||
def map(function, vals) do ... | def map(function, vals) do ... | ||
</code> | </code> | ||
- | Map takes a function and a list vals and applies that function to each item in the list. Note that when using higher order functions in Elixir, you use ''&Module.functionName/arity'' to pass it, and ''functionName.(…)'' to call it. Thus,to test it, the call should look like this ''map(&Module.functionName/arity, list)''. | + | Map takes a function and a list vals and applies that function to each item in the list. Note that when using higher order functions in Elixir, you use ''&Module.functionName/arity'' to pass it, and ''functionName.(…)'' to call it. Thus,to test it, the call should look like this ''map(&Module.functionName/arity, list)''. For this lab, you can assume the arity of the function being passed in is 1. |
=== quickSortServer === | === quickSortServer === | ||
Line 66: | Line 66: | ||
def callServer(pid,nums) do | def callServer(pid,nums) do | ||
send(pid, {nums, self()}) | send(pid, {nums, self()}) | ||
- | listen | + | listen() |
end | end | ||