diff options
Diffstat (limited to 'html/filesystem.mu.html')
-rw-r--r-- | html/filesystem.mu.html | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/html/filesystem.mu.html b/html/filesystem.mu.html index 0654ec5e..22714e7f 100644 --- a/html/filesystem.mu.html +++ b/html/filesystem.mu.html @@ -54,26 +54,26 @@ if ('onhashchange' in window) { </head> <body onload='JumpToLine();'> <pre id='vimCodeElement'> -<a name="L1"></a><span id="L1" class="LineNr"> 1 </span><span class="Comment"># example program: copy one file into another, character by character</span> -<a name="L2"></a><span id="L2" class="LineNr"> 2 </span><span class="Comment"># BEWARE: this will modify your file system</span> -<a name="L3"></a><span id="L3" class="LineNr"> 3 </span><span class="Comment"># before running it, put some text into /tmp/mu-x</span> -<a name="L4"></a><span id="L4" class="LineNr"> 4 </span><span class="Comment"># after running it, check /tmp/mu-y</span> -<a name="L5"></a><span id="L5" class="LineNr"> 5 </span> -<a name="L6"></a><span id="L6" class="LineNr"> 6 </span><span class="muRecipe">def</span> main [ -<a name="L7"></a><span id="L7" class="LineNr"> 7 </span> <span class="Constant">local-scope</span> -<a name="L8"></a><span id="L8" class="LineNr"> 8 </span> source-file:&:source:char <span class="Special"><-</span> start-reading <span class="Constant">0/real-filesystem</span>, <span class="Constant">[/tmp/mu-x]</span> -<a name="L9"></a><span id="L9" class="LineNr"> 9 </span> sink-file:&:sink:char, write-routine:num <span class="Special"><-</span> start-writing <span class="Constant">0/real-filesystem</span>, <span class="Constant">[/tmp/mu-y]</span> -<a name="L10"></a><span id="L10" class="LineNr">10 </span> <span class="Delimiter">{</span> -<a name="L11"></a><span id="L11" class="LineNr">11 </span> c:char, done?:bool, source-file <span class="Special"><-</span> read source-file -<a name="L12"></a><span id="L12" class="LineNr">12 </span> <span class="muControl">break-if</span> done? -<a name="L13"></a><span id="L13" class="LineNr">13 </span> sink-file <span class="Special"><-</span> write sink-file, c -<a name="L14"></a><span id="L14" class="LineNr">14 </span> <span class="muControl">loop</span> -<a name="L15"></a><span id="L15" class="LineNr">15 </span> <span class="Delimiter">}</span> -<a name="L16"></a><span id="L16" class="LineNr">16 </span> close sink-file -<a name="L17"></a><span id="L17" class="LineNr">17 </span> <span class="Comment"># make sure to wait for the file to be actually written to disk</span> -<a name="L18"></a><span id="L18" class="LineNr">18 </span> <span class="Comment"># (Mu practices structured concurrency: <a href="http://250bpm.com/blog:71)">http://250bpm.com/blog:71)</a></span> -<a name="L19"></a><span id="L19" class="LineNr">19 </span> wait-for-routine write-routine -<a name="L20"></a><span id="L20" class="LineNr">20 </span>] +<span id="L1" class="LineNr"> 1 </span><span class="Comment"># example program: copy one file into another, character by character</span> +<span id="L2" class="LineNr"> 2 </span><span class="Comment"># BEWARE: this will modify your file system</span> +<span id="L3" class="LineNr"> 3 </span><span class="Comment"># before running it, put some text into /tmp/mu-x</span> +<span id="L4" class="LineNr"> 4 </span><span class="Comment"># after running it, check /tmp/mu-y</span> +<span id="L5" class="LineNr"> 5 </span> +<span id="L6" class="LineNr"> 6 </span><span class="muRecipe">def</span> main [ +<span id="L7" class="LineNr"> 7 </span> <span class="Constant">local-scope</span> +<span id="L8" class="LineNr"> 8 </span> source-file:&:source:char <span class="Special"><-</span> start-reading <span class="Constant">0/real-filesystem</span>, <span class="Constant">[/tmp/mu-x]</span> +<span id="L9" class="LineNr"> 9 </span> sink-file:&:sink:char, write-routine:num <span class="Special"><-</span> start-writing <span class="Constant">0/real-filesystem</span>, <span class="Constant">[/tmp/mu-y]</span> +<span id="L10" class="LineNr">10 </span> <span class="Delimiter">{</span> +<span id="L11" class="LineNr">11 </span> c:char, done?:bool, source-file <span class="Special"><-</span> read source-file +<span id="L12" class="LineNr">12 </span> <span class="muControl">break-if</span> done? +<span id="L13" class="LineNr">13 </span> sink-file <span class="Special"><-</span> write sink-file, c +<span id="L14" class="LineNr">14 </span> <span class="muControl">loop</span> +<span id="L15" class="LineNr">15 </span> <span class="Delimiter">}</span> +<span id="L16" class="LineNr">16 </span> close sink-file +<span id="L17" class="LineNr">17 </span> <span class="Comment"># make sure to wait for the file to be actually written to disk</span> +<span id="L18" class="LineNr">18 </span> <span class="Comment"># (Mu practices structured concurrency: <a href="http://250bpm.com/blog:71)">http://250bpm.com/blog:71)</a></span> +<span id="L19" class="LineNr">19 </span> wait-for-routine write-routine +<span id="L20" class="LineNr">20 </span>] </pre> </body> </html> |