2013-11-27 02:19:12 +0000 <fryguybob> byorgey: I don't have any intuition of what can fit the types they take.
2013-11-27 02:19:24 +0000 <fryguybob> For instance: processTopDown :: Tree t => a (t b) (t b) -> a (t b) (t b)
2013-11-27 02:19:40 +0000 <byorgey> oh! haha, I thought you were talking about Diagrams.TwoD.Arrow arrows =)
2013-11-27 02:19:46 +0000 <fryguybob> Ha
2013-11-27 02:20:06 +0000 <fryguybob> I think I understand those arrows, as long as they are not implemented with arrows :p
2013-11-27 02:20:12 +0000 <byorgey> =)
2013-11-27 02:21:27 +0000 <fryguybob> So processTopDown is implemented as: processTopDown f = f >>> processChildren (processTopDown f)
2013-11-27 02:21:39 +0000 <byorgey> yep
2013-11-27 02:21:46 +0000 <fryguybob> I don't understand how it can use >>> without a constraint.
2013-11-27 02:22:12 +0000 <byorgey> oh. uh... I don't either.
2013-11-27 02:23:05 +0000 <byorgey> fryguybob: oh! note that processTopDown is a method of the ArrowTree class =)
2013-11-27 02:23:17 +0000 <fryguybob> Oh, that makes a difference.
2013-11-27 02:23:34 +0000 <fryguybob> Too many things in these classes!
2013-11-27 02:23:40 +0000 <byorgey> hxt is rather fond of these ginormous classes
2013-11-27 02:23:40 +0000 <byorgey> yes
2013-11-27 02:24:00 +0000 <fryguybob> Is there more then one instance even?
2013-11-27 02:25:52 +0000 <fryguybob> Anyway, I'm trying to figure out how to track some state through a transformation.
2013-11-27 02:26:21 +0000 <byorgey> fryguybob: yes, there are four: LA, IOLA, (SLA s), and (IOSLA s).
2013-11-27 02:26:40 +0000 <byorgey> LA a b = a -> [b]
2013-11-27 02:26:52 +0000 <byorgey> IOLA is a -> IO [b]
2013-11-27 02:27:06 +0000 <byorgey> the S variants add state
2013-11-27 02:27:18 +0000 <fryguybob> Humm, ok
2013-11-27 02:27:30 +0000 <fryguybob> I have extractFileBlocks :: FilePath -> XmlT (IOSLA (XIOState ())) And I think I want it to be
2013-11-27 02:27:40 +0000 <fryguybob> extractFileBlocks :: FilePath -> XmlT (IOSLA (XIOState [String]))
2013-11-27 02:28:14 +0000 <fryguybob> Where [String] is all the filenames that I will need later.
2013-11-27 02:28:21 +0000 <byorgey> sounds reasonable.
2013-11-27 02:31:00 +0000 <fryguybob> But, how do I get the strings in the next step: processTopDown (extractFileBlocks outDir) >>> doTransforms [ ..., compileDiagrams outDir XXX, ...]
2013-11-27 02:31:07 +0000 <fryguybob> I want the strings in XXX :D
2013-11-27 02:32:42 +0000 <byorgey> Martingale: http://www.haskell.org/haskellwiki/Diagrams/Dev/Freezing#Units.2C_and_getting_rid_of_split_transfo…
2013-11-27 02:35:14 +0000 <byorgey> fryguybob: see http://hackage.haskell.org/package/hxt-9.3.1.2/docs/Control-Arrow-ArrowState.html#v:getState
2013-11-27 02:35:20 +0000diagramsbot- 01[13diagrams-lib01] 15bergey created 06unified-angle-type (+2 new commits): 02http://git.io/8ZL4wA
2013-11-27 02:35:20 +0000diagramsbot- 13diagrams-lib/06unified-angle-type 14209fb4f 15Daniel Bergey: Unify angle type, with Isos for various units
2013-11-27 02:35:20 +0000diagramsbot- 13diagrams-lib/06unified-angle-type 14f4f3fd4 15Daniel Bergey: WIP: Update for unified Angle type
2013-11-27 02:41:04 +0000 <byorgey> aha, interesting. I wondered what bergey was up to =)
2013-11-27 02:41:42 +0000 <byorgey> hmm, and I think this will simplify generalizing R2. Angle was one of the difficult sticking points.