Skip to content

Instantly share code, notes, and snippets.

@cielavenir
Created June 20, 2014 02:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cielavenir/04abb18b4fee851dca07 to your computer and use it in GitHub Desktop.
Save cielavenir/04abb18b4fee851dca07 to your computer and use it in GitHub Desktop.
「CodeIQ 2周年!」をLazyKで出力 ref: http://qiita.com/cielavenir/items/f4428c6a2aefbf8af532
`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s``s`ksk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk``s`k``s``s`ksk``skk```s``skk``skk``s``s`ksk``skk`k``s``s``skk`k``s`k``s``s`ksk``skk``s``s`ksk```s``skk``skk``s``s`ksk``skk`k`k```s``skk``skk```s``skk``skk``s``s`ksk``skk
#!/usr/bin/ruby
#coding:utf-8
def compile_codepoints(a)
defined={0=>1,1=>1,2=>1,4=>1,256=>1}
a.each{|e|
n=e
while n>0
if n%2>0
if !defined[n]
puts "(lazy-def #{n} '(1+ #{n-1}))"
defined[n]=1
end
n-=1
end
if !defined[n]
puts "(lazy-def #{n} '(* 2 #{n/2}))"
defined[n]=1
end
n/=2
end
}
end
STR="CodeIQ 2周年!\n"
puts <<EOM
(load "../lazier.scm")
(load "../prelude.scm")
EOM
compile_codepoints(STR.bytes.to_a)
puts <<EOM
(lazy-def '(ans in)
EOM
print "'"
STR.bytes.each{|e|print "(cons #{e} "}
print 'end-of-output'
STR.bytes.each{|e|print ")"}
puts
puts <<EOM
)
(print-as-unlambda (laze 'ans))
EOM
(load "../lazier.scm")
(load "../prelude.scm")
(lazy-def 67 '(1+ 66))
(lazy-def 66 '(* 2 33))
(lazy-def 33 '(1+ 32))
(lazy-def 32 '(* 2 16))
(lazy-def 16 '(* 2 8))
(lazy-def 8 '(* 2 4))
(lazy-def 111 '(1+ 110))
(lazy-def 110 '(* 2 55))
(lazy-def 55 '(1+ 54))
(lazy-def 54 '(* 2 27))
(lazy-def 27 '(1+ 26))
(lazy-def 26 '(* 2 13))
(lazy-def 13 '(1+ 12))
(lazy-def 12 '(* 2 6))
(lazy-def 6 '(* 2 3))
(lazy-def 3 '(1+ 2))
(lazy-def 100 '(* 2 50))
(lazy-def 50 '(* 2 25))
(lazy-def 25 '(1+ 24))
(lazy-def 24 '(* 2 12))
(lazy-def 101 '(1+ 100))
(lazy-def 73 '(1+ 72))
(lazy-def 72 '(* 2 36))
(lazy-def 36 '(* 2 18))
(lazy-def 18 '(* 2 9))
(lazy-def 9 '(1+ 8))
(lazy-def 81 '(1+ 80))
(lazy-def 80 '(* 2 40))
(lazy-def 40 '(* 2 20))
(lazy-def 20 '(* 2 10))
(lazy-def 10 '(* 2 5))
(lazy-def 5 '(1+ 4))
(lazy-def 239 '(1+ 238))
(lazy-def 238 '(* 2 119))
(lazy-def 119 '(1+ 118))
(lazy-def 118 '(* 2 59))
(lazy-def 59 '(1+ 58))
(lazy-def 58 '(* 2 29))
(lazy-def 29 '(1+ 28))
(lazy-def 28 '(* 2 14))
(lazy-def 14 '(* 2 7))
(lazy-def 7 '(1+ 6))
(lazy-def 188 '(* 2 94))
(lazy-def 94 '(* 2 47))
(lazy-def 47 '(1+ 46))
(lazy-def 46 '(* 2 23))
(lazy-def 23 '(1+ 22))
(lazy-def 22 '(* 2 11))
(lazy-def 11 '(1+ 10))
(lazy-def 146 '(* 2 73))
(lazy-def 229 '(1+ 228))
(lazy-def 228 '(* 2 114))
(lazy-def 114 '(* 2 57))
(lazy-def 57 '(1+ 56))
(lazy-def 56 '(* 2 28))
(lazy-def 145 '(1+ 144))
(lazy-def 144 '(* 2 72))
(lazy-def 168 '(* 2 84))
(lazy-def 84 '(* 2 42))
(lazy-def 42 '(* 2 21))
(lazy-def 21 '(1+ 20))
(lazy-def 185 '(1+ 184))
(lazy-def 184 '(* 2 92))
(lazy-def 92 '(* 2 46))
(lazy-def 180 '(* 2 90))
(lazy-def 90 '(* 2 45))
(lazy-def 45 '(1+ 44))
(lazy-def 44 '(* 2 22))
(lazy-def 129 '(1+ 128))
(lazy-def 128 '(* 2 64))
(lazy-def 64 '(* 2 32))
(lazy-def '(ans in)
'(cons 67 (cons 111 (cons 100 (cons 101 (cons 73 (cons 81 (cons 32 (cons 239 (cons 188 (cons 146 (cons 229 (cons 145 (cons 168 (cons 229 (cons 185 (cons 180 (cons 239 (cons 188 (cons 129 (cons 10 end-of-output))))))))))))))))))))
)
(print-as-unlambda (laze 'ans))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment