Wide Periodic Table by Lost_dog

import List
main=mapM putStrLn$z++[z!!18]
z=map concat.t.(++[t["+||"]])=<<(snd$m((.groupBy(\_ k->'Z'<k)).m(!))1$words"HeJ\161H LiBeJ\137BCNOFNe NaMgJ\137AlSiPSClAr KCaJaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKr RbSrJaYZrNbMoTcRuRhPdAgCdInSnSbTeIXe CsBaLaCePrNdPmSmEuGdTbDyHoErTmYbLuHfTaWReOsIrPtAuHgTlPbBiPoAtRn FrRaAcThPaUNpPuACmBkCfEsFmMdNoLrRfDbSgBhHsMtDsRgCnUutUuqUupUuhUusUuo")
x%y=[length x..y]>>" "
n!"A"=n!"am"
n!['J',x]=(n,map(:(['+'..x]>>" "))"+||")
n!x=(n+1,["+---",'|':show n%2++show n,'|':take 1(x%2)++x++x%1])
m=mapAccumL
t=transpose

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page