Those issues seem to deal with cursors, which are conceptually based on
lenses. I think this Pedestal article
<http://frankiesardo.github.io/blog/2014/12/15/give-pedestal-another-chance/>
is
closer in spirit, to what Paul DeGrandis is talking about. Pedestal's route
table is a data structure, rather than a set of chained functions. This
makes the architecture more malleable and composable, the author argues. So
for Immutable UIs like Om, I'd imagine a declarative syntax for layout,
data description / binding, business logic, etc. And certainly cursors
could be part of the implementation of such a system. That's my take
anyways.


Hth

Tim Washington
Interruptsoftware.com <http://interruptsoftware.com>


On Mon, Dec 22, 2014 at 2:06 AM, Oliver George <[email protected]>
wrote:
>
> Quick follow up.  Seems like this is a topic that David and others are
> exploring.
>
> https://github.com/swannodette/om/issues/293
> https://github.com/swannodette/om/issues/265
>
>
>
> On Sunday, December 21, 2014 1:21:50 AM UTC+11, Timothy Washington wrote:
> > Yeah, Paul gave a great presentation, I thought. I'm looking forward to
> using his ideas in some of my future implementations.
> >
> >
> > Hard for me to know exactly how your code applies. But one question you
> can consider is does my logic contain just data? And further can that exact
> data be taken and used in a different piece of code? It's the reusability
> and composability that I took away from the approach.
> >
> >
> >
> >
> > Hth
> >
> >
> >
> >
> >
> > Tim Washington
> > Interruptsoftware.com
> >
> >
> >
> >
> > On Fri, Dec 19, 2014 at 9:18 PM, Oliver George <[email protected]>
> wrote:
> >
> > I really look forward to seeing some code from that project - seems
> perfect.  Paul was quite the tease!
> >
> >
> >
> > Here's a concept I knocked up this morning.  It's a bit of a hack but
> I'd be interested to see what people think of it.
> >
> >
> >
> > https://gist.github.com/anonymous/f8faa4dbfa33c2b324d4
> >
> >
> >
> > Essentially it uses "logic-fn" hooks in the app-state and components
> call update-with-logic! with their cursor to request data updates.
> >
> >
> >
> > The update-with-logic! does om/update! but first looks for a logic-fn to
> apply.
> >
> >
> >
> > I can't decide if it's a hideous API or genius!  Please feel free to pop
> my bubble.
> >
> >
> >
> >
> >
> > On Saturday, December 20, 2014 9:25:25 AM UTC+11, Timothy Washington
> wrote:
> >
> > > At this year's conj, Paul DeGrandis gave a talk on Unlocking Data
> Driven Systems.
> >
> > >
> >
> > > My phone shows: http://m.youtube.com/watch?v=BNkYYYyfF48
> >
> > >
> >
> > > It was very much in the vein in which your talking. Using data to
> describe operations, configurations, etc. Such an approach would work
> really well with an immutable UI as well.
> >
> > >
> >
> > > Hth
> >
> > >
> >
> > > Tim
> >
> > >
> >
> > > On Dec 19, 2014 4:47 PM, "Oliver George" <[email protected]>
> wrote:
> >
> > > Hello
> >
> > >
> >
> > >
> >
> > >
> >
> > > I'm trying to work out a good method for applying business logic to an
> OM based UI.  In particular, I'd like to avoid embedding business logic in
> the render components themselves.
> >
> > >
> >
> > >
> >
> > >
> >
> > > Things like:
> >
> > >
> >
> > > * if this model attribute changes clear these other ones
> >
> > >
> >
> > > * reject this new attribute value because it fails some validation test
> >
> > >
> >
> > > * when this attribute changes use ajax to fetch some new data
> >
> > >
> >
> > >
> >
> > >
> >
> > > I think OM still requires a single atom holds all app state even when
> using ref-cursors to decouple things better.  That means my "models" would
> all be in that main atom but parked at different locations within it.
> >
> > >
> >
> > >
> >
> > >
> >
> > > I wondered if there was a way to hook into transact! such that I could
> inject this logic before the update was applied but it's not apparent.
> >
> > >
> >
> > >
> >
> > >
> >
> > > Seems like something others may have explored.  I'd love any
> thoughts/links.
> >
> > >
> >
> > >
> >
> > >
> >
> > > cheers, Oliver
> >
> > >
> >
> > >
> >
> > >
> >
> > > --
> >
> > >
> >
> > > Note that posts from new members are moderated - please be patient
> with your first post.
> >
> > >
> >
> > > ---
> >
> > >
> >
> > > You received this message because you are subscribed to the Google
> Groups "ClojureScript" group.
> >
> > >
> >
> > > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> >
> > >
> >
> > > To post to this group, send email to [email protected].
> >
> >
> >
> > >
> >
> > > Visit this group at http://groups.google.com/group/clojurescript.
> >
> >
> >
> > --
> >
> > Note that posts from new members are moderated - please be patient with
> your first post.
> >
> > ---
> >
> > You received this message because you are subscribed to the Google
> Groups "ClojureScript" group.
> >
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> >
> > To post to this group, send email to [email protected].
> >
> > Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to