notes-computer-jasper-jasperSyntaxTable

CURRENT BEST GUESS SYNTAX

note this is rather out of date, i just copied from jasper.txt

syntax (ordered by approximate descending ease of typing):

a/b/c: infix, prefix, postfix

-   	inverse/inverse argument mark/inverse token op   note: also valid within identifiers						
=   	bind
()  	parens
;   	cons? map token op?? eol?
'   	string quote? postfix: nullable/escaped type/meta'ed type
,   	comma grouping
.   	attached: attribute access (follow arc with keyword). attached with one arg: map token op?
          actually isn't follow arc the same as fn application? mb this is just a.b.c = (a b c)
/   	apply (with grouping)
--	subtraction
==  	eq (actually, === is eq, == is eq or isa)
;;	eol? eol and opt-in print?
''      string (ended by '')
,,	vertical separator (like eol in matrix)
..  	index/follow arc
//	comment to EOL?
!   	assert? mutate?
%   	meta
&	and
*       repeat? reference? syntactic fold? macro defns: kleene-star? or \* in macro defns?
_   	infixfy? reference? negate?? prefix: privacy
+	concat/append/increment
{}   	bigblock
:	separate vars from code. annotation? typing? attached: map token op?  slicing? 
"	metaquote?
<   	less than   
>   	greater than
?   	prefix: constraint var; alone: unapplied var marker
[]	list delimit		note: not in ISO 646, but is in T.61	
|   	or  graph comprehensions: where		note: not in ISO 646, but is in T.61	
@   	map/map argument mark/map token op	note: not in ISO 646, but is in T.61	
#	comment to EOL? forall numeric children, sub in list?  		note: not in ISO 646, but is in T.61							
$   	sugar, as above?		note: not in ISO 646, but is in T.61	
\   	backslash (character escape) note: not in T.61
`	note: not in T.61
^   	annotation?              note: not in T.61
~   	negate?   note: not in T.61, apparently hard to type
!!	assert? mutate?
%%  	division	
&&      
**	multiplication. repeat?					
__  	
++	addition
::  	type?
""	un-metaquote?
<< >> 	type annotation?
??  	
@@  			note: not in ISO 646, but is in T.61
##		note: not in ISO 646, but is in T.61
$$	anon fn helper?	  	note: not in ISO 646, but is in T.61
||		note: not in ISO 646, but is in T.61

other:
./ /.	comment
^=    	struct eq
r'	raw string (no escape sequences processed)
r''     same, ended by ''
'''	string ended by '''
r'''	raw string ended by '''
''''	string ended by ''''
r''''	raw string ended by ''''
  ... for any number of 's ? that might make parsing hard ...
.XXX    short for 'me.XXX'
$[]	list of resources (often strs)
$'[]	list of symbols
->	implication
<->	biconditional
=>	macro defn? production rule?
%=>	macro defn?
%=	compile time (recursive eager?) binding and me (re)binding

alpha ids for some things you might think would be punctuation:
div	division
pow	exponentiation

double punctuation whose interpretation is induced by meaning of single char:
(( ))  	just two parens
\\      escaped backslash	 note: not in T.61
[[ ]]  	list within list		note: not in ISO 646, but is in T.61	
<<< >>> character metaconstruct (default: graph comprehension??)

punctuation unassigned b/c it might be hard to type on some keyboards:
~~  	not in T.61, apparently hard to type
{{ }}  	note: not in T.61, apparently hard to type 
^^		note: not in T.61
``   	      note: not in T.61


token operators

-  	      map over items in list

--     	      map recursively over bounded leaves
-flavor-      map recursively over bounded leaves of flavor "flavor", ignoring other boundarys
-!flavor-     map recursively over bounded leaves of any flavor but "flavor", ignoring boundarys of flavor "flavor"

---	      map recursively over interior nodes and bounded leaves
--flavor-     map recursively over interior nodes and bounded leaves of flavor "flavor", ignoring other boundarys
--!flavor-    map recursively over interior nodes and bounded leaves of any flavor but "flavor",
	        ignoring boundarys of flavor "flavor"

----	      map recursively over interior nodes, stopping at boundarys
--flavor-     map recursively over interior nodes, stopping at boundarys of flavor "flavor", ignoring other boundarys
--!flavor-    map recursively over interior nodes, stopping at boundarys of any flavor but "flavor",
	        ignoring boundarys of flavor "flavor"

coordinatewise (like binary "map")

-/ foldr -\ foldl



OTHER SYNTAX POSSIBILITIES

syntax (ordered by approximate descending ease of typing):

-   	postfix or unattached: negate/inverse? map token op??    note: also valid within identifiers						
=   	bind
()  	parens
;   	cons? map token op?? eol?
'   	string quote? postfix: nullable/escaped type/meta'ed type
,   	comma grouping
.   	attached: attribute access (follow arc with keyword). attached with one arg: map token op?
          actually isn't follow arc the same as fn application? mb this is just a.b.c = (a b c)
/   	apply (with grouping)
--	subtraction
==  	eq (actually, === is eq, == is eq or isa)
;;	eol? eol and opt-in print?
''      string (ended by '')
,,	vertical separator (like eol in matrix)
..  	index/follow arc
//	comment to EOL?
!   	assert? mutate?
%   	meta
&	and
*       repeat? reference? syntactic fold? macro defns: kleene-star? or \* in macro defns?
_   	infixfy? reference? negate?? prefix: privacy
+	append
{}   	block? type?
:	separate vars from code. annotation? typing? attached: map token op?  slicing? 
"	metaquote?
<   	less than   
>   	greater than
?   	prefix: constraint var; alone: unapplied var marker
[]	list delimit		note: not in ISO 646, but is in T.61	
|   	or  graph comprehensions: where		note: not in ISO 646, but is in T.61	
@   	sub in list, forall numeric children?		note: not in ISO 646, but is in T.61	
#	comment to EOL? forall numeric children, sub in list?  		note: not in ISO 646, but is in T.61							
$   	sugar, as above?		note: not in ISO 646, but is in T.61	
\   	backslash (character escape) note: not in T.61
`	note: not in T.61
^   	annotation?              note: not in T.61
~   	negate?   note: not in T.61, apparently hard to type
!!	assert? mutate?
%%  		
&&      
**	multiplication. repeat?					
__  	
++	addition, extend?
::  	type?
""	un-metaquote?
<< >> 	character metaconstruct (default: graph comprehension)
??  	
@@  			note: not in ISO 646, but is in T.61
##		note: not in ISO 646, but is in T.61
$$	anon fn helper?	  	note: not in ISO 646, but is in T.61
||		note: not in ISO 646, but is in T.61

other:
./ /.	comment
^=    	struct eq
r'	raw string (no escape sequences processed)
r''     same, ended by ''
'''	string ended by '''
r'''	raw string ended by '''
''''	string ended by ''''
r''''	raw string ended by ''''
  ... for any number of 's ? that might make parsing hard ...
.XXX    short for 'me.XXX'
$[]	list of resources (often strs)
$'[]	list of symbols
->	implication
<->	biconditional
=>	macro defn? production rule?
%=>	macro defn?
%=	compile time (recursive eager?) binding and me (re)binding

alpha ids for some things you might think would be punctuation:
div	division
pow	exponentiation

double punctuation whose interpretation is induced by meaning of single char:
(( ))  	just two parens
\\      escaped backslash	 note: not in T.61
[[ ]]  	list within list		note: not in ISO 646, but is in T.61	


punctuation unassigned b/c it might be hard to type on some keyboards:
~~  	not in T.61, apparently hard to type
{{ }}  	note: not in T.61, apparently hard to type 
^^		note: not in T.61
``   	      note: not in T.61


token operators

-  	      map over items in list

--     	      map recursively over bounded leaves
-flavor-      map recursively over bounded leaves of flavor "flavor", ignoring other boundarys
-!flavor-     map recursively over bounded leaves of any flavor but "flavor", ignoring boundarys of flavor "flavor"

---	      map recursively over interior nodes and bounded leaves
--flavor-     map recursively over interior nodes and bounded leaves of flavor "flavor", ignoring other boundarys
--!flavor-    map recursively over interior nodes and bounded leaves of any flavor but "flavor",
	        ignoring boundarys of flavor "flavor"

----	      map recursively over interior nodes, stopping at boundarys
--flavor-     map recursively over interior nodes, stopping at boundarys of flavor "flavor", ignoring other boundarys
--!flavor-    map recursively over interior nodes, stopping at boundarys of any flavor but "flavor",
	        ignoring boundarys of flavor "flavor"


coordinatewise (like binary "map")

-/ foldr
-\ foldl
cn
scans? what else? repeats? self-repeats? flips?

todo: convert term of any of a set of flavors to one flavor

postfix:

' : strictify (strict in all arguments, and all functions called are strictified and forced eval'd (i think that's redundant, but whatever))

loose infix:

&& and

or

eq

~ match

in member ^= relative structural eq (referentially-transparent syntactic sugar like '='; calls ^= on left object with right object and selectors) != > < >= <= <==> spaceship operator mag abs



THINGS LOOKING FOR SYNTAX

sub in list, forall numeric children

unassigned roles:

boundary metaquote behavior view reference I/O process ownership const strictify, unboxed shared/unique/immutable/lockfree

umm, some more reserved words: atom seq me