keyword-apply-sort.scrbl (950B)
1 #lang scribble/manual 2 @(require kw-utils/keyword-apply-sort 3 racket/base 4 scribble/eval 5 (for-label kw-utils/keyword-apply-sort 6 racket/base 7 racket/contract/base 8 racket/math 9 )) 10 11 @title[#:tag "keyword-apply-sort.scrbl"]{keyword-apply/sort} 12 13 @defmodule[kw-utils/keyword-apply-sort] 14 15 @defproc[(keyword-apply/sort [f procedure?] [kws (listof keyword?)] [kw-args list?] 16 [v any/c] ... [lst list?] [#:<kw> kw-arg any/c] ...) any]{ 17 like @racket[keyword-apply], but without the constraint that the keywords in @racket[kws] must be 18 sorted. 19 20 @examples[ 21 (require kw-utils/keyword-apply-sort racket/math) 22 (define (kinetic-energy #:mass m #:velocity v) 23 (* 1/2 m (sqr v))) 24 (keyword-apply/sort kinetic-energy '(#:mass #:velocity) '(2 1) '()) 25 (keyword-apply/sort kinetic-energy '(#:velocity #:mass) '(1 2) '()) 26 ]}