Git Product home page Git Product logo

clotilde's Introduction

clotilde

Clotilde

Clotilde is a port of the Linda process coordination language, in an attempt at idiomatic Clojure.

"In computer science, Linda is a model of coordination and communication among several parallel processes operating upon objects stored in and retrieved from shared, virtual, associative memory. Linda was developed by David Gelernter and Nicholas Carriero at Yale University and is named for Linda Lovelace, an actress in the porn movie Deep Throat, a pun on Ada's tribute to Ada Lovelace." - Wikipedia -

Linda is a registered trademark of SCIENTIFIC Computing Associates, Inc.

Clotilde ( ~475-545* ) is the registered spouse of Clovis, and therefore is known to be the first ever queen of France. (*) Yes, 70 years old can be regarded as tough considering the era, and also her job, and especially the hubby.

Back to Linda... In order to get anything close to useful done with the language's four instructions (indeed 4: out, eval, rd, in), one needs some acquaintance with a small bunch of sparsely taught concepts such as tuple spaces or associative virtual memory, live data structures, and more generally "the game of parallelism". Fortunately, it's a matter of a couple of hours reading: HOW TO WRITE PARALLEL PROGRAMS: A FIRST COURSE , By Nicholas Carriero and David Gelernter ©1990 Massachusetts Institute of Technology , ISBN 0-262-03171-X. Well worth a read for anyone willing to program against more than a handful of cores, in any language. Especially when the book is short and unpedantic, and when it's freely available for browsing online, and when it can also be downloaded in pdf format. Great times we live in; if only Clotilde had html and pdf, she'd probably have gone centenarian. For deeper litterature on the topic (Linda, that is), see Science Direct (no, I havn't read all the references, and I won't, but some of these papers are really worth the time).

Credits

David Gelernter, Joe Armstrong, Rich Hickey: thank you for all those nights of mine you ruined.

Drew Colthorp: mucho thankies for all the nights of mine you saved; illumination! (matchure/fn-match).

Usage

Add a Leiningen depency to your project.clj:

(defproject your-project "0.0.1"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [clotilde "0.2.1-SNAPSHOT"]])

Add a :use clause to your namespace:

(ns your-project.core
  (:use clotilde.core    ;; API
        clotilde.tools   ;; utilities
        ))

For usage and instructions, see the program's documentation.

;; TODO: write documentation.

Kidding, the code is documented, and comes with tests; idiomatic Clojure ain't it?

Have fun.

License

Copyright (c) 2013 François De Serres, aka. Justiniac

Distributed under the Eclipse Public License, the same as Clojure.

clotilde's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.