Skip to content

Instantly share code, notes, and snippets.

@makenowjust
Created February 14, 2014 05:59
Show Gist options
  • Save makenowjust/8996455 to your computer and use it in GitHub Desktop.
Save makenowjust/8996455 to your computer and use it in GitHub Desktop.
Haskellで書かれた木口アイコン型のQuineです
{ a(f) (x,y
)=(f $x,y );g(_)(x)[] =(x,[]);g(_)[]c =([] ,c) ;g(_
)x( []:c )=a(n :)$g(1 )x$c;g(1)x((0:m) :c)=g (2)x$ m:c;
g(1) x((z: m):c )=a(b :)$g( 1)x$( z-1:m ):c; g(2)
x((0 :z): c)=g( 1)x$z:c; g (2)(x :r)(( m:z):c)=a(x:
)$g( 2)r$ (m-1 :z):c;h(_) (_)(x )[]=x ;h(_)(_)[]c
=[ ];h( _)(f )x([ ]:c)= z:n: h(1) (f)x(c );h
(1)(1 )x((0
:m
):c)=z:h(2)(0)x(m:c);h
(1)(0)x((0:m):c)=h(2)(0)x(m:c);h(
1)(f)x((z:m):c)=b:h(1)(f)x((z-1:m):c);h(
2)(f)x((0:z):c)=h(1)(f)x(z:c);h(2)(_)x((1:[])
:c)=z:n:h(1)(1)x(c);h(2)(_)x@('\\':_)((2:[]):c)=z:
n:h(1)(1)x(c);h(2)(f)(x:r)((m:z):c)=x:h(2)(f)r((m-1:z
):c);(x,y)=g(1)(s)c;c=map(map((+(-8*1*2*3-(1+1)*0*1*2)).
fromEnum))$lines$f;(z:n:r:b:_)="\\\n;\x20"{-Author_and_Copyri
ght=>@make_now_just;Special_Thanks(Original_Illustration)=>@Kig
uchi1902-};d=x++h(2)0((show$f)++",e$"++(show$s))(y)++")}";main=
putStr$d;e=filter(/=b);(f,s)=(e$"@1F4K4\n94342;4?242364\n0364356\
\63@151544\n044544652555253444\n143455383165253<\n2424642:85254;\
\\n421484142564445613\n5595\n72\nMF\nGQ\nDX\nA]\n?b\n=e\n<h\n9m\n\
\8o\n8o\n7q\n7q\n7q\n7p\n772C3Q\n863A4Q\n863A4P\n863A4O\n863A4N\
\\n683A4 N\n593B3O\n4r\n4r\n 4q\n5n\n7N6F\n:L5@\n>J2>\nDN\nQA\
\\nRB\n RD\nRE\nRF\n",e$" {a(f)(x,y)=(f$x,y);g(_)(x)[]=(x,\
\[]);g( _)[]c=([],c);g(_) x([]:c)=a(n:)$g(1)x$c;g(1)x((0:\
\m):c)= g(2)x$m:c;g(1)x(( z:m):c)=a(b:)$g(1)x$(z-1:m):c;\
\g(2)x( (0:z):c)=g(1)x$z: c;g(2)(x:r)((m:z):c)=a(x:)$g(\
\2)r$(m-1 :z):c;h(_)(_)(x)[ ]=x;h(_)(_)[]c=[];h(_)(f)x([]\
\:c)=z:n:h (1)(f)x(c);h(1)(1) x((0:m):c)=z:h(2)(0)x(m:c);h(1\
\)(0)x((0:m):c)=h(2)(0)x(m:c);h(1)(f)x((z:m):c)=b:h(1)(f)x((z-1:m)\
\:c);h(2)(f)x((0:z):c)=h(1)(f)x(z:c);h(2)(_)x((1:[]):c)=z:n:h(1)(1\
\)x(c);h(2)(_)x@('\\\\':_)((2:[]):c)=z:n:h(1)(1)x(c);h(2)(f)(x:r)\
\((m:z):c)=x:h(2)(f)r((m-1:z):c);(x,y)=g(1)(s)c;c=map(map((+(-\
\8*1*2*3-(1+1)*0*1*2)).fromEnum ))$lines$f;(z:n:r:b:_\
\)=\"\\\\\\n;\\x20\"{-Author_ and_Copyright=>\
\@make_now_just;Special_Tha nks(Original_\
\Illustration)=>@Kiguchi1902-}\
\;d=x++h(2)0((sho\
\w$f)++\",e$\"++(s\
\how$s))(y)++\")}\";\
\main=putStr$d;e=filt\
\er(/=b);(f,s)=(e$")}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment