#clojure log - Nov 20 2013

The Joy of Clojure
Main Clojure site
Google Group
List of all logged dates

0:00 justin_smith: m0smith: is that error in the target or the debugger?

0:06 technomancy: m0smith: stick a (def myobj local-obj) in the body of your defn (which you should never do in production) and then do stuff like (-> myobj :key1 :key2 :key3) after running it in the repl

0:06 (assuming you can't use tools.trace)

0:07 justin_smith: another option is (def debug (atom [])) and in the function (swap! debut conj datastructure)

0:07 then you can even examine the data from multiple calls

0:07 *swap! debug

0:08 adhollander: m0smith: are there any Java libs for working with GEDCOM? (have said a couple times in the past few months would get back to working on genealogy)

0:08 scottj: adhollander: there are 3 0.1 clojure gedcom libraries/wrappers :)

0:09 technomancy: if you actually have to poke around on something inside the scope of the function (because it's stateful or whatever) inserting a breakpoint-repl is a lot easier than setting up a full stepping debugger

0:09 m0smith: justin: when I do "lein run"

0:10 technomancy: also why is there no debugger called steppin-razor?

0:10 m0smith: adhollander: I have a gedcom parser written in clojure I am using

0:11 technomancy: breakpoint-repl?

0:11 swarthy: I remember reading about a macro you can prefix a symbol with, and the prefix is expanded to the current NS. Did I make that up?

0:11 technomancy: m0smith: https://github.com/technomancy/limit-break or something like that

0:12 ^ that should work, but there are more polished versions

0:13 ysawej: hi all

0:13 why does deftype say its still in Alpha

0:13 https://github.com/clojure/clojure/blob/clojure-1.5.1/src/clj/clojure/core_deftype.clj

0:13 is it really in alpha? or is the documentation not updated?

0:13 technomancy: http://p.hagelb.org/mystery.gif

0:14 scottj: ysawej: because they've never removed alpha notes since they started adding alpha notes

0:15 m0smith: technomancy: Does tools.trace work with cider?

0:16 technomancy: m0smith: sure

0:16 I'm working on some mad haxx to make it more convenient, but it works fine as is

0:18 m0smith: I even had it in my profiles.clj but forgot about it

0:18 tools.trace I mean

0:20 technomancy: it's good stuff

0:20 could be kinda overwhelming in spewage though

0:21 coventry: m0smith: https://github.com/timvisher/what-does-tools-trace-do/blob/master/src/what_does_tools_trace_do/core.clj

0:21 technomancy: worth getting acquainted with though

0:21 ysawej: scottj, i see.. it would be nice to remove them, as it scares Clojure starters to think the language is not as matured

0:21 coventry: m0smith: Also, <https://github.com/coventry/troncle>, but it doesn't work with cider, at this point.

0:22 technomancy: m0smith: in particular trace-vars is what I recommend

0:23 coventry: ooh, nice thorough readme

0:23 need to take a closer look at that

0:23 coventry: looks vaguely related to guzheng; have you seen that?

0:24 hehe; macroshka. love it =)

0:24 coventry: technomancy: Thanks. No, haven't heard of guzheng.

0:25 technomancy: might be overkill for this

0:26 danielglauser: Troncle looks nice. Highlight and watch local values

0:27 coventry: On a brief glance, it looks like guzheng's code walking doesn't account for the possibility of local bindings shadowing macro names (the main reason for macroshka.)

0:28 m0smith: thanks all, night

0:29 coventry: riddley.walk takes a similar approach to guzheng, but deals with this possibility.

0:31 Kevin Neaton suggested I could use macroshka for a coverage tool at the conj. I think it would be pretty easy to drop it in to something like guzheng or cloverage.

0:32 *poof*

Logging service provided by n01se.net