Build a half cardinal cyclic quine
CJam, 19 17 15 bytes
{s"_~"+N*""-}_~
Try it online! Try the rotation.
Explanation
{s"_~"+ e# Standard quine framework. Puts a string representation of the entire
e# program on the stack.
N* e# Riffle linefeeds into the string, which is effectively a clockwise
e# rotation by 90°.
""- e# Does nothing.
}_~
In the rotated code, we've got linefeeds everywhere:
{
s
"
_
~
"
+
N
*
"
"
-
}
_
~
As Lynn noticed on Dom's earlier quine challenge inserting linefeeds actually still forms valid quine, because the linefeeds inside the block will just be retained verbatim anyway, and there will also be linefeeds in the "_~"
string to make those two characters at the end show up on their own line. So {s"_~"+...}_~
(with linefeeds) is still a valid quine framework (although there'll be an additional linefeed at the end of the string). N*
now inserts even more linefeeds into that string, but we don't really care: because now ""-
has a linefeed inside that string so it actually removes all linefeeds from the program representation. So we end up with the horizontal form of the code again, undoing the rotation.
Stax, 28 bytes
"8H^Hs+2*A]/Mm"8H^Hs+2*A]/Mm
Run and debug the first form
Run and debug the second form
><>, 22 bytes
"2+}>oao#ov*48}}*d3'v
Try it online!
Rotated anti-clockwise:
v
'
3
d
*
}
}
8
4
*
v
o
#
o
a
o
>
}
+
2
"
Try it online!
The first one prints the line in reverse with newlines interspersed, and the second prints it in reverse without the newlines.