LispCast http://www.lispcast.com/ A blog about the simple joys of functional programming. en Clojure Gazette Looking Forward http://www.lispcast.com/clojure-gazette-looking-forward-2015 http://www.lispcast.com/clojure-gazette-looking-forward-2015 Mon 19 Jan 2015 02:18:48 PM CST I am looking for more sponsors for the Clojure Gazette and I need your help. <p><center><a href="http://www.lispcast.com/clojure-gazette-looking-forward-2015"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> How to Write Software http://www.lispcast.com/how-to-write-software http://www.lispcast.com/how-to-write-software Thu 08 Jan 2015 11:22:27 AM CST Writing software alone and in a long term sustainable manner requires a lot of discipline. Upfront planning and avoidance of feature creep can turn a stressful project into a pleasure. <p><center><a href="http://www.lispcast.com/how-to-write-software"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> Data > Functions > Macros. But why? http://www.lispcast.com/data-functions-macros-why http://www.lispcast.com/data-functions-macros-why Tue 23 Dec 2014 11:29:44 PM CST "Prefer data over functions" is a common adage in Clojure circles. It is poorly debated because it is a terse statement in generalities. A valuable perspective is that data is transparent at runtime, while functions are not. This perspective gives a firm ground for discussion and design. <p><center><a href="http://www.lispcast.com/data-functions-macros-why"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> The Ultimate Guide to Learning Clojure for Free http://www.lispcast.com/ultimate-guide-to-learning-clojure-for-free http://www.lispcast.com/ultimate-guide-to-learning-clojure-for-free Thu 11 Dec 2014 09:34:58 AM CST There are many great resources out there for learning Clojure. Some of the resources are paid, but fortunately many of the best resources are absolutely free. <p><center><a href="http://www.lispcast.com/ultimate-guide-to-learning-clojure-for-free"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> Pre-conj: Scheme Workshop http://www.lispcast.com/pre-conj-scheme-workshop http://www.lispcast.com/pre-conj-scheme-workshop Mon 17 Nov 2014 11:12:36 PM CST Jason Hemann talks about the Scheme Workshop. <p><center><a href="http://www.lispcast.com/pre-conj-scheme-workshop"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></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"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></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"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></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"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> Pre-Conj Interview: Steven Yi http://www.lispcast.com/pre-conj-interview-steven-yi http://www.lispcast.com/pre-conj-interview-steven-yi Mon 27 Oct 2014 09:44:13 AM CDT Steven Yi interview about his music composition and synthesis systems. <p><center><a href="http://www.lispcast.com/pre-conj-interview-steven-yi"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p> Pre-Conj Interview: Bozhidar Batsov http://www.lispcast.com/pre-conj-interview-bozhidar-batsov http://www.lispcast.com/pre-conj-interview-bozhidar-batsov Sun 26 Oct 2014 09:38:02 AM CDT Bozhidar Batsov interview about CIDER. <p><center><a href="http://www.lispcast.com/pre-conj-interview-bozhidar-batsov"><span class="brackets">&lt;</span><font face="Times New Roman">&lambda;</font><span class="brackets">&gt;</span></a></center></p>