LispCast http://www.lispcast.com/ A blog about the simple joys of functional programming. en core.async in Browsers http://www.lispcast.com/core-async-browser-motivation http://www.lispcast.com/core-async-browser-motivation Tue 29 Jul 2014 04:36:36 PM CDT Javascript's concurrency model forces code to give up control of when a callback will be called. `core.async` gives you back that control and hence lets you code in a more natural style. <p><center><a href="http://www.lispcast.com/core-async-browser-motivation">Read full post</a></center></p> core.async Code Style http://www.lispcast.com/core-async-code-style http://www.lispcast.com/core-async-code-style Tue 10 Jun 2014 11:03:57 PM CDT If your functions return `core.async` channels instead of taking callbacks, you encourage them to be used within `go` blocks. Unchecked, this encouragement could proliferate your use of `go` blocks unnecessarily. There are some coding conventions that can minimize this problem. <p><center><a href="http://www.lispcast.com/core-async-code-style">Read full post</a></center></p> Conveyor Belts: Nature's core.async Channels http://www.lispcast.com/core-async-conveyor-belts-true-history http://www.lispcast.com/core-async-conveyor-belts-true-history Thu 13 Nov 2014 01:25:18 PM CST Conveyor belts are strikingly similar to Clojure core.async channels. While it could be a coincidence, there is speculation that conveyor belts were influenced by a deep understanding of core.async. <p><center><a href="http://www.lispcast.com/core-async-conveyor-belts-true-history">Read full post</a></center></p> Elm FRP in Clojure core.async http://www.lispcast.com/elm-frp-clojure-core-async http://www.lispcast.com/elm-frp-clojure-core-async Fri 14 Nov 2014 04:15:34 PM CST Elm is an exciting FRP language. I implemented the FRP part in Clojure using core.async. <p><center><a href="http://www.lispcast.com/elm-frp-clojure-core-async">Read full post</a></center></p> Is core.async Against the Clojure Philosophy? http://www.lispcast.com/is-core-async-against-clojure-philosophy http://www.lispcast.com/is-core-async-against-clojure-philosophy Wed 06 Aug 2014 07:32:36 AM CDT Clojure core.async is a way to manage mutable state. Isn't that against functional programming? <p><center><a href="http://www.lispcast.com/is-core-async-against-clojure-philosophy">Read full post</a></center></p> Pre-Conj Interview: Julian Gamble http://www.lispcast.com/pre-conj-interview-julian-gamble http://www.lispcast.com/pre-conj-interview-julian-gamble Fri 24 Oct 2014 10:34:36 PM CDT Julian Gamble interview about core.async and ClojureScript. <p><center><a href="http://www.lispcast.com/pre-conj-interview-julian-gamble">Read full post</a></center></p> Pre-conj Prep: Julian Gamble http://www.lispcast.com/pre-conj-julian-gamble http://www.lispcast.com/pre-conj-julian-gamble Sat 04 Oct 2014 06:26:54 PM CDT Julian Gamble will give a talk about core.async in ClojureScript. <p><center><a href="http://www.lispcast.com/pre-conj-julian-gamble">Read full post</a></center></p> Token Buckets with core.async http://www.lispcast.com/token-buckets-in-core-async http://www.lispcast.com/token-buckets-in-core-async Mon 10 Nov 2014 08:58:57 PM CST Token Bucket is a simple algorithm for rate limiting a resource. It's easy to understand because you can reason about it in terms of real-world objects. core.async makes this algorithm very clear and easy. <p><center><a href="http://www.lispcast.com/token-buckets-in-core-async">Read full post</a></center></p> Willy Wonka and the core.async Guidelines http://www.lispcast.com/willy-wonka-core-async http://www.lispcast.com/willy-wonka-core-async Fri 10 Oct 2014 12:08:19 PM CDT There are a few conventions in core.async that are not hard to use once you've learned them. But learning them without help can be tedious. This article presents three guidelines that will get you through the learning curve. <p><center><a href="http://www.lispcast.com/willy-wonka-core-async">Read full post</a></center></p>