사고기술용 프로그래밍 언어
지델 — 생각의 흐름을
기술하고 실행하는 프로그래밍 언어
JIDEL은 Ji's Idea DEscription Language — 자연어와 프로그래밍 언어의 중간에 서서, 생각과 관계와 맥락을 기술하기 위한 언어입니다. 절차와 데이터를 다루는 여느 언어와 달리, 지델은 개념·관계·맥락·상대값·다치 판단을 다룹니다.
연구 제안 구현 방안 검증 전 가설
연구 제안
한 마리 누에에서 시작된 언어
2011년 봄, 조카의 방학 숙제 — 누에 애벌레 관찰
지델의 구상은 2011년 봄, 조카의 방학 숙제였던 누에 애벌레 관찰에서 시작되었습니다.
고치를 짓는 누에를 며칠 관찰하며 지델 설계자는 생명체의 행동이 몇 개의 층으로 나뉘고, 그 사이에 판단의 분기가 있음을 보았습니다. 이 관찰은 행동의 분류에 관한 오랜 메모가 되었고, 하나의 질문으로 자랐습니다 — 생각의 구조를 잃지 않고 기록할 수 있는 언어는 왜 없는가. 자연어는 풍부하지만 실행되지 않고, 프로그래밍 언어는 실행되지만 생각을 담기에 너무 좁았습니다.
절대 좌표가 아니라 비교로 값을 본다
참·거짓 사이에 여러 층위를 둔다
뜻은 노드가 아니라 연결에서 나온다
단순화·추상화로 끊임없이 고쳐 나간다
개발 방향은 단순화 · 추상화 · 일관성 유지이며, 장기 역할은 뉴톰망·보시퓀·에코나스의 개념을 기술하고 실험하는 공용 도구가 되는 것입니다.
연구 제안
다섯 가지 설계 축
문법과 실행 모델이 서 있는 다섯 기둥
지델의 문법과 실행 모델은 다음 다섯 축 위에 서 있습니다. 그중 후위 표기는 이 언어의 첫인상입니다 — 한국어 문장의 순서가 곧 실행의 순서입니다.
후위 표기 — 한국어 어순의 실행 모델
피연산자(명사)들이 먼저 서고 연산자(서술어)가 마지막에 와서 평가를 완성합니다. 한국어 문장이 문말 용언에서 완성되는 구조와 같으며, 어절 단위 해석과 조사 처리가 문법 설계의 바탕입니다.
관계 지향 프로그래밍(ROP)
개념·데이터·코드까지 모든 것을 서로 연결된 관계의 그물로 파악합니다. 명사 하나의 뜻은 정의문이 아니라, 그 노드에 연결된 연결들의 다발입니다.
코드 = 데이터 = 정보
명령·루틴·함수를 값처럼 다루고(코드=데이터), 지델 코드는 뉴톰망의 정보로도 흘러듭니다. 계산 단위 잭터는 액터를 확장한 별개 개념입니다.
다치 논리 체계
참·거짓 둘이 아니라 여섯 논리상태를 둡니다. 모르는 상태가 오류가 아니라 정식 논리값이며, 각 값에는 확신도가 따라붙습니다.
상대값 연산
값을 절대 눈금이 아니라 겪어 온 것들의 양극 사이 어디쯤인지로 잡습니다. 같은 수라도 어느 모임에 놓이느냐에 따라 자리가 달라집니다.
연구 제안
관계 지향 — 뜻은 연결에서 태어난다
명사의 의미 = 그 노드에 걸린 연결들의 다발
지델은 개념·데이터·코드를 서로 연결된 관계의 그물로 봅니다. 한 명사의 뜻은 어딘가에 적힌 정의문이 아니라, 그것이 무엇들과 어떻게 이어져 있는가에서 드러납니다.
구현 방안
코드도 정보다 — 지델에서 뉴톰망으로
코드 = 데이터 = 정보 · 지델이 쓴 코드가 뉴톰망의 정보로 흐른다
지델은 명령·루틴·함수의 묶음을 값처럼 다룹니다 — 주소(포인터)로 데이터와 코드를 하나로 묶어, 코드를 비교·평가·조합할 수 있게요(코드=데이터 원칙). 여기서 한 걸음 더 나아갑니다. 지델로 쓰인 소스 코드와 중간 언어 코드(IBC)는 뉴톰망이 다루는 기본정보의 한 종류로 그대로 흘러듭니다. 뉴톰망의 근원 정보 목록에는 물리·수학·관념·보시퓀 정보와 나란히 「지델 정보」가 한 자리를 차지하거든요. 코드가 데이터·정보와 똑같은 자격으로 다뤄지는 셈입니다.
IBC(Idea Block Code, 중간 언어)로 컴파일되어 인공의식에 이식할 지식이 되고, 뉴톰망 기본정보의 「지델 정보」 범주로 흘러듭니다 — 코드 = 데이터 = 정보. 근거: 「기본정보에 관한 메모」의 정보 범주에 물리·수학·관념·보시퓀 정보와 나란히 '지델 정보'가 실려 있습니다. 구현 방안폰 노이만을 넘어 — 더 느슨하고 자유로운 패러다임으로
폰 노이만 이래 컴퓨팅은 명령(코드)과 데이터를 따로 다루는 사고를 오래 이어 왔습니다. 코드를 데이터로 본다는 것은 그 딱딱한 경계를 허물고, 더 느슨하고 자유로운 프로그래밍으로 가는 눈의 전환입니다.
① 절차형 · 전통
코드 → 데이터
코드가 수동적인 데이터를 다룬다. 폰 노이만 이래, 둘은 엄격히 나뉜다.
② 연결주의 · 신경망
데이터 → 코드
학습 데이터가 모델(가중치 = 사실상 프로그램)을 빚는다. 코드를 짜는 대신 데이터로 기른다.
③ 지델 · 통합
코드 = 데이터 = 정보
코드·데이터·모델을 모두 정보로 보고, 서로 자유로이 넘나든다.
이 세 번째 길에는 오랜 선례가 있습니다 — 리스프(LISP)는 반세기 전 이미 코드와 데이터를 같은 구조로 다뤄(동형성, homoiconicity), 폰 노이만식 이분법에 첫 균열을 냈습니다. 지델은 그 전통을 신경망 시대로 넓혀, 코드·데이터·모델의 딱딱한 경계를 풀어 모두 하나의 정보로 자유로이 넘나들게 합니다(삼종연합). 프로그램이 자기 자신과 학습 모델까지 정보로 다룰 수 있을 때 — 스스로를 고치고(자기 수정), 자기 생각을 헤아리며(메타 인지), 목표를 향해 자신을 바꿔 가는 의지가 비로소 가능해집니다.
구현 방안
잭터(Jactor) — 액터를 확장한 능동 객체
관계 · 응급 메시지 · 동적 모델링을 갖춘 계산 단위 · 지델의 예약어
사고란 심상 속 이미지들을 움직이며 시뮬레이션하는 과정입니다. 그러려면 계산 단위들이 스스로 메시지를 주고받고, 상황에 따라 제 구조를 바꿀 수 있어야 합니다. 잭터(Jactor)는 다른 언어의 액터(Actor) — 독립적으로 비동기 메시지를 주고받으며 자기 상태를 지닌 계산 단위 — 를 확장한 지델의 예약어입니다. 액터에 관계, 응급(우선순위) 메시지, 동적 모델링을 더해, 스스로 관계를 맺고 급한 신호를 먼저 처리하며 실행 중에 제 모습을 바꾸는 능동 객체가 됩니다.
구현 방안
여섯 상태의 논리 — 모름을 정식 논리값으로
참·거짓 둘이 아니라, 여섯
지델의 논리값은 참과 거짓 둘이 아니라 여섯입니다. 핵심은 '모르는 상태'가 오류가 아니라 정식 논리값이라는 점입니다.
- 여섯 상태는 8비트에 확신도 채널과 함께 인코딩하는 방안을 검토 중입니다.
0으로 초기화된 값이 곧 무평가(I)가 되도록 배치합니다. - 연산은 룩업 테이블로 빠르게 처리하고, 연산 법칙(결합·분배 등)은 전 조합 기계 검증으로 확인합니다. 216만 개 조합을 전수 검증하는 검증기를 만들어 216가지 정합 조건을 통과시켰습니다.
- 어느 규칙을 채택할지는 결정 목록으로 관리합니다 — 지금 서른네 건이 올라 열일곱 건이 확정되었고, 나머지는 미결로 남겨 둡니다. 검증에서 반례가 나오면 설계를 고칩니다.
왜 여섯인가
현실의 판단은 참/거짓보다 자주 '아직 모른다', '이럴 수도 저럴 수도 있다', '근거가 서로 충돌한다'에 머뭅니다. 이 상태들을 오류로 몰지 않고 값으로 다루면, 판단의 보류와 재개, 확신의 축적과 강등을 프로그램으로 쓸 수 있습니다.
구현 방안
앎의 나선 — 여섯 상태가 도는 순서
무평가에서 시작해 모름으로 돌아온다
여섯 상태는 늘어놓은 목록이 아니라 도는 순서를 갖습니다. 아직 묻지 않은 무평가(I)에서 시작해, 후보가 겹치는 중첩(S)을 거쳐, 참(T) 또는 거짓(F)으로 판정하고, 근거가 충돌하면 모순(P)에 이르며, 거기서 모름(M)으로 돌아옵니다. 그 모름은 처음의 무평가와 다릅니다 — 물어 보고 나서 얻은 모름이기 때문입니다.
그래서 이 논리는 어느 한 상태를 종착으로 두지 않습니다. 확신은 쌓이기도 하고 강등되기도 합니다 — 반증이 나오면 확신도가 내려가고, 궁극의 앎을 넘보는 순간 스스로 물러섭니다. 서양 논리가 확정된 상태만으로 연산해 온 자리에, 동양의 오랜 수양 개념이 연산 규칙으로 들어온 대목입니다. 겸손을 도덕 훈계가 아니라 계산 규칙으로 내장한다 — 이것이 이 설계의 기조입니다.
구현 방안
상대값 연산 — 극과 극 사이를 읽다
극간 이론 · '187cm'가 아니라 '좀 크네'
사람은 '저 사람 키가 187cm구나'라고 생각하지 않습니다 — 그냥 '키가 좀 크네'라고 여기죠. 값은 절대 눈금이 아니라, 지금껏 겪은 것들의 양극(최소·최대) 사이 어디쯤인지로 잡힙니다: (x − min) / (max − min). 그리고 그 자리는 어느 모임에 있느냐에 따라 달라집니다 — 같은 187이 농구 모임에선 '보통', 다른 데선 '크다'가 되니까요.
검증 전 가설
서술어 프레임 — 문장은 슬롯을 여는 틀
명사를 값이 아니라 과정으로
최근 연구 방향입니다. 명사를 고정된 값이 아니라 조건에 따라 평가되는 과정으로 다루고, 문장을 서술어가 여는 의문사 슬롯들의 틀로 봅니다.
- 명사 지연 평가 — 명사는 〔조건 → 현상〕의 지연 평가 함수이고, 참조하는 행위가 곧 관측입니다. 조사(이/가·을/를·에서…)는 조건을 부착하는 연산자, 문장 끝 용언은 평가를 촉발합니다.
- 의문사 슬롯 — 누가·무엇을·언제·어디서·왜·어떻게에 누구에게·무엇으로·얼마나·그래서 등을 더한 열네 슬롯이 문장의 빈칸 구조를 이룹니다. 채워지지 않은 슬롯은 오류가 아니라 모름(M) 값으로 남습니다.
- 호기심 엔진 — 비어 있는 슬롯을 찾아 채우려는 동작을 언어 수준에서 지원하는 방안을 탐구 중입니다. 질문이란 모름 슬롯을 겉으로 드러내는 일입니다.
검증해야 할 것
조건 슬롯의 문법 표기, 평가 시점(즉시/지연/재관측)의 제어 구문, 슬롯 자질 체계의 타입화는 아직 결정 전입니다. 이 가설들은 상대값 설계와 함께 결정 목록에서 다룹니다.
연구 제안
이 언어가 여는 가능성
기술 사양 너머, 사용자와 후원자에게 갖는 의미
잃어버리지 않는 생각
메모는 쌓이지만 생각들 사이의 연결은 사라집니다. 지델은 개념과 개념 사이의 관계·맥락까지 기록하므로, 개인의 연구 노트와 조직의 지식이 검색되는 자료를 넘어 연결된 자산이 됩니다.
"모른다"고 말할 줄 아는 소프트웨어
오늘의 AI는 모르는 것도 자신 있게 말하는 문제를 안고 있습니다. 지델의 다치 논리는 모름·중첩·모순을 기본 논리상태로 다루므로, 판단의 근거와 확신의 정도를 함께 보여줍니다 — 의료·금융·돌봄처럼 신뢰가 생명인 분야가 필요로 하는 성질입니다.
한국어에서 출발하는 기술
후위 표기와 어절 문법은 한국어 어순을 그대로 실행 모델로 삼습니다. 우리말로 생각한 순서 그대로 쓰는 프로그래밍 언어는, 언어 자체를 기술 자산으로 만드는 드문 시도입니다.
구현 방안
단기 목표와 자리
문서화, 그리고 작은 예제를 실행하는 돌아가는 인터프리터
단기 목표는 문법 체계와 실행 의미론을 문서화하고, 작은 예제를 실제로 실행하는 돌아가는 인터프리터를 만드는 것입니다.
- 핵심 문법: 후위 표기 · 관계 지향 표현 · 코드의 데이터화
- 실행 모델: 스택 기반 실행 · 맥락 의존 연산 · 상대값 처리 · 다치 판단
- 구현: 최소 인터프리터 · 예제 모음 · 사양 문서 · 논리 검증기
연구 전체의 순서에서 지델은 첫 벽돌입니다 — 지델이 구현되어야 그것으로 뉴톰망을 만들 수 있고, 보시퓀 이론과 뉴톰망이 합쳐져야 에코나스로 향할 수 있습니다.
연구 제안
함께 보기
이 페이지는 지델 설계 문서들의 방문자용 요약입니다. 연구 기록은 연구 게시판에서 공개하고 있습니다.
지델은 Forth·Factor 계열의 연결형 언어, C·Python·Prolog·Lisp 등 여러 언어의 영향 위에서, 한국어 문법론과 다치 논리 연구를 더해 설계되고 있습니다.
이 언어가 자라려면, 방해받지 않는 시간이 필요합니다
지델은 분기 실적으로 잴 수 없는, 긴 호흡의 기초 연구입니다. 후원은 사무실이나 광고가 아니라 연구 시간이 되고, 그 시간은 구현과 사양 문서와 공개된 기록이 되어 모두에게 돌아갑니다.
이 페이지는 지델 설계 연구의 방문자용 요약입니다. 영향: Forth·Factor 계열 연결형 언어, C·Python·Prolog·Lisp, 그리고 한국어 문법론과 다치 논리 연구.