Clojure
Let’s find a unary function f and an argument x such that such that (f x) is exactly (f x).
It’s not hard to guess that this is going to involve self-referentiality. Therefore a good guess for x is 'f.
So let’s write our function f such that (f 'f) is (f 'f):
(defn f [x] '(f 'f))
(f 'f)
It works!
Now, we need to anonymize f.
So let’s rewite f in such a way that it will return (f 'f) not for all the arguments but only when we pass 'f to f:
(defn f [x] (list x (list 'quote x)))
(f 'f)
Now if we replace f by its definition, we get our quine:
((fn [x] (list x (list 'quote x))) '(fn [x] (list x (list 'quote x))))
Javascript
(function quine(){
console.log('(' + quine.toString() + ')();');
})();
HTML/CSS
Ruby
x = "x = %p; puts x %% x"; puts x % x
Scheme
((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))
Python
Python’s %r format conversion uses the repr() function to return a string containing the source code representation of its argument:
x = 'x = %r\nprint(x %% x)'
print(x % x)
With the new str.format:
x = 'x = {!r};print(x.format(x))';print(x.format(x))