Skip to content

Instantly share code, notes, and snippets.

@brianru
brianru / gist:d30f0319e7a14d875a80762937cccb9c
Created January 6, 2018 16:51
puts should only be processed when the buffer is not full
From 4e21ed98c9084b60661ba206263e9855669b6eba Mon Sep 17 00:00:00 2001
From: Brian James Rubinton <brianrubinton@gmail.com>
Date: Sat, 6 Jan 2018 11:07:09 -0500
Subject: [PATCH] only process puts on take! when buffer is not full
---
src/main/clojure/cljs/core/async/impl/channels.cljs | 2 +-
src/main/clojure/clojure/core/async/impl/channels.clj | 9 ++++++---
2 files changed, 7 insertions(+), 4 deletions(-)
; call: (mktransition '(a more)
; expansion:
; (a (more (cdr str)))
(def mktransition (tn) (list (car tn) (list (last tn) '(cdr str))))
; call:
; (mktransitions '((a more)
; (d more)
; (r end)))
; expansion:
@brianru
brianru / web.arc
Created July 9, 2013 21:15
Refactored the http client library from the community-managed fork of Arc.
; written by Mark Huetsch and Brian J Rubinton
; same license as Arc
(require "lib/re.arc")
(= protocol* "HTTP/1.0"
useragent* (+ "User-Agent: Mozilla/5.0 "
"(Windows; U; Windows NT 5.1; uk; rv:1.9.1.2) "
"Gecko/20090729 "
"Firefox/3.5.2")