3 /* Dynamics werken alleen met de 32-bit versie van de Clean compiler.
4 (*) Gebruik Environment 'Experimental'
5 (*) In Project:Project Options: zet vlag 'Enable dynamics' aan
8 import StdDynamic, StdDynamicFileIO // nodig voor dynamics en dynamics in files
9 import StdFileSelect // platform file-selector dialoog
13 //fib = [fib` i \\ i <- [0..]]
17 // fib` n = fib` (n-1) + fib` (n-2)
19 //Start :: *World -> (Bool, *World)
20 //Start world = writeDynamic "fib" (dynamic fib) world
22 makeSeq :: Dynamic -> [Int]
23 makeSeq (x :: [Int]) = x
24 makeSeq _ = abort "You selected a file not containing a sequence"
26 loadSeq :: String *World -> *([Int], *World)
28 # s = let l = size s in s % (0, l-5)
29 # (ok, dyn, world) = readDynamic s world
30 | not ok = abort "You didn't select a dynamic file"
31 | otherwise = (makeSeq dyn, world)
33 Start :: *World -> ([Int], *World)
35 # (inputfilepath, world) = selectInputFile world
36 | isNothing inputfilepath = abort "Please select a file"
37 # (sequence, world) = loadSeq (fromJust inputfilepath) world
38 | otherwise = (take 20 sequence, world)