This is strange added by dxtr on Sat Apr 11 12:56:32 2015
(require-extension srfi-13 posix) (use getopt-long sxml-serializer) (define grammar `((help (required #f) (value #f) (single-char #\h)) (init (required #f) (single-char #\i)) (generate-config (required #f) (single-char #\g)) (codepool (required #f) (single-char #\p) (value (required cp) (predicate ,string?))) (namespace (required #f) (single-char #\n) (value (required ns) (predicate ,string?))) (module (required #f) (single-char #\m) (value (required m) (predicate ,string?))) )) (define settings '()) (define action '()) (define (help) ((display '("This is the help!")) (newline) (quit)) ) (define (parse-args args) (cond ((> (length args) 0) (map (lambda (x) (cond ((or (eq? 'init (car x)) (eq? 'generate-config (car x))) (set! action x)) (else (set! settings (cons x settings))))) args) ) (else '()))) (define (debug-args args) (cond ((> (length args) 0) (debug-args (cdr args)) (display (car args)) (newline)) )) (define (generate-magmod-config) (newline) ) (define (init) ; <-- This is line 55 (let [(codepool (alist-ref 'codepool settings)) (namespace (alist-ref 'namespace settings)) (module (alist-ref 'module settings))] ( (create-directory "app/etc" #t) )) ) (let ([args (cdr (getopt-long (argv) grammar))]) (cond ((or (= (length args) 0) (alist-ref 'help args)) (help)) (else (parse-args args) ;(display (parse-args args)) ))) (let ([a (car action)]) (cond ((eqv? 'init a) (init)) ((eqv? 'generate-config a) (generate-magmod-config)) (else (display "Wut?") (newline)) )) ; Error: ; Warning: in toplevel procedure `init': ; (magmod.scm:55) in procedure call to `g101102', expected a value of type `(procedure () *)', but was given a value of type `string'