Revision: 14460
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 4, 2009 15:44 by narkisr
Initial Code
user=> (use 'clojure.contrib.repl-utils)
; shows the source of the filter method
user=> (source filter)
(defn filter
"Returns a lazy sequence of the items in coll for which
(pred item) returns true. pred must be free of side-effects."
[pred coll]
(let [step (fn [p c]
(when-let [s (seq c)]
(if (p (first s))
(cons (first s) (filter p (rest s)))
(recur p (rest s)))))]
(lazy-seq (step pred coll))))
; shows all the methods of Clojure ratio type
user=> (show 1/2)
=== public clojure.lang.Ratio ===
[ 0] <init> (BigInteger,BigInteger)
[ 1] denominator : BigInteger
[ 2] numerator : BigInteger
[ 3] byteValue : byte ()
[ 4] compareTo : int (Object)
[ 5] decimalValue : BigDecimal ()
[ 6] decimalValue : BigDecimal (MathContext)
[ 7] doubleValue : double ()
[ 8] equals : boolean (Object)
[ 9] floatValue : float ()
[10] getClass : Class ()
[11] hashCode : int ()
[12] intValue : int ()
[13] longValue : long ()
[14] notify : void ()
[15] notifyAll : void ()
[16] shortValue : short ()
[17] toString : String ()
[18] wait : void ()
[19] wait : void (long)
[20] wait : void (long,int)
Initial URL
Initial Description
Clojure contribe repl-utils offers two functions for locating the source code of functions & the method of types (http://groups.google.com/group/clojure/browse_thread/thread/77f95518fcfc8a08/5de8ef8ff8f3b3bd?lnk=gst&q=source#5de8ef8ff8f3b3bd).
Initial Title
Viewing source & type methods in Clojure REPL
Initial Tags
Initial Language
Lisp