Skip to content

Instantly share code, notes, and snippets.

View killme2008's full-sized avatar
🎯
Focusing

dennis zhuang killme2008

🎯
Focusing
View GitHub Profile
@killme2008
killme2008 / method_missing.clj
Last active June 21, 2016 09:12
Method missing in clojure
;;namespace test
(ns missing-test)
(defn method-missing [func args]
(println "missing '" func "' with args:" args)
[func args])
(defn hello [name]
(str "hello," name))
@killme2008
killme2008 / parallel_capable.patch
Created June 21, 2016 03:51
Register clojure DynamicClassLoader as parallel capable.
From 157a0f0e271da8d94035cb330709885066fac6a1 Mon Sep 17 00:00:00 2001
From: dennis zhuang <killme2008@gmail.com>
Date: Tue, 21 Jun 2016 11:47:36 +0800
Subject: [PATCH] Register DynamicClassLoader as parallel capable.
---
src/jvm/clojure/lang/DynamicClassLoader.java | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/src/jvm/clojure/lang/DynamicClassLoader.java b/src/jvm/clojure/lang/DynamicClassLoader.java
@killme2008
killme2008 / ruff_completion.sh
Created May 28, 2016 08:44
bash completion support for ruff rap command https://ruff.io/zh-cn/
# bash completion support for ruff rap command
# Distributed under the WTFPL License, http://www.wtfpl.net/
# Usage:
#
# 1) Copy this file to somewhere (e.g. ~/.ruff_completion.sh).
# 2) Add the following line to your .bashrc/.bash_profile
# source ~/.ruff_completion.sh
_rap()
{
local cur prev
@killme2008
killme2008 / benchmark_core.clj
Created February 22, 2016 08:33
direct linking benchmark
(ns benchmark.core
(:use criterium.core))
(defn double [n] (* 2 n))
(defn square [n] (* n n))
(defn simple-test []
(-> 1 double square)) ;;=> 4
@killme2008
killme2008 / test_direct_linking.txt
Created February 22, 2016 08:12
Invoke function bytecode with direct-linking in clojure 1.8
(-> 1 double square) ;;=> 4
public final class user$eval5993 extends clojure/lang/AFunction {
// compiled from: NO_SOURCE_FILE
// debug info: SMAP
NO_SOURCE_FILE.java
Clojure
*S Clojure
*F
@killme2008
killme2008 / test.txt
Last active February 22, 2016 08:12
Invoke function bytecode without direct-linking in clojure 1.8
(-> 1 double square)
public final class user$eval5993 extends clojure/lang/AFunction {
// compiled from: NO_SOURCE_FILE
// debug info: SMAP
NO_SOURCE_FILE.java
Clojure
*S Clojure
*F
@killme2008
killme2008 / square.txt
Created February 22, 2016 08:09
square function bytecode in clojure 1.8
(defn square [n] (* n n))
public final class user$square extends clojure/lang/AFunction {
// compiled from: NO_SOURCE_FILE
// debug info: SMAP
NO_SOURCE_FILE.java
Clojure
*S Clojure
*F
@killme2008
killme2008 / double.txt
Created February 22, 2016 08:06
double function bytecode in clojure 1.6
(defn double [n] (* 2 n))
public final class user$double extends clojure/lang/AFunction {
// compiled from: NO_SOURCE_FILE
// debug info: SMAP
NO_SOURCE_FILE.java
Clojure
*S Clojure
*F
@killme2008
killme2008 / double.txt
Last active February 22, 2016 08:05
double function bytecode in clojure 1.8
(defn double [n] (* 2 n))
public final class user$double extends clojure/lang/AFunction {
// compiled from: NO_SOURCE_FILE
// debug info: SMAP
NO_SOURCE_FILE.java
Clojure
*S Clojure
*F
@killme2008
killme2008 / pipe.exs
Created November 20, 2015 02:09
Clojure thread macro '->>' in elixir
defmodule Pipe do
defmacro a|>b do
pos = tuple_size(b) -1
Macro.pipe(a, b, pos)
end
defmacro __using__(_extras) do
quote do
import Kernel, except: [|>: 2]
import Pipe