Clojure'da identity
işlevine sahibiz. Bu is used as follows: Ben Haskell Görebildiğimiz kadarıylaClojure'deki kimlik işlevi Haskell'de kimlik işleviyle aynı kullanım ve amaca sahip mi?
user=> (filter identity [1 2 3 nil 4 false true 1234])
(1 2 3 4 true 1234)
user=> (partition-by identity (sort "abcdaabccc"))
((\a \a \a) (\b \b) (\c \c \c \c) (\d))
- id
is used when using lenses ve used in other higher order functions olduğunu.
Sorum Clojure içinde identity
fonksiyon Haskell id
işleviyle aynı kullanımını ve amacı var mı (ayrı bariz Tipi sistem farklılıklarından) nedir? Bir şey eksik gibi
(defprotocol Functor
(fmap [functor f] "fmap :: f a -> (a -> b) -> f b"))
;; data Id a = Id { runId :: a }
(defrecord Id [runId]
Functor
(fmap [functor f]
(Id. (f (:runId functor)))))
Yani hissetmek: Biz Id
functor
açısından tanımlanır bakınız -
Ben Lens in Clojure ait the following example baktığınızda olduğunu sormak neden.
clojure içinde 'Id' tanımı Haskell'deki 'Kimlik' funkerine eşittir. – bennofs