Skip to content

Instantly share code, notes, and snippets.

@voluntas
voluntas / mqtt.rst
Last active March 1, 2023 06:47
MQTT とはなんだったのか

MQTT とはなんだったのか

更新

2017-05-09

作者

@voluntas

バージョン

3.14

URL

http://voluntas.github.io/

MQTT をググって調べた人向け

@ktakashi
ktakashi / port-pipe.scm
Last active August 29, 2015 13:56
Piped port using thread
#!r6rs
(library (port-pipe)
(export call-with-port-pipe)
(import (rnrs) (rnrs mutable-pairs)
(srfi :18))
(define (make-queue)
(cons '() '()))
(define (queue-empty? queue)
@voluntas
voluntas / shiguredo.rst
Last active May 22, 2024 14:27
時雨堂コトハジメ
@g000001
g000001 / gist:6095497
Created July 27, 2013 17:04
無限再帰を止める方法
;;; 無限再帰を止める方法
(def foo (n)
(prn n)
(cl:sleep 1)
(foo (+ 1 n)))
(foo 0)
;>>> 0
@sile
sile / parse.lisp
Created October 18, 2012 16:30
zip memo
(deftype octet () '(unsigned-byte 8))
(defun read-le-uint (size in)
(loop FOR i FROM 0 BELOW size
SUM (ash (read-byte in) (* i 8))))
(defun read-bytes (size in)
(let ((ary (make-array size :element-type 'octet)))
(read-sequence ary in)
ary))
@nyuichi
nyuichi / list-monad.lisp
Created October 14, 2012 00:08
Monad framework for Common Lisp
;;; List Monad
(defmethod bind ((m list) f)
(apply #'append (mapcar f m)))
(defmethod fmap ((m list) f)
(mapcar f m))
@m2ym
m2ym / hierarchical-packages.lisp
Created September 11, 2012 10:22
Hierarchical packages using user-extensible packages
(in-package :cl-user)
(defstruct (hierarchical-package (:include sb-package:standard-package)))
(defmethod sb-package:find-package (package-designator (package hierarchical-package))
(flet ((find-package-from-string (string)
(when (and (> (length string) 0)
(char= (elt string 0) #\.))
(setq string (concatenate 'string (package-name package) string)))
(call-next-method string package)))
(*
(* CR jfuruse: なんたら *) というのは前職でのコードレビューの書き方で、私の癖になっている。すべて、「私ならば…こうするかな?」が省略されています。
私ならやっつけモードでこう書く、という例です。人様のコードを元にしているので、ほんとにこう書くのかよ?という突っ込みはありかと思います。
元コードも実際のものを簡略化されたものだそうですので、私の提案コードのように書きたいけれども実は書けないんだ!ということもあるでしょう。
OCaml のプログラミングスタイルは決まったものはなくいろいろと流儀があります。その一つと思ってください。
*)