README.md

changeset 17
c4c2ab568324
parent 14
adf8eb3a1df9
child 20
8b80aa64adec
equal deleted inserted replaced
16:fc1ce359bb51 17:c4c2ab568324
37 julia> using AlgTools 37 julia> using AlgTools
38 ``` 38 ```
39 39
40 This package is not and is not planned to be available via `Pkg.add` as it is based on the worst and must unusable version control system ever invented: Git. 40 This package is not and is not planned to be available via `Pkg.add` as it is based on the worst and must unusable version control system ever invented: Git.
41 41
42 ## Iterative algorithms example 42 ## Iterative algorithms in a functional fashion
43 43
44 The package includes `simple_iterate` which helps separating the computational step of iterative algorithms for visualisation routines. It is merely intended to serve as a template, as different applications require different visualisation routines to be implemented in a replacement of `simple_iterate`. The computational step is implemented as a `do`-block anonymous function that gets passed another function is a parameter for doing the verbosity on request. Example: 44 The package includes `simple_iterate` which helps separating the computational step of iterative algorithms from visualisation and other reporting routines.
45 It is merely intended to serve as a template, as different applications require different visualisation routines to be implemented in a replacement of `simple_iterate`; in particular [ImageTools][] implements its own version.
46
47 The approach is heavily indebted to functional programming.
48 The computational step is to be implemented as a `do`-block anonymous function.
49 That function gets passed another function `verbose` as a parameter.
50 To (potentially) report the current status, the computational step only needs to call `verbose` with yet another function as a parameter. Whether the status is actually reported—and whether it needs to be calculated—is decided by `verbose`, and its parameter called as needed.
51
52 ### Simple example
45 53
46 ```julia 54 ```julia
47 using AlgTools.Iterate 55 using AlgTools.Iterate
48 56
49 params = (verbose_iter = 10, maxiter = 100,) 57 params = (verbose_iter = 10, maxiter = 100,)

mercurial