プログラミング in OCaml #1

プログラミング in OCaml (目次) - kengpong

(* 練習問題3.2 *)
(*
 *  式 b1 && b2 を if 式と true, false, b1, b2 のみを用いて、同じ意味になるようにする。
 *  式 b1 || b2 についても同様に。
 *  簡単過ぎるようであれば if の使用を一度までにする。
 *)
let before b1 b2 = b1 && b2;;
let after b1 b2 =
    if b1 then
        if b2 then
            true
        else
            false
    else
        false
;;
let more b1 b2 =
    if b1 then 
        b2
    else
        b1
;;

(* b1 || b2 についても同様に *)
let before b1 b2 = b1 || b2;;
let after b1 b2 =
    if b1 then
        true
    else
        if b2 then
            true
        else
            false
;;
let more b1 b2 =
    if b1 then
        b1
    else
        b2
;;      

if 式一度ってのは、これやるまであまり考えてなかった発想だなー。