(include stdlib.h) (include stddef.h) (include stdbool.h) (include stdio.h) (chicken-import srfi-1 brev-separate) ; list routines, e.g. fold (import list) (chicken-define (imports-test a b c) (fold + 0 (list 1 2 3 a b c))) (struct foo ((float a-field) (int b) ((const char *) c) ((fn bool ((bool val))) not))) (var foo f #((= .a-field 1.2))) (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 void puk ((int a) (float b))) (fn int bar () ,(imports-test 10 20 30)) (pub fn void baz () true) (extern var int i) (var int j) (pub var int k) (pub fn int main () (var (* list-int) l (make-list-int)) (printf "Size of the list: %zu\n" (length-list-int l)) (add-value-list-int l 3) (add-value-list-int l 4) (printf "Size of the list: %zu\n" (length-list-int l)) (list-for-each list-int l int v (printf "%d " v)) (printf "\n") (printf "Size of the list: %zu\n" (length-list-int l)) (printf "%p\n" l->next) 0) (pub fn void print-list (((const list-int) *l)) (list-for-each (const list-int) l int v (printf "%d " v)) (printf "\n"))