2017-06-20
| 12:45 | otwieracz | What's your first try when it comes to templating engine? |
| 12:47 | otwieracz | I've got pretty simple app utilizing compojure |
| 12:48 | otwieracz | pereferably, I'd like something what can be used to generate some pretty simple view without even knowing HTML and CSS. |
| 12:48 | otwieracz | Just to display some text |
| 12:49 | lxsameer | otwieracz: selmer |
| 13:47 | charlesh` | Re |
| 13:51 | charlesh` | I have an issue between s/with-gen and other spec generators override |
| 13:51 | charlesh` | If I define a spec using s/with-gen I cannot override it later |
| 13:53 | puredanger | There is one bug similar but not same as this files |
| 13:53 | puredanger | Filed |
| 13:54 | puredanger | https://dev.clojure.org/jira/browse/CLJ-2079 - any chance that looks familiar? |
| 13:54 | puredanger | it's specifically related to alias specs, but that seems different than what you're describing |
| 13:55 | puredanger | maybe it's a bug in how you're declaring the overrides map? |
| 13:56 | charlesh` | it looks like it, indeed. |
| 14:02 | charlesh` | Yeah. I think it's exactly that. What I'm doing is schematically the following : (s/def ::bar any?) (s/def (s/with-gen any? (fn [] (s/gen ::bar)))) then (gen/generate (s/gen ::foo {::bar (fn [] (s/gen int)?)})) |
| 14:02 | charlesh` | the second s/def is ::foo ::fo |
| 14:03 | charlesh` | ::foo * |
| 14:04 | puredanger | yeah, could be |
| 14:05 | puredanger | feel free to drop an example in a comment there |
| 14:05 | puredanger | when someone gets to it, would be great to verify it's addressed |
| 14:20 | charlesh` | I've post a comment as you suggested |
| 14:43 | rjungemann | Quick question: I want to use a recursive macro to manipulate a form. Is it "safe enough" to use real recursion? It would be hard for me to use clojure.walk because I would like to conditionally halt execution down certain paths (so if I have a macro called `notes`, and inside the form, I call `notes` again, I don't want to evaluate the inner call—the idea is to have a small set of recursive macros which don't step on |
| 14:43 | rjungemann | each others' toes) |
| 14:44 | dysfun | why would it be unsafe? |
| 14:44 | rjungemann | I guess for very deep forms there's a risk of stack overflow |
| 14:44 | rjungemann | They'd have to be like... very deep |
| 14:45 | dysfun | in clojure, we tend to use loop/recur where possible to avoid accruing stack frames |
| 14:45 | rjungemann | Is it possible to use loop-recur on tree-like structures? I'd have to keep a context of some sort, yeah? And then I'd probably want to use a zipper instead... maybe that's what I should do |
| 14:46 | dysfun | loop-recur optimises recursion from the tail position |
| 14:46 | hiredman_ | generally, the way to do recursive macros is you have the macro expand to a call to itself |
| 14:47 | rjungemann | Oh interesting. Right now I have a very tiny macro which passes the form to a regular function which does the recursion. If I refactored it so the macro did the recursion and the function just handled one step of the recursion, would that prevent stack overflow? |
| 14:48 | hiredman | it really shouldn't matter |
| 14:48 | rjungemann | Cool that's sort of what I wanted to hear :¬) |
| 14:48 | rjungemann | I'll keep dabbling a bit but I'll probably keep using the working version with "true recursion" for now, thanks for the advice everyone! |
| 16:49 | joschka | guys whats this again in clojure? https://msdn.microsoft.com/de-de/library/bb548651(v=vs.110).aspx |
| 16:50 | dysfun | reduce? |
| 16:50 | clojurebot | reduce accumulates the men from the boys |
| 16:50 | justin_smith | joschka: to accumulate over a sequence, yeah reduce |
| 16:51 | joschka | reduce |
| 16:51 | joschka | man I'm an idiot |
| 16:51 | justin_smith | there's also reductions if you want a lazy-seq of states of the accumulator |
| 16:51 | justin_smith | and reduced to make it short-circuit |
| 16:51 | justin_smith | it's a handy corner of the language |
| 16:51 | justin_smith | see also core.reducers for parallelism and other weird stuff |
| 16:52 | joschka | I remember raging about the fact that c# calls this aggregate and now I only remembered the C# name :D |
| 17:35 | TimMc | In some languages it's called fold. |
| 19:02 | nickbird | hello |
| 19:03 | nickbird | clojure is good |