Skip to content

Instantly share code, notes, and snippets.

View alexy's full-sized avatar

Alexy Khrabrov alexy

View GitHub Profile
(let [cursor (fetch-eager :where {... whatever ...})
res (transient [])]
(while (.hasNext cursor)
(conj! res (-> cursor .next .toClojure)))
(persistent! res))
;;
tom-desktop% pwd [~]
/home/tom
tom-desktop% ghci [~]
GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
Prelude> :module Database.TokyoCabinet
Prelude Database.TokyoCabinet> runTCM $ do { db <- new :: TCM HDB; open db "foo.tch" [OWRITER, OCREAT]; put db "bar" "baz"; close db }
Loading package bytestring-0.9.1.4 ... linking ... done.
;variants of the code from point #2 of:
; http://www.tbray.org/ongoing/When/200x/2009/12/01/Clojure-Theses
;original
(apply merge-with +
(pmap count-lines
(partition-all *batch-size*
(line-seq (reader filename)))))
@alexy
alexy / foo.clj
Created December 2, 2009 08:32 — forked from hiredman/foo.clj
(defn sig [x]
(:sig (meta (resolve x))))
(defmulti type-of (comp type first list))
(defmethod type-of :function [thing & _] (sig thing))
(defmethod type-of java.util.List [expr & a]
(conj (map #(type-of % (first a)) (rest expr))
// Model
case class User(val name: String)
// Factory object:
object User extends AbstractShape[User] {
// one scalar field called "name"
object name extends Scalar[String]("name", _.name) with Functional[String]
// fields list
override lazy val * = name :: Nil
import java.util.{ Enumeration => JavaEnumeration }
class EnumerationIterator[T](private[this] val jenum:JavaEnumeration[T]) extends Iterator[T] {
def hasNext = jenum.hasMoreElements()
def next:T = jenum.nextElement()
}