proto-wayic/intercast/doc.task - Documentation in rough - favouring technological terms such as 'network', 'node' and 'link' ( as used in communications engineering - not mathematical terms such as 'graph', 'vertex' and 'edge' ( as used in graph theory - catalogue of intercast systems < systems based on intercast relations * intercast network * waycaster network * way population < systems that commonly have intercast form * genetic bit tree ( [IR] Intercast network` ( ./intercast_network - intercast networks are a principal component of the architecture ( http://reluk.ca/project/proto-wayic/architec/doc.task § Architecture + form - waycasts + intercast links + function - forms a waycaster network - each intercast network contributes to the formation of a waycaster network - forms architectonic member X (Extending in society) ( http://reluk.ca/project/proto-wayic/architec/doc.task § Architectonic ⋯§§ X - together intercast networks form X ( http://reluk.ca/project/proto-wayic/architec/doc.task § Architecture Waycaster network` ( ./waycaster_network + form - intercast network + waycasters + function - waycaster networks afford structural support for interaction among waycasters - they facilitate the cooperative, competitive or otherwise social formation and declaration of ways - they aid the evolution of waykinds ──────────────────────────────────────────────────────────────────────────────────────────────────── Import reference` < surtype: formally intracast reference ( http://reluk.ca/project/proto-wayic/cast/doc.task ( yet functionally both inter and intracast, as per § function * form ( [EBN] import reference = [ importer path ], '?', import query, [ '#', fragment ] ; importer path = '/way.xht' ; import query = { query parameter, '&' }, import parameter, { '&', query parameter } ; query parameter = ? as noted [QP] ?; import parameter = 'import=', nominally intercast document reference ; nominally intercast document reference = named waycast reference, '/', dotless relative path ; named waycast reference = waycast name, { '.', waycast name } ; dotless relative path = ? a relative path reference without a dot segment, as per https://tools.ietf.org/html/rfc3986#section-3.3 (dot-segment) and https://tools.ietf.org/html/rfc3986#section-4.2 (relative-path) ?; fragment = ? as per https://tools.ietf.org/html/rfc3986#section-3.5 ?; import reference with fragment = [ importer path ], '?', import query, '#', fragment ; * example ?import=foo.bar/fiz/bop.xht#baz - the referent here is an element with *id* attribute 'baz' - which element is declared in a way declaration document at path baz/bop.xht - which document is imported from waycast 'bar' - which waycast name is defined in waycast 'foo' - which waycast name is defined in the referring waycast ( see § Waycast referencing § waycast_names * importer path - optional, it may be omitted ( as in the example above - for sake of clarity and convenience ( e.g. to reduce boilerplate clutter in waysource - if omitted, then it is implied - runtime processors such as proto-wayic.read will introduce it - its purpose is to fix the effective location of the imported document - e.g. as it appears in a browser's address bar - for sake of simplicity, clarity and processing efficiency * resolution - the fragment is resolved as an extended element reference ( http://reluk.ca/project/proto-wayic/script/doc.task * function - summary - imports an extracast way declaration document ( [COR] - ensuring its transport is complete or pending - refers to it, or to one of its elements - detail - guard cases - reference invalid if *named waycast reference* resolves to the referring waycast ( self import - reference invalid if *nominally intercast document reference* does not resolve to a way declaration document - does a referential transport based on the *nominally intercast document reference* ( § Referential transport - the referent being the "exported document" for this purpose ( ./export - the result being the "imported document" ( ./import - refers to the imported document, or to one of its elements = task to implement in proto-wayic.emacs - fontifying the *named waycast reference* to distinguish it from the subsequent path for sake of clarity = task to implement in proto-wayic.read ──────────────────────────────────────────────────────────────────────────────────────────────────── Intercast link` ( ./intercast_link - formation < [IR] * genetic bitlinks * referential jointing - typology * intercast link * transport bit trail - function - forms an intercast network - forms a waycaster interlink / Intercast network ─────────────────────────────────────────────────────────────────── see at top ─── ──────────────────────────────────────────────────────────────────────────────────────────────────── ?redaction Referential transport = redact ↓ = define after other 'referential' §§ - perhaps with the help of a term document - considering also ._/transport ──────────────────────────────────────────────────────────────────────────────────────────────────── ?redaction Transport bit trail < surtype: intercast link - each imported waybit, if on way, is thereby ... ( on way, that is, in the importing waycast - form - formal summary in genetic terms exported waybit → imported waybit - elemental form . . . —— SALVAGE —— + as a genetic link - salvaged from removed § Intercast referential joint * function ( as a genetic link - defines the referent waybit to be the synchronic (infrabutting) child that is introduced to the (referring) waycast as an effect of the referential joint ( http://reluk.ca/project/proto-wayic/script/doc.task § Referential jointing § effect = correct to imported image - declares the referring waybit to be a member of the population of the referent waybit off in the referent waycast - and a clonal child of the referent waybit - asserts that the referent waybit is a member of a population - if the referent waybit declares no population itself - nor implies any by its declared form - then it is hereby declared a member (the founding member) of population L - where L is the normalized value of the reference ( namely the jointer's *join* attribute, a subjoining waybit reference ──────────────────────────────────────────────────────────────────────────────────────────────────── Waycaster interlink` ( ./waycaster_interlink + form - waycaster-waycast bond — intercast link — waycaster-waycast bond ( the bond being the one-to-one relation between waycaster and waycast + function - forms a waycaster network / Waycaster network ─────────────────────────────────────────────────────────────────── see at top ─── ──────────────────────────────────────────────────────────────────────────────────────────────────── ?redaction Waycast referencing - referring to a waycast + reference typology * waycast location - a URI reference ( URI reference, https://tools.ietf.org/html/rfc3986#section-4.1 * extracast waycast location - a URI ( URI, https://tools.ietf.org/html/rfc3986#section-3 * waycast public identifier - a URI in normal form ( Normalization and comparison, https://tools.ietf.org/html/rfc3986#section-6 < as per proto-wayic.cast § Publication of a waycast § waycast public identifier ( http://reluk.ca/project/proto-wayic/cast/doc.task * waycast name - a *waycast name* from a valid *declaration* of waycast_names + `waycast_names` configuration property * purpose - binds waycast names to locations ( see § reference typology §§ waycast name, waycast location - gives to waysource - concision for clarity - symbolic indirection for consistency and ease of maintenance * declaration - at most one per waycast * placement - `waycast.json` - ( http://reluk.ca/project/proto-wayic/cast/doc.task § configuration of a waycast * form ( [EBN], exclusive of whitespacing variations allowed by JSON '"waycast_names": {', [ declaration list ], '}' ; declaration list = declaration | declaration, ',', declaration list ; declaration = '"', waycast name, '"', ': "', waycast location | waycast name, '"' ; waycast name = ? string of one or more US-ASCII characters, each a letter or underscore ?; waycast location = ? as per § reference typology § waycast location ?; * examples waycast_names: { "foo": "http://foo.net/waycast/", "bar": "http://bar.com/cast/", "zog": "http://zog.org/waycast/", "end": "foo", "means": "bar" } - or, equivalently: waycast_names: { "foo": "http://foo.net/waycast/", "bar": "http://bar.com/cast/", "zog": "http://zog.org/waycast/", "end": "http://foo.net/waycast/", "means": "http://bar.com/cast/" } * function - for each *declaration* D - for the *waycast name* N on its left side - N binds (whether directly or indirectly) to a *waycast location* on the right side of just one valid *declaration* - N appears on the left side of no *declaration* but D - otherwise D is invalid //////////////////////////////////////////////////////////////////////////////////////////////////////// // N o t e s / [COR] Each intercast request requires that "cross origin responses are enabled". http://reluk.ca/project/proto-wayic/cast/manual.task § publication of a waycast [EBN] Extended Backus-Naur syntax notation, ISO/IEC 14977. http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form [IR] · Applies only for those instances which are formed using an import reference. [QP] · Query parameter: an ampersand delimited name-value tuple in the query component of a URI reference, as defined for content type `application/x-www-form-urlencoded`. https://tools.ietf.org/html/rfc3986#section-3.4 https://url.spec.whatwg.org/#urlencoded-parsing Copyright © 2018-2019 Michael Allan and contributors. Licence MIT.