Fork me on GitHub

The fact that this can be done, ignoring the security or otherwise around it, is still pretty fantastic


btw, morning y'all!


I think the real "secret sauce" with Clojure is that you run your application in your REPL, "in" your editor, as you develop it, building it up, live, piece-by-piece. That's not something you can do with any other language I think.


Doing this in elisp is what initially sold me on clojure. Really nice way to develop.


And that live manipulation of your system extends beyond development into testing, deployment, production running, etc.


My Atom/Chlorine/REBL setup for work uses the add-lib branch of t.d.a. so I can add new dependencies on-the-fly as well as working with all of the code (and libraries) I already have on hand. I've added a "Rich Comment Form" to next.jdbc's test code so I can bring in all the test deps from that into my main working REPL to run all of the tests there in the same context as I develop and test all our code at work (since we only use MySQL but I need to be able to test next.jdbc against lots of databases including (embedded) PostgreSQL and SQL Server etc).


Morning morning


@seancorfield The REPL as a first-class citizen is definitely recognized across the significant majority of lisps -- Clojure's placement in the browser and on the JVM are definitely the clincher in terms of building a great workflow in environments that are frankly awful by default. It's a real struggle having to switch back to the change -> build -> link -> attach debugger -> flounder around -> unlink -> detach -> repeat way of living found in other prominent languages


Re rapid deployment, there was something on HN a few weeks/months ago where the editor/language/runtime were all integrated as well and deployment took 50ms according to the team.


dark looks pretty cool - and i'd be interested to see what sort of combinatorial difficulties emerge from using feature flags on such a scale


although that article does enumerate all the automated detail of a git/ci/k8s process while skipping over all of the automated detail of dark, so it's quite apples-vs-oranges


50ms from commit to deploy is certainly quick though


That is pretty darn fast


i've heard of the "typed hole" editor concept a few times... it seems awesome - a typed functional lisp with hole-based editing would be dreamy


what's hole-based editing?


I will refrain from making any jokes about holes


Idris is the place I saw the concept first


It works really well, actually


@dharrigan hole-based editing is an approach where you replace expression in code and replace it with some placeholder (like _) and system infers expected type of the expression and provide candidates (from existing functions) that fulfill this shape.


The more restrictive is the type system, the more you can infer. Obviously, if you have a function shape Object -> Object -> Object, it is useless. In languages like Agda, Idris, it can be extremely powerful.


There are other approaches to this too that don’t rely on type inference. An interesting one is guiding the hole synthesis with a combination of specification methods; i.e. using a combination of tests, types and specifications… essentially anything you can muster to help reduce the space.


That's really cool.


Yeah it really is

Ben Hammond10:12:30

programming by autocorrect


it's like paredit turned up to 11 - paredit makes it much harder to create syntactically incorrect expressions, hole-based editing stops you doing anything the compiler is going to reject anyway


interesting name....


But what stops Clojure from being a language/deployment platform with 50ms (or there abouts) deployment time.


My gut feeling says it should be possible. But not sure how exactly it would work. As you want to have everything stored in a repo as well I suspect


You just push the code and run tns refresh


> My gut feeling says it should be possible. But not sure how exactly it would work. As you want to have everything stored in a repo as well I suspect When changes are first class, you can derive the repo at any point in time by simply replaying all the changes.


interesting thought...

Ben Hammond13:12:23

why is the Royal College of Nursing being described as a union?

Ben Hammond13:12:39

I thought it was a prosessional oversight body

Ben Hammond13:12:48

sortof like the British Computing Society

Ben Hammond13:12:41

I thought Unison had got itself the monopoly on Unionising

Ben Hammond13:12:48

when it replaced COHSE and NUPE


it seems to describe itself as a union as well as a professional body:


it's like the militant wing of the BCS


Anyone using kinsky (kafka library?)