[Wheat-developer] notes...
Status: Pre-Alpha
Brought to you by:
mark_lentczner
From: Mark L. <ma...@gl...> - 2005-04-22 17:09:32
|
Here is my list of things I want to talk about this afternoon.... I'll bring paper copies as well. - Mark Language Changes Syntax Links & Paths ??? Need a syntax for them: is it -> followed by a path expression? Is this a link or a path? Object Construction ??? Switch from { ...; ... } to [ ...; ... ] for all objects, not just arrays ??? Support commas as well as semicolons as separators? ??? Syntax for inheriting vs. instancing: Currently it is { <:/foo: ... } vs. { :/foo: ... }. I'm not entirely certain we need both... In any case, do we like the over use of colons, or is it time for something else? ??? Syntax for indexed members. Do we allow index specifications? [ 3: "three"; 12: "dozen" ] ??? Arrays currently use a different default prototype. How to sepcify that without making everyone write [:/library/base/array: ... ] ? Use Declarations ??? Support use /for/bar and use /foo/bar as baz to mean that you can refer to bar (in the first case) or baz (in the second) as a stand in for $/foo/bar. Is this syntax correct? Or should it be use /foo/bar = baz or some such? Copy ??? If we change to asis as default semantics (see below), then what becomes the syntax for forcing a copy? Operators ??? Drop prefix operators, or only allow a few built in ones. ??? Drop user spelled operators and have a fixed set. Semantics ObjectConstruction ??? What is the semantics of object construction Currently there are two: x := { :/foo/bar: name: "widget"; size: 42 } -- is equivalent to -- x := primitive object new w/prototype $/foo/bar x.name := "widget" x.size := 42 -- where as -- x := { <:/foo/bar: name: "widget"; size: 42 } -- is equivalent to -- x := primitive object new w/prototype $/foo/bar x.add-member("name", "widget") x.add-member("size", 42) One is used for instancing, one for sub-classing. ??? Should arrays continue to have a separate prototype from object? Or should all the array methods just be in object? Assignment Semantics ??? Are we going to change to asis as the default? Tests ??? The ? test seems backwards - it is true for all but undefined. But I always seem to be writing ~x? as I want the opposite. Perhaps it should be true only for undefined (and perhaps error too?). Thoughts on Ajax interactive feel is the key - not refreshing the whole page if possible - generally non-blocking feel to UI session state is an issue and maybe we can do something about it - stored in Wheat tree on client? - shipped back and forth with each request? - how to make this automatic? enabling the creation of REST applications - we've made generating the page easier (I think) - we've not made the connection between URL/POST and action easier client side rendering - can be seen as an extension of <img> - in fact you want this to operate the same way - can/should we use <iframe> ? enabling shared workspaces should be the key driving customer story - automatic change stuff? |