(h3 1. playing with HTML & CSS) (div (@ style="font:bold 2.0em papyrus;") hello world ) (img (@ src="data/amelie_poulain.jpg" width="100%" )) (center amélie poulain (b loves) ze lambada.) (p I say hello to (b my (i brave) new) (u world).) (div (@ style="font:normal 4.0em georgia; text-align:center;") λ(sup λ(sup λ(sub λ(sup λ(sub λ(sup λ(sup λ(sub λ(sup λ)))))))))) (pre some code √(span (@ style="border-top:1px solid;") 3(sup 2) + 4(sup 2)) -> 5 ) (table (tr (td (b item)) (td (b quantity)) (td (b price)) (td (b quantity*price))) (tr (td one) (td 123) (td 10) (td (* 123 10))) (tr (td two) (td 456) (td 100) (td (* 456 100))) (tr (td three) (td 789) (td 1000) (td (* 789 1000))) (tr (td ) (td ) (td total) (td (b (+ (* 123 10) (* 456 100) (* 789 1000))))) ) (p with these CSS rules:) (pre table '{ width:100% } td '{ padding:5px; text-align:right; background:#ddd; color:#f00; font:normal 1.1em courier; } ) (h3 2. playing with maths) (pre (* 1 2 3 4 5 6) (sqrt 2) (sqrt (+ (* 3 3) (* 4 4))) (foo a b) // foo is unknown (lambda (:a) :a) ((lambda (:a :b) (sqrt (+ (* :a :a) (* :b :b)))) 3 4) ((lambda (:a :b) (sqrt (+ (* :a :a) (* :b :b) ))) 1 1) (def φ (/ (+ 1 (sqrt 5)) 2)) (φ) (def add (lambda (:a :b) (+ :a :b))) (add 3 4) ) (h3 3. here we start from nothing) (pre (def TRUE (lambda (:a :b) :a)) (def FALSE (lambda (:a :b) :b)) (def IF (lambda (:a :b :c) (:a :b :c))) (def PAIR (lambda (:a :b :c) (:c :a :b))) (def LEFT (lambda (:c) (:c TRUE))) (def RIGHT (lambda (:c) (:c FALSE))) (def NIL (lambda (:a) TRUE)) (def ISNIL (lambda (:c) (:c (lambda (:a :b) FALSE)))) (def JB (PAIR james bond)) (LEFT (JB)) (RIGHT (JB)) (ISNIL (JB)) (ISNIL NIL) ) (h3 4. here comes recursion) (pre (def L (PAIR a (PAIR b (PAIR c (PAIR d NIL))))) (def DISP (lambda (:l) ((IF (ISNIL :l) (lambda (:l) ) (lambda (:l) (LEFT :l) (DISP (RIGHT :l)))) :l))) (DISP (L)) (def REV (lambda (:l) (_REV.r :l NIL))) (def _REV.r (lambda (:a :b) ((IF (ISNIL :a) (lambda (:a :b) :b) (lambda (:a :b) (_REV.r (RIGHT :a) (PAIR (LEFT :a) :b)))) :a :b))) (DISP (REV (L))) (def LENGTH (lambda (:l) ((IF (ISNIL :l) (lambda (:l) 0) (lambda (:l) (+ 1 (LENGTH (RIGHT :l))))) :l))) (LENGTH (L)) (def CONCAT (lambda (:a :b) ((IF (ISNIL :b) (lambda (:a :b) :a) (lambda (:a :b) (CONCAT (PAIR (LEFT :b) :a) (RIGHT :b)))) :a :b))) (DISP (CONCAT (L) (REV (L)))) (def FAC (lambda (:n) ((IF (= :n 1) (lambda (:n) 1) (lambda (:n) (long_mult :n (FAC (- :n 1))))) :n))) (FAC 6) (FAC 20) (pre (@ style="margin:0; padding:0; white-space:pre-wrap; word-wrap:break-word;") (FAC 100) ) (def SERIE (lambda (:a :b :s) ((IF (= :a :b) (lambda (:a :b :s) (PAIR :a NIL)) (lambda (:a :b :s) (PAIR :a (SERIE (+ :a :s) :b :s)))) :a :b :s))) (DISP (SERIE 0 10 2)) (* (DISP (SERIE 1 10 1))) (def MAP (lambda (:f :s) ((IF (ISNIL :s) (lambda (:f :s) NIL) (lambda (:f :s) (PAIR (:f (LEFT :s)) (MAP :f (RIGHT :s))))) :f :s))) (DISP (MAP (lambda (:i) (* :i :i)) (SERIE 0 20 2))) (def HANOI (lambda (:n :from :to :via) ((IF (= :n 0) (lambda (:n :from :to :via) ) (lambda (:n :from :to :via) (HANOI (- :n 1) :from :via :to) (br) move :n from tower :from to tower :to (HANOI (- :n 1) :via :to :from) )) :n :from :to :via))) (HANOI 5 A B C) HILBERT (def left (lambda (:d :n) ((IF (= :n 0) (lambda (:d :n) ) (lambda (:d :n) T90 (right :d (- :n 1)) M:d T-90 (left :d (- :n 1)) M:d (left :d (- :n 1)) T-90 M:d (right :d (- :n 1)) T90 )) :d :n))) (def right (lambda (:d :n) ((IF (= :n 0) (lambda (:d :n) ) (lambda (:d :n) T-90 (left :d (- :n 1)) M:d T90 (right :d (- :n 1)) M:d (right :d (- :n 1)) T90 M:d (left :d (- :n 1)) T-90 )) :d :n))) (svg (@ width="350px" height="350px") (path (@ id="spline" d="M (turtle 20 20 0 (left 10 5))" fill="transparent" stroke="#fff" stroke-width="1" )) (circle (@ cx="0" cy="0" r="5" fill="#f00" stroke="#f00") (animateMotion (@ dur="100s" repeatCount="indefinite" rotate="auto") (mpath (@ xlink:href="#spline")) )) ) MUSIC (audio (@ controls style="width:100%; height:20px;") (source (@ src="http://b2b3.free.fr/musique/Wiegenlied.m4a" )) ) ... and so on. )