(Arne Babenhauserheide)
2016-06-07: update examples/d20world to use the wisp reader update examples/d20world to use the wisp reader
diff --git a/examples/d20world.w b/examples/d20world.w
--- a/examples/d20world.w
+++ b/examples/d20world.w
@@ -1,4 +1,6 @@
-#!/home/arne/wisp/wisp-multiline.sh
+#!/usr/bin/env sh
+# -*- wisp -*-
+exec guile -L $(dirname $(dirname $(realpath "$0"))) --language=wisp -e '(@@ (examples d20world) main)' -s "$0" "$@"
; !#
; A world projected on a d20 (20-sided die, ikosaeder)
@@ -212,84 +214,86 @@ define : latlon2cellidx lat lon
. #t
-display : d20-as-text world
-newline
-
-format #t "Diffuse ~A\n" 0.01
-d20-diffuse world neighbors 0.01
-display : d20-as-text world
-newline
-format #t "Advect ~A\n" 0.1
-d20-advect world advection-directions 0.1
-display : d20-as-text world
-newline
-format #t "Diffuse ~A\n" 0.1
-d20-diffuse world neighbors 0.1
-display : d20-as-text world
-newline
-format #t "Diffuse: ~A*(~A)\n" 100 0.1
-let loop : : steps 100
- cond
- : = 0 steps
- . world
- else
- d20-diffuse world neighbors 0.1
- loop : 1- steps
-display : d20-as-text world
-newline
-let
- : number 20
- val 1
- format #t "disturb: ~A to ~A\n" number val
- vector-set! world (1- number) val
- display : d20-as-text world
- newline
-format #t "Diffuse ~A\n" 0.1
-d20-diffuse world neighbors 0.1
-display : d20-as-text world
-newline
-
-format #t "Advect: ~A*(~A)\n" 1000 0.001
-let loop : : steps 1000
- cond
- : = 0 steps
- . world
- else
- d20-advect world advection-directions 0.001
- display : d20-as-text world
- d20-cursor-up-text world
- loop : 1- steps
-display : d20-as-text world
-newline
-format #t "Diffuse: ~A*(~A)\n" 1000 0.004
-let loop : : steps 1000
- cond
- : = 0 steps
- . world
- else
- d20-diffuse world neighbors 0.004
- display : d20-as-text world
- d20-cursor-up-text world
- loop : 1- steps
-display : d20-as-text world
-newline
-format #t "Diffuse+Advect: ~A*(~A+~A)\n" 1000 0.002 0.001
-let loop : : steps 1000
- cond
- : = 0 steps
- . world
- else
- d20-diffuse world neighbors 0.002
- d20-advect world advection-directions 0.001
- display : d20-as-text world
- d20-cursor-up-text world
- loop : 1- steps
-display : d20-as-text world
-newline
-
-; now plot the result
-let : : port : open-output-pipe "python"
- format port "from mpl_toolkits.mplot3d import Axes3D, art3d
+define : main args
+ . "Test the code"
+ display : d20-as-text world
+ newline
+
+ format #t "Diffuse ~A\n" 0.01
+ d20-diffuse world neighbors 0.01
+ display : d20-as-text world
+ newline
+ format #t "Advect ~A\n" 0.1
+ d20-advect world advection-directions 0.1
+ display : d20-as-text world
+ newline
+ format #t "Diffuse ~A\n" 0.1
+ d20-diffuse world neighbors 0.1
+ display : d20-as-text world
+ newline
+ format #t "Diffuse: ~A*(~A)\n" 100 0.1
+ let loop : : steps 100
+ cond
+ : = 0 steps
+ . world
+ else
+ d20-diffuse world neighbors 0.1
+ loop : 1- steps
+ display : d20-as-text world
+ newline
+ let
+ : number 20
+ val 1
+ format #t "disturb: ~A to ~A\n" number val
+ vector-set! world (1- number) val
+ display : d20-as-text world
+ newline
+ format #t "Diffuse ~A\n" 0.1
+ d20-diffuse world neighbors 0.1
+ display : d20-as-text world
+ newline
+
+ format #t "Advect: ~A*(~A)\n" 1000 0.001
+ let loop : : steps 1000
+ cond
+ : = 0 steps
+ . world
+ else
+ d20-advect world advection-directions 0.001
+ display : d20-as-text world
+ d20-cursor-up-text world
+ loop : 1- steps
+ display : d20-as-text world
+ newline
+ format #t "Diffuse: ~A*(~A)\n" 1000 0.004
+ let loop : : steps 1000
+ cond
+ : = 0 steps
+ . world
+ else
+ d20-diffuse world neighbors 0.004
+ display : d20-as-text world
+ d20-cursor-up-text world
+ loop : 1- steps
+ display : d20-as-text world
+ newline
+ format #t "Diffuse+Advect: ~A*(~A+~A)\n" 1000 0.002 0.001
+ let loop : : steps 1000
+ cond
+ : = 0 steps
+ . world
+ else
+ d20-diffuse world neighbors 0.002
+ d20-advect world advection-directions 0.001
+ display : d20-as-text world
+ d20-cursor-up-text world
+ loop : 1- steps
+ display : d20-as-text world
+ newline
+
+ ; now plot the result
+ let : : port : open-output-pipe "python"
+ format port "from mpl_toolkits.mplot3d import Axes3D, art3d
import numpy as np
import scipy as sp
from matplotlib import cm
@@ -333,5 +337,4 @@ for i in range(points.shape[0]):
plt.show()
exit()\n"
- close-pipe port
-
+ close-pipe port