(module cnfrd-ly mzscheme (require (lib "file.ss") (prefix srfi1: (lib "1.ss" "srfi")) "cnf-parser.scm") (provide get-clauses-from-cnf) (define (get-clauses-from-cnf path-str clause-fn literal-fn) (call-with-input-file* path-str (lambda (fp) (let ([info/clauses-lst (cnf-parser (lambda () (cnf-lexer fp)))]) (values (car info/clauses-lst) (srfi1:map! (lambda (clause) (clause-fn (srfi1:map! literal-fn clause))) (cdr info/clauses-lst))))))))