An interpreter for a dialect of Clojure, implemented in Swift. The interpreter endeavors to match Clojure’s behavior as closely as possible. The eventual goal is a library that can be used independently of the REPL front-end.
Tag Archives: Clojure
I was recently on The Cognicast with Craig Andera where we discussed using Generative Testing on a large non-Clojure(script) codebase, in particular Ruby on Rails and Backbonejs. If you haven’t listened to the show yet I highly recommend it first.
- Compile JS into one file (just like prod).
- Compile tests into a single file.
- Combine them in a PhantomJS process.
- Let the tests do their thing.
Here are the challenges that lie between us and Generative Testing bliss.
- Picking the right library
- Setting up Leiningen & Cljsbuild
- Dodge PhantomJS issues
- Avoid mangling your app, and defeating dueling dependencies
Marching on from the last post. Lazy Sequences This is my favorite feature ever. If I want to generate just a few of 10! (nobody even knows how much that is) permutations, I could: provided, the function is defined (as described in the first post): Here I am not sure which language I like more. […]
The idea for doing this is not new. There is an excellent series of posts closely tracing an article on applications of functional programming to probability. A colleague of mine has recently called my attention to his own post of two years ago, where he describes a monad that models stochastically independent events in Clojure. […]
- Fun with function composition in Scala
- Scala Tutorial – Scala REPL, expressions, variables, basic types, simple functions, saving and running programs, comments
- Scala Tutorial – Tuples, Lists, methods on Lists and Strings
- Scala Tutorial – conditional execution with if-else blocks and matching
- Scala Tutorial – iteration, for expressions, yield, map, filter, count
- Scala Tutorial – regular expressions, matching
- Scala Tutorial – regular expressions, matching and substitutions with the scala.util.matching API
- Scala Tutorial – Maps, Sets, groupBy, Options, flatten, flatMap
- Scala Tutorial – scala.io.Source, accessing files, flatMap, mutable Maps
- Scala Tutorial – objects, classes, inheritance, traits, Lists with multiple related types, apply
- Scala Tutorial – scripting, compiling, main methods, return values of functions
- Scala Tutorial – SBT, scalabha, packages, build systems
- Scala Tutorial – code blocks, coding style, closures, scala documentation project
- DI in Scala: Cake Pattern pros & cons
- First steps with Scala, say goodbye to bash scripts…
- Scala: Working with Predicates
- Implicit Conversions in Scala
- JavaFX 2.0 and Scala, Like Milk and Cookies
- Variations for computing results from sequences in Scala
- Student Questions about Scala, Part 1
- Scala Basic XML processing
- Processing JSON in Scala with Jerkson
- A crash course in Scala types
- ScaTDD: Casting an eye over three major Test frameworks in Scala
- Power with control: Scala control structures and abstractions
- Getting started with Scala and Scalatra – Part I
- Getting started with Scala and Scalatra – Part II
- Getting started with Scala and Scalatra – Part III
- Getting started with Scala and Scalatra – Part IV
- Starting with Scala Macros: a short tutorial
- Probability distribution for programmers
- Scala: Do you partially understand this?
- Scala: Collections 1
- Scala pattern matching: A Case for new thinking?
- Becoming Acquainted with Scala
- FitNesse your ScalaTest with custom Scala DSL
- Scala traits implementation and interoperability. Part I: Basics
- Scala traits implementation and interoperability. Part II: Traits linearization
- Lazy sequences in Scala and Clojure
- How could Scala do a merge sort?
- Various ways to run Scala code
- How does Scala work it’s Magic?
- Complex Numbers in Scala
- Using Twitter4j with Scala to perform user actions
- Scala: call me by my name please?
- Scala function literals
- Dependency injection with Scala macros: auto-wiring
- Gang of Four Patterns With Type-Classes and Implicits in Scala
- Gang of Four Patterns With Type-Classes and Implicits in Scala (Part 2)
- Future Composition with Scala and Akka
- The best code coverage for Scala
- Scala snippets 1: Folding
- Scala snippets 3: Lists together with Map, flatmap, zip and reduce
Saw a blog post this morning titled Why Functional Programming in Java is Dangerous. Author Elliotte Rusty Harold sets up the world’s worst straw man I’ve seen. He talks about Uncle Bob’s post on the advantages of functional programming. Elliotte’s thesis is that Java and JVM just can’t handle this sort of thing, and then sets out to prove this with some terrible code that, unsurprisingly, is terrible. He takes this bit of Clojure
Overtone is an Open Source toolkit for designing synthesizers and collaborating with music. It provides:
- A Clojure API to the SuperCollider synthesis engine
- A growing library of musical functions (scales, chords, rhythms, arpeggiators, etc.)
- Metronome and timing system to support live-programming and sequencing
- Plug and play MIDI device I/O
- A full Open Sound Control (OSC) client and server implementation.
- Pre-cache – a system for locally caching external assets such as .wav files
- An API for querying and fetching sounds from http://freesound.org
- A global concurrent event stream