#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 == null
{{{#!if 넘어옴1[넘어옴1.length - 1] >= 0xAC00 && 넘어옴1[넘어옴1.length - 1] <= 0xD7A3
{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴1[넘어옴1.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴1[넘어옴1.length - 1] < 0xAC00 || 넘어옴1[넘어옴1.length - 1] > 0xD7A3
은(는)}}}}}}{{{#!if 넘어옴2 != null
, ''''''{{{#!if 넘어옴3 == null
{{{#!if 넘어옴2[넘어옴2.length - 1] >= 0xAC00 && 넘어옴2[넘어옴2.length - 1] <= 0xD7A3
{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴2[넘어옴2.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴2[넘어옴2.length - 1] < 0xAC00 || 넘어옴2[넘어옴2.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴3 != null
, ''''''{{{#!if 넘어옴4 == null
{{{#!if 넘어옴3[넘어옴3.length - 1] >= 0xAC00 && 넘어옴3[넘어옴3.length - 1] <= 0xD7A3
{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴3[넘어옴3.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴3[넘어옴3.length - 1] < 0xAC00 || 넘어옴3[넘어옴3.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴4 != null
, ''''''{{{#!if 넘어옴5 == null
{{{#!if 넘어옴4[넘어옴4.length - 1] >= 0xAC00 && 넘어옴4[넘어옴4.length - 1] <= 0xD7A3
{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴4[넘어옴4.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴4[넘어옴4.length - 1] < 0xAC00 || 넘어옴4[넘어옴4.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴5 != null
, ''''''{{{#!if 넘어옴6 == null
{{{#!if 넘어옴5[넘어옴5.length - 1] >= 0xAC00 && 넘어옴5[넘어옴5.length - 1] <= 0xD7A3
{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴5[넘어옴5.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴5[넘어옴5.length - 1] < 0xAC00 || 넘어옴5[넘어옴5.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴6 != null
, ''''''{{{#!if 넘어옴7 == null
{{{#!if 넘어옴6[넘어옴6.length - 1] >= 0xAC00 && 넘어옴6[넘어옴6.length - 1] <= 0xD7A3
{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴6[넘어옴6.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴6[넘어옴6.length - 1] < 0xAC00 || 넘어옴6[넘어옴6.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴7 != null
, ''''''{{{#!if 넘어옴8 == null
{{{#!if 넘어옴7[넘어옴7.length - 1] >= 0xAC00 && 넘어옴7[넘어옴7.length - 1] <= 0xD7A3
{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴7[넘어옴7.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴7[넘어옴7.length - 1] < 0xAC00 || 넘어옴7[넘어옴7.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴8 != null
, ''''''{{{#!if 넘어옴9 == null
{{{#!if 넘어옴8[넘어옴8.length - 1] >= 0xAC00 && 넘어옴8[넘어옴8.length - 1] <= 0xD7A3
{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴8[넘어옴8.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴8[넘어옴8.length - 1] < 0xAC00 || 넘어옴8[넘어옴8.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴9 != null
, ''''''{{{#!if 넘어옴10 == null
{{{#!if 넘어옴9[넘어옴9.length - 1] >= 0xAC00 && 넘어옴9[넘어옴9.length - 1] <= 0xD7A3
{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴9[넘어옴9.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴9[넘어옴9.length - 1] < 0xAC00 || 넘어옴9[넘어옴9.length - 1] > 0xD7A3
은(는)}}}}}}}}}{{{#!if 넘어옴10 != null
, ''''''{{{#!if 넘어옴10[넘어옴10.length - 1] >= 0xAC00 && 넘어옴10[넘어옴10.length - 1] <= 0xD7A3
{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) == 0
는}}}{{{#!if ((넘어옴10[넘어옴10.length - 1] - 0xAC00) % 28) != 0
은}}}}}}{{{#!if 넘어옴10[넘어옴10.length - 1] < 0xAC00 || 넘어옴10[넘어옴10.length - 1] > 0xD7A3
은(는)}}}}}} 여기로 연결됩니다. #!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 레이싱 모델 겸 인터넷 방송인}}}에 대한 내용은 [[오아희]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[오아희#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[오아희#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html 본명이 이아희인 뮤지션}}}에 대한 내용은 [[마젠타(QWER)]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[마젠타(QWER)#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[마젠타(QWER)#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.#!if 리스트 != null
{{{#!if 문서명1 != null
* {{{#!if 설명1 != null
레이싱 모델 겸 인터넷 방송인: }}}[[오아희]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[오아희#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[오아희#|]] 부분}}}}}}{{{#!if 문서명2 != null
* {{{#!if 설명2 != null
본명이 이아희인 뮤지션: }}}[[마젠타(QWER)]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[마젠타(QWER)#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[마젠타(QWER)#|]] 부분}}}}}}{{{#!if 문서명3 != null
* {{{#!if 설명3 != null
: }}}[[]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명4 != null
* {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
* {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
* {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
* {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
* {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
* {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
* {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}| [[난해한 프로그래밍 언어|'''난해한 프로그래밍 언어 {{{#!wiki style="font-family: Times New Roman, serif; display: inline"]] | |
| {{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" | Befunge · BrainFuck · Chef · emojicode · ETA · GolfScript · HQ9+ · HRON · Malbolge · Ook! · Shakespeare · Whitespace · 엄랭 · 아희(예제) |
| 관련 문서 | |
| IOCCC · JSFuck | |
| 분류:난해한 프로그래밍 언어 · 언어별 예제 · 틀:프로그래밍 언어 | }}}}}}}}} |
1. 개요
홈페이지오직 한글로만 프로그래밍되는 한글 프로그래밍 언어로, 한글로 된 프로그래밍 언어 중에서 첫 번째로 발표된 난해한 프로그래밍 언어다. 난해한 프로그래밍 언어의 제작 이유 중에서는 '어떤 개념의 증명' 정도가 적당할 것이다. 아희는 한글 낱자의 디자인을 살릴 수 있는 프로그래밍 언어라는 목적을 가지고 고안되었다. 다만 한글로 프로그래밍을 하는 거지 한국어로 프로그래밍을 하는 게 아니므로 모르고 본다면 글자 깨짐이나 외계어가 따로 없다.[1] 제작자는 한국어 위키백과의 관리자이자 엔하위키 미러 운영자였던 Puzzlet Chung.
어원은 오감도에서도 볼 수 있는 '아이'를 뜻하는 옛 국어 낱말인 '아희'. '아희' 자체가 유효한 아희 코드이기도 하며, 실행하면 아무 동작 없이 종료된다.
JavaScript로 구현한 아희 인터프리터.
RUST + WASM으로 구현한 아희 인터프리터.
2. 동작
아희의 기본 개념은 비펀지와 비슷하다. '화살표' 명령을 사용해서 명령의 흐름을 이리저리 조종하는 것으로, 비펀지와 다른 점은 그 화살표를 포함해서 모든 명령이 순 한글이라는 것이다. 한글 낱자는 초성, 중성, 종성으로 나눌 수 있는데, 이때 중성은 커서가 이동할 방향을 지정하고, 초성은 수행할 명령을 지정한다. 종성은 초성의 명령을 보조하는 인자로서, 예를 들자면 저장공간을 선택하거나, 숫자를 결정하거나 하는 일이다.그 외에 코드 공간의 맨 첫 줄 첫번째 칸에서 시작하는 것은 비펀지와 동일하나, 기본 방향은 아랫쪽으로 이동하는 것이 비펀지(오른쪽)와 다른 점이다. 그 외에 코드 공간의 한쪽 끝에 다다르면 커서가 반대편 끝으로 이동하는 점은 Funge-98[2]과 동일하다.
2.1. 자료구조
26개[3]의 스택과 1개의 큐[4]를 저장공간으로 사용한다.그 외에 외부 확장기능과 데이터를 주고 받을 수 있는 '통로'[5]라는 것이 있는데 아직 미구현이다. 아희 개발이 사실상 없으니 앞으로도 구현된 것을 볼 일은 없을 듯 하다.
통로를 구현한 아희++이 개발되고 있다는 소식이 있었으나, # 현재 들어가 보면 개발이 중단되었다고 한다. '아직 개발 중인 버전입니다' 라는 부분도 있다.
2.2. 문법
- 초성
- ㄱ 묶음
- ㅇ, ㄱ, ㅋ: 아무 일도 하지 않는다.[6]
- ㅎ: 프로그램을 종료한다. 종료 시 선택된 저장 공간에 값이 하나 이상 남아 있다면 하나만 뽑아내 운영체제에 반환하고 비어있다면 0을 반환한다.
- ㄷ 묶음 - 연산
- ㄷ: 덧셈
- ㅌ: 뺄셈
- ㄸ: 곱셈
- ㄴ: 나눗셈
- ㄹ: 나머지 연산 (modulo)
- 모두 공통적으로 저장공간에서 두 값을 뽑아낸 다음 둘을 연산한 값을 저장공간에 저장한다. 순서가 있는 연산자(ㅌ, ㄴ, ㄹ)의 경우 나중에 꺼낸 값이 연산자의 왼쪽, 먼저 꺼낸 값이 오른쪽에 온다. 만약 저장공간에 남은 값이 한 개 이하라면 진행방향을 바꾼다. 자세한 동작은 후술.
- ㅁ 묶음 - 저장공간
- ㅁ: 뽑기. 현재 선택된 저장공간에서 자료 구조의 형태에 맞게 하나 꺼내온다.
- 종성으로 ㅇ이 오는 경우: 값을 숫자 형식으로 출력한다.
- 종성으로 ㅎ이 오는 경우: 해당하는 유니코드의 문자를 출력한다.
- 나머지 종성이면 뽑아내서 그냥 버린다.
- ㅂ: 넣기. 현재 선택된 저장공간에 값을 하나 넣는다.
- 종성으로 ㅇ이 오는 경우: 값을 숫자 형식으로 입력받는다. 즉 '8'은 8로 저장된다. 공백이나 개행이 나올 때까지 숫자를 읽어들이며, 앞에 -가 존재하는 경우 음수로 취급한다.
- 종성으로 ㅎ이 오는 경우: 값을 문자 형식으로 입력받는다. 즉 '8'은 56(아스키 코드 기준)으로 저장된다.
- 나머지의 경우, 종성의 획 수가 집어넣을 값(리터럴)이 된다. 즉 받침 'ㅅ'는 2로, 받침 'ㄹ'는 5가 된다. 이때 1을 곧바로 넣을 수가 없는데, 3 - 2(받반타, 밬밧타 등)를 하면 된다. 종성이 없으면(바, 보 등) 0으로 평가한다. 전체 목록은 참고 사항 문단의 '종성별 선의 수' 참고.
- ㅃ: 중복. 현재 선택된 저장공간의 종류에 따라 동작이 달라진다.
- 스택이라면 맨 위의 값을 그 값 위에 하나 더 집어넣는다.
- 큐라면 맨 앞의 값을 앞에 하나 더 덧붙인다. 뒤의 값이 아님에 주의하자.
- 통로라면 가장 마지막으로 보낸 값을 한 번 더 보낸다.
- ㅍ: 바꿔치기.
- 스택이라면 맨 위 값과 그 바로 아래 값의 위치를 서로 바꾼다.
- 큐라면 맨 앞의 값과 그 바로 뒤 값을 바꾼다.
- 통로일 때의 동작은 미정.
- 만약 저장공간에 남은 값이 한 개 이하라면 진행방향을 바꾼다.
- ㅅ 묶음 - 제어
- ㅅ: 선택. 종성을 통해 상술한 자료구조에서 선택할 수 있다.
- 종성이 없다면(사 등) 기본으로 선택되는 스택으로 되돌아온다.
- ㅆ: 이동. 지금 저장공간에서 값 하나를 뽑아내서 받침이 나타내는 저장공간에 그 값을 집어넣는다.
- 만약 현재 선택된 저장공간에 값이 하나도 없다면 진행방향을 바꾼다.
- ㅈ: 비교. 저장공간에서 값 두 개를 뽑아 내서 비교한다. 나중에 뽑아낸 값이 먼저 뽑아낸 값보다 더 크거나 같으면 1을, 아니면 0을 지금 저장공간에 집어넣는다.
- ㅊ: 조건. 저장공간에서 값 하나를 뽑아내서 그 값이 0이 아니면 진행해야 할 방향대로, 0이면 그 반대 방향대로 간다.
- 중성
- ㅏ,ㅓ,ㅗ,ㅜ: 중성의 방향이 커서의 방향이다.
- ㅑ,ㅕ,ㅛ,ㅠ: 위와 같으나 2칸 옮긴다.
- 만약 끝에 다다르면 반대쪽으로 이동하되, 1칸으로 취급한다. 즉
악 안 야
의 경우 '야' 에서 끝에 다다르면 첫 열로 되돌아가지만, '안'이 아닌 '악'을 실행시킨다. 따라서 '야'를 '아'로 바꿔도 결과는 같다. - ㅣ,ㅡ,ㅢ: ㅣ는 커서가 세로 방향으로 들어오면 그대로, 가로로 돌아오면 방향을 뒤집는다. ㅡ는 그 반대다. ㅢ는 어느 방향이든 방향을 뒤집는다.
- 나머지 중성(ㅘㅚㅐㅙㅝㅟㅔㅞ)은 정의되지 않았다.
- 이외의 종성은 기능 없음.
- 한글이 아닌 모든 글자는 빈칸으로 처리된다. 즉 무시된다.
- '한글'을 가(U+AC00) 이상 힣(U+D7A3) 이하로만 정의하는 구현체도 있고, ㄱ~ㅎ, ㅏ~ㅣ(U+3131 ~ U+3163)등 한글 낱자도 포함하는 구현체도 존재한다. 아희 명세에 따르면 공식적으로는 U+AC00~U+D7A3 사이의 문자만 한글로 취급한다. 참고
2.2.1. 참고 사항
- 종성별 선의 수
2 ㄱ, ㄴ, ㅅ 3 ㄷ, ㅈ, ㅋ 4 ㅁ, ㅂ, ㅊ, ㅌ, ㅍ, ㄲ, ㄳ, ㅆ 5 ㄹ, ㄵ, ㄶ 6 ㅄ 7 ㄺ, ㄽ 8 ㅀ 9 ㄻ, ㄼ, ㄾ, ㄿ - 주석을 달 수 있는 기능은 직접적으로 제공되지는 않는다. 다만, 커서가 절대 지나가지 않는 위치에는 어떠한 글자를 써도 프로그램에 영향을 미치지 않으므로, 그런 자리를 활용해 설명을 쓸 수 있다.
- 아래 나무위키에 등록된 코드들 속에는 제작자의 센스가 돋보이는 말들이 숨어 있으니 찾아보자.
- 아희 코드를 실행하는 중 수로 연산(ㄷ,ㅌ,ㄸ,ㄴ,ㄹ)하게 되는데, 해당 저장공간에 수가 하나뿐일 시 연산을 할 수가 없다. 따라서, 코드의 진행 방향이 뒤집혀 다른 숫자를 받은 후 연산이 진행된다.
예를 들어, "악" 저장공간에 아무것도 없는 상태에서 "삭발다"를 할 시 "삭"에서 "악" 저장공간으로 이동 후 "발"에서 "악" 저장공간에 5를 넣는다. 이때 "다"에서 덧셈을 할 수 없으므로 다시 "발"로 돌아가 5를 넣는다. 마지막으로 "다"를 수행하여 "악" 저장공간에는 10이 남게 된다.
3. 예제
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[아희/예제#s-|]]번 문단을#!if 문단 == null & 앵커 != null
의 [[아희/예제#|]] 부분을 참고하십시오.4. 기타
- 사실 기본 개념만 알면 별로 어려운 언어는 아니다. 물론 프로그램이 조금만 커져도 골치 아프다.
- 아희 코드를 트위터에 쓰면 아희 계정이 사찰을 돈다는 설이 있는데, 정말이다! Hello, World를 써주는 자상함을 지니고 있다.[7][8]
- 공개 10년만에 아희 컨퍼런스가 열렸다! #
- 2016년 8월 12일자 웹툰 공대생 너무만화의 타이틀 컷에 아희 언어가 등장했다.# 코드는 '발받악에땀망희났어'. 참고로 실행하면 15가 나온다. 2017년 1월 6일에도 등장했다.# 독자가 헌정해준 문제.
- 조혜련과 태보의 저주에 수록됐다.
5. 외부 링크
- 자바스크립트 버전
- 아희켐(AheuiChem)[9]
- 알파희 - 아희 JIT 인터프리터
- AVIS - 아희 편집기이다. 일종의 IDE 같은 거라고 보면 된다.
- 아희 온라인 개발환경
- 겁나 빠른 아희 인터프리터
6. 관련 문서
[1] 물론 말이 되는 한국어 문장으로 작동하는 아희 코드를 짜는 경우도 있다.[2] 비펀지의 일종. 업그레이드판이라고 볼 수 있다.[3] ㅇ과 ㅎ을 제외한 쌍자음을 포함한 종성 낱자 14자에 ㄾ같이 합용 병서된 종성 11자, 종성 없을 때의 한 가지까지 총 26개.[4] ㅇ이 큐이다.[5] ㅎ으로 저장공간 고르듯이 쓸 수 있다.[6] ㅇ은 Null로 정의되어 있지만 ㄱ과 ㅋ은 아예 정의 자체가 없다.[7] Hello, World가 아니어도 아희로 작성된 문장이면 실행된 결과를 써준다.[8] 트윗들을 살펴보면 하는말도 여러모로 사차원(?)적인 말들이 많고, 빈창으로 답변을 보내는 일도 허다하다. 공식봇인지 아닌지, 혹은 진짜 사람인지는 불분명하지만 아희 관련 언어들에 다 답글을 달아주고, 유일한 팔로잉이 위에도 언급했다시피 창조자인 Puzzlet Chung이기 때문에 어느 정도 신뢰는 간다.[9] 아희와 비슷한 메커니즘을 가진 퍼즐게임 SpaceChem에서 따온 이름으로 보인다.