Renamed private version of define-generics to define-primitive-generics.

This commit is contained in:
Carl Eastlund 2013-07-08 15:59:24 -04:00
parent 8c00abbf48
commit 00ccb5850b
5 changed files with 24 additions and 22 deletions

View File

@ -14,7 +14,8 @@
;; provide a backwards compatible interface (just in case) ;; provide a backwards compatible interface (just in case)
;; i.e., exporting prop:ordered-dict as opposed to using a ;; i.e., exporting prop:ordered-dict as opposed to using a
;; generated hidden property. ;; generated hidden property.
(define-generics (ordered-dict gen:ordered-dict prop:ordered-dict ordered-dict? (define-primitive-generics
(ordered-dict gen:ordered-dict prop:ordered-dict ordered-dict?
#:defined-table dict-def-table #:defined-table dict-def-table
#:defaults () #:defaults ()
;; private version needs all kw args, in order ;; private version needs all kw args, in order

View File

@ -20,7 +20,8 @@
(let () (let ()
(local-require racket/private/generic) (local-require racket/private/generic)
(define-generics (foo gen:foo prop:foo foo? (define-primitive-generics
(foo gen:foo prop:foo foo?
#:defined-table dummy #:defined-table dummy
#:defaults ([number? (define (meth foo #:kw kw) kw)]) #:defaults ([number? (define (meth foo #:kw kw) kw)])
#:define-contract #f) #:define-contract #f)

View File

@ -1,8 +1,7 @@
#lang racket/base #lang racket/base
(require racket/contract/base (require racket/contract/base
racket/contract/combinator racket/contract/combinator
(rename-in "private/generic.rkt" "private/generic.rkt"
[define-generics define-generics/pre])
(for-syntax racket/base racket/local racket/syntax syntax/stx)) (for-syntax racket/base racket/local racket/syntax syntax/stx))
;; Convenience layer on top of racket/private/generic. ;; Convenience layer on top of racket/private/generic.
@ -66,7 +65,8 @@
(define/with-syntax gen-name (format-id #'name "gen:~a" #'name)) (define/with-syntax gen-name (format-id #'name "gen:~a" #'name))
(define/with-syntax prop-name (generate-temporary #'name)) (define/with-syntax prop-name (generate-temporary #'name))
(define/with-syntax table-name table) (define/with-syntax table-name table)
#'(define-generics/pre (name gen-name prop-name pred-name #'(define-primitive-generics
(name gen-name prop-name pred-name
#:defined-table table-name #:defined-table table-name
#:defaults [default ...] #:defaults [default ...]
#:define-contract define-generics-contract) #:define-contract define-generics-contract)

View File

@ -3,7 +3,7 @@
(require racket/private/generic ; to avoid circular dependencies (require racket/private/generic ; to avoid circular dependencies
(for-syntax racket/base)) (for-syntax racket/base))
(define-generics (dict gen:dict prop:dict dict? (define-primitive-generics (dict gen:dict prop:dict dict?
#:defined-table dict-def-table #:defined-table dict-def-table
#:defaults () #:defaults ()
;; private version needs all kw args, in order ;; private version needs all kw args, in order

View File

@ -10,8 +10,8 @@
(define-for-syntax (keyword-stx? v) (define-for-syntax (keyword-stx? v)
(keyword? (syntax->datum v))) (keyword? (syntax->datum v)))
(provide define-generics define/generic) (provide define-primitive-generics define/generic)
(define-syntax (define-generics stx) (define-syntax (define-primitive-generics stx)
(syntax-case stx () ; can't use syntax-parse, since it depends on us (syntax-case stx () ; can't use syntax-parse, since it depends on us
;; keyword arguments must _all_ be provided _in_order_. For the ;; keyword arguments must _all_ be provided _in_order_. For the
;; user-facing version of `define-generics', see racket/generic. ;; user-facing version of `define-generics', see racket/generic.