[Question]
  [
Write a [quine](http://en.wikipedia.org/wiki/Quine_%28computing%29) that consists of real English words separated by single spaces. A "word" is defined as a string containing only lowercase and uppercase letters (`/[a-zA-Z]+/` in regex). To be "real" your word must be recognized by the [official Scrabble dictionary](https://play.hasbro.com/scrabble/dictionary).
I'm using the Scrabble dictionary since it gives a definitive answer on what is and isn't valid. There are too many gray areas with a normal dictionary. Note that "A" and "I" (not to mention "quine") are not valid scrabble words.
Since writing a quine *only* using letters and spaces is close to impossible in most programming languages, you have the option to replace the single spaces between words with a character of your choice. You also have the option to append characters to the front of the first word and the end of the last word. These added characters may be anything (including newlines and non-ASCII) **except letters (a-z, A-Z)**. There is a penalty for adding them though (see Scoring.)
# Details
* As usual, the quines may not read or access their own source code. (I'd say that [HQ9+'s](http://esolangs.org/wiki/HQ9+) Q command violates this.)
* Output should go to stdout or a similar alternative. There is no input.
* The words do not need to be capitalized correctly. They can have caps and lowercase anywhere. The sequence of words does not need to make any sense.
* No word may be used more than 3 times in your program. Differently capitalized words are still the same word (e.g. 'DOG', 'dog', and 'dOg' are all the same word).
* Using languages like PHP or HTML that can just [cat](http://en.wikipedia.org/wiki/Cat_%28Unix%29) out their contents is considered a trivial loophole and is not allowed.
* The program must contain at least one word.
# Scoring
Your score is the number of "real words" in your program plus these penalties:
* +1 for every space that was replaced with another character
* nn for every n characters you added before the first word (yes, that's n to the power n)
* nn for every n characters you added after the last word
For example, the program
```
We all LIKE PROgraMmING
```
would score 4 because it contains 4 words; no characters were added or replaced any spaces. It's output would of course be `We all LIKE PROgraMmING`.
The program
```
!We@all LIKE#PROgraMmING- =
```
would score 4 + 2 + 1 + 27 = 34; 4 for the words, 2 for the replaced spaces, 1 for the `!` at the front, and 27 for the `- =` at the end. It's output would of course be `!We@all LIKE#PROgraMmING- =`.
**The lowest score wins.** Tiebreaker goes to the answer with the fewest penalty points. If there's still a tie the highest voted answer wins.
  
[Answer]
# [><>](http://esolangs.org/wiki/Fish), 25 words + (22 + 11 + 11) extra = ~~57~~ 49
Oh god, my brain.
```
'brr3deep*clap6beep+orb5flap*leap4deep+clap5beep5flap*leap9deep9clap*beep+flap0placed apple alp0leap=clip?lob8blip*flip0clip.
```
Since the rules state "There is no input.", for this program to work you'll need to pipe in an empty file.
Oh and yes, `brr` is a valid Scrabble word, as are `tsktsk` and `pfft`.
## Explanation
First of all, the following words are no-ops:
```
deep clap beep flap leap clip blip flip
```
This is because of two reasons:
* `abcdefl` push numbers (10, 11, 12, 13, 14, 15 and the length of the stack respectively). In addition, `i` pushes -1 if EOF is met, seeing as there is no input.
* The `p` command pops three chars `v,y,x` and places `v` at the position `x,y`.
Yes, ><> lets you modify the source code on the fly! We don't really make use of that though, as we only need the `p` for popping.
If we get rid of these no-ops, we get:
```
'brr3*6+orb5*4+55*99*+0placed apple alp0=?lob8*0.
```
In a similar way, the `laced app` part of `placed apple` and the `e alp` part of `apple alp` are also no-ops, and the `rr` of `brr` just reverses the stack twice, which we can also remove:
```
'b3*6+orb5*4+55*99*+0pl0=?lob8*0.
```
Finally, something that looks like a regular ><> program! The idea is to make use of the standard ><> quine, which works like so:
* The initial `'` starts string parsing, pushing every char met until we hit another `'`
* We keep pushing chars until the end of the line, at which point we wrap the instruction pointer back to the start (since ><> is toroidal)
* We land on the initial `'` again, and *stop* string parsing. The result is that we've pushed every single char in the program (except the initial `'`) onto the stack.
Then the following happens:
```
b3*6+o                Print the initial ' quote (ASCII 39)
r                     Reverse the stack
b5*4+                 Push a ';' (ASCII 59)
55*99*+0p             Replace the 'l' of 'lob' with ';'
(print loop)
l0=?;                 If the stack is empty, terminate. Otherwise...
o                     Print the top of the stack
b8*0.                 Jump back to the beginning of the loop
```
[Answer]
# golfscript, 8 words + 8 symbols = ~~20~~ 16 (3?)
```
{four"words.written~twice"four}words.written~twice
```
The words are just a filler, the core is a tiny quine core:
```
{".~"}.~
```
Duplicates and evaluates a function that just appends the instructions to duplicate and evaluate itself. When a function is printed, it is stringified automatically. This is the smallest quine that does *something*.
Or we could just use a function literal that never gets evaluated. But it feels like cheating...
```
{whatever}
```
[Answer]
# [Chicken](http://torso.me/chicken), 1 word
I'm not normally into esolangs, but this one seemed perfect for this. I *think* this is a true quine:
```
chicken
```
Pushes 1 chicken to the stack. The stack is then displayed.
[Answer]
# Python 2, 58 = 37 words + 21 punctuation marks
```
programming=puzzle=hash and'fear=coerce and"programming=puzzle=hash and%rif reload else fire;exec prog"or English;ramming=None or"ramming"if license else pirate;print fear%puzzle+ramming'if reload else fire;exec programming
```
With some newlines added:
```
programming=puzzle=hash and'fear=coerce and"programming=puzzle=hash
and%rif reload else fire;exec prog"or English;ramming=None or
"ramming"if license else pirate;print fear%puzzle+ramming'
if reload else fire;exec programming
```
The three uses per word restriction was what made this one difficult to write. I wanted to use the string with all the code more than 3 times, and every string had to be insulated with `if else and or` operators which I only had a limited supply of.
[Answer]
# R, 2 words + 1 replacement + 1¹ trailing = 4
Objects which aren't assigned to anything are just printed to stdout. Since an expression is an object, the following code prints itself:
```
expression(puppy)
```
---
Previous submission, 5 points:
```
function(hello)hello
```
[Answer]
# [Vyxal](https://github.com/Vyxal/Vyxal), 2 words + \$1^1 +1 = 4\$
```
`qUEued`qUEued
```
[Try it Online!](https://vyxal.pythonanywhere.com/#WyIiLCIiLCJgcVVFdWVkYHFVRXVlZCIsIiIsIiJd)
Gosh this took ages to find.
Vyxal's a SBCS language, meaning most of its characters are unicode ones that we cannot use here. But it's still fairly usable without those.
The easiest way to make Vyxal quines is using the format ``code`code`, where the code prepends a backtick and doubles the result, or similar - this is pretty much exactly what the above program does.
```
`qUEued`       # Data string
        q      # Unevaluate; enclose in backticks
         U     # Uniquify, removing the trailing backtick
          E    # Evaluate as Python; NOP
           ue  # Extend to length -1; NOP
             d # Double, creating the quine!
```
[Answer]
# Julia, 1 word + 1¹ preceding = 2
Julia has objects called symbols which are defined using a preceding `:`. Much like my R solution, this just prints when submitted.
```
:puppy
```
[Answer]
# DOS command line, 10
```
& was unexpected at this time.
```
Error quine, not banned it seems
[Answer]
# [Runic Enchantments](https://github.com/Draco18s/RunicEnchantments/tree/Console), Score 4+3+11+11 = 9
```
"hOt3OX4NOt+kNOt@
```
[Try it online!](https://tio.run/##KyrNy0z@/18pw7/E2D/CxM@/RDsbSDj8/w8A "Runic Enchantments – Try It Online")
Words: `hot ox not knot` (4)  
Replacements: `3 4 +` (3)  
Before: `"` (1)  
After: `@` (1)
All of the characters `GNOQWghtxz` are no-op in Runic (as well as space and period, but more spaces doesn't help scoring). Including the `X` and `k` required for functionality, this gives the following available word list:
```
5 Letter Word(s)
  thong
4 Letter Word(s)
  gong goth gowk gown hogg hong honk howk knot know nogg nowt tong town wonk wont zonk
3 Letter Word(s)
  got gox hog hon hot how nog noh not now nth own tho tog ton tow two who wok won wot
2 Letter Word(s)
  go ho no oh on ow ox to wo
```
I cherry picked based on the needs of the space it was going into and making it sound funny.
Removing all NOP characters gives the following quine:
```
"3X4+k@
```
[Try it online!](https://tio.run/##KyrNy0z@/1/JOMJEO9vh/38A "Runic Enchantments – Try It Online")
[Answer]
# [huh?](https://github.com/kade-robertson/pythuhn/blob/master/pythuhn.py) - 1 word + 1\*\*1/1^1=1 char after the word = 2 total score.
```
Ouch!
```
`Ouch!` is a valid quine in huh?
Run it like `pythuhn.py Ouch!`, and there cannot be a file named `Ouch!` in the current directory.
[Answer]
# [Pip](https://github.com/dloscutoff/pip), 8 words + (6 + 11) = 15
```
HA:saY"HA:saY eyRIE:HARPy"eyRIE:HARPy
```
Includes a trailing newline. [Try it online!](https://tio.run/##K8gs@P/fw9GqODFSCUIppFYGebpaeTgGBVQqIbG5/v8HAA "Pip – Try It Online")
### Explanation
This is an expansion of the repr-based quine `Y"Y yRsRPy"yRsRPy`.
```
HA:saY"HA:saY eyRIE:HARPy"eyRIE:HARPy
HA:s                                   Assign space character to the variable HA
    a                                  No-op
     Y"HA:saY eyRIE:HARPy"             Yank that string into the y variable
                          e            No-op
                           yR          In y, replace
                                HA     HA (space)
                             IE:       (and also assign space character to IE)
                                  RPy  with the repr of y (in this case, y wrapped in quotes)
                                       Autoprint (implicit)
```
The trailing newline is necessary because autoprint outputs a trailing newline.
[Answer]
# [Actually](https://github.com/Mego/Seriously), 10 + 9 + 1 = 20
```
"AB9FAce+AE;Ah+AL"AB9FAce+AE;Ah+AL
```
[Try it online!](https://tio.run/##S0wuKU3Myan8/1/J0cnSzTE5VdvR1doxQ9vRB0OA6/9/AA "Actually – Try It Online")
Invalid instructions do nothing in Actually,
and removing them gives this:
```
"9FAc+;+"9FAc+;+
"9FAc+;+"        # String literal
         9FA     # Push abs(9th fibonacci number) = 34
            c    # 34th ascii character is "
             +   # Append the " to the start of the string
              ;+ # Append the string to itself
```
]