From 1ead356219bb2eb59487d1012f837bd07ec336f5 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 8 Mar 2016 01:30:14 -0800 Subject: 2735 - define recipes using 'def' I'm dropping all mention of 'recipe' terminology from the Readme. That way I hope to avoid further bike-shedding discussions while I very slowly decide on the right terminology with my students. I could be smarter in my error messages and use 'recipe' when code uses it and 'function' otherwise. But what about other words like ingredient? It would all add complexity that I'm not yet sure is worthwhile. But I do want separate experiences for veteran programmers reading about Mu on github and for people learning programming using Mu. --- sandbox/004-programming-environment.mu | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'sandbox/004-programming-environment.mu') diff --git a/sandbox/004-programming-environment.mu b/sandbox/004-programming-environment.mu index 78aca5ae..8c6e58cb 100644 --- a/sandbox/004-programming-environment.mu +++ b/sandbox/004-programming-environment.mu @@ -1,6 +1,6 @@ ## putting the environment together out of editors -recipe! main [ +def! main [ local-scope open-console initial-sandbox:address:shared:array:character <- new [] @@ -19,7 +19,7 @@ container programming-environment-data [ current-sandbox:address:shared:editor-data ] -recipe new-programming-environment screen:address:shared:screen, initial-sandbox-contents:address:shared:array:character -> result:address:shared:programming-environment-data, screen:address:shared:screen [ +def new-programming-environment screen:address:shared:screen, initial-sandbox-contents:address:shared:array:character -> result:address:shared:programming-environment-data, screen:address:shared:screen [ local-scope load-ingredients width:number <- screen-width screen @@ -39,7 +39,7 @@ recipe new-programming-environment screen:address:shared:screen, initial-sandbox ] -recipe event-loop screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data -> screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data [ +def event-loop screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data -> screen:address:shared:screen, console:address:shared:console, env:address:shared:programming-environment-data [ local-scope load-ingredients current-sandbox:address:shared:editor-data <- get *env, current-sandbox:offset @@ -136,7 +136,7 @@ recipe event-loop screen:address:shared:screen, console:address:shared:console, } ] -recipe resize screen:address:shared:screen, env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data, screen:address:shared:screen [ +def resize screen:address:shared:screen, env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data, screen:address:shared:screen [ local-scope load-ingredients clear-screen screen # update screen dimensions @@ -152,7 +152,7 @@ recipe resize screen:address:shared:screen, env:address:shared:programming-envir *cursor-column <- copy 0 ] -recipe render-all screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen [ +def render-all screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ local-scope load-ingredients trace 10, [app], [render all] @@ -178,7 +178,7 @@ recipe render-all screen:address:shared:screen, env:address:shared:programming-e ] # replaced in a later layer -recipe render-sandbox-side screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen [ +def render-sandbox-side screen:address:shared:screen, env:address:shared:programming-environment-data -> screen:address:shared:screen, env:address:shared:programming-environment-data [ local-scope load-ingredients current-sandbox:address:shared:editor-data <- get *env, current-sandbox:offset @@ -193,7 +193,7 @@ recipe render-sandbox-side screen:address:shared:screen, env:address:shared:prog clear-screen-from screen, row, left, left, right ] -recipe update-cursor screen:address:shared:screen, current-sandbox:address:shared:editor-data, env:address:shared:programming-environment-data -> screen:address:shared:screen [ +def update-cursor screen:address:shared:screen, current-sandbox:address:shared:editor-data, env:address:shared:programming-environment-data -> screen:address:shared:screen [ local-scope load-ingredients @@ -204,10 +204,10 @@ recipe update-cursor screen:address:shared:screen, current-sandbox:address:share # print a text 's' to 'editor' in 'color' starting at 'row' # clear rest of last line, move cursor to next line -recipe render screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, color:number, row:number -> row:number, screen:address:shared:screen [ +def render screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, color:number, row:number -> row:number, screen:address:shared:screen [ local-scope load-ingredients - reply-unless s + return-unless s column:number <- copy left screen <- move-cursor screen, row, column screen-height:number <- screen-height screen @@ -265,10 +265,10 @@ recipe render screen:address:shared:screen, s:address:shared:array:character, le ] # like 'render' for texts, but with colorization for comments like in the editor -recipe render-code screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, row:number -> row:number, screen:address:shared:screen [ +def render-code screen:address:shared:screen, s:address:shared:array:character, left:number, right:number, row:number -> row:number, screen:address:shared:screen [ local-scope load-ingredients - reply-unless s + return-unless s color:number <- copy 7/white column:number <- copy left screen <- move-cursor screen, row, column @@ -340,6 +340,6 @@ after [ ] # dummy -recipe restore-sandboxes env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data [ +def restore-sandboxes env:address:shared:programming-environment-data -> env:address:shared:programming-environment-data [ # do nothing; redefined later ] -- cgit 1.4.1-2-gfad0