-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
is inu
stable?
#19
Comments
How I discern between stable / experimental is: "have I used this on a big project before without wanting to change the API." - if the answer is yes, then off to "stable" a project goes. For example with Hope this was helpful! |
Do it do it do it! Call it stable! (Clearly I'm not adding anything productive, just excitement) |
@yoshuawuyts thanks, i like that distinction. :) so far, i've written the demos and maybe i'll wait till a few more larger projects go well before declaring 'stable'. |
hmm, may have found a (small) breaking change i want to make. also here's a list of breaking changes that have come up, wonder what i'm missing: possible changes for consideration(added in
|
RunLike that run can get at the model stream. Dispatch effectSo torn on this. I've wanted this for a while. I can imagine some compelling arguments about the ui only dispatching actions that look like UI_DID_SUBMIT and that the ui shouldn't dispatch an effect because that somehow breaks the idea of an effect vs an action. I don't know enough about Elm to know what the deeper reasoning is there. The down side was that I was starting to feel the pain of lots of boilerplate and felt like having this would help somewhat.... |
regarding "run":
have similar feeling to you, as for example in compose.js it'd become necessary to wrap every stream rather than just where i've found all streams makes sense: rather than wrapping your app in a higher-level function to achieve monitoring, as recommended by regarding "dispatch effect":
would your boilerplate problems be solved by using an action type like below? (for context to anyone reading, @pietgeursen and i are playing with this pattern to structure our const Tc = require('tcomb')
const Effect = require('./path/to/effect-type')
const Do = Tc.struct({
effect: Effect
})
Do.prototype.update = function doUpdate (model) {
const action = this
return { model, effect: action.effect }
}
module.exports = Do used like const Do = require('./actions/do')
const FetchCat = require('./effects/fetch-cats')
function view (model, dispatch) {
// ...
dispatch(Do({ effect: FetchCat({ id: 1 }))
} |
ooh found another problem while writing even if we add "run all streams" so the run function has access to the model stream, with the way things are currently done there's no way for an effect returned by this also highlights a difference between |
still feeling good about the current low-level api, did some experiments for a higher-level api in |
have you used it on actual projects yet? - calling something "stable" locks stuff down pretty hard, I'd like def hold it off till I had it out in the wild for a while |
yeah nah, been using |
delay actions until next tick to keep Zalgo away - #19 (comment) - gcanti/tom@a0245f7#commitcomment-17479754
at the moment the README says
inu
is "experimental", as described by the Node Stability Index:yet i'm not sure if the core API in
start
(or depspull
andhtml
) will change much if at all anymore, it seems to be simple yet powerful foundation, allowing for a wide variety of patterns to be used on top (like #11). maybe we should start calling the current API "stable":as for new helper functions (like #11), for the moment i've been embedding them only within the
./examples
. with this, we confirm that we'd only add in helper functions once they achieve the same level of stability.The text was updated successfully, but these errors were encountered: