4 Updated for the latest spec
source | link

Forte, 73 69 Bytes.66 bytes

Golfed it a bit moreUpdated for the new Interpreter

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=32PUT34:PUT34LET1=3
4PUT34:PUT59END
1PRINT";1PRINT

Kinda Explained

2LET1=3"2PUT34:PUT34           // Line 2, Set 1 to 3, then put a "LET1=3
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.END
4PUT34:PUT59            // 1PRINT
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again."

OrWhich, in order... is:

1.: Print the leftfirst half of the scriptcode.
2. Set the: LinePrint ofa Line", 1then toset Lineline 3, thento printbe aline "1.
3.: Print the leftsecond half of the scriptcode again.
4.: Print aanother ", then aend ;the program.

Try it online!Try it online!

Forte, 73 69 Bytes.

Golfed it a bit more

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=3:PUT34
4PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=3:PUT34           // Line 2, Set 1 to 3, then put a "
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.
4PUT34:PUT59            // 
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again.

Or, in order...

1. Print the left half of the script.
2. Set the Line of Line 1 to Line 3, then print a "
3. Print the left half of the script.
4. Print a ", then a ;

Try it online!

Forte, 66 bytes

Updated for the new Interpreter

2PUT34:LET1=3
4PUT34:END
1PRINT
"2PUT34:LET1=3
4PUT34:END
1PRINT
"

Which, in order is:

1: Print the first half of the code.
2: Print a ", then set line 3 to be line 1.
3: Print the second half of the code again.
4: Print another ", then end the program.

Try it online!

    Bounty Ended with 50 reputation awarded by Pavel
3 deleted 88 characters in body
source | link

Forte, 73 69 Bytes.

Golfed it a bit more

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=3:PUT34
4PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=6             //  Line 2, Set 6 to 1. Which means what -was- line 1, now is line 6.
2LET1=3:PUT34           // Line 2, Set 1 to 3, then put a "
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.
4PUT34:PUT59            // 
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again.

Or, in order...

1. Print the left half of the script.
2. Set the Line of Line 1 to Line 3, then print a "
3. Print the left half of the script.
4. Print a ", then a ;

Try it online!

Forte, 73 69 Bytes.

Golfed it a bit more

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=3:PUT34
4PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=6             //  Line 2, Set 6 to 1. Which means what -was- line 1, now is line 6.
2LET1=3:PUT34           // Line 2, Set 1 to 3, then put a "
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.
4PUT34:PUT59            // 
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again.

Or, in order...

1. Print the left half of the script.
2. Set the Line of Line 1 to Line 3, then print a "
3. Print the left half of the script.
4. Print a ", then a ;

Try it online!

Forte, 73 69 Bytes.

Golfed it a bit more

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=3:PUT34
4PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=3:PUT34           // Line 2, Set 1 to 3, then put a "
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.
4PUT34:PUT59            // 
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again.

Or, in order...

1. Print the left half of the script.
2. Set the Line of Line 1 to Line 3, then print a "
3. Print the left half of the script.
4. Print a ", then a ;

Try it online!

2 added 195 characters in body
source | link

Forte, 7373 69 Bytes.

Golfed it a bit more

2LET1=6
3PUT34
7PUT34
8PUT59
1PRINT"2LET1=62LET1=3:PUT34
3PUT344PUT34:PUT59
7PUT341PRINT"2LET1=3:PUT34
8PUT594PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=6             //  Line 2, Set 6 to 1. Which means what -was- line 1, now is line 6.
3PUT342LET1=3:PUT34           // Line 2, //Set 1 Lineto 3, Putthen put a "
7PUT34  4PUT34:PUT59            //  Line 74, Put a "
8PUT59              //  Line 8, Putthen a ;
1PRINT"2LET1=6  1PRINT"2LET1=4:PUT34    //  Line 1, Print the encodedfirst half.
3PUT34 of the script.
4PUT34:PUT59            // 
7PUT341PRINT";                //
8PUT59 Line to sets 1 to 3, which means, even though 1 has been //
1PRINT";executed already, it's now "Line 3, Print the first half of the //script" which means it's printed again.

Or, in order...

1. PRINT"THEPrint ENCODEDthe STRING"left half of the script.
2. SETSet the Line of Line 1 to 6.
Line 3., PUTthen Aprint a "
63. PRINT"THEPrint ENCODEDthe STRING"left half of the script.
74. PUTPrint Aa "
8., PUTthen Aa ;

Try it online!Try it online!

Forte, 73 Bytes.

2LET1=6
3PUT34
7PUT34
8PUT59
1PRINT"2LET1=6
3PUT34
7PUT34
8PUT59
1PRINT";

Kinda Explained

2LET1=6             //  Line 2, Set 6 to 1. Which means what -was- line 1, now is line 6.
3PUT34              //  Line 3, Put a "
7PUT34              //  Line 7, Put a "
8PUT59              //  Line 8, Put a ;
1PRINT"2LET1=6      //  Line 1, Print the encoded half.
3PUT34              //
7PUT34              //
8PUT59              //
1PRINT";            //

Or, in order...

1. PRINT"THE ENCODED STRING"
2. SET 1 to 6.
3. PUT A "
6. PRINT"THE ENCODED STRING"
7. PUT A "
8. PUT A ;

Try it online!

Forte, 73 69 Bytes.

Golfed it a bit more

2LET1=3:PUT34
4PUT34:PUT59
1PRINT"2LET1=3:PUT34
4PUT34:PUT59
1PRINT";

Kinda Explained

2LET1=6             //  Line 2, Set 6 to 1. Which means what -was- line 1, now is line 6.
2LET1=3:PUT34           // Line 2, Set 1 to 3, then put a "
4PUT34:PUT59            // Line 4, Put a ", then a ;
1PRINT"2LET1=4:PUT34    // Line 1, Print the first half of the script.
4PUT34:PUT59            // 
1PRINT";                // Line to sets 1 to 3, which means, even though 1 has been executed already, it's now "Line 3, Print the first half of the script" which means it's printed again.

Or, in order...

1. Print the left half of the script.
2. Set the Line of Line 1 to Line 3, then print a "
3. Print the left half of the script.
4. Print a ", then a ;

Try it online!

1
source | link