This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-12-18
Channels
- # adventofcode (9)
- # alda (2)
- # babashka (89)
- # beginners (86)
- # bristol-clojurians (1)
- # calva (54)
- # chestnut (2)
- # cider (18)
- # clj-kondo (19)
- # clojure (160)
- # clojure-brasil (2)
- # clojure-europe (6)
- # clojure-italy (8)
- # clojure-nl (46)
- # clojure-spec (52)
- # clojure-uk (45)
- # clojured (4)
- # clojuredesign-podcast (11)
- # clojurescript (15)
- # core-async (50)
- # datomic (41)
- # devops (3)
- # emacs (10)
- # fulcro (95)
- # graalvm (11)
- # graphql (3)
- # kaocha (1)
- # luminus (1)
- # malli (4)
- # off-topic (13)
- # overtone (3)
- # pathom (8)
- # re-frame (13)
- # reitit (10)
- # shadow-cljs (83)
- # spacemacs (2)
- # specter (9)
- # tools-deps (3)
- # vim (2)
The fact that this can be done, ignoring the security or otherwise around it, is still pretty fantastic
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.
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).
@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.
here is the article I mentioned: https://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671
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
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
@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.
More on that here https://wiki.haskell.org/GHC/Typed_holes
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. https://github.com/webyrd/Barliman 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.
Yeah it really is
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
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
> 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.
why is the Royal College of Nursing being described as a union?
I thought it was a prosessional oversight body
sortof like the British Computing Society
I thought Unison had got itself the monopoly on Unionising
when it replaced COHSE and NUPE
it seems to describe itself as a union as well as a professional body: https://www.rcn.org.uk/about-us/what-the-rcn-does
it's like the militant wing of the BCS