...At that point, what was the advantage of Sinatra? You were basically running a Rails application. Framework simplicity is good if your application is meant to be simple. But you should be cautious when choosing simplicity if your application is ambitious and you care about supporting it for a long time. This is what I like about Clojure. It is so composable, that simplicity doesn't come at the expense of features.…
Clojure's namespace declaration: (ns my-app.my-namespace (:require [some-library.some-namespace :as foo]) is pretty liberating for me after working with Ruby for so long. Composition is tedious to reason about in Ruby when your only clue is a menagerie of `require`s at the top of the file. Or, more commonly, when your only clue is a Gemfile because all the gems are auto-required and omnipresent.
Today I was seeing this -- https://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm
How can I begin to implement it in clojure ?
Specifically, how do I _ingeneral_ deal with assignments and while loops.
In common-lisp, for example I would use the `loop` macro and defvar-sefq combo, (beginning lisper).
In ruby, = and while itself.