2021-04-18 10:23:24 +00:00
<!DOCTYPE html>
< html lang = "fr" >
< head >
< meta charset = "utf-8" >
< title > YBlog - Mandelbrot avec haskell< / title >
< meta name = "keywords" content = "mandelbrot, haskell, ASCII, golfed" / >
< link rel = "shortcut icon" type = "image/x-icon" href = "../../../../Scratch/img/favicon.ico" / >
2022-10-26 09:38:50 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../../css/y.css" / >
2021-05-25 20:25:47 +00:00
< link rel = "stylesheet" type = "text/css" href = "/css/legacy.css" / >
< link rel = "alternate" type = "application/rss+xml" title = "RSS" href = "/rss.xml" / >
2021-04-18 10:23:24 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< link rel = "apple-touch-icon" href = "../../../../Scratch/img/about/FlatAvatar@2x.png" / >
<!-- [if lt IE 9]>
< script src = "http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > < / script >
<![endif]-->
<!-- IndieAuth -->
< link href = "https://twitter.com/yogsototh" rel = "me" >
< link href = "https://github.com/yogsototh" rel = "me" >
< link href = "mailto:yann.esposito@gmail.com" rel = "me" >
< link rel = "pgpkey" href = "../../../../pubkey.txt" >
< / head >
< body lang = "fr" class = "article" >
< div id = "content" >
< div id = "header" >
< div id = "choix" >
< span id = "choixlang" >
< a href = "../../../../Scratch/en/blog/Haskell-Mandelbrot/" > Anglais< / a >
< / span >
< span class = "tomenu" > < a href = "#navigation" > ↓ Menu ↓< / a > < / span >
< span class = "flush" > < / span >
< / div >
< / div >
< div id = "titre" >
< h1 > Mandelbrot avec haskell< / h1 >
< / div >
< div class = "flush" > < / div >
< div id = "afterheader" class = "article" >
< div class = "corps" >
< p > Voici le code “obfusqué” :< / p >
< div class = "sourceCode" id = "cb1" > < pre class = "sourceCode haskell" > < code class = "sourceCode haskell" > < a class = "sourceLine" id = "cb1-1" title = "1" > a< span class = "ot" > =< / span > < span class = "dv" > 27< / span > ;b< span class = "ot" > =< / span > < span class = "dv" > 79< / span > ;c< span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "op" > -< / span > < span class = "fl" > 2.0< / span > ,< span class = "op" > -< / span > < span class = "fl" > 1.0< / span > );d< span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fl" > 1.0< / span > ,< span class = "fl" > 1.0< / span > );e< span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "op" > -< / span > < span class = "fl" > 2.501< / span > ,< span class = "op" > -< / span > < span class = "fl" > 1.003< / span > )< / a >
< a class = "sourceLine" id = "cb1-2" title = "2" > < span class = "kw" > newtype< / span > < span class = "dt" > C< / span > < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "dt" > Double< / span > ,< span class = "dt" > Double< / span > ) < span class = "kw" > deriving< / span > (< span class = "dt" > Show< / span > ,< span class = "dt" > Eq< / span > )< / a >
< a class = "sourceLine" id = "cb1-3" title = "3" > < span class = "kw" > instance< / span > < span class = "dt" > Num< / span > < span class = "dt" > C< / span > < span class = "kw" > where< / span > < span class = "dt" > C< / span > (x,y)< span class = "op" > *< / span > < span class = "dt" > C< / span > (z,t)< span class = "ot" > =< / span > < span class = "dt" > C< / span > (z< span class = "op" > *< / span > x< span class = "op" > -< / span > y< span class = "op" > *< / span > t,y< span class = "op" > *< / span > z< span class = "op" > +< / span > x< span class = "op" > *< / span > t);< span class = "dt" > C< / span > (x,y)< span class = "op" > +< / span > < span class = "dt" > C< / span > (z,t)< span class = "ot" > =< / span > < span class = "dt" > C< / span > (x< span class = "op" > +< / span > z,y< span class = "op" > +< / span > t);< span class = "fu" > abs< / span > (< span class = "dt" > C< / span > (x,y))< span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fu" > sqrt< / span > (x< span class = "op" > *< / span > x< span class = "op" > +< / span > y< span class = "op" > *< / span > y),< span class = "fl" > 0.0< / span > )< / a >
< a class = "sourceLine" id = "cb1-4" title = "4" > r(< span class = "dt" > C< / span > (x,y))< span class = "ot" > =< / span > x;i(< span class = "dt" > C< / span > (x,y))< span class = "ot" > =< / span > y< / a >
< a class = "sourceLine" id = "cb1-5" title = "5" > f c z < span class = "dv" > 0< / span > < span class = "ot" > =< / span > < span class = "dv" > 0< / span > ;f c z n< span class = "ot" > =< / span > < span class = "kw" > if< / span > (r(< span class = "fu" > abs< / span > (z))< span class = "op" > > < / span > < span class = "dv" > 2< / span > )< span class = "kw" > then< / span > n < span class = "kw" > else< / span > f c ((z< span class = "op" > *< / span > z)< span class = "op" > +< / span > c) (n< span class = "op" > -< / span > < span class = "dv" > 1< / span > )< / a >
< a class = "sourceLine" id = "cb1-6" title = "6" > h j k < span class = "ot" > =< / span > < span class = "fu" > map< / span > (\z< span class = "ot" > -> < / span > (f (< span class = "dt" > C< / span > z) (< span class = "dt" > C< / span > (< span class = "dv" > 0< / span > ,< span class = "dv" > 0< / span > )) < span class = "dv" > 32< / span > ,(< span class = "fu" > fst< / span > z< span class = "op" > > < / span > l < span class = "op" > -< / span > q< span class = "op" > /< / span > < span class = "dv" > 2< / span > ))) [(x,y)< span class = "op" > |< / span > y< span class = "ot" > < -< / span > [p,(p< span class = "op" > +< / span > ((o< span class = "op" > -< / span > p)< span class = "op" > /< / span > a))< span class = "op" > ..< / span > o],x< span class = "ot" > < -< / span > [m,(m < span class = "op" > +< / span > q)< span class = "op" > ..< / span > l]] < span class = "kw" > where< / span > o< span class = "ot" > =< / span > i k;p< span class = "ot" > =< / span > i j;m< span class = "ot" > =< / span > r j;l< span class = "ot" > =< / span > r k;q< span class = "ot" > =< / span > (l< span class = "op" > -< / span > m)< span class = "op" > /< / span > b< / a >
< a class = "sourceLine" id = "cb1-7" title = "7" > u j k < span class = "ot" > =< / span > < span class = "fu" > concat< / span > < span class = "op" > $< / span > < span class = "fu" > map< / span > v < span class = "op" > $< / span > h j k < span class = "kw" > where< / span > v (i,p)< span class = "ot" > =< / span > (< span class = "st" > " .,`'°\" :;-+oO0123456789=!%*§& $@#" < / span > < span class = "op" > !!< / span > i)< span class = "op" > :< / span > rst p;rst < span class = "dt" > True< / span > < span class = "ot" > =< / span > < span class = "st" > " \n" < / span > ;rst < span class = "dt" > False< / span > < span class = "ot" > =< / span > < span class = "st" > " " < / span > < / a >
< a class = "sourceLine" id = "cb1-8" title = "8" > main < span class = "ot" > =< / span > < span class = "fu" > putStrLn< / span > < span class = "op" > $< / span > im < span class = "dv" > 0< / span > < span class = "kw" > where< / span > cl n (< span class = "dt" > C< / span > (x,y))< span class = "ot" > =< / span > < span class = "kw" > let< / span > cs< span class = "ot" > =< / span > (< span class = "fl" > 1.1< / span > < span class = "op" > **< / span > n< span class = "op" > -< / span > < span class = "dv" > 1< / span > ) < span class = "kw" > in< / span > < span class = "dt" > C< / span > ((x< span class = "op" > +< / span > cs< span class = "op" > *< / span > (r e))< span class = "op" > /< / span > cs< span class = "op" > +< / span > < span class = "dv" > 1< / span > ,(y< span class = "op" > +< / span > cs< span class = "op" > *< / span > (i e))< span class = "op" > /< / span > cs< span class = "op" > +< / span > < span class = "dv" > 1< / span > );bl n< span class = "ot" > =< / span > cl n c;tr n< span class = "ot" > =< / span > cl n d;im n< span class = "ot" > =< / span > u (bl n) (tr n)< span class = "op" > ++< / span > < span class = "st" > " \x1b[H\x1b[25A" < / span > < span class = "op" > ++< / span > im (n< span class = "op" > +< / span > < span class = "dv" > 1< / span > )< / a > < / code > < / pre > < / div >
< p > Pour le lancer, < a href = "http://haskell.org" > haskell< / a > doit être installé. Puis vous devez écrire dans un terminal :< / p >
< p > < code class = "zsh" > ghc – make animandel.hs & & animandel< / code > < / p >
< p > Voici le résultat après 50 itérations.< / p >
< pre >
###@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & & & & WWOOClbUOWW& & $$$$$$$$$$$$$$
##@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&WWUCUb; ,jUOWW& & & $$$$$$$$$$$$
#@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & & WWWWWUb ooCWW& & & & & & $$$$$$$$
@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & WWWWWWWWOU uUOWWWW& & & & & & $$$$$
@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & & WOUObUOOOUUUCbi rbCUUUOWWWWWOUW& $$$
@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & & & & & WWWUcr,iiCb o wUUUUUC;OW& $$
$$$$$$$$$$$$$$$$$$$$$$$$$$& & & & & & & & & & WWWWOUC, j llW& & $
$$$$$$$$$$$$$$$$$$$$$& & & & & & & & & & & & WWWWWWOCCbi bWWW& &
$$$$$$$$$$$$$$$$$& & WWWWWWW& & & WWWWWWWWOUo jUOWW& &
$$$$$$$$$$$$$$& & & WWOwOOWWWOUUOWWWWWOOUbw j.blW&
$$$$$$$$$$$& & & & & WWWObiijbUCl bCiUUUUUCj, bOW&
$$$$$$$$$& & & & & & & WWWOUbw ; oobCbl jUWW&
$$$$$$$& & & & & & & WWWWOcbi ij jUW& &
$$$$$& & WWWWWWWOwUUCbw WW& &
WWWOWWWWWWWWWUUbo UWWW& &
: wbUOWW& & &
WWWOWWWWWWWWWUUbo UWWW& &
$$$$$& & WWWWWWWOwUUCbw WW& &
$$$$$$$& & & & & & & WWWWOcbi ij jUW& &
$$$$$$$$$& & & & & & & WWWOUbw ; oobCbl jUWW&
$$$$$$$$$$$& & & & & WWWObiijbUCl bCiUUUUUCj, bOW&
$$$$$$$$$$$$$$& & & WWOwOOWWWOUUOWWWWWOOUbw j.blW&
$$$$$$$$$$$$$$$$$& & WWWWWWW& & & WWWWWWWWOUo jUOWW& &
$$$$$$$$$$$$$$$$$$$$$& & & & & & & & & & & & WWWWWWOCCbi bWWW& &
$$$$$$$$$$$$$$$$$$$$$$$$$$& & & & & & & & & & WWWWOUC, j llW& & $
@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$& & & & & & WWWUcr,iiCb o wUUUUUC;OW& $$
< / pre >
< p > Here is the more readable version. I believe with this far more readable version, no more explanation is needed.< / p >
< div class = "sourceCode" id = "cb2" > < pre class = "sourceCode haskell" > < code class = "sourceCode haskell" > < a class = "sourceLine" id = "cb2-1" title = "1" > nbvert < span class = "ot" > =< / span > < span class = "dv" > 30< / span > < / a >
< a class = "sourceLine" id = "cb2-2" title = "2" > nbhor < span class = "ot" > =< / span > < span class = "dv" > 79< / span > < / a >
< a class = "sourceLine" id = "cb2-3" title = "3" > zoomfactor < span class = "ot" > =< / span > < span class = "fl" > 1.01< / span > < / a >
< a class = "sourceLine" id = "cb2-4" title = "4" > init_bottom_left < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "op" > -< / span > < span class = "fl" > 2.0< / span > ,< span class = "op" > -< / span > < span class = "fl" > 2.0< / span > )< / a >
< a class = "sourceLine" id = "cb2-5" title = "5" > init_top_right < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fl" > 3.0< / span > ,< span class = "fl" > 2.0< / span > )< / a >
< a class = "sourceLine" id = "cb2-6" title = "6" > interrest < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "op" > -< / span > < span class = "fl" > 1.713< / span > ,< span class = "op" > -< / span > < span class = "fl" > 0.000< / span > )< / a >
< a class = "sourceLine" id = "cb2-7" title = "7" > < / a >
< a class = "sourceLine" id = "cb2-8" title = "8" > < span class = "kw" > newtype< / span > < span class = "dt" > Complex< / span > < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "dt" > Float< / span > ,< span class = "dt" > Float< / span > ) < span class = "kw" > deriving< / span > (< span class = "dt" > Show< / span > ,< span class = "dt" > Eq< / span > )< / a >
< a class = "sourceLine" id = "cb2-9" title = "9" > < span class = "kw" > instance< / span > < span class = "dt" > Num< / span > < span class = "dt" > Complex< / span > < span class = "kw" > where< / span > < / a >
< a class = "sourceLine" id = "cb2-10" title = "10" > < span class = "fu" > fromInteger< / span > n < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fu" > fromIntegral< / span > n,< span class = "fl" > 0.0< / span > )< / a >
< a class = "sourceLine" id = "cb2-11" title = "11" > < span class = "dt" > C< / span > (x,y) < span class = "op" > *< / span > < span class = "dt" > C< / span > (z,t) < span class = "ot" > =< / span > < span class = "dt" > C< / span > (z< span class = "op" > *< / span > x < span class = "op" > -< / span > y< span class = "op" > *< / span > t, y< span class = "op" > *< / span > z < span class = "op" > +< / span > x< span class = "op" > *< / span > t)< / a >
< a class = "sourceLine" id = "cb2-12" title = "12" > < span class = "dt" > C< / span > (x,y) < span class = "op" > +< / span > < span class = "dt" > C< / span > (z,t) < span class = "ot" > =< / span > < span class = "dt" > C< / span > (x< span class = "op" > +< / span > z, y< span class = "op" > +< / span > t)< / a >
< a class = "sourceLine" id = "cb2-13" title = "13" > < span class = "fu" > abs< / span > (< span class = "dt" > C< / span > (x,y)) < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fu" > sqrt< / span > (x< span class = "op" > *< / span > x < span class = "op" > +< / span > y< span class = "op" > *< / span > y),< span class = "fl" > 0.0< / span > )< / a >
< a class = "sourceLine" id = "cb2-14" title = "14" > < span class = "fu" > signum< / span > (< span class = "dt" > C< / span > (x,y)) < span class = "ot" > =< / span > < span class = "dt" > C< / span > (< span class = "fu" > signum< / span > x , < span class = "fl" > 0.0< / span > )< / a >
< a class = "sourceLine" id = "cb2-15" title = "15" > < / a >
< a class = "sourceLine" id = "cb2-16" title = "16" > < span class = "ot" > real ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < / a >
< a class = "sourceLine" id = "cb2-17" title = "17" > real (< span class = "dt" > C< / span > (x,y)) < span class = "ot" > =< / span > x< / a >
< a class = "sourceLine" id = "cb2-18" title = "18" > < span class = "ot" > im ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < / a >
< a class = "sourceLine" id = "cb2-19" title = "19" > im (< span class = "dt" > C< / span > (x,y)) < span class = "ot" > =< / span > y< / a >
< a class = "sourceLine" id = "cb2-20" title = "20" > < / a >
< a class = "sourceLine" id = "cb2-21" title = "21" > < span class = "ot" > cabs ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < / a >
< a class = "sourceLine" id = "cb2-22" title = "22" > cabs < span class = "ot" > =< / span > real< span class = "op" > .< / span > < span class = "fu" > abs< / span > < / a >
< a class = "sourceLine" id = "cb2-23" title = "23" > < / a >
< a class = "sourceLine" id = "cb2-24" title = "24" > < span class = "ot" > f ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Int< / span > < span class = "ot" > -> < / span > < span class = "dt" > Int< / span > < / a >
< a class = "sourceLine" id = "cb2-25" title = "25" > f c z < span class = "dv" > 0< / span > < span class = "ot" > =< / span > < span class = "dv" > 0< / span > < / a >
< a class = "sourceLine" id = "cb2-26" title = "26" > f c z n < span class = "ot" > =< / span > < span class = "kw" > if< / span > (cabs z < span class = "op" > > < / span > < span class = "dv" > 2< / span > ) < span class = "kw" > then< / span > n < span class = "kw" > else< / span > f c ((z< span class = "op" > *< / span > z)< span class = "op" > +< / span > c) (n< span class = "op" > -< / span > < span class = "dv" > 1< / span > ) < / a >
< a class = "sourceLine" id = "cb2-27" title = "27" > < / a >
< a class = "sourceLine" id = "cb2-28" title = "28" > bmandel bottomleft topright < span class = "ot" > =< / span > < span class = "fu" > map< / span > (\z < span class = "ot" > -> < / span > (f (< span class = "dt" > C< / span > z) (< span class = "dt" > C< / span > (< span class = "dv" > 0< / span > ,< span class = "dv" > 0< / span > )) < span class = "dv" > 32< / span > , (< span class = "fu" > fst< / span > z < span class = "op" > > < / span > right < span class = "op" > -< / span > hstep< span class = "op" > /< / span > < span class = "dv" > 2< / span > ))) [(x,y) < span class = "op" > |< / span > y < span class = "ot" > < -< / span > [bottom,(bottom < span class = "op" > +< / span > vstep)< span class = "op" > ..< / span > top], x< span class = "ot" > < -< / span > [left,(left < span class = "op" > +< / span > hstep)< span class = "op" > ..< / span > right]]< / a >
< a class = "sourceLine" id = "cb2-29" title = "29" > < span class = "kw" > where< / span > < / a >
< a class = "sourceLine" id = "cb2-30" title = "30" > top < span class = "ot" > =< / span > im topright< / a >
< a class = "sourceLine" id = "cb2-31" title = "31" > bottom < span class = "ot" > =< / span > im bottomleft< / a >
< a class = "sourceLine" id = "cb2-32" title = "32" > left < span class = "ot" > =< / span > real bottomleft< / a >
< a class = "sourceLine" id = "cb2-33" title = "33" > right < span class = "ot" > =< / span > real topright< / a >
< a class = "sourceLine" id = "cb2-34" title = "34" > vstep< span class = "ot" > =< / span > (top< span class = "op" > -< / span > bottom)< span class = "op" > /< / span > nbvert< / a >
< a class = "sourceLine" id = "cb2-35" title = "35" > hstep< span class = "ot" > =< / span > (right< span class = "op" > -< / span > left)< span class = "op" > /< / span > nbhor< / a >
< a class = "sourceLine" id = "cb2-36" title = "36" > < / a >
< a class = "sourceLine" id = "cb2-37" title = "37" > < span class = "ot" > mandel ::< / span > (< span class = "dt" > Complex< / span > ,< span class = "dt" > Complex< / span > ) < span class = "ot" > -> < / span > < span class = "dt" > String< / span > < / a >
< a class = "sourceLine" id = "cb2-38" title = "38" > mandel (bottomleft,topright) < span class = "ot" > =< / span > < span class = "fu" > concat< / span > < span class = "op" > $< / span > < span class = "fu" > map< / span > treat < span class = "op" > $< / span > bmandel bottomleft topright< / a >
< a class = "sourceLine" id = "cb2-39" title = "39" > < span class = "kw" > where< / span > < / a >
< a class = "sourceLine" id = "cb2-40" title = "40" > treat (i,jump) < span class = "ot" > =< / span > < span class = "st" > " .,:;rcuowijlbCUOW& $@#" < / span > < span class = "op" > !!< / span > (< span class = "fu" > div< / span > (i< span class = "op" > *< / span > < span class = "dv" > 22< / span > ) < span class = "dv" > 32< / span > )< span class = "op" > :< / span > rst jump< / a >
< a class = "sourceLine" id = "cb2-41" title = "41" > rst < span class = "dt" > True< / span > < span class = "ot" > =< / span > < span class = "st" > " \n" < / span > < / a >
< a class = "sourceLine" id = "cb2-42" title = "42" > rst < span class = "dt" > False< / span > < span class = "ot" > =< / span > < span class = "st" > " " < / span > < / a >
< a class = "sourceLine" id = "cb2-43" title = "43" > < / a >
< a class = "sourceLine" id = "cb2-44" title = "44" > < span class = "ot" > cdiv ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < span class = "ot" > -> < / span > < span class = "dt" > Complex< / span > < / a >
< a class = "sourceLine" id = "cb2-45" title = "45" > cdiv (< span class = "dt" > C< / span > (x,y)) r < span class = "ot" > =< / span > < span class = "dt" > C< / span > (x< span class = "op" > /< / span > r, y< span class = "op" > /< / span > r) < / a >
< a class = "sourceLine" id = "cb2-46" title = "46" > < span class = "ot" > cmul ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < span class = "ot" > -> < / span > < span class = "dt" > Complex< / span > < / a >
< a class = "sourceLine" id = "cb2-47" title = "47" > cmul (< span class = "dt" > C< / span > (x,y)) r < span class = "ot" > =< / span > < span class = "dt" > C< / span > (x< span class = "op" > *< / span > r, y< span class = "op" > *< / span > r) < / a >
< a class = "sourceLine" id = "cb2-48" title = "48" > < / a >
< a class = "sourceLine" id = "cb2-49" title = "49" > < span class = "ot" > zoom ::< / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Complex< / span > < span class = "ot" > -> < / span > < span class = "dt" > Float< / span > < span class = "ot" > -> < / span > (< span class = "dt" > Complex< / span > ,< span class = "dt" > Complex< / span > )< / a >
< a class = "sourceLine" id = "cb2-50" title = "50" > zoom bl tr center magn < span class = "ot" > =< / span > (f bl, f tr)< / a >
< a class = "sourceLine" id = "cb2-51" title = "51" > < span class = "kw" > where< / span > < / a >
< a class = "sourceLine" id = "cb2-52" title = "52" > f point < span class = "ot" > =< / span > ((center < span class = "ot" > `cmul`< / span > magn) < span class = "op" > +< / span > point ) < span class = "ot" > `cdiv`< / span > (magn < span class = "op" > +< / span > < span class = "dv" > 1< / span > )< / a >
< a class = "sourceLine" id = "cb2-53" title = "53" > < / a >
< a class = "sourceLine" id = "cb2-54" title = "54" > main < span class = "ot" > =< / span > < span class = "kw" > do< / span > < / a >
< a class = "sourceLine" id = "cb2-55" title = "55" > x < span class = "ot" > < -< / span > < span class = "fu" > getContents< / span > < / a >
< a class = "sourceLine" id = "cb2-56" title = "56" > < span class = "fu" > putStrLn< / span > < span class = "op" > $< / span > infinitemandel < span class = "dv" > 0< / span > < / a >
< a class = "sourceLine" id = "cb2-57" title = "57" > < span class = "kw" > where< / span > < / a >
< a class = "sourceLine" id = "cb2-58" title = "58" > window n < span class = "ot" > =< / span > zoom init_bottom_left init_top_right interrest (zoomfactor< span class = "op" > **< / span > n) < / a >
< a class = "sourceLine" id = "cb2-59" title = "59" > infinitemandel n < span class = "ot" > =< / span > mandel (window n) < span class = "op" > ++< / span > < span class = "st" > " \x1b[H\x1b[25A" < / span > < span class = "op" > ++< / span > infinitemandel (n< span class = "op" > +< / span > < span class = "dv" > 1< / span > )< / a > < / code > < / pre > < / div >
< / div >
< div id = "afterarticle" >
< div id = "social" >
2021-05-25 20:25:47 +00:00
< a href = "/rss.xml" target = "_blank" rel = "noopener noreferrer nofollow" class = "social" > RSS< / a >
2021-04-18 10:23:24 +00:00
·
< a href = "https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/%20via%20@yogsototh" target = "_blank" rel = "noopener noreferrer nofollow" class = "social" > Tweet< / a >
·
< a href = "http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fyannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/" target = "_blank" rel = "noopener noreferrer nofollow" class = "social" > FB< / a >
< br / >
< a class = "message" href = "../../../../Scratch/fr/blog/Social-link-the-right-way/" > Ces liens sociaux préservent votre vie privée< / a >
< / div >
< div id = "navigation" >
< a href = "../../../../" > Accueil< / a >
< span class = "sep" > ¦< / span >
< a href = "../../../../Scratch/fr/blog" > Blog< / a >
< span class = "sep" > ¦< / span >
< a href = "../../../../Scratch/fr/softwares" > Logiciels< / a >
< span class = "sep" > ¦< / span >
< a href = "../../../../Scratch/fr/about" > Auteur< / a >
< / div >
< div id = "totop" > < a href = "#header" > ↑ Top ↑< / a > < / div >
< div id = "bottom" >
< div >
Published on 2011-07-10
< / div >
< div >
< a href = "https://twitter.com/yogsototh" > Follow @yogsototh< / a >
< / div >
< div >
< a rel = "license" href = "http://creativecommons.org/licenses/by/3.0/deed.en_US" > Yann Esposito©< / a >
< / div >
< div >
Done with
< a href = "http://www.vim.org" target = "_blank" rel = "noopener noreferrer nofollow" > < strike > Vim< / strike > < / a >
< a href = "http://spacemacs.org" target = "_blank" rel = "noopener noreferrer nofollow" > spacemacs< / a >
< span class = "pala" > & < / span >
< a href = "http://nanoc.ws" target = "_blank" rel = "noopener noreferrer nofollow" > < strike > nanoc< / strike > < / a >
< a href = "http://jaspervdj.be/hakyll" target = "_blank" rel = "noopener noreferrer nofollow" > Hakyll< / a >
< / div >
2022-10-26 09:26:08 +00:00
2021-04-18 10:23:24 +00:00
< / div >
< / div >
< / div >
< / div >
< / body >
< / html >