From 831ad7dd8da97c0d20e7100fa4fad250ab829b30 Mon Sep 17 00:00:00 2001 From: Chloe Dancey <22119302+novo52@users.noreply.github.com> Date: Tue, 28 Jul 2026 11:33:33 -0600 Subject: [PATCH 1/6] Define the implicit IT variable in lolcode If-then IT was used ("if IT can be cast to WIN") without ever being introduced. --- lolcode/spec/statements.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lolcode/spec/statements.rst b/lolcode/spec/statements.rst index 6898a23..0701d08 100644 --- a/lolcode/spec/statements.rst +++ b/lolcode/spec/statements.rst @@ -16,6 +16,8 @@ Our version of LOLCODE supports seven types of statements: If-then ~~~~~~~ +A bare expression statement (one not assigned to a variable) stores its result in the implicit variable ``IT``. ``IT`` holds that value until the next bare expression replaces it, and is what ``O RLY?`` and ``WTF?`` test against. + An if statement begins with a comparison: Comparison is (currently) done with two binary equality operators: From ec1dd42119af05e6955edd9fe2855ccfb37b229c Mon Sep 17 00:00:00 2001 From: Chloe Dancey <22119302+novo52@users.noreply.github.com> Date: Tue, 28 Jul 2026 11:33:42 -0600 Subject: [PATCH 2/6] Clarify TIL/WILE as pre-test loop conditions in lolcode Loop section --- lolcode/spec/statements.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lolcode/spec/statements.rst b/lolcode/spec/statements.rst index 0701d08..523f60f 100644 --- a/lolcode/spec/statements.rst +++ b/lolcode/spec/statements.rst @@ -181,7 +181,7 @@ Iteration loops have the form: Where ```` may be ``UPPIN`` (increment by one) or ``NERFIN`` (decrement by one). That operation/function is applied to the ````, which is temporary, and local to the loop. -The ``TIL `` evaluates the expression as a boolean: if it evaluates as false, the loop continues once more, if not, then loop execution stops, and continues after the matching ``IM OUTTA YR