This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-10-21
Channels
- # aws-lambda (12)
- # beginners (20)
- # boot (1)
- # clara (15)
- # clojure (17)
- # clojure-dev (6)
- # clojure-greece (4)
- # clojure-russia (4)
- # clojure-spec (27)
- # clojure-uk (3)
- # clojurescript (22)
- # cursive (1)
- # data-science (3)
- # datomic (4)
- # fulcro (2)
- # juxt (2)
- # leiningen (2)
- # lumo (19)
- # protorepl (13)
- # re-frame (42)
- # reagent (5)
- # ring-swagger (1)
- # shadow-cljs (89)
- # spacemacs (1)
- # uncomplicate (3)
Interesting note is that in CL I believe they suggest using when
for situations where the body has side effects, preferring an if
that returns a value in the else case.
i'm trying to find a library that provides some higher-level constructs on top of core.test
that allows me to work with collections. a bit like midje's utilities, but without midje and preferably macro-free.
is there anything like that out there ?
There's also https://github.com/metosin/testit which I found a little while ago
@noisesmith I’m using pre-walk exactly as you describe currently. I’ll take a look at clojure bots, and jailing of execution context. I was thinking that a lot of the interactive clojure tutorials must do something like this. E.g. http://www.tryclj.com/. Thanks for the reply.
specific github things to check out would be clojurebot, lazybot, and clojail
Thanks. I’ll take a look.
In fact, clojail is used in try clojure!
@matthew.gretton If you are looking to do whitelist-based validation for syntax and symbols, you have to be extremely careful what you allow into the whitelist. For example, see Swearjure (http://hypirion.com/musings/swearjure).
The advantage of having a separate DSL and a separate interpreter is that you explicitly constrain the bounds of the DSL up front, and it's harder to get surprised by something in the language that you weren't aware of or didn't anticipate before.
@mingp - Thanks for linking the swearjure article. I can see it’s possible to build up a large number of complex functions from simple building blocks. However, I don’t think I would whitelist any functions that actually have side effects. Assuming this was stuck to I think we would be ok. Your point is entirely valid however as the introduction of a function that actually changes things could open the door to a range of other functions. Thanks for the reply.