I'm using both: Marginalia for straight docstrings in the source code [1], lein-midje-doc for TDD in a literate style [2]. Some of the components I wanted to discuss with others, for example a new design for a Scalar Encoder [3] (I found and fixed a bug in the algorithm using this approach).
[1] http://fergalbyrne.github.io/uberdoc.html [2] http://fergalbyrne.github.io/ [3] http://fergalbyrne.github.io/rdse.html Regards, Fergal Byrne On Wed, Apr 9, 2014 at 2:20 PM, Colin Yates <colin.ya...@gmail.com> wrote: > 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> 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 >>> 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 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. > -- 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:fergalbyrnedub...@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 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.