lein-midje-doc really does look excellent. I went with marginalia but if that had been around at the time I would have jumped on it without a doubt.
On Wednesday, 9 April 2014 13:20:51 UTC+1, Fergal Byrne wrote: > > Hi Colin, > > Cheers. I had exactly the same problem, so I've been trying out a few > other ideas. One is to use datalog (or cascalog etc) and represent > "objects" with entities and relationships between objects with refs (for > datalog). I have some enormous data structures (2-300m synapses per layer, > for example) but I find that Datomic and datalog are great for modelling > really big and complex structures. > > There's a datomic wrapper library called adi [1] which adds a nice > map-like interface on top of datalog. It's perfect for getting your schema > right (you start off with a big map and it automagically does the schema), > and you can do some really long link-following, but I'm not using it > extensively yet (because everything is data, you can use adi for schema > design and some queries, and raw datomic for the rest). > > I'll be writing extensively about each library or tool I've used on my > blog (see sig). I'm writing about lein-midje-doc (also by zcaudate) at the > moment, it's just wonderful. > > [1] https://github.com/zcaudate/adi > > Regards, > > Fergal Byrne > > > On Wed, Apr 9, 2014 at 12:22 PM, Colin Yates <colin...@gmail.com<javascript:> > > wrote: > >> Hi Fergal, >> >> Thanks for those links. I started using protocols and defrecords but I >> (maybe mistakenly) got the impression that they were "frowned upon". As it >> turns out, maps (typically with a :type key) and multi methods go a long >> long way, but I still end up with fairly deep nesting of maps. >> >> Maybe that is the key - deep nesting of maps maybe cries out "one object >> [data model] to rule them all" and I need to decompose it further. >> >> Without types almost all the type hints would be either the map of >> sequence interface. It isn't so much the structure that is obscure, but >> the semantics of what that structure is modelling. >> >> As I hinted at, I am sure it is because my implementation model is still >> influenced too much by my OO background. >> >> Onwards and upwards as they say. >> >> Col >> >> >> On Wednesday, 9 April 2014 11:37:52 UTC+1, Fergal Byrne wrote: >> >>> Hi Anthony, >>> >>> I'm building a fairly large real-world system called Clortex [1], which >>> is a rewrite of the Numenta Platform for Intelligent Computing (NuPIC) [2]. >>> As it's a greenfield project, I've chosen to use Clojure components all the >>> way through instead of fitting in with Java-based or .Net-based frameworks. >>> There are good reasons why you should do this if you can, but obviously >>> that doesn't help you directly with your question. >>> >>> There are many people introducing Clojure as a component in an existing >>> ecosystem, as Colin explains, but usually this is done deep inside a big >>> Java or .Net shop, and they're not showing the world the code. One possible >>> route would be to see if any of the big Java or CLR Open Source apps are >>> looking at doing some subsystems in Clojure. >>> >>> Colin, >>> >>> Great to hear your experiences. I'm no expert, but it's likely that you >>> could ease much of the pain using protocols, type hints and deftypes or >>> records. Also, Typed Clojure [3] is definitely worth looking at. >>> >>> [1] Clortex will be public on Github shortly, see >>> http://fergalbyrne.github.io for docs, http://inbits.com for blog. >>> [2] http://numenta.org >>> [3] https://github.com/clojure/core.typed >>> >>> Regards, >>> >>> Fergal Byrne >>> >>> >>> >>> >>> On Wed, Apr 9, 2014 at 10:18 AM, Aditya Athalye <aditya....@gmail.com>wrote: >>> >>>> Welcome, Anthony. >>>> >>>> I'm not aware of complete applications that fit your requirement, >>>> however I think you'll find value in the newly-minted Clojure Cookbook >>>> http://clojure-cookbook.com/ ... many, many examples of real-world >>>> problems, >>>> across domains, solved by Clojure practitioners. >>>> >>>> All the examples and solutions are available here: >>>> https://github.com/clojure-cookbook/clojure-cookbook >>>> >>>> Cheers, and once again, welcome! >>>> >>>> >>>> >>>> On Wednesday, April 9, 2014 12:53:06 AM UTC+5:30, Anthony Ortiz wrote: >>>>> >>>>> Hello world! >>>>> >>>>> I'm a C# developer who recently went to an interview at a major bank >>>>> here in NYC and found that they've been using Clojure for their business >>>>> logic for over a year already and that got me curious, so I find myself >>>>> on >>>>> unfamiliar territory learning how to program in a functional language. So >>>>> far so good, Moxley Stratton's online tutorial combined with Try Clojure >>>>> (the online interpreter) has been very helpful (kudos to you guys!) and >>>>> I'm >>>>> now going through the book 'Programming Clojure'. So far I've seen a lot >>>>> of >>>>> utility/academic examples such as fibonacci but little in the way of an >>>>> actual real-world example of a top-to-bottom desktop application built >>>>> using Clojure on either the JVM or CLR, something simple that would >>>>> demonstrate how Clojure fits into the event-driven model on the >>>>> client-side >>>>> behind, let's say, WPF, and how it would interact with more Clojure on >>>>> the >>>>> service-side via, let's say, WCF. Does anyone know of an example they can >>>>> direct me to? >>>>> >>>>> Many thanks! >>>>> >>>>> Anthony >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@googlegroups.com >>>> >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> clojure+u...@googlegroups.com >>>> >>>> For more options, visit this group at >>>> http://groups.google.com/group/clojure?hl=en >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to clojure+u...@googlegroups.com. >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> >>> -- >>> >>> Fergal Byrne, Brenter IT >>> >>> Author, Real Machine Intelligence with Clortex and NuPIC >>> https://leanpub.com/realsmartmachines >>> >>> <http://www.examsupport.ie>http://inbits.com - Better Living through >>> Thoughtful Technology >>> http://ie.linkedin.com/in/fergbyrne/ >>> https://github.com/fergalbyrne >>> >>> e:fergalby...@gmail.com t:+353 83 4214179 >>> Formerly of Adnet edi...@adnet.ie http://www.adnet.ie >>> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com<javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > > Fergal Byrne, Brenter IT > > Author, Real Machine Intelligence with Clortex and NuPIC > https://leanpub.com/realsmartmachines > > <http://www.examsupport.ie>http://inbits.com - Better Living through > Thoughtful Technology > http://ie.linkedin.com/in/fergbyrne/ > https://github.com/fergalbyrne > > e:fergalby...@gmail.com <javascript:> t:+353 83 4214179 > Formerly of Adnet edi...@adnet.ie <javascript:> http://www.adnet.ie > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.