View Problem
Fun

produces a copy of its own source code

In computing, a quine is a computer program which produces a copy of its own source code as its only output.
DiskEdit
python
# adapted from a Quine by Sean B. Palmer

print (lambda s='print (lambda s=%r: (s %% s))()': (s % s))()
DiskEdit
python
x='x=%r;print(x%%x)';print(x%x)
DiskEdit
clojure
(def s"(def s%s)(printf s(pr-str s))")(printf s(pr-str s))
DiskEdit
fsharp
(fun s -> printf "%s %s" s s) "(fun s -> printf \"%s %s\" s s)"
DiskEdit
fantom
class Q
{
static Void main()
{
r := "class Q\n{\n static Void main()\n {\n r := "
s := "\n s := \n echo (r+r.toCode+s[0..9]+s.toCode+s[10..-1])\n }\n}"
echo (r+r.toCode+s[0..9]+s.toCode+s[10..-1])
}
}
DiskEdit
fantom
class Q{static Void main(){s:="class Q{static Void main(){s:=;c:=34.toChar;echo(s[0..<30]+c+s+c+s[30..-1]);}}";c:=34.toChar;echo(s[0..<30]+c+s+c+s[30..-1]);}}
DiskEdit
java 5.0 or later
public class Quine {public static void main(String[] args) {String s = "public class Quine {public static void main(String[] args) {String s = %c%s%c;System.out.printf(s, 34, s, 34);}}";System.out.printf(s, 34, s, 34);}}
DiskEdit
java 5.0 or later
public class Quine {
public static void main(String[] args) {
Character cq = (char) 34;
Character cn = (char) 10;
Character cs = (char) 92;
String s = "public class Quine {\n public static void main(String[] args) {\n Character cq = (char) 34;\n Character cn = (char) 10;\n Character cs = (char) 92;\n String s = %c%s%c;\n System.out.printf(s, cq, s.replace(cn.toString(), cs.toString() + 'n'), cq);\n }\n}";
System.out.printf(s, cq, s.replace(cn.toString(), cs.toString() + 'n'), cq);
}
}
DiskEdit
cpp
#include <cstdio>
#define B(x) x; printf("{ B(" #x ") }\n");
int main()
{ B(printf("#include <cstdio>\n#define B(x) x; printf(\"{ B(\" #x \") }\\n\");\nint main()\n")) }
DiskEdit
groovy
s="s=%s;printf s,s.inspect()";printf s,s.inspect()
DiskEdit
groovy
evaluate s='char q=39;print"evaluate s=$q$s$q"'
DiskEdit
groovy
s="s=%c%s%c;printf s,34,s,34";printf s,34,s,34
DiskEdit
groovy
s='s=%c%s%1$c;printf s,39,s';printf s,39,s
DiskEdit
groovy
printf _='printf _=%c%s%1$c,39,_',39,_

Submit a new solution for python, clojure, fsharp, fantom ...
There are 11 other solutions in additional languages (haskell, ocaml, perl, php ...)