;; stdlib-fram.rkt — GENERATED by `fram bin/fram-primer --beagle-catalog` from
;; fram's src/fram/*.bclj. DO NOT EDIT BY HAND — it will be overwritten + is
;; currency-gated (fram CI fails if this drifts from the generator).
;; Regenerate: cd ~/code/fram && bb bin/fram-primer --beagle-catalog > \
;;   ~/code/beagle/beagle-lib/private/stdlib-fram.rkt
;;
;; The typed fram API for beagle CONSUMERS: a .bclj that (require fram.cnf :as c)
;; types its claim calls as the real fram types (Int ids, Bool, ...) not Any.
#lang racket/base
(require "types.rkt" "stdlib-helpers.rkt")
(define STDLIB-FRAM
  (hash
   'fram.cnf/new-store                (fn-of '() 'Any)
   'fram.cnf/fresh-id!                (fn-of '(Any) 'Int)
   'fram.cnf/entity!                  (fn-of '(Any) 'Int)
   'fram.cnf/value!                   (fn-of '(Any Any) 'Int)
   'fram.cnf/value-object?            (fn-of '(Any Int) 'Bool)
   'fram.cnf/literal                  (fn-of '(Any Int) 'Any)
   'fram.cnf/value-id                 (fn-of '(Any Any) 'Any)
   'fram.cnf/begin-tx!                (fn-of '(Any Any) 'Int)
   'fram.cnf/tx-seq                   (fn-of '(Any Int) 'Int)
   'fram.cnf/set-supersedes-pred!     (fn-of '(Any Int) 'Any)
   'fram.cnf/claim!                   (fn-of '(Any Int Int Int Int) 'Int)
   'fram.cnf/claim-of                 (fn-of '(Any Int) 'Any)
   'fram.cnf/claim-tx                 (fn-of '(Any Int) 'Any)
   'fram.cnf/live?                    (fn-of '(Any Int) 'Bool)
   'fram.cnf/by-l                     (fn-of '(Any Int) 'Any)
   'fram.cnf/by-p                     (fn-of '(Any Int) 'Any)
   'fram.cnf/by-r                     (fn-of '(Any Int) 'Any)
   'fram.cnf/by-lp                    (fn-of '(Any Int Int) 'Any)
   'fram.cnf/by-pr                    (fn-of '(Any Int Int) 'Any)
   'fram.cnf/current-claims           (fn-of '(Any) 'Any)
   'fram.cnf/dump-store               (fn-of '(Any) 'Any)
   'fram.cnf/load-store!              (fn-of '(Any Any) 'Any)
   'fram.datalog/v                        (fn-of '(Keyword) 'Any)
   'fram.datalog/lit                      (fn-of '(String Any) 'Any)
   'fram.datalog/nlit                     (fn-of '(String Any) 'Any)
   'fram.datalog/rule                     (fn-of '(String Any Any) 'Any)
   'fram.datalog/edb                      (fn-of '(Any) 'Any)
   'fram.datalog/fixpoint                 (fn-of '(Any Any) 'Any)
   'fram.datalog/run-rules                (fn-of '(Any Any) 'Any)
   'fram.datalog/run-strata               (fn-of '(Any Any) 'Any)
   'fram.datalog/strata-violations        (fn-of '(Any) 'Any)
   'fram.datalog/facts                    (fn-of '(Any String) 'Any)
   'fram.schema/setup!                   (fn-of '(Any Int) 'Any)
   'fram.schema/cardinality              (fn-of '(Any String) 'String)
   'fram.schema/assert!                  (fn-of '(Any Int String Any Int) 'Int)
   'fram.schema/link!                    (fn-of '(Any Int String Int Int) 'Int)
   'fram.schema/lookup-all               (fn-of '(Any Int String) 'Any)
   'fram.schema/lookup                   (fn-of '(Any Int String) 'Any)
   'fram.schema/find-by                  (fn-of '(Any String Any) 'Any)
   'fram.schema/def-predicate!           (fn-of '(Any String String String Int) 'Int)
   'fram.schema/name!                    (fn-of '(Any Int String Int) 'Int)
   'fram.schema/name-of                  (fn-of '(Any Int) 'Any)
   'fram.schema/resolve-name             (fn-of '(Any String) 'Any)
   ))
(provide STDLIB-FRAM)
