N Best Programming Techniques
From Compsci.ca Wiki
(Difference between revisions)
		
		
|  (→O'Caml) |  (Added Dynamic Programming) | ||
| Line 67: | Line 67: | ||
| =Regular expressions= | =Regular expressions= | ||
| =Anonymous functions/closures= | =Anonymous functions/closures= | ||
| + | =Dynamic Programming= | ||
Revision as of 14:54, 16 July 2006
Ten best programming techniques you're (probably) not using.
| Contents | 
Pattern matching
Common Lisp (destructuring-bind)
[1]> (defun foo (a-list)
        (destructuring-bind (a &rest b) a-list
           (list a b)))
FOO
[2]> (foo '(1 2 3 4))
(1 (2 3 4))
[3]>
Erlang
-module(example).
-export(hello/1]).
hello("wtd") ->
    io:format("Hello, ~s!~n", [Name]);
hello(Name) ->
    io:format("Get out!!~n", []).
Haskell
O'Caml
# let rec fact n =
      match n with
          1 -> 1
        | o -> o * fact (o - 1);;
# let rec fact =
      function
          1 -> 1
        | o -> o * fact (o - 1);;
# let fact n =
      let rec fact' n acc =
          match n with
              1 -> acc
            | o -> fact (o - 1) (n * acc)
      in
          fact' n 1;;

