map
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070519#c01
自転車置場論的な(?)あまり意味のない情報提供↓をしてみる。
Petite Chez Scheme Version 6.0a Copyright (c) 1998 Cadence Research Systems > (map display '(1 2 3)) 231(#<void> #<void> #<void>)
Objective Caml version 3.09.0 # List.map print_int [1;2;3] ;; 123- : unit list = [(); (); ()] # let rec mymap f = function [] -> [] | a :: d -> f a :: mymap f d ;; val mymap : ('a -> 'b) -> 'a list -> 'b list = <fun> # mymap print_int [1;2;3] ;; 321- : unit list = [(); (); ()]
追記:少なくとも僕はOCamlで数万要素以上のリストとか普通に処理するので、tail-recursiveかどうかは重要だったりします。:-)