Skip to content

Instantly share code, notes, and snippets.

🤷‍♂
I know the value and cost of nothing

Ohta Shogo athos

🤷‍♂
I know the value and cost of nothing
Block or report user

Report or block athos

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@athos
athos / README.md
Last active May 30, 2019
Shibuya.lisp Lisp meetup #76 LT発表資料
View README.md

Shibuya.lisp Lisp meetup #76 LT発表資料

  • LT発表資料です
  • Clojure CLIがインストールされていれば、以下で実行できます:
$ clj -Sdeps '{:deps {athos/form-and-env {:git/url "https://gist.github.com/athos/1e92959529dc60316cc2fff4ed3990ff.git" :sha "343f21f5dc5999d9eeef3d993a31755ebd9b84a4"}}}'
@athos
athos / method_callsites.txt
Last active Dec 21, 2018
for classfile in target/classes/cljam/**/*.class; do line=$(javap -v $classfile | grep -E 'Method java/nio/(Char|Byte)Buffer.(clear|flip|limit|mark|position|reset|rewind):'); if (( ! $? )); then echo $classfile; echo $line; fi; done
View method_callsites.txt
target/classes/cljam/io/bam/decoder$parse_option$fn__2824.class
69: invokevirtual #57 // Method java/nio/CharBuffer.flip:()Ljava/nio/CharBuffer;
target/classes/cljam/io/bcf/reader$parse_data_line_shallow.class
220: invokevirtual #94 // Method java/nio/ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
target/classes/cljam/io/fasta/reader$create_ba.class
31: invokevirtual #35 // Method java/nio/ByteBuffer.clear:()Ljava/nio/ByteBuffer;
53: invokevirtual #35 // Method java/nio/ByteBuffer.clear:()Ljava/nio/ByteBuffer;
target/classes/cljam/io/fasta/reader$read_sequence.class
583: invokevirtual #212 // Method java/nio/CharBuffer.flip:()Ljava/nio/CharBuffer;
target/classes/cljam/io/fasta/reader$sequential_read1_BANG_.class
View pi.clj
(defn a&b [n]
(loop [n n, a (/ 1.0 (* 2 (Math/pow 3 0.5))), b (/ 1.0 3)]
(if (= n 0)
[a b]
(let [a' (/ (+ a b) 2)]
(recur (dec n) a' (Math/pow (* a' b) 0.5))))))
;; => (time (/ 1 (first (a&b 100))))
;; "Elapsed time: 0.04547 msecs"
;; 3.141592653589795
@athos
athos / deps.edn
Last active Jul 2, 2019
Try `clojure -Sdeps '{:deps {hello-clojure {:git/url "https://gist.github.com/athos/b68b15b08efedffaf14d8c020b125202" :sha "1c9a05106171f97f9b8e8ac8f58c7bd8dbe021f9"}}}' -m hello-clojure` on your terminal
View deps.edn
{:paths ["."]
:deps {clansi {:mvn/version "1.0.0"}}}
View debounce.cljs
(require '[clojure.core.async :as a]
'[kitchen-async.promise :as p]
'[kitchen-async.promise.from-channel])
(comment
;; cf. https://gist.github.com/swannodette/5888989
(defn debounce
([c ms] (debounce (a/chan) c ms))
View repeating-decimal.clj
(ns repeating-decimal)
(defn repeating-decimal [n]
(loop [rem 1 rems #{} divs [] i 0]
(let [div (int (/ (* rem 10) n))
rem (mod (* rem 10) n)]
(if (and (not= rem 0) (contains? rems rem))
[n divs]
(when (not= rem 0)
(recur rem (conj rems rem) (conj divs div) (inc i)))))))
View retry.clj
(defn with-retry [n f]
(letfn [(try-once [i]
(try
(f)
(catch Exception e
(if (pos? i)
#(try-once (dec i))
(throw e)))))]
(trampoline try-once n)))
View hatsukoi_clothes6.clj
(def actions
(repeatedly (read) (fn [] [(read) (read)])))
(defn step [[[[t op] & as' :as as] temp temps] time]
(let [temp' (+ temp (if (= time t) (get '{out 3 in 5} op) 0))]
[(if (= time t) as' as), (max (dec temp') 0), (conj temps temp')]))
(defn calc [actions]
(let [zs (count (filter zero? (last (reduce step [actions 0 []] (range 24)))))]
(+ zs (* 2 (- 24 zs)))))
View hatsukoi_clothes5.clj
(def players
(->> (repeatedly #(read *in* false nil))
(take-while identity)
(map-indexed #(vector % ('{J 11 Q 12 K 13 A 14 2 15} %2 %2)))
(into clojure.lang.PersistentQueue/EMPTY)))
(defn solve [ps]
(loop [[[id n :as p] :as ps] ps, card nil, passes 0, winners []]
(cond (empty? ps) winners
(= passes (count ps)) (recur ps nil 0 winners)
View example.clj
(defn include? [xs ys]
(let [ys' (frequencies ys)]
(reduce (fn [_ [e n]]
(or (some->> (ys' e) (<= n))
(reduced false)))
true
(frequencies xs))))
You can’t perform that action at this time.