Move identity' from
unstable/function' into `racket/function'.
This commit is contained in:
parent
2eb0a94677
commit
a70ef57f02
|
@ -1,6 +1,8 @@
|
|||
#lang scheme/base
|
||||
|
||||
(provide const negate curry curryr)
|
||||
(provide identity const negate curry curryr)
|
||||
|
||||
(define (identity x) x)
|
||||
|
||||
(define (const c)
|
||||
(define (const . _) c)
|
||||
|
|
|
@ -482,6 +482,10 @@ applied.}
|
|||
@(define fun-eval (make-base-eval))
|
||||
@(interaction-eval #:eval fun-eval (require racket/function))
|
||||
|
||||
@defproc[(identity [v any/c]) any/c]{
|
||||
Returns @scheme[v].
|
||||
}
|
||||
|
||||
@defproc[(const [v any]) procedure?]{
|
||||
|
||||
Returns a procedure that accepts any arguments and returns @scheme[v].
|
||||
|
|
|
@ -43,6 +43,13 @@
|
|||
(test 'f object-name (rec f (lambda (x) x)))
|
||||
(test (list 2) (rec (f . x) (if (= (car x) 3) (f 2) x)) 3))
|
||||
|
||||
;; ---------- identity ----------
|
||||
(let ()
|
||||
(test 'foo identity 'foo)
|
||||
(test 1 identity 1)
|
||||
(err/rt-test (identity 1 2))
|
||||
(err/rt-test (identity)))
|
||||
|
||||
;; ---------- const ----------
|
||||
(let ()
|
||||
(test 'foo (const 'foo))
|
||||
|
|
|
@ -9,11 +9,6 @@
|
|||
|
||||
(test-suite "Simple Functions"
|
||||
|
||||
(test-suite "identity"
|
||||
(test-case "unique symbol"
|
||||
(let* ([sym (gensym)])
|
||||
(check-eq? (identity sym) sym))))
|
||||
|
||||
(test-suite "thunk"
|
||||
(test-case "unique symbol"
|
||||
(let* ([count 0]
|
||||
|
|
|
@ -91,8 +91,6 @@
|
|||
;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define (identity x) x)
|
||||
|
||||
(define-syntax (thunk stx)
|
||||
(syntax-case stx ()
|
||||
[(thunk body ...)
|
||||
|
@ -365,7 +363,6 @@
|
|||
|
||||
(provide
|
||||
;; functions
|
||||
identity
|
||||
thunk
|
||||
conjoin disjoin
|
||||
curryn currynr papply papplyr call
|
||||
|
|
|
@ -14,12 +14,6 @@ This module provides tools for higher-order programming and creating functions.
|
|||
|
||||
@section{Simple Functions}
|
||||
|
||||
@defproc[(identity [x any/c]) (one-of/c x)]{
|
||||
|
||||
Returns @scheme[x].
|
||||
|
||||
}
|
||||
|
||||
@defform[(thunk body ...)]{
|
||||
|
||||
Creates a function that ignores its inputs and evaluates the given body. Useful
|
||||
|
|
Loading…
Reference in New Issue
Block a user