On Monday, June 18, 2012 8:01:47 AM UTC-6, tbc++ wrote:
>
> > Isnt that just creating an api? Everywhere the old model exists you need 
> to 
> > call a function to create the desired data structure and this adds 
> another 
> > layer of complexity that needs maintained.  Not all conversions are 
> straight 
> > forward, may require additional context of whatever introducing the need 
> for 
> > deferred computation. 
>
> Can you provide a concrete example (with code perhaps)? I guess I'm 
> not seeing where the problems arise. In this situation I normally 
> either, 1) create a new "fetch" function to create a new map of data 
> in the new format 2) provide duplicate data in the map that's computed 
> differently, 3) update the old code to the new map. 
>
> Here at work we have a 20 year old application that is almost 100% 
> backwards compatible (the server can talk to much older clients). And 
> it does so by using pure data. The server has setup contracts saying 
> "this is what Project data looks like, this is what Company Data looks 
> like" and those contracts never change. The 3D Software Blender 
> (blender.org) operates on this same principle. After almost a decade, 
> their latest software can open 1.0 .blend files, and vice versa. All 
> these applications work off of unchanging data contracts. 
>
> So I'm interested in seeing concrete examples of how your application 
> differs. 
>

Its not the external contracts that are changing but the internal contracts 
between namespaces... as I add features I add new requirements clarify my 
understanding and decide to replace them with new ones.  I wish I could say 
just don't change them, but the internal contracts are "implementation 
details" no one uses them but me.  If I decide to change them stuff breaks 
and that would be true in OO too, but in I know how to go about these 
refactorings incrementally in OO until the old abstractions fall away and 
become dead code, in clojure new abstractions mean lots of breaking changes 
and nothing works until everything works.   

I wouldn't mind sitting down with someone in the Denver area and getting 
some feedback on my code, eventually I would like to open source the code 
but I don't expect that to happen anytime in the near future.  
 

>
> Timothy 
>

-- 
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

Reply via email to