remix/remix/datalog0.rkt
Jay McCarthy 4668038355 renaming
2015-11-23 14:54:40 -05:00

25 lines
651 B
Racket

#lang racket/base
(require datalog/runtime
(prefix-in stx: datalog/stx)
(for-syntax racket/base
remix/stx/raw0
datalog/private/compiler
datalog/parse
syntax/parse))
(define-syntax (datalog stx)
(syntax-parse stx
[(_ thy:expr s:str ...)
(with-syntax
([(stmt ...)
(compile-program
(parse-program
(syntax-strings->input-port
(syntax-source stx)
(syntax->list #'(s ...)))))])
(syntax/loc stx
(stx:datalog thy stmt ...)))]))
(provide make-theory
datalog)