Posted via email from miner49r
Wednesday, June 15, 2011
Mathematical Background
Friday, June 10, 2011
Rich Hickey Q&A in Code Quarterly
Rich Hickey Q&A
by Michael Fogus
Fogus:Clojure’s threaded concurrency story is very solid with numerous flavors of reference types providing different usage scenarios. Do you feel satisfied with Clojure’s current concurrency offerings, or do you have plans to expand on the current reference model, or perhaps venture into distributed concurrency?Hickey:Over time I’ve come to see this as more of a state/identity/value/time/process thing rather than concurrency in and of itself. Obviously it matters greatly for concurrent programs. I think there is room for at least one more reference type. To the extent one value is produced from another via a transient process, you could have a construct that allowed that process to have extent and/or multiple participants. This is the kind of thing people do on an ad hoc basis with locks, and could be wrapped in a reference-like construct, pods, that would, like the others, automate it, and make it explicit and safe.I don’t see distributed concurrency as a language thing. In addition, I don’t think most applications are well served with directly connected distributed objects, but would be better off with some sort of message queues instead.Fogus:While there are also primitives supporting parallelism, Clojure’s story here has a lot of room for expansion. Do you plan to include higher-level parallel libraries such as those for fork-join or dataflow?Hickey:Yes, there are plans, and some implementation work, to support fork-join–based parallel map/reduce/filter etc. on the existing data structures.
Posted via email from miner49r
On Types [and Clojure seq]
The work horse in the very low-level code of the sequence library is the
lazy-seqmacro. It returns an instance of classclojure.lang.LazySeqwhich encapsulates the abstract instructions to realise the actual sequence according to the body of thelazy-seqmacro.Should this class implement theclojure.lang.ISeqinterface?
Posted via email from miner49r
Wednesday, June 8, 2011
Scott Davis inducted into the ITA Hall of Fame
Posted via email from miner49r
Monday, June 6, 2011
Simple Thrift in Clojure
Thrift provides some nice features such as client and server implementations (not just serialization), support for richer datastructures, and Javascript bindings. Despite these advantages, it can be a pain to figure out how to use Thrift because of spotty documentation.To that end, I've just created an extremely simple wrapper library and example that demonstrates how to use Thrift in clojure.
Posted via email from miner49r
Saturday, June 4, 2011
Chameleon - UIKit for Mac development
Posted via email from miner49r
Friday, June 3, 2011
A Brief Overview of the Clojure Web Stack
This article introduces Clojure's web application stack. The heart of this stack is Ring: an interface for conforming libraries, a set of adapters for various HTTP servers, and middleware and utilities. This article aims to help you navigate the increasingly broad range of libraries and choose some solid libraries and get an app moving with Ring.
Posted via email from miner49r
Thursday, May 26, 2011
Announcing SproutCore 2.0 Developer Preview
“Web-style” applications, such as GitHub and New Twitter, provide rich functionality while still retaining the feel and layout of a traditional web page. SproutCore’s strong MVC architecture and bindings make it significantly easier to build these kinds of apps than other lightweight frameworks, but developers also have to opt-in to SproutCore’s view layer that includes many features these kinds of applications don’t need.
Today we’re announcing SproutCore 2.0: a rebuilt SproutCore, designed from the ground up to support every kind of web application. SproutCore 2.0 is highly modular and decoupled, allowing you just to opt in to the features you need.
We’ve been working hard on SproutCore 2.0 and today we are releasing our first milestone: SproutCore 2.0 Developer Preview, designed for developers who want to create web-style apps and don’t need the features of SproutCore 1.6′s view layer.
Posted via email from miner49r
Sunday, May 22, 2011
Thursday, May 19, 2011
Interactive Exploration of a Dynamical System on Vimeo
Posted via email from miner49r