We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

오이지

From Esolang
Jump to navigation Jump to search
This page describes a language designed with the assistance of a large language model. The Hello, World! program below has been executed and verified against the reference interpreter.

오이지 (Oiji, "pickled cucumber") is an esoteric programming language by User:Miui in which the only datum is the length of a cucumber and the only decision procedure is the greater-than evaluation. It is a length-grading language: you grow a cucumber, you put it in the jar, and the 집게 (jipge, "tongs") tells you whether it came out longer or shorter than the last one.

The language is deliberately faithful to horticultural practice. Cucumbers are graded, not computed.

Overview

An 오이지 program manipulates exactly two numbers and one flag:

  • 길이 (gil-i, length) — the cucumber currently in hand. Unbounded, may go negative; a negative cucumber is said to be 오목한 (concave).
  • 마지막 (majimak, last) — the length of the most recently pickled cucumber. Initially 0.
  • 판정 (panjeong, verdict) — a boolean, initially false.

There is no stack, no tape and no pointer. There is a jar, and things only ever go into it.

Commands

Char Name Effect
🥒 기르다 gireuda, grow 길이 += 1
🔪 깎다 kkakda, peel 길이 -= 1
🫙 절이다 jeorida, pickle Emit chr(길이), then 마지막 := 길이
> 집게 jipge, tongs 판정 := 길이 > 마지막
< 역집게 yeok-jipge, reverse tongs 판정 := 길이 < 마지막
? 판정 panjeong, verdict Skip the next command unless 판정 is true
! 버리다 beorida, discard 길이 := 0

Every other character is 흙 (heuk, soil) and is ignored. Korean text may therefore be written freely between commands, and by convention is.

On the 집게

> is the heart of the language and its only real operator. It is a pure predicate: it reads 길이 and 마지막, writes 판정, and touches nothing else.

It follows that > is idempotent. >>>>>> is exactly >. This is not a defect. Graders in the field call out a grade once per step of the scale — 특, 상, 중, 하 — and 오이지 permits the same notation, so that

🥒🥒🥒>>>>🫙

may be read aloud as "grade this one four steps." The evaluation is unchanged. The programmer is encouraged to use as many 집게 as the cucumber deserves. Mixed runs such as >>><<<<< are likewise permitted and are called 저울질 (jeoulchil, weighing back and forth); only the last tong in a run can affect 판정, and 판정 is only ever read by ?.

Programs that never use ? are therefore free to be tonged arbitrarily. Most published 오이지 programs are.

표준 오이 대조표

For forward compatibility every conforming implementation carries the Standard Cucumber Reference Table, being 512 characters of UNECE FFV-15 marketing standard text:

Marketing standard FFV-15 applies to cucumbers and intended for delivery in a fresh state to the consumer, cucumbers for industrial processing being excluded. In all classes the produce must be practically straight, sound, clean, firm, fresh in appearance, free of pests, damage, bitter taste, abnormal external moisture and any foreign smell. Sizing: by weight 250/500 g or by length. Marking: packer, origin, class, size, net weight. Extra klass keeps quality in transport and jam-free display at the market.jx

The table is read cyclically and, by long-standing convention among 오이지 implementors, begins at character 271. No 1.x command consults it. It is reserved.

Hello, World!

Note the generous tonging; each cucumber is graded thoroughly before the next is grown. The 흙 between jars is soil and is discarded by the interpreter, as soil is.

>>>>>><>>>><<<<>>>>>>><<<<<<<>>>><<<<<<<
🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒
🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🫙 이 >>>>
>>><<<<<>><<<<<>>>><<<<<<<<>>>><<🥒🥒🥒🥒🥒🥒🥒
🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🫙오이지는 >><<<<<<<<>>
<<<<>>>>>>><<>>>><<<<<<<🥒🥒🥒🥒🥒🥒🥒🫙인공지능이 >>
>><<<<<<<>>>>>><<<<>>>>>>>><>>>>>>><<🫙생성
한 >>>>>>><<>>><<<<<>>>><<<<<<<>>>>>>>><<
<<🥒🥒🥒🫙언어이다 >>>>>>><<<<<>>>><<<<<<<>>>>>>
>><<<<<>><<<<<🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪
🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪
🔪🫙generated >>>><<<<<<<>>>>>><<<<>>>>>>>
><<<<<<<<>>>><<<<<<<🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🫙by >>>>
>>>><<<<>>>>>>><<<>>>>>>><<>>>>>>><<<<<🥒
🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒
🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🫙AI >>><<<<<>>>><<<<<<<>>>
><<<<>>>>>>>><<🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🥒🫙
오이는 >><<<<>>>>>>><<>>><<<<<>>>><<<<<<<🥒🥒
🥒🫙사람이 >>>>>>>><<<<>>>>>>><<<<<>>>><<<<<<
<>>>>>>>><<🔪🔪🔪🔪🔪🔪🫙기른다 >>>><<<<<<<>>>><<<
<<<<>><<<<>>>>>>><<<<<<🔪🔪🔪🔪🔪🔪🔪🔪🫙AI-gener
ated >>>><<<<<<<<>><<<<>>>>>>><<<>>>>><<
🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪
🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🫙>>>>>>><<<<>
>>>>>><<<<<<<<>>>><<<<<<<>>>

Implementation

A reference interpreter in Python is available at User:Miui/oiji.py.

여담

  • The version number is 1.29295.
  • 짧다고 판정된 오이는 등급 외로 분류된다. (A cucumber judged short is classified outside the grades.) The language provides no way to act on this classification, which the author considers the point.
  • The author has been asked several times why the operator is named after tongs rather than after the finger that does the same job. There is no interesting answer.