Documentation is definitely a weak point.
Trying to do some literate programming style documentation :)

I call this model, Reactive Data Processing (RDP).

Design Influences are listed at -- http://lexical.foobar.systems/rdp.html
Feel free to go through the repo -- https://github.com/harsha-mudi/rdp

The only interesting thing I did was to make an abstraction called System.
Everything follows from there.

This model is build on OOPy ideas so it should be compatible with most
langs out there. I actually use React.js in my app so om should not be
that difficult to adapt to.

Currently om doesn't have best practices wrt the number of core.async
channels to have, or how to design components. That's a place where
RDP like ideas can help. I suspect the clojurescript port of RDP would
be like 5 protocols. I am waiting for the js to be stable before I go
for that.

High level approaches talk about composability, higher order algebra
and <insert-smug-word> and I talk about systems and wires :)

---
www.foobar.systems


On Mon, Aug 11, 2014 at 12:32 PM, Zubair Quraishi <[email protected]> wrote:
> On Friday, August 8, 2014 7:20:41 PM UTC+2, Harsha wrote:
>> Hi,
>>
>>
>>
>> https://github.com/harsha-mudi/esti -- that's the app
>>
>>
>>
>> That's the debugger as a mixin,
>>
>> https://github.com/harsha-mudi/rdp/blob/master/lib/debugger.js
>>
>> The ui of the debugger is in the esti app again.
>>
>>
>>
>> Debugging and Syncing are just a side-effect of designing the
>>
>> application around reactive components.
>>
>>
>>
>> To put it in om's terms, every component ( I use the word System ) in
>>
>> my framework comes with at-least 5 channels.
>>
>>
>>
>> "sysin", "sysout", "syserr", "feedback", "debug"
>>
>>
>>
>> ( that's a simplistic explanation because I got inspired by low level
>>
>> electronics
>>
>>   for the most part )
>>
>>
>>
>> Since all communication to the component happens trough these channels,
>>
>> a debugger is just something that sits in-between.
>>
>>
>>
>> I really wanted to make a phonegap app, but I lost my phone.
>>
>> nodewebkit seemed like the next best thing given that LightTable uses it.
>>
>>
>>
>> I am working on runtime debugging.
>>
>> Currently the debugger is enabled by the build step.
>>
>>
>>
>> `npm bin`/squareboy esti.tasklist.coffee --stepper --sys "clicks" --tracer
>>
>>
>>
>> I have added a macosx binary -- https://github.com/harsha-mudi/esti/releases
>>
>> and clarified the Readme a bit.
>>
>>
>>
>> I have compiled it using --stepper --sys "clicks" and --tracer, so you
>>
>> should see the step button. Try adding a task. You should get some
>>
>> kinda display.
>>
>>
>>
>> In nodewebkit, the developer tools is located on the top right corner.
>>
>> My favourite part is actually the tons and tons of tracing.
>>
>>
>>
>> On Fri, Aug 8, 2014 at 7:25 PM, Zubair Quraishi <[email protected]> wrote:
>>
>> > It uses macros, core.async go blocks and observers over shared atoms to 
>> > get the debug information
>>
>>
>>
>> Yes, that's a very interesting place to put a debugger. Om components
>>
>> change when the atoms change so you can easily put it there.
>
> I took a more detailed look. I especially like that you took the inspiration 
> from electronics. Let me know if you blog about this
>
> --
> Note that posts from new members are moderated - please be patient with your 
> first post.
> ---
> You received this message because you are subscribed to a topic in the Google 
> Groups "ClojureScript" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/clojurescript/VugJcgzFNDk/unsubscribe.
> To unsubscribe from this group and all its topics, 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