Skip to content

Instantly share code, notes, and snippets.


κeen KeenS

View GitHub Profile
qnighy /
Last active Jun 22, 2021

パターンとはその言語が抽象化できなかった敗北の歴史である。 しかしどんなに優れた言語であってもあらゆる繰り返しに勝てるわけではない。 人は必ずメタ繰り返しを欲するからだ。 そしてそれはRustも例外ではない。


  • crate splitting
    • でかいcrateを分割して、見通しを良くする・再コンパイルの分量を削減する・並列コンパイルを可能にする
    • 親玉crate(全てにdependする)と殿crate(全てにdependされる)があることが多いので、だいたい束みたいな形になる。
leque / ckcc.scm
Last active Jan 20, 2017
View ckcc.scm
(import (rnrs))
;; From "Applicative syntax-rules: macros that compose better",
(define-syntax ck
(syntax-rules (quote)
;; yield the value on empty stack
((ck () 'v) v)
;; re-focus on the other argument, ea
leque / ck-zundoko.scm
Last active Jan 20, 2017
View ck-zundoko.scm
(import (rnrs))
;; R7RS 処理系で実行する場合は、上の行をコメントアウトし、
;; 下の行のコメントを外す
;; (import (scheme base) (scheme write))
;; R5RS 処理系で実行する場合は、ここから上をすべてコメントアウトする
;; From "Applicative syntax-rules: macros that compose better",
leque /
Last active Aug 15, 2019
Freer monad in OCaml
Requirement: higher,
Lightweight higher-kinded polymorphism
open Higher
leque / freer-monad.scm
Last active May 11, 2016
Freer monad in Scheme
View freer-monad.scm
;;;; Freer monad in Scheme
;;;; See also
;;;; * "Freer monads, more extensible effects"
;;;; * Free monad in Scheme
(use gauche.record)
(use util.match)
;;; data Freer f a where
;;; Pure :: a -> Freer f a
View partcont+call-with-file.scm
(use srfi-1)
(use gauche.partcont)
(define (main args)
(let* ((p1 (shift k (call-with-input-file (second args) k)))
(p2 (shift k (call-with-output-file (third args) k))))
(copy-port p1 p2))))
;; -> "./vminsn.scm", line 1375: Assertion failed: SCM_PAIRP((vm)->handlers)
Jxck /
Created Dec 16, 2012
libuv TCP server/client sample

how to compile

$ gcc -g -Wall -I /path/to/libuv/include /path/to/libuv/uv.a -framework CoreServices server.c -o server
$ gcc -g -Wall -I /path/to/libuv/include /path/to/libuv/uv.a -framework CoreServices client.c -o client
potix2 / gist:3339485
Created Aug 13, 2012
View gist:3339485
% ab -n 10 -c 10 -p json.file -T "application/json; charset=utf-8" http://localhost/