From a552370242e708e0ddbf4a29deabe5a341ac4649 Mon Sep 17 00:00:00 2001 From: Nelson Date: Tue, 3 Mar 2020 13:44:43 -0800 Subject: [PATCH] added documentation for hop and pure functions --- diagrams/effect.png | Bin 4594 -> 5176 bytes diagrams/hop.png | Bin 0 -> 2874 bytes index.html | 28 +++++++++++++++++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 diagrams/hop.png diff --git a/diagrams/effect.png b/diagrams/effect.png index 7c27035f030620b61d74c9f5b0851aaca2bc50c7..7ca61765af7e056807491eccf726bfbda3958740 100644 GIT binary patch literal 5176 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 Xz<+6MV@wFF*MXGe)MTrqEyDi=urmVs literal 4594 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

7HQa zqi=~8W2j085r&yGA=j32e++}Nh;QKw>90{d+3C4a?O|eSw=4ury>;rp0*54uKJFn8 z=k8BY8`DWp*j1|;5TIlS^N`92Wdi`cRJhApz|uf5W) ziUeuHIPpjBSc5O|)XC4nVn2+kfT=z%Hh^q2ymHCCIeg_9n#68AXlQj)vJylDEo;Hp ze6t1+wgpkFY$3y{{f7s4k`TgETFO-14V#|~TsNvoKr#)k{=$M{`O@%XM-lO$b1;4}wOEaN8 zjkxbUKh7?e*3T6G9ZnZ#UjNv;-!3YB1*V(b?OJQ)v@F1W)phWHjMl#h>bf8RMAUP| zf&dea4|P#xf3Rxn{{_dt-PxZ|8Wl@}{=P$Kog%(LV<|s7FhIF~kUGYh29@N$Mx8RkwoVl~^ZAvq!IJ)=HX4^)Xr;kD#h;`v)LCrNqPp|`o%X4F1#mWY5O{W6}lsp3FbI4F86+RX#G^=ZBTLn z)j-Ct_y2h3|649O@9_Hne_gFlQE$}T|2P7Ar$I;Hr7MQ^R@h*RmyiS~t!?{mgEB@yupRCUtyoqc zK!`H8x69(1tki-Fe|~~}+UdhVmbakA8OBuXIO2iVk5n$6n>uw~$`>XOBXiguKZIv` zW2G^TN#n}=WzoZ@qjyO%RY{Q4QoWW^tnkeuSG;_@b*M&r~g#K7lQ%Tz9M{KeKjxhV&0;7(@azg*Ap|(WgX={ z^<$xV_ZxIRhnSeIc;elmH%nHOmW((31L$p{?Qf8h7lwF&#}m36MZa z{_PjLx~)PVRpa*E7hp0c@%CINCUn16%dZRfjm6jszRWGUPA)OV$z!_zUlsZ@z5T6U zFaoRJUM+_VAhIFBV=13+gg@@PjClki`8($QInkK3n)iAKyYvr2F^G=)QyV_iT`x`9 zguV^>D-~Yyj#rGmjfN&-Qo9=iJj$--#oQH7gnYUbGfCeLOEoU%yk&{67$BH3n*fq% zRE&K%gox;vf&fGtRwM`>DUDc-Q<_;7^Ud9SRK**G?ssg$L`+m{5w;P!GZ}N`1Hq%I zF-hry(Qr+}1HOl6htPRSJ)GEu*Qv{VgLdu}{fgP>23fz#^Ju@ORJXpG=GpP@%|he7 z2oWSQ#R3U(NCNchJId)=IcMJEFrp`9J_Bc8LYy3UpHUW)R@61!uwrUu<1{kMT_J}Z zL{>6JaFH%5q1SdpO58i0oi+3Z5P>ix=%$9c$EvC_2`vZP`-8`(T5RgKmP&a>jlrmM zcfk)*za37h)+9{U*<`fd4VwIXe6YBHC=(-yOT(4+ek7>;EYX_0q*T3KLhCg%ANBlZ zmC!S#J1SC`cCP@C#K#T_O5IBrOAI8@^2jalU?c+@E{BfE5Fi~lC>SmnFsv>e`*p;Gy3fO anm?mp8jZxgal)S#fQrIX`Eoh)p#K2u4(VS2 diff --git a/diagrams/hop.png b/diagrams/hop.png new file mode 100644 index 0000000000000000000000000000000000000000..0f77c69f584b553c8cb455a458a57a5369af40ce GIT binary patch literal 2874 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 Ye^MiS5S$Zx5&!@I07*qoM6N<$f>b(y(f|Me literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 8bc682e..339053f 100644 --- a/index.html +++ b/index.html @@ -673,7 +673,7 @@

effect

-	                effect ::= act | set | def | run | use | pop
+	                effect ::= act | set | def | run | use | pop | hop
                 
@@ -682,6 +682,27 @@

effect

+
+

hop

+

+ A hop statement specifies an ancestry return point from the current node. Recall that DMPL follows a + natural tree-like structure, the ancestors mentioned here refer to the parent, grandparent, etc. of the + current node. +

+
+
+                    hop ::= '"hop"' ':' digit
+                
+
+
+ Hop railroad diagram +
Hop
+
+
+                "@hop": 3
+            
+
+

act

@@ -754,6 +775,11 @@

def

When an operator is called, def and set statements inside the body of the operator will only create local symbols that shadow symbols in the enclosing scope.

+

+ Note that in order to enforce pure custom operator's in DMPL, statements with + side effects such as act and run are not recommended within the body of a user defined + custom operator. +

 	                def ::= '"@def"' ':' expression ',' '"val"' ':' statement