(include stdlib.h) (include stddef.h) (include stdio.h) (import list) (struct foo ((a-field float) (b int) (c (* const char)) (not (fn ((val bool)) bool)))) (var f (struct foo)) (list-T int) (make-list-T int #f) (add-value-list-T int #f) (length-list-T int #f) (is-empty-list-T int #f) (extern fn puk ((a int) (b float)) void) (pub fn baz () bool (return true)) (extern var i int) (var j int) (pub var k int) (pub fn main () int (var l (* struct list-int) (make-list-int)) (printf "Size of the list: %lu\n" (length-list-int l)) (add-value-list-int l 3) (add-value-list-int l 4) (printf "Size of the list: %lu\n" (length-list-int l)) (list-for-each (struct list-int) l int v (printf "%d " v)) (printf "\n") (printf "Size of the list: %lu\n" (length-list-int l)) (printf "%p\n" (cast l->next (* void))) (return 0)) (pub fn print-list ((l (* const struct list-int))) void (list-for-each (const struct list-int) l int v (printf "%d " v)) (printf "\n"))