#!/usr/bin/env ghc
-- the following error-provable roman czyborra space thesis
-- ©©-by-sa czyborra@campus.tu-berlin.de 2013-10-30
-- expresses that אל nature is governed by one tiny deterministic lex radicalis
-- hereby creatively expressed in Y2K+13-human-graspable haskell formulae
-- later definitely expressable less considerate and more mind-blowing
-- above all dedicated 2 alan & alfred from the turing & einstein tribes
-- who expressed major inspirations & harvested tragic obstacles
-- 2 studiendirektorin hellwig who taught us the ability 2 count is what counts
-- 2 professor penn-karras who memorizes all her math
-- 2 dietrich dörner for saying we have only understood what we can build by ourselves
-- 2 joscha bach for his αφορισμοσ that intelligence is motivated cognition
-- 2 olove hartmann who preached children must learn to walk backwards to learn math
-- & whom i miss the hardest due to his lonely drowning in this blind and ignorant hell
module Mature where
-- since max планк and his followers observed smallest quantum granularities
-- in natural effects and since it is considered radiometrically proven
-- that our universe must have been expanding ever since some urknall
-- and since konrad zuse conjectured in rechnender raum the concept of
-- digital physics that physique might just be digital information processing
-- the most likely initial space configuration is
urknall = [[['1']]]
test_0 = urknall
-- charles darwin and karl popper observed
-- that small evolutionary steps drive history
steps g0 step = g0 : steps (step g0) step
test_1 = take 11 (steps 1 (* 2))
-- wolfram researched finite sections of infinite
-- elementary 1-dimensional cellular automata
-- who map in single instruction multiple data parallelism
-- three neighboring cells into each new cell value
triples (a:b:c:d) = [a,b,c] : triples (b:c:d)
triples _ = []
test_2 = triples "0110110"
-- wolfram found 2 αμφιχιραλ turing universal regulae
-- that do not generate ενεργεια 1 out of cold 000 namely
-- rule 124 is the universal expansion generation rule
-- rule 110 is the universal reflexion generation rule
update3cells _ "000" = '0'
update3cells 124 "001" = '0'
update3cells 110 "100" = '0'
update3cells _ "111" = '0'
update3cells _ _ = '1'
addblanksfor 124 cellrow = triples ("0" ++ cellrow ++ "00")
addblanksfor 110 cellrow = triples ("00" ++ cellrow ++ "0")
updatecellrow by = map (update3cells by) . (addblanksfor by)
test_3 = updatecellrow 124 "1011100101"
-- the hitherto missing link published neither by wolfram nor google nor wolfram
-- is my personally added geometric synthesis as an expanding and rotating
-- cellular automaton with cubes in three location step dimensions over time steps
-- able to explain a universe with weakly attracting but loudly colliding masses
-- and strongly repelling but silently passing electric charges and
-- magnetic rotations underreputed as imaginary numbers rather than the core cause
heads = map head
tails = map tail
crossmap f m = if null m||null(head m) then [] else f(heads m):(crossmap f (tails m))
test_4 = (crossmap id) ["⠁⠂⠃⠄⠅⠆","123456","abcdef","абвгде","αβγδεф", "אבגדהו"]
xup by = map (map (updatecellrow by))
yup by = map (crossmap (updatecellrow by))
zup by = crossmap (map (updatecellrow by))
radiate = zup 110 . yup 110 . xup 110 . zup 124 . yup 124 . xup 124
test_5 = radiate urknall
hiqstory = steps urknall radiate
test_6 = hiqstory !! 6
test_7 = hiqstory !! 7