ServerJS/System: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Show of Hands: showing my hands)
(→‎Show of Hands: add Ash Berlin's hands)
Line 21: Line 21:
** Wes Garland
** Wes Garland
** Daniel Friesen
** Daniel Friesen
** Ash Berlin
* B args
* B args
** Tom Robinson,
** Tom Robinson,
Line 44: Line 45:
** Robert Thurnher
** Robert Thurnher
** George Moschovitis
** George Moschovitis
** Ash Berlin
* 2 environ
* 2 environ
* 3 environment
* 3 environment
Line 62: Line 64:
** Robert Thurnher
** Robert Thurnher
** George Moschovitis
** George Moschovitis
** Ash Berlin


module or free variable:
module or free variable:
Line 73: Line 76:
** Robert Thurnher
** Robert Thurnher
** Aristid Breitkreuz
** Aristid Breitkreuz
** Ash Berlin


== Comments ==
== Comments ==

Revision as of 15:59, 28 May 2009

System Interface Proposal A

All platforms must support a free variable, "system", that is an object that may contain the following attributes. The "system" variable may be either a global variable, an argument to every module factory function, or inserted into a module scope by some other means. "system" may be used for dependency injection in sandboxes, so it may be frozen. Therefore, the variable must not be reassigned, or modified in interoperable modules, although it may be mutable and reassignable in particular platforms.

If "system" contains any of the following names, they must have the corresponding meaning:

  • stdin: the standard input stream, an object with the same API as a file opened with the mode "r" with no encoding.
  • stdout: the standard output stream, an object with the same API as a file opened with the mode "w" with no encoding.
  • stderr: the standard error stream, an object with the same API as a file opened with the mode "w" with no encoding.
  • env: an Object containing posix-style or CGI environment variables.
  • args: an Array containing the command line arguments for the invoking arguments, not including the interpreter/engine but including the path to the program as it was executed.
  • fs: a file default file system root object conforming to the File System API

Any names not mentioned here or amended into this specification later should begin with "x" and a vendor-specific label as a prefix, like system.xCajaDomita. This will permit the future standardization of additional names as needed. Please request additional names in ServerJS/System/AmendmentProposals.

Show of Hands

arguments:

  • A arguments
    • Ondrej Zara
    • Wes Garland
    • Daniel Friesen
    • Ash Berlin
  • B args
    • Tom Robinson,
    • Kevin Dangoor,
    • Hannes Wallnoefer,
    • Michael O'Brien,
    • Chris Zumbrunn,
    • Robert Thurnher
    • George Moschovitis
  • C argv
    • Tom Robinson
    • Kris Kowal

environment:

  • 1 env
    • Ondrej Zara
    • Tom Robinson
    • Kris Kowal
    • Kevin Dangoor
    • Hannes Wallnoefer
    • Michael O'Brien
    • Chris Zumbrunn
    • Robert Thurnher
    • George Moschovitis
    • Ash Berlin
  • 2 environ
  • 3 environment
    • Wes Garland

system:

  • I sys
    • Tom Robinson,
    • Kris Kowal
    • Aristid Breitkreuz
  • II System
    • Ondrej Zara
  • III system
    • Ondrej Zara,
    • Kevin Dangoor,
    • Hannes Wallnoefer,
    • Chris Zumbrunn,
    • Robert Thurnher
    • George Moschovitis
    • Ash Berlin

module or free variable:

  • Z as a free variable
    • Kris Kowal
    • Ihab Awad
  • Y as a module
    • Hannes Wallnoefer
    • Peter Michaux
    • Chris Zumbrunn
    • Robert Thurnher
    • Aristid Breitkreuz
    • Ash Berlin

Comments

Relevant Discussions