Examine individual changes
This page allows you to examine the variables generated by the Abuse Filter for an individual change.
Variables generated for this change
| Variable | Value |
|---|---|
Edit count of the user (user_editcount) | 1 |
Name of the user account (user_name) | 'Hannim' |
Age of the user account (user_age) | 2317 |
Page ID (page_id) | 0 |
Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | 'CKR-Lang' |
Full page title (page_prefixedtitle) | 'CKR-Lang' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '' |
Old content model (old_content_model) | '' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | '' |
New page wikitext, after the edit (new_wikitext) | '{{Language
|name = CKR-Lang
|created = 2026
|author = [[User:Hannim|Hannim]]
|paradigm = Imperative
|turing = Yes
|impl = Python
}}
'''CKR-Lang''' (Korean: 최강록 랭귀지) is an [[esoteric programming language]] created by Hannim in 2026. It is a fan-made project inspired by the unique cooking style and speech patterns of Chef '''Choi Kang-rok''' (최강록), particularly his appearance in the Netflix show ''Culinary Class Wars (Season 2)''.
The language mimics a cooking process where variables are treated as "ingredients" and operations are described as "cooking methods" (e.g., Braising, Simmering). It is characterized by its strict start/end markers and a flexible syntax that relies on whitespace for token separation, making commas optional.
{{Note|This is an '''unofficial fan project''' and is not affiliated with Netflix or Chef Choi Kang-rok. It was created for educational and entertainment purposes.}}
== Syntax ==
=== Program Structure ===
Every CKR-Lang program must be enclosed within specific start and end markers. Any text outside these markers is treated as a comment and ignored by the interpreter.
* '''Start Marker''': {{Code|흑백요리사2 히든백수저 최강록}}
* '''End Marker''': {{Code|백수저 최강록 우승}}
Newlines are not significant in CKR-Lang. Instructions are delimited solely by keywords (operators), allowing for code to be written in a single line or arbitrarily broken across multiple lines.
=== Tokens & Separators ===
Tokens are primarily separated by **whitespace**. Commas (<code>,</code>) can be used as optional separators within an operand list to improve readability, but they are treated logically as whitespace by the interpreter.
=== Comments ===
In addition to text outside the markers, any text enclosed in double quotes (<code>"..."</code>) or single quotes (<code>'...'</code>) is treated as a comment.
* The interpreter ignores newlines within these quotes, allowing for multi-line comments.
* '''Note''': Comment markers (quotes) take precedence over program markers. If a start/end marker appears inside a quote, it is ignored.
=== Variables & Constants ===
Variables in CKR-Lang are referred to as "ingredients".
* '''Declaration''': Variables are declared using the {{Code|나야}} (It's me) keyword followed by the variable name.
*: If a variable is re-declared, its value is reset to '''0'''.
*: Example: <code>나야 민물장어</code> (Declares variable '민물장어' and sets it to 0).
* '''Constants''': The language provides three immutable constants. These '''cannot''' be used as the target (first operand) of any operation that modifies values.
** {{Code|부들부들}}: Represents '''0'''.
** {{Code|뾰족뾰족}}: Represents '''-1'''.
** {{Code|폭신폭신}}: Represents '''1'''.
== Instructions ==
CKR-Lang uses a syntax where the operands (ingredients) are listed first, followed by the operator (cooking method). The language supports multiple operands for a single operator.
=== Basic Operations ===
{| class="wikitable"
! Keyword !! English Meaning !! Type !! Description
|-
| {{Code|나야}} || It's me || SET || Declares variables and initializes them to 0. <br>Usage: <code>나야 [var]</code>
|-
| {{Code|조려}} || Braise || ADD || Addition. <br>If 1 operand: Adds 1 to it. <br>If multiple: Sums all operands and stores the result in the first operand.
|-
| {{Code|조린다}} || Simmer down || SUB || Subtraction. <br>If 1 operand: Subtracts 1 from it. <br>If multiple: Subtracts all subsequent operands from the first operand.
|-
| {{Code|조리고}} || Simmering || MUL || Multiplication. <br>If 1 operand: Multiplies it by 2. <br>If multiple: Multiplies all operands and stores the result in the first operand.
|-
| {{Code|앙}} || Yum || INV || Inversion. <br>Multiplies the operand by -1 (flips the sign).
|-
| {{Code|을}} || (Object particle) || PRINT || Output. <br>Prints the Unicode character (via Python's <code>chr()</code>) corresponding to the integer value of the variable. <br>If the value is not valid for a character, it prints <code>?</code>.
|}
=== Control Flow ===
The language supports flow control through labeling and conditional jumps.
* '''Label Definition''': {{Code|연쇄조림마}} followed by a sequence of dots (e.g., <code>.</code>, <code>..</code>).
* '''Unconditional Jump''': {{Code|조림핑}} followed by the corresponding dots jumps to the matching label.
* '''Conditional Jump''':
** {{Code|조림인간}} (IF =): Jumps if the variable is '''0''' (or if all listed variables are equal).
** {{Code|욕망의조림인간}} (IF >): Jumps if the variable is '''positive''' (or if the first variable is greater than the others).
== Computational Class ==
CKR-Lang is [[Turing complete]].
Since the language supports arbitrary-precision integers, increment/decrement operations (via {{Code|조려}}/{{Code|조린다}}), and a "jump if zero" instruction ({{Code|조림인간}} applied to a single variable), it can simulate a [[Minsky machine]] (specifically, a 2-counter machine).
== Examples ==
=== Hello World ===
The following program prints "Hello World". It demonstrates the use of arithmetic operations to generate ASCII values.
<pre>
흑백요리사2 히든백수저 최강록
"Initialize H (72) using powers of 2"
나야 장어
장어 폭신폭신 조려
장어 조리고
장어 조리고
장어 조리고
장어 조리고
장어 조리고
장어 조리고
장어 을
"Initialize e (101)"
나야 두부
두부 폭신폭신 조려
두부 조리고
두부 조려
두부 조리고
두부 조리고
두부 조리고
두부 조려
두부 조리고
두부 조리고
두부 조려
두부 을
"Print 'llo World' (Logic omitted for brevity in this example snippet, but fully supported)"
"..."
백수저 최강록 우승
</pre>
=== Hello World (No Comma Style) ===
CKR-Lang allows omitting commas and ignoring newlines. This style is considered valid and mimics the chaotic nature of a busy kitchen.
<pre>
흑백요리사2 히든백수저 최강록
나야 장어 장어 조려 장어 조리고 장어 조리고 장어
조리고 나야 대파 대파 장어 조려 대파 조리고 대파
조리고 대파 조리고 나야 양파
양파 대파 조려 양파 조리고 양파 조리고 양파 조리고
장어 양파 조려 장어 을
"..."
백수저 최강록 우승
</pre>
== Implementation ==
An official interpreter written in [[Python]] is available via PyPI. It supports a CLI with debugging features.
=== Installation ===
<pre>pip install choikangrok</pre>
''(Note: Package name is 'choikangrok', command is 'ckr')''
=== Usage ===
* '''Run a file''': <code>ckr hello.ckr</code>
* '''REPL mode''': <code>ckr</code>
* '''Debug mode''': <code>ckr hello.ckr -d</code> (Trace execution)
* '''Self-test''': <code>ckr --test</code>
== External links ==
* [https://github.com/BK-Dan/ckr-lang GitHub Repository] - Source code, specification, and examples.
* [https://pypi.org/project/ckr-lang/ PyPI Project Page] - Python package for CKR-Lang.
[[Category:Esoteric languages]]
[[Category:Imperative languages]]
[[Category:2026]]
[[Category:Python-based]]
[[Category:Turing complete]]' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,148 @@
+{{Language
+|name = CKR-Lang
+|created = 2026
+|author = [[User:Hannim|Hannim]]
+|paradigm = Imperative
+|turing = Yes
+|impl = Python
+}}
+
+'''CKR-Lang''' (Korean: 최강록 랭귀지) is an [[esoteric programming language]] created by Hannim in 2026. It is a fan-made project inspired by the unique cooking style and speech patterns of Chef '''Choi Kang-rok''' (최강록), particularly his appearance in the Netflix show ''Culinary Class Wars (Season 2)''.
+
+The language mimics a cooking process where variables are treated as "ingredients" and operations are described as "cooking methods" (e.g., Braising, Simmering). It is characterized by its strict start/end markers and a flexible syntax that relies on whitespace for token separation, making commas optional.
+
+{{Note|This is an '''unofficial fan project''' and is not affiliated with Netflix or Chef Choi Kang-rok. It was created for educational and entertainment purposes.}}
+
+== Syntax ==
+=== Program Structure ===
+Every CKR-Lang program must be enclosed within specific start and end markers. Any text outside these markers is treated as a comment and ignored by the interpreter.
+
+* '''Start Marker''': {{Code|흑백요리사2 히든백수저 최강록}}
+* '''End Marker''': {{Code|백수저 최강록 우승}}
+
+Newlines are not significant in CKR-Lang. Instructions are delimited solely by keywords (operators), allowing for code to be written in a single line or arbitrarily broken across multiple lines.
+
+=== Tokens & Separators ===
+Tokens are primarily separated by **whitespace**. Commas (<code>,</code>) can be used as optional separators within an operand list to improve readability, but they are treated logically as whitespace by the interpreter.
+
+=== Comments ===
+In addition to text outside the markers, any text enclosed in double quotes (<code>"..."</code>) or single quotes (<code>'...'</code>) is treated as a comment.
+* The interpreter ignores newlines within these quotes, allowing for multi-line comments.
+* '''Note''': Comment markers (quotes) take precedence over program markers. If a start/end marker appears inside a quote, it is ignored.
+
+=== Variables & Constants ===
+Variables in CKR-Lang are referred to as "ingredients".
+* '''Declaration''': Variables are declared using the {{Code|나야}} (It's me) keyword followed by the variable name.
+*: If a variable is re-declared, its value is reset to '''0'''.
+*: Example: <code>나야 민물장어</code> (Declares variable '민물장어' and sets it to 0).
+* '''Constants''': The language provides three immutable constants. These '''cannot''' be used as the target (first operand) of any operation that modifies values.
+** {{Code|부들부들}}: Represents '''0'''.
+** {{Code|뾰족뾰족}}: Represents '''-1'''.
+** {{Code|폭신폭신}}: Represents '''1'''.
+
+== Instructions ==
+CKR-Lang uses a syntax where the operands (ingredients) are listed first, followed by the operator (cooking method). The language supports multiple operands for a single operator.
+
+=== Basic Operations ===
+{| class="wikitable"
+! Keyword !! English Meaning !! Type !! Description
+|-
+| {{Code|나야}} || It's me || SET || Declares variables and initializes them to 0. <br>Usage: <code>나야 [var]</code>
+|-
+| {{Code|조려}} || Braise || ADD || Addition. <br>If 1 operand: Adds 1 to it. <br>If multiple: Sums all operands and stores the result in the first operand.
+|-
+| {{Code|조린다}} || Simmer down || SUB || Subtraction. <br>If 1 operand: Subtracts 1 from it. <br>If multiple: Subtracts all subsequent operands from the first operand.
+|-
+| {{Code|조리고}} || Simmering || MUL || Multiplication. <br>If 1 operand: Multiplies it by 2. <br>If multiple: Multiplies all operands and stores the result in the first operand.
+|-
+| {{Code|앙}} || Yum || INV || Inversion. <br>Multiplies the operand by -1 (flips the sign).
+|-
+| {{Code|을}} || (Object particle) || PRINT || Output. <br>Prints the Unicode character (via Python's <code>chr()</code>) corresponding to the integer value of the variable. <br>If the value is not valid for a character, it prints <code>?</code>.
+|}
+
+=== Control Flow ===
+The language supports flow control through labeling and conditional jumps.
+* '''Label Definition''': {{Code|연쇄조림마}} followed by a sequence of dots (e.g., <code>.</code>, <code>..</code>).
+* '''Unconditional Jump''': {{Code|조림핑}} followed by the corresponding dots jumps to the matching label.
+* '''Conditional Jump''':
+** {{Code|조림인간}} (IF =): Jumps if the variable is '''0''' (or if all listed variables are equal).
+** {{Code|욕망의조림인간}} (IF >): Jumps if the variable is '''positive''' (or if the first variable is greater than the others).
+
+== Computational Class ==
+CKR-Lang is [[Turing complete]].
+Since the language supports arbitrary-precision integers, increment/decrement operations (via {{Code|조려}}/{{Code|조린다}}), and a "jump if zero" instruction ({{Code|조림인간}} applied to a single variable), it can simulate a [[Minsky machine]] (specifically, a 2-counter machine).
+
+== Examples ==
+=== Hello World ===
+The following program prints "Hello World". It demonstrates the use of arithmetic operations to generate ASCII values.
+
+<pre>
+흑백요리사2 히든백수저 최강록
+
+"Initialize H (72) using powers of 2"
+나야 장어
+장어 폭신폭신 조려
+장어 조리고
+장어 조리고
+장어 조리고
+장어 조리고
+장어 조리고
+장어 조리고
+장어 을
+
+"Initialize e (101)"
+나야 두부
+두부 폭신폭신 조려
+두부 조리고
+두부 조려
+두부 조리고
+두부 조리고
+두부 조리고
+두부 조려
+두부 조리고
+두부 조리고
+두부 조려
+두부 을
+
+"Print 'llo World' (Logic omitted for brevity in this example snippet, but fully supported)"
+"..."
+
+백수저 최강록 우승
+</pre>
+
+=== Hello World (No Comma Style) ===
+CKR-Lang allows omitting commas and ignoring newlines. This style is considered valid and mimics the chaotic nature of a busy kitchen.
+
+<pre>
+흑백요리사2 히든백수저 최강록
+나야 장어 장어 조려 장어 조리고 장어 조리고 장어
+조리고 나야 대파 대파 장어 조려 대파 조리고 대파
+조리고 대파 조리고 나야 양파
+양파 대파 조려 양파 조리고 양파 조리고 양파 조리고
+장어 양파 조려 장어 을
+"..."
+백수저 최강록 우승
+</pre>
+
+== Implementation ==
+An official interpreter written in [[Python]] is available via PyPI. It supports a CLI with debugging features.
+
+=== Installation ===
+<pre>pip install choikangrok</pre>
+''(Note: Package name is 'choikangrok', command is 'ckr')''
+
+=== Usage ===
+* '''Run a file''': <code>ckr hello.ckr</code>
+* '''REPL mode''': <code>ckr</code>
+* '''Debug mode''': <code>ckr hello.ckr -d</code> (Trace execution)
+* '''Self-test''': <code>ckr --test</code>
+
+== External links ==
+* [https://github.com/BK-Dan/ckr-lang GitHub Repository] - Source code, specification, and examples.
+* [https://pypi.org/project/ckr-lang/ PyPI Project Page] - Python package for CKR-Lang.
+
+[[Category:Esoteric languages]]
+[[Category:Imperative languages]]
+[[Category:2026]]
+[[Category:Python-based]]
+[[Category:Turing complete]]
' |
New page size (new_size) | 7146 |
Old page size (old_size) | 0 |
Lines added in edit (added_lines) | [
0 => '{{Language',
1 => '|name = CKR-Lang',
2 => '|created = 2026',
3 => '|author = [[User:Hannim|Hannim]]',
4 => '|paradigm = Imperative',
5 => '|turing = Yes',
6 => '|impl = Python',
7 => '}}',
8 => '',
9 => ''''CKR-Lang''' (Korean: 최강록 랭귀지) is an [[esoteric programming language]] created by Hannim in 2026. It is a fan-made project inspired by the unique cooking style and speech patterns of Chef '''Choi Kang-rok''' (최강록), particularly his appearance in the Netflix show ''Culinary Class Wars (Season 2)''.',
10 => '',
11 => 'The language mimics a cooking process where variables are treated as "ingredients" and operations are described as "cooking methods" (e.g., Braising, Simmering). It is characterized by its strict start/end markers and a flexible syntax that relies on whitespace for token separation, making commas optional.',
12 => '',
13 => '{{Note|This is an '''unofficial fan project''' and is not affiliated with Netflix or Chef Choi Kang-rok. It was created for educational and entertainment purposes.}}',
14 => '',
15 => '== Syntax ==',
16 => '=== Program Structure ===',
17 => 'Every CKR-Lang program must be enclosed within specific start and end markers. Any text outside these markers is treated as a comment and ignored by the interpreter.',
18 => '',
19 => '* '''Start Marker''': {{Code|흑백요리사2 히든백수저 최강록}}',
20 => '* '''End Marker''': {{Code|백수저 최강록 우승}}',
21 => '',
22 => 'Newlines are not significant in CKR-Lang. Instructions are delimited solely by keywords (operators), allowing for code to be written in a single line or arbitrarily broken across multiple lines.',
23 => '',
24 => '=== Tokens & Separators ===',
25 => 'Tokens are primarily separated by **whitespace**. Commas (<code>,</code>) can be used as optional separators within an operand list to improve readability, but they are treated logically as whitespace by the interpreter.',
26 => '',
27 => '=== Comments ===',
28 => 'In addition to text outside the markers, any text enclosed in double quotes (<code>"..."</code>) or single quotes (<code>'...'</code>) is treated as a comment.',
29 => '* The interpreter ignores newlines within these quotes, allowing for multi-line comments.',
30 => '* '''Note''': Comment markers (quotes) take precedence over program markers. If a start/end marker appears inside a quote, it is ignored.',
31 => '',
32 => '=== Variables & Constants ===',
33 => 'Variables in CKR-Lang are referred to as "ingredients".',
34 => '* '''Declaration''': Variables are declared using the {{Code|나야}} (It's me) keyword followed by the variable name.',
35 => '*: If a variable is re-declared, its value is reset to '''0'''.',
36 => '*: Example: <code>나야 민물장어</code> (Declares variable '민물장어' and sets it to 0).',
37 => '* '''Constants''': The language provides three immutable constants. These '''cannot''' be used as the target (first operand) of any operation that modifies values.',
38 => '** {{Code|부들부들}}: Represents '''0'''.',
39 => '** {{Code|뾰족뾰족}}: Represents '''-1'''.',
40 => '** {{Code|폭신폭신}}: Represents '''1'''.',
41 => '',
42 => '== Instructions ==',
43 => 'CKR-Lang uses a syntax where the operands (ingredients) are listed first, followed by the operator (cooking method). The language supports multiple operands for a single operator.',
44 => '',
45 => '=== Basic Operations ===',
46 => '{| class="wikitable"',
47 => '! Keyword !! English Meaning !! Type !! Description',
48 => '|-',
49 => '| {{Code|나야}} || It's me || SET || Declares variables and initializes them to 0. <br>Usage: <code>나야 [var]</code>',
50 => '|-',
51 => '| {{Code|조려}} || Braise || ADD || Addition. <br>If 1 operand: Adds 1 to it. <br>If multiple: Sums all operands and stores the result in the first operand.',
52 => '|-',
53 => '| {{Code|조린다}} || Simmer down || SUB || Subtraction. <br>If 1 operand: Subtracts 1 from it. <br>If multiple: Subtracts all subsequent operands from the first operand.',
54 => '|-',
55 => '| {{Code|조리고}} || Simmering || MUL || Multiplication. <br>If 1 operand: Multiplies it by 2. <br>If multiple: Multiplies all operands and stores the result in the first operand.',
56 => '|-',
57 => '| {{Code|앙}} || Yum || INV || Inversion. <br>Multiplies the operand by -1 (flips the sign).',
58 => '|-',
59 => '| {{Code|을}} || (Object particle) || PRINT || Output. <br>Prints the Unicode character (via Python's <code>chr()</code>) corresponding to the integer value of the variable. <br>If the value is not valid for a character, it prints <code>?</code>.',
60 => '|}',
61 => '',
62 => '=== Control Flow ===',
63 => 'The language supports flow control through labeling and conditional jumps.',
64 => '* '''Label Definition''': {{Code|연쇄조림마}} followed by a sequence of dots (e.g., <code>.</code>, <code>..</code>).',
65 => '* '''Unconditional Jump''': {{Code|조림핑}} followed by the corresponding dots jumps to the matching label.',
66 => '* '''Conditional Jump''':',
67 => '** {{Code|조림인간}} (IF =): Jumps if the variable is '''0''' (or if all listed variables are equal).',
68 => '** {{Code|욕망의조림인간}} (IF >): Jumps if the variable is '''positive''' (or if the first variable is greater than the others).',
69 => '',
70 => '== Computational Class ==',
71 => 'CKR-Lang is [[Turing complete]].',
72 => 'Since the language supports arbitrary-precision integers, increment/decrement operations (via {{Code|조려}}/{{Code|조린다}}), and a "jump if zero" instruction ({{Code|조림인간}} applied to a single variable), it can simulate a [[Minsky machine]] (specifically, a 2-counter machine).',
73 => '',
74 => '== Examples ==',
75 => '=== Hello World ===',
76 => 'The following program prints "Hello World". It demonstrates the use of arithmetic operations to generate ASCII values.',
77 => '',
78 => '<pre>',
79 => '흑백요리사2 히든백수저 최강록',
80 => '',
81 => '"Initialize H (72) using powers of 2"',
82 => '나야 장어',
83 => '장어 폭신폭신 조려',
84 => '장어 조리고',
85 => '장어 조리고',
86 => '장어 조리고',
87 => '장어 조리고',
88 => '장어 조리고',
89 => '장어 조리고',
90 => '장어 을',
91 => '',
92 => '"Initialize e (101)"',
93 => '나야 두부',
94 => '두부 폭신폭신 조려',
95 => '두부 조리고',
96 => '두부 조려',
97 => '두부 조리고',
98 => '두부 조리고',
99 => '두부 조리고',
100 => '두부 조려',
101 => '두부 조리고',
102 => '두부 조리고',
103 => '두부 조려',
104 => '두부 을',
105 => '',
106 => '"Print 'llo World' (Logic omitted for brevity in this example snippet, but fully supported)"',
107 => '"..."',
108 => '',
109 => '백수저 최강록 우승',
110 => '</pre>',
111 => '',
112 => '=== Hello World (No Comma Style) ===',
113 => 'CKR-Lang allows omitting commas and ignoring newlines. This style is considered valid and mimics the chaotic nature of a busy kitchen.',
114 => '',
115 => '<pre>',
116 => '흑백요리사2 히든백수저 최강록',
117 => '나야 장어 장어 조려 장어 조리고 장어 조리고 장어',
118 => '조리고 나야 대파 대파 장어 조려 대파 조리고 대파',
119 => '조리고 대파 조리고 나야 양파',
120 => '양파 대파 조려 양파 조리고 양파 조리고 양파 조리고',
121 => '장어 양파 조려 장어 을',
122 => '"..."',
123 => '백수저 최강록 우승',
124 => '</pre>',
125 => '',
126 => '== Implementation ==',
127 => 'An official interpreter written in [[Python]] is available via PyPI. It supports a CLI with debugging features.',
128 => '',
129 => '=== Installation ===',
130 => '<pre>pip install choikangrok</pre>',
131 => '''(Note: Package name is 'choikangrok', command is 'ckr')''',
132 => '',
133 => '=== Usage ===',
134 => '* '''Run a file''': <code>ckr hello.ckr</code>',
135 => '* '''REPL mode''': <code>ckr</code>',
136 => '* '''Debug mode''': <code>ckr hello.ckr -d</code> (Trace execution)',
137 => '* '''Self-test''': <code>ckr --test</code>',
138 => '',
139 => '== External links ==',
140 => '* [https://github.com/BK-Dan/ckr-lang GitHub Repository] - Source code, specification, and examples.',
141 => '* [https://pypi.org/project/ckr-lang/ PyPI Project Page] - Python package for CKR-Lang.',
142 => '',
143 => '[[Category:Esoteric languages]]',
144 => '[[Category:Imperative languages]]',
145 => '[[Category:2026]]',
146 => '[[Category:Python-based]]',
147 => '[[Category:Turing complete]]'
] |
Unix timestamp of change (timestamp) | '1768655221' |