I've experience reordering of Object properties in JSON, especially
when round-tripping through non JavaScript environments.  It just
seems and unsafe practice
even if all the current browsers happen to implement a well-defined
enumeration ordering.  What happens when you come a descriptor into
another object, or try
to merge descriptors?  Do all these cases work?

As a user, I'd just be very nervous to have this "sword of Damaclese"
hanging over my head that could break at the whim of the next Chrome
update.

On Apr 27, 10:10 am, Bemi Faison <[email protected]> wrote:
> Hi Mike (mckoss),
>
> Yes, when compared with the specification, I am using a risky
> parameter format. For perspective, parameter formats evolve, and do so
> with less pain than from changes to API methods and objects. Just look
> at YUI's mixed use of configuration objects in place of individual
> arguments.
>
> Given this, I hope you'll merit Flow for it's approach to coding
> contractual, policy-based functions: defining explicit relationships
> between functions. There are several approaches which can achieve this
> same goal (from currying and AOP, to custom-events and simple
> callbacks), and numerous libraries that implement them (like, Dojo).
> Whether or not Flow changes how you define these relationships (i.e.,
> the parameter format in question), whether due to peer or browser
> pressures, the approach is sound and favors agile-development.
>
> A future version of Flow will likely support an alternate format, for
> describing these relationships. That said, the current format is not a
> "defect", since it works on every major web browser. (Discovering a
> JavaScript engine which fails the test suite, would have me say
> otherwise.)
>
> Regarding your thoughts as to whether anyone would use Flow: they
> already are, at my workplace. Another company is considering the
> risks, and I'll be presenting Flow to them next month.
>
> On Apr 27, 12:25 am, mckoss <[email protected]> wrote:
>
>
>
>
>
>
>
> > I don't think you will get anyone to use your library with this defect
> > (conscious or not).
>
> > On Apr 26, 8:27 am, bemson <[email protected]> wrote:
>
> > > Hey Stefan,
>
> > > Yes, though it works in every browser today, depending on the order of
> > > object-properties was a conscious risk. Naturally, a future version
> > > could use a dual implementation that considered arrays of object-
> > > collections - the same way DOM nodes are structured (i.e., the
> > > childNodes array).
>
> > > On Apr 26, 5:33 am, Stefan Weiss <[email protected]> wrote:
>
> > > > On 26/04/11 05:08, bemson wrote:
>
> > > > > My name is Bemi Faison. I'm the author of Flow, a framework for
> > > > > defining and executing related functions. 
> > > > > (https://github.com/bemson/Flow/
> > > > > )
>
> > > > > I'm of the notion that the concept is more valuable than my
> > > > > implementation. To that end, I have completed the API documentation,
> > > > > and recently updated use-cases. However, I don't have an academic
> > > > > background, and have struggled with how to present and position Flow,
> > > > > in the context of existing programming paradigms.
>
> > > > > I seek assistance with explaining my approach, writing use-cases, and
> > > > > sharing my vision with the JavaScript community. I welcome all
> > > > > comments, critiques, concerns and inquiries.
>
> > > > Looking at this page of code examples -
>
> > > >  https://github.com/bemson/Flow/wiki/Flow-Use-Cases
>
> > > > - it appears that Flow relies on the order in which object properties
> > > > are returned when you iterate over them ("Flow traverses a program
> > > > sequentially (e.g., from first to last)"). If that's correct, you may
> > > > want to rethink your approach.
>
> > > > The language makes no guarantees that the iteration order for properties
> > > > will remain constant, or even predictable. Recent developments in script
> > > > engines (eg, Chrome, Opera and IE) show that engine developers are
> > > > willing to using optimizations which will cause older scripts to break,
> > > > if they mistakenly relied on a certain iteration order.
>
> > > > It may appear to work the way you expect in current browsers, but that's
> > > > just a coincidence, and not something I would use as the basis for a JS
> > > > framework. If you need functions to be executed in a certain order,
> > > > you'd be safer if you used an array.
>
> > > > --
> > > > stefan

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to