(load (string-append laml-dir "laml.scm")) (laml-style "simple-html4.01-transitional-validating")![]()
![]()
(define map (curry-generalized map))![]()
![]()
(define row list)![]()
![]()
(define cell list)![]()
![]()
(define sample-table (list (row "This" "is" "row" "1") (row "This" "is" "row" "2") (row "This" "is" "row" "3") (row "This" "is" "row" "4")))![]()
![]()
(define (switch row-lst) (cons (second row-lst) (cons (first row-lst) (cddr row-lst))))![]()
![]()
(define (grey-numeric x) (if (and (string? x) (numeric-string? x)) (list x 'bgcolor (rgb-color 200 200 200)) x))![]()
![]()
; write-html-clause (write-html 'raw (html (head (title "Demonstration of higher order functions together with tables") ) (body (p "Original table rendering:") (table (tbody (map (compose tr (map td)) sample-table)) 'border "1") (p "Switching the first and second column:") (table (tbody (map (compose tr (map td) switch) sample-table)) 'border "1") (p "Passing certain attribute values to given cells in the table :") (table 'border "1" (tbody (map (compose tr (map (compose td grey-numeric))) (list (row (cell "This" 'rowspan "2") "is" "row" "1") (row "is" "row" "2") (row "This" "is" "row" "3") (row "This" "is" "row" "4"))))) ) ))