[Question]
  [
You are to write a program that will output source code that is
1. Larger than the original program (character wise)
2. Will print another program larger than itself when run (i.e. the new program is also a valid answer to this challenge) indefinitely
This is code-golf, so shortest answer wins.
  
[Answer]
# [H9+](http://esolangs.org/wiki/H9+) : 1 char
```
9
```
That's right. One character. Outputs the lyrics to [99 bottles of beer](http://esolangs.org/wiki/99_bottles_of_beer), which is a valid program. All the extraneous data does not count, but there are plenty of `9`s in there.
The output of the outputted program is the lyrics to 99 bottles of beer 59 times.
This function gives the number of times the lyrics are outputted if you run the program `n` times (if my calculation is correct):
```
f(n) = 59n-1
```
[Answer]
# Java 7: 0 chars
Save as file `Blank.java`. If you save it as any other file, replace any instance of `Blank` with the appropriate file name.
Then, run in command line via first compiling, then running. If compiling fails, stop.
I list this as **Java 7** because it might output differently for different versions of Java.
First few outputs (outputted to stderr):
```
Error: Could not find or load main class Blank
```
```
Blank.java:1: error: class, interface, or enum expected
Error: Could not find or load main class Blank
^
Blank.java:1: error: reached end of file while parsing
Error: Could not find or load main class Blank
                                              ^
2 errors
```
```
Blank.java:1: error: class, interface, or enum expected
Blank.java:1: error: class, interface, or enum expected
^
Blank.java:1: error:  expected
Blank.java:1: error: class, interface, or enum expected
                          ^
Blank.java:1: error:  expected
Blank.java:1: error: class, interface, or enum expected
                                     ^
Blank.java:1: error: as of release 5, 'enum' is a keyword, and may not be used as an identifier
Blank.java:1: error: class, interface, or enum expected
                                          ^
  (use -source 1.4 or lower to use 'enum' as an identifier)
Blank.java:1: error: = expected
Blank.java:1: error: class, interface, or enum expected
                                               ^
Blank.java:2: error:  expected
Error: Could not find or load main class Blank
     ^
Blank.java:2: error: ';' expected
Error: Could not find or load main class Blank
      ^
Blank.java:2: error: = expected
Error: Could not find or load main class Blank
                      ^
Blank.java:2: error: = expected
Error: Could not find or load main class Blank
                                   ^
Blank.java:2: error:  expected
Error: Could not find or load main class Blank
                                              ^
Blank.java:3: error: = expected
^
^
Blank.java:3: error: ';' expected
^
 ^
Blank.java:4: error: illegal start of type
Blank.java:1: error: reached end of file while parsing
     ^
Blank.java:4: error: = expected
Blank.java:1: error: reached end of file while parsing
          ^
Blank.java:4: error: illegal start of type
Blank.java:1: error: reached end of file while parsing
           ^
Blank.java:4: error:  expected
Blank.java:1: error: reached end of file while parsing
            ^
Blank.java:4: error: = expected
Blank.java:1: error: reached end of file while parsing
          ^
Blank.java:4: error: illegal start of type
Blank.java:1: error: reached end of file while parsing
           ^
Blank.java:4: error:  expected
Blank.java:1: error: reached end of file while parsing
            ^
Blank.java:4: error: = expected
Blank.java:1: error: reached end of file while parsing
              ^
Blank.java:4: error: ';' expected
Blank.java:1: error: reached end of file while parsing
                   ^
Blank.java:4: error: = expected
Blank.java:1: error: reached end of file while parsing
                                 ^
Blank.java:4: error:  expected
Blank.java:1: error: reached end of file while parsing
                                        ^
Blank.java:4: error: = expected
Blank.java:1: error: reached end of file while parsing
                                         ^
Blank.java:4: error: ';' expected
Blank.java:1: error: reached end of file while parsing
                                              ^
Blank.java:5: error:  expected
Error: Could not find or load main class Blank
     ^
Blank.java:5: error: ';' expected
Error: Could not find or load main class Blank
      ^
Blank.java:5: error: = expected
Error: Could not find or load main class Blank
                      ^
Blank.java:5: error: = expected
Error: Could not find or load main class Blank
                                   ^
Blank.java:5: error:  expected
Error: Could not find or load main class Blank
                                              ^
Blank.java:6: error: = expected
                                              ^
                                              ^
Blank.java:6: error: ';' expected
                                              ^
                                               ^
Blank.java:7: error: reached end of file while parsing
2 errors
        ^
30 errors
```
[Answer]
# GolfScript, 9 chars
```
{.'.~'}.~
```
This code outputs:
```
{.'.~'}{.'.~'}.~
```
which outputs:
```
{.'.~'}{.'.~'}{.'.~'}.~
```
which outputs:
```
{.'.~'}{.'.~'}{.'.~'}{.'.~'}.~
```
and so on.
I believe this is the shortest answer in a "real" Turing-complete programming language so far.
### Explanation:
Basically, the original code above is a "quine-layer": it outputs a normal quine followed by itself.
In GolfScript, any code block literal (e.g. `{foo}`), if left undisturbed on the stack, is a quine. Thus, on its own, `{.'.~'}` simply outputs itself, just like any other code block would.
The `.~` at the end of the code takes the last code block on the stack, duplicates it, and executes the copy. When executed, the code `.'.~'` inside the code block duplicates the topmost item on the stack (i.e. the copy of itself) and appends the string `.~`.
At the end of the program, the GolfScript interpreter stringifies and outputs everything on the stack, which, in this case, consists of one more `{.'.~'}` block than in the input, plus the string `.~`.
### Bonus:
Adding a `]` before the first `.` (to collect all the code blocks on the stack into an array before they're duplicated) makes it grow exponentially:
```
{].'.~'}.~
```
outputs:
```
{].'.~'}{].'.~'}.~
```
which outputs:
```
{].'.~'}{].'.~'}{].'.~'}{].'.~'}.~
```
which outputs:
```
{].'.~'}{].'.~'}{].'.~'}{].'.~'}{].'.~'}{].'.~'}{].'.~'}{].'.~'}.~
```
and so on.
[Answer]
# [GS2 (8636bd8e)](https://github.com/nooodl/gs2/tree/8636bd8), 0 bytes
This prints a single newline, which prints two newlines, which prints three newlines, et cetera.
[Try it online!](https://tio.run/##RY3PCoJAGMTP7lPMC7RmgQhRl@psBz2H7m6uSH6LfgYSPfsm2p85DcP8Zsqit94rh1WHkByHVb8JJaSoaoayRjU0MJJ4G5c6MYJpUBaKtBHiRh2uqFs8Iymj9WsHTSIwyhL2k3BMT@fZiUAVvECBG9lSi@lFunHOcMB04Qb@s0jz7JJn@LHfwv3xscuaptZ4/wY "Bash – Try It Online")
[Answer]
## HQ9+, HQ9++ and similars, 2 characters
```
QQ
```
This is the output:
```
QQQQ
```
[Answer]
# Ruby 27
A very slightly modified version of [this](http://www.justskins.com/forums/shortest-nozero-ruby-quine-122609.html) ([via](https://stackoverflow.com/questions/2474861/shortest-ruby-quine)):
```
puts <<3*3,3
puts <<3*3,3
3
```
The number of times that `puts`-line is printed grows exponentially.
```
$ ruby quine.rb | ruby | ruby
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
puts <<3*3,3
3
$ ruby quine.rb | ruby | ruby | ruby | ruby | ruby | ruby | ruby | wc -l
    3283
```
[Answer]
## Lambda Calculus - 29
A simple lambda term
```
(λu.(u u)(u u))(λu.(u u)(u u))
```
Reducing this term by one beta reduction yields
```
((λu.(u u)(u u))(λu.(u u)(u u)))((λu.(u u)(u u))(λu.(u u)(u u)))
```
And so on and so on. It's a simple variant on the classic `(λu.u u)(λu.u u)` which is a quine in lambda calculus, double self application here means we get twice the output.
[Answer]
# SH script, 9
```
cat $0 $0
```
Grows at exponential rate.
Either run as `sh whatever.sh` or set it as executable.
Windows version is [here](https://codegolf.stackexchange.com/a/21934/16504).
[Answer]
# dc 11
Quite simple:
```
6579792
dfP
```
The first line is repeated once every generation:
```
$ dc growing_quine.dc
6579792
6579792
dfP
$ dc growing_quine.dc | dc | dc 
6579792
6579792
6579792
6579792
dfP
```
The last line consists of the following instructions: `d` duplicates the last value put on the stack (6579792) (so that we get one more copy each time we run it), `f` prints the whole stack (which is a bunch of that same number) and `P` prints the number (6579792) out as a byte stream, which displays as `dfP`.
[Answer]
# redcode (recursive solution)
This is the code of the easiest warrior writable in *redcode*, the famous Imp:
```
MOV 0, 1
```
When executed, the code writes a copy of its single instruction at the next address in memory; then executes it, etc.
[Answer]
# Python 3 - 55
```
print(open(__file__).read())
f=lambda:print('f()')
f()
```
This could be made shorter by replacing \_\_ file\_\_ with a single character filename and saving the file as that, but I felt this answer was more in the spirit of the question. After one iteration it outputs:
```
print(open(__file__).read())
f=lambda:print('f()')
f()
f()
```
[Answer]
# Smalltalk, 125 61 57
The golf version looks almost unreadable so I'll explain first (and use real identifiers).
This is a variant of the "weirdest-way-to-produce-a-stack-overflow" self modifying method.
The method prints out a hello message, and its current source (for the demonstration only). Then, the code is modified to output a longer string and installed. Finally, the new code is called recursively.
In order to protect myself from an immediate runaway, it lets the user confirm in each cycle.
compile in Object:
```
eatMe_alice
   |msg mySource|
   mySource := thisContext method source.
   '**** Hello Alice' printCR.
   '  ---- my current code is:' printCR.
   mySource printCR.
   '  ---------------' printCR.
   (UserConfirmation confirm:'Again? ') ifTrue:[
       Object compile:
            (mySource
                copyReplaceString:'Hello ','Alice'
                withString:'Hello ','Alice !').
       self eatMe_alice
   ]
```
start the show by sending "eatMe\_alice" to any Object; nil will do:
`nil eatMe_alice`
A nice variant is to not call the new code recursively, but instead iteratively, by unwindig the call stack and reentering into the new method. This has the advantage of not leading to a recursion exception. To do this, replace the recursive call ("self eatMe\_alice") by:
```
thisContext resend
```
Golfing:
Obviously, printing and self calling was not asked for, so the shortest (for golf) is to simply append a comment to my own source and return it. As a side effect, it also gets installed for the next call...
```
x|s|Object compile:(s:=thisContext method source,'""').^s
```
[Answer]
# Evoloop, 9×9 rectangle (81 cells)
The [Evoloop cellular automaton included with Golly](https://github.com/gollygang/ruletablerepository/wiki/TheRules) supports patterns which replicate themselves in a "quine-like" way. Specifically, these patterns each contain a "program"; a pattern reproduces itself by first executing the program (which creates the "body" of the daughter), and then by copying the program into the daughter.
The above applies to the more famous "Langton's Loops" cellular automaton as well as Evoloop, but Evoloop has an interesting difference, which is that it's easy to create a pattern which grows in each successive generation.
(Much *more* interesting, in my opinion, is the fact that Evoloop is a simple cellular automaton which contains patterns which reproduce themselves and evolve in a very life-like manner! I think the only known cellular automata which do this are Evoloop and its descendants. A shortcoming of Evoloop, however, is that there is one particular "best" genome; evolution always eventually converges to this one genome.)
Now, there are two shortcomings to this submission. One is that it's not clear what the "output" of a cellular automaton is. But I think that a self-reproducing automaton is "close enough" to being a quine; it's certainly no less interesting! The other shortcoming is that these patterns don't merely create a single copy of themselves; *each* copy of the original pattern attempts to create infinitely many copies of itself, and these copies end up interacting with each other in a destructive manner. So, I think I've met the requirements of this challenge in spirit, but not in letter.
Without further ado, the pattern is:
```
022222220
270170172
212222202
202000212
272000272
212000202
202222212
271041032
022222250
```
Here's the pattern again, in a format that can be copied and pasted into Golly:
```
x = 9, y = 9, rule = Evoloop
.7B$BG.AG.AGB$BA5B.B$B.B3.BAB$BGB3.BGB$BAB3.B.B$B.5BAB$BGA.DA.CB$.6BE
!
```
Okay, but what does it look like? It looks like this:
[![A pattern in a cellular automaton which creates increasingly large copies of itself.](https://i.stack.imgur.com/0aQG9.gif)](https://i.stack.imgur.com/0aQG9.gif)
In the above animation, you can see the initial pattern create a larger daughter, which creates a larger granddaughter, then a larger great-granddaughter, and finally an even larger great-great-granddaughter which starts to construct a yet larger third-great-granddaughter. If you ran this pattern for a long time, it would keep going on like this forever (or perhaps they would eventually be overtaken by the evolved organisms, which are capable of reproducing much faster; I'm not sure).
[Answer]
# SH script, 12 8 7
Store a file with
```
sed p *
```
in its own, empty directory and run from this directory using `sh [file]` or set executable.
---
Old alternative with **8 characters**, but doesn't need its own directory. Store a file with
```
sed p $0
```
and run using `sh [file]` or set executable.
Old alternative with **12 characters**:
```
sed -i- p $0
```
This will actually output to the program file itself, but where to output was not specified. Replicates itself at an exponential rate.
[Answer]
# JavaScript, 41, 40 chars
```
function f(){console.log(f+"f(f())")}f()
```
The first time you run it it outputs itself with another `;f()` at the end. Subsequent runs of the output results in each "input" source printed twice.
`alert` would be shorter than `console.log` but I don't consider multiple alert dialogs to be "the" output while it seems reasonable to call multiple lines in the console as an output.
[Answer]
# [Runic Enchantments](https://github.com/Draco18s/RunicEnchantments/tree/Console), 6 bytes
```
"'<S@>
```
[Try it online!](https://tio.run/##KyrNy0z@/19J3SbYwe7/fwA "Runic Enchantments – Try It Online")
This one was weird. All I had to do was remove a `~` from the original quine [found by Jo King](https://codegolf.stackexchange.com/a/172877/47990).
Every additional run appends another `<` to the end, e.g.:
```
"'<S@><<<<<<<<<
```
All of which do nothing.
[Answer]
# Microscript II, 6 bytes
```
"qp"qp
```
The first iteration adds an extra `qp` to the end, and each successive iteration adds an extra copy of this original program to the beginning.
[Answer]
# Windows .BAT, 25
```
@COPY %~nx0+%~nx0 CON>NUL
```
Grows at exponential rate.
Equivalent SH version [here](https://codegolf.stackexchange.com/a/21929/16504).
[Answer]
**ECMAScript 6 (38 Characters)**
```
(f=_=>'(f='+f+')();(f='+f+')();')();
```
Which outputs:
```
(f=_=>'(f='+f+')();(f='+f+')();')();(f=_=>'(f='+f+')();(f='+f+')();')();
```
**Edit**
You could do (28 characters):
```
(f=_=>'(f='+f+')();'+f())();
```
However it will recurse infinitely and never return anything... but this can be solved by doing something like this (42 characters):
```
(f=_=>_?'(f='+f+')('+_+');'+f(_-1):'')(3);
```
Which will output:
```
(f=_=>_?'(f='+f+')('+_+');'+f(_-1):'')(3);(f=_=>_?'(f='+f+')('+_+');'+f(_-1):'')(2);(f=_=>_?'(f='+f+')('+_+');'+f(_-1):'')(1);
```
[Answer]
# Julia, 66 chars
```
x="print(\"x=\$(repr(x))\\n\$x;\"^2)";print("x=$(repr(x))\n$x;"^2)
```
Output (134 chars):
```
x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);
```
Result of executing the result (268 chars):
```
x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);
```
next result (536 chars):
```
x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);
```
Next result (1072 chars):
```
x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);x="print(\"x=\$(repr(x))\\n\$x;\"^2)"
print("x=$(repr(x))\n$x;"^2);
```
I hope this is according to the rules.
It produces larger output, and the output itself is valid source code that produces larger output again.
[Answer]
# [Husk](https://github.com/barbuz/Husk), ~~15~~ 11 bytes
*-4 bytes thanks to Unrelated String*
```
S+s"So+uswg
```
[Try it online!](https://tio.run/##yygtzv7/P1i7WCk4X7u0uDz9/38A "Husk – Try It Online")
Outputs `So+uswg"So+uswg"` then `S o+uswg"S o + u s w g"` then `S o+uswg"S o + u s w g"`... This is a variant of the usual quine `S+s"S+s"` but with increasing spaces between each character in the string. Currently there's a bug in the parser that prevents double spaces in the code itself, otherwise this could forgo the `u`nique stripping out spaces in the code section and could be [9 bytes](https://tio.run/##yygtzv7/P1i7WAmIy9P//wcA).
[Answer]
# Common Lisp, 16 Characters
`(print `(or ,-))`
Granted, it's interactive-only, but being able to reference the current top-level form is probably the single best way to minimize a non-trivial program that meets the specification.
What would be really interesting is what blows up the fastest. Maybe something like
`(print `(progn ,@(loop repeat (length -) collect -)))`
[Answer]
# reticular, 11 bytes, noncompeting
```
"'34'coo1o;
```
This is the standard quine framework, except an extra `1` is printed after each iteration. [Try it online!](http://reticular.tryitonline.net/#code=IiczNCdjb28xbzs&input=)
First few outputs:
```
"'34'coo1o;
"'34'coo1o;1
"'34'coo1o;11
"'34'coo1o;111
```
[Answer]
# 05AB1E, 15 bytes, noncompeting
```
0"DÐ34çý"DÐ34çý
```
[Try it online!](http://05ab1e.tryitonline.net/#code=MCJEw5AzNMOnw70iRMOQMzTDp8O9&input=)
Prints `0"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý`,  
which prints `0"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý"DÐ34çý`,  
etc.
[Answer]
# [J](http://jsoftware.com/), 1 byte
```
'
```
[Try it online!](https://tio.run/##y/rv56SnoKSnoJ6mYGulrqCjUGulYKAAxP/VwVKa/wE "J – Try It Online")
The open quote gives, obviously, the open quote error:
```
|open quote
|   '
|   ^
|[-1] /home/runner/.code.tio
```
Note that, by the nature of J interpreter, **the errors are printed to STDOUT**, not STDERR.
When the above is run as code, it prints:
```
|open quote
|   |   '
|       ^
|[-2] /home/runner/.code.tio
```
Then
```
|open quote
|   |   |   '
|           ^
|[-2] /home/runner/.code.tio
```
and so on. Each time the code runs, the second line is left-padded with four bytes `|`, fulfilling the requirement of this challenge.
# [J](http://jsoftware.com/), proper quine variant, 25 bytes
```
echo,~'echo,:~(,quote)'''
```
[Try it online!](https://tio.run/##y/rv56SnoKSnoJ6mYGulrqCjUGulYKAAxP9TkzPyderUwZRVnYZOYWl@Saqmuro6WIvmfwA "J – Try It Online")
Outputs
```
echo,:~(,quote)'echo,:~(,quote)'
```
And then it outputs itself twice, on separate lines:
```
echo,:~(,quote)'echo,:~(,quote)'
echo,:~(,quote)'echo,:~(,quote)'
```
then
```
echo,:~(,quote)'echo,:~(,quote)'
echo,:~(,quote)'echo,:~(,quote)'
echo,:~(,quote)'echo,:~(,quote)'
echo,:~(,quote)'echo,:~(,quote)'
```
and so on.
The first output is a simple variant of [standard J quine](https://codegolf.stackexchange.com/a/171826/78410). The added `,:~` concatenates itself vertically, where the resulting 2D array is printed as two rows of the same string.
[Answer]
# [Python 2](https://docs.python.org/2/), ~~38~~ ~~37~~ ~~36~~ 34 bytes
-1 bytes thanks to Jo King
```
s='print"s=%r;exec s;"%s+s';exec s
```
[Try it online!](https://tio.run/##K6gsycjPM/r/v9hWvaAoM69EqdhWtcg6tSI1WaHYWkm1WLtYHcr7/x8A "Python 2 – Try It Online")
---
# [Python 3.8 (pre-release)](https://docs.python.org/3.8/), ~~39~~ ~~38~~ 36 bytes
```
exec(s:='print("exec(s:=%r);"%s+s)')
```
[Try it online!](https://tio.run/##K6gsycjPM7YoKPr/P7UiNVmj2MpWvaAoM69EQwnGVy3StFZSLdYu1lTX/P8fAA "Python 3.8 (pre-release) – Try It Online")
[Answer]
# EcmaScript 6 (51 bytes):
```
(_=x=>'(_='+_+Array(x++).join(','+_)+')('+x+')')(2)
```
It produces a longer version of itself, which can produce a longer version of itself, which can produce a longer version of itself, etc. ...
[Answer]
# [Underload](https://esolangs.org/wiki/Underload), 9 bytes
```
(:::aSSS):^
```
Modification on the standard underload quine, which is `(:aSS):aSS`. First, I changed the second `:aSS` into `:^` since it still runs the same code (by duplicating and then running the top item of the stack, which is the stuff inside the bracket) whilst saving bytes. Then I added another `S` to make it so the program gets longer, and added two more `:`s to make it so the program it produces doesn't error.
[Try it Online!](https://tio.run/##K81LSS3KyU9M@f9fw8rKKjE4OFjTKu7/fwA)
[Answer]
# [Japt](https://github.com/ETHproductions/japt), 12 bytes
```
"iQ ²Ä"iQ ²Ä
```
[Try it online!](https://tio.run/##y0osKPn/XykzUOHQpsMtMPr/fwA "Japt – Try It Online")
Based off the [Standard Japt quine](https://codegolf.stackexchange.com/questions/69/golf-you-a-quine-for-great-good/71932#71932)
## Explanation
For first iteration
```
"iQ ²Ä"       // Take this string.        iQ ²Ä
       iQ     // Insert a quote.          "iQ ²Ä
          ²   // Double.                  "iQ ²Ä"iQ ²Ä
           Ä  // Concatenate 1 to end     "iQ ²Ä"iQ ²Ä1
              // Implicitly output.
```
On Each iteration it will concatenate another `1` to the end of the program
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 4 bytes
```
⁾ṘȮv
```
[Try it online!](https://tio.run/##y0rNyan8//9R476HO2ecWFf2/z8A "Jelly – Try It Online")
Originally written for a CMC in JHT.
```
⁾ṘȮ     "ṘȮ"
   v    evaluated with the argument
⁾ṘȮ     "ṘȮ".
 Ṙ      Print a Jelly string representation of the argument,
  Ȯ     print the argument,
        then implicitly print it again.
```
]