by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 17 06:56
    dependabot[bot] labeled #4
  • Jul 17 06:56
    dependabot[bot] opened #4
  • Jul 17 06:56

    dependabot[bot] on npm_and_yarn

    Bump lodash from 4.17.15 to 4.1… (compare)

  • Jul 05 19:03
    loreanvictor labeled #8
  • Jul 05 19:02
    loreanvictor opened #8
  • Jun 30 11:13
    loreanvictor opened #7
  • May 16 10:43

    loreanecomply on master

    add support for attribute to m… (compare)

  • Apr 28 13:24

    loreanecomply on strict-typings

    further wrestling with this shit added a file outlining the issu… a bit more typing (compare)

  • Apr 26 11:00
    loreanvictor opened #3
  • Apr 26 10:58
    loreanvictor opened #2
  • Apr 11 17:57

    loreanecomply on master

    bump version (compare)

  • Apr 11 17:57

    loreanecomply on master

    fix package issues, update pack… (compare)

  • Apr 11 17:54

    loreanecomply on strict-typings

    initial some inspection on type-inferen… (compare)

  • Apr 11 10:46

    loreanvictor on emission-typings

    (compare)

  • Apr 05 11:20

    loreanecomply on master

    bump version (compare)

  • Apr 05 11:17

    loreanecomply on master

    add support for svg elements (compare)

  • Mar 28 11:55

    loreanecomply on master

    add mouseenter and mouseleave t… (compare)

  • Mar 27 12:29

    loreanecomply on master

    fix a typing issue on component… (compare)

  • Mar 20 12:42

    loreanecomply on master

    add meta attribute typings bump version (compare)

  • Mar 19 13:08

    loreanecomply on master

    bump version (compare)

Eugene Ghanizadeh
@loreanvictor
no no worries actually I greatly appreciate this, it's surprisingly not easy to find people with good insight on these topics
as for micro frontends,
since the support for
custom events is really prevalent amongst browsers now, I suspect making it the default for component interactions coupled with deprecation of layers such as VDOM automatically leads to that result
(sorry the mobile web interface of gitter is
not the best)
and for backened,
Eugene Ghanizadeh
@loreanvictor
I suspect on the data layer there is a need for a query representation scheme that allows for efficient remote subscription support (which I think there was already a white paper claiming to prove its not absolutely possible but it might be approximately possible to a sufficient degree),
and coupling that (if such solution exists) with these concepts would truly change how we manage data flow.
and I will definitely check out that project first thing in the morning,
it send quite promising
Eugene Ghanizadeh
@loreanvictor
*sounds
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a

I just fell in here from the HN thread. I just discovered this field and it's so surprisingly close to the coding methodology I have been stumbling towards for some time and I'm delighted. I got really into using concatenative programming styles in TS (enabled via ramda and lodash/fp) and this is such an obvious next step - I'm also (embarrassingly) just coming to RxJS now, but skilling up very quickly as this fits how I was already thinking.

Is anyone working on using Connective+RxJS to do Behaviour Programming?

It seems like such a ridiculously perfect fit I'm going to have to make a lib if no one else is already doing so
Eugene Ghanizadeh
@loreanvictor
@elmarsto could you elaborate a little bit more on what you mean by "Behaviour Programming"? and I guess this also means that perhaps not and it would be so great if you could start such a lib. I am personally just barely aware of what the concept generally means, but at least what comes to mind is pretty interesting and would be glad to offer whatever help I might be able to provide on that endeavor as well (though again it might be limited due to lack of experience on the topic)
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a
@loreanvictor 水写纸
oops wrong paste
one ec
sec
(the first is apparently the kanji for a form of calligraphy practice paper I am unrelatedly attempting to procure)
Eugene Ghanizadeh
@loreanvictor
:smile: :smile:
@elmarsto yep that page is basically all I know, are there any examples of how it would look like in practice? I find the concepts super-interesting, but cannot distinguish properly between this and event-based multi-agent programming (which is basically what CONNECTIVE tries to provide specifically through the concept of agents).
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a
Yeah they are very similar, I see BP as an ideology to employ when coding with connective
But most extant BP libs for JS at least are nowhere near where Connective is
Eugene Ghanizadeh
@loreanvictor
could you provide an imagined sample code utilizing the lib you have in mind?
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a
so the (to me obvious) idea is to leverage the power of connective to produce a better behaviour programming toolchain
@loreanvictor Not quite yet, I'm still trying to articulate my vision, but what I have in mind is like a scenario where your BP 'threads' (connective agents) are all implmented as connective compositions
Eugene Ghanizadeh
@loreanvictor
hmmmm
visual-editor-sketch.png
something like this?
of course this doesn't match the current API of connective perfectly as it was one of those imagined samples (though not traditional "code" precisely)
oh wait, perhaps what you are referring to are tools that help with decoupling independent behaviors (of an agent for example) into separate compositions, right?
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a
Tentatively yes, but I arrived at connective + rxjs just as I was learning BP in a React-driven context so please be patient. I only started with RxJS and connective yesterday afternoon, and with BP the previous week :)
Instead of this lib I could do bthreads as agents. The logic of blocking, etc. works perfectly with the .control mechanism on node() and expr() returns
BTW near as I can tell expr() is just a special-case node() that only has one pinout, is that right? node() is a generalization of expr()?
(newb question)
Anyway the place where I intend to try this all out is on Screeps, the JS coding game, if you play (where you build AIs and pit them against the AIs of others in JS, TS and compiled-to-wasm languages)
Eugene Ghanizadeh
@loreanvictor
yes expr() is just a special case of node() (its basically a direct child of that class)
Ghost
@ghost~5d6aaa6ed73408ce4fc9b47a
great!
Anyway ty for this coolness I will go away and bang on it and come back with questions
Eugene Ghanizadeh
@loreanvictor
yes I still have to check Screeps out as I didn't have the chance yet unfortunately.
and actually thank you for sharing these cool ideas! the repo you shared specifically puts it in better perspective for me, so any help I can do with the lib you have in mind, I would be glad to!
Elizabeth Marston
@elmarsto
Gitter has the most bizarre method of resetting your profile pic
Eugene Ghanizadeh
@loreanvictor
:smile: :smile: also be careful with typing on the mobile-web interface, last time I was doing that (two nights ago in this very community) every-time the browser app lost focus whatever I had typed into the chat box would be posted.
Roman
@moltar
They have an iOS app which is great and sends notifications too.
Eugene Ghanizadeh
@loreanvictor
yeah I also got the Android app to see if it faires better
Eugene Ghanizadeh
@loreanvictor

@moltar so as I mentioned (and you suggested), I have started working on a pure-DOM rendering library that nicely works with RxJS and CONNECTIVE. I considered utilizing LitElements for this project, however generally there are some bits and pieces of WebComponentsAPI that are not universally standardized (or at least it feels as such) so I basically opted for creating a library that can later be minimally modified to utilize the WebComponents API and something like LitElements for its component-based rendering (still keeping my hopes up for poor pure Polymer).

The project is basically a custom TSX/JSX renderer that produces raw DOM Elements (so no VDOM), supports minimal element lifecycle (binding, clearing up), and hence can also render Observables or Pins seamlessly (this is the step that the project currently is at). Furthermore, it should support functional components quite easily and seamlessly, from pure templates to complex components (I suspect this should be quite easy as we can just create a composition() and attach it to the rendered element's lifecycle). The overall goals of the project are:

  • being quite straight-forward (as in RxJS/CONNECTIVE straight-forward) explicit TSX/JSX coding
  • having no magical layers (no VDOM, no framework-specific compilation, etc), just based on Typescript's default TSX support (so also minimal setup/development pipeline)
  • being explicit, which is already what RxJS/CONNECTIVE state management would require, but also on all other fronts
  • being surgical, which (mostly) naturally results from being reactive and explicit, but also means in theory the end result should fair much better performance-wise than most other JS frameworks out there.

All of this means the envisioned end-result is something like this gist.

The project is in super early stage so everything can and will constantly change. You can run the code by doing npm start and then opening samples/index.html, which is basically running samples/index.tsx.

I do not think this will be a heavy-lifting project, but still I definitely could use a lot of help on this, specifically with regards to performance optimization / example use-cases / etc. So if you are interested, do not hesitate to join in! 😎

EDIT: I mentioned Roman since he has brought up the idea before but this post is towards everyone.

Eugene Ghanizadeh
@loreanvictor
@/all support for deep states have been added. deep states allow for treating indexes/properties of arrays/objects as separate states easily, with utilities to efficiently and consistently down-propagate (e.g. from the array state to the index sub-state) and up-propagate (e.g. from index sub-state to array state) data in deeper structures. check it out if you've got the time/are interested, feedback much appreciated.