思考を記述するためのプログラミング言語
JIDEL — 思考の流れを
記述し実行するプログラミング言語
JIDEL は Ji's Idea DEscription Language — 自然言語とプログラミング言語の中間に立ち、思考・関係・文脈を記述するための言語です。手続きとデータを扱う一般的な言語とは異なり、JIDEL は概念・関係・文脈・相対値・多値判断を扱います。
研究提案 実装方針 検証前の仮説
研究提案
一匹の蚕から始まった言語
2011年春、甥の休みの宿題 — 蚕の幼虫の観察
JIDEL の構想は 2011 年春、甥の休みの宿題であった蚕の幼虫の観察から始まりました。
繭を紡ぐ蚕を数日観察するうち、設計者は生命体の行動がいくつかの層に分かれ、その間に判断の分岐があることを見ました。この観察は行動の分類に関する長いメモとなり、一つの問いへと育ちました — 思考の構造を失わずに記録できる言語は、なぜ無いのか。 自然言語は豊かだが実行されず、プログラミング言語は実行されるが思考を収めるにはあまりに狭かったのです。
絶対座標ではなく比較で値を見る
真と偽の間に複数の層を置く
意味はノードではなく、つながりから生まれる
単純化・抽象化によって絶えず改めていく
開発方針は単純化・抽象化・一貫性の維持であり、長期的な役割は Neutom Network・BOSIFWEM・ECONAS の概念を記述し実験するための共通ツールになることです。
研究提案
五つの設計軸
文法と実行モデルが立つ五本の柱
JIDEL の文法と実行モデルは、次の五つの軸の上に立っています。なかでも後置記法はこの言語の第一印象です — 韓国語の文の順序が、そのまま実行の順序になります。
後置記法 — 韓国語の語順による実行モデル
被演算子(名詞)が先に立ち、演算子(述語)が最後に来て評価を完成させます。韓国語の文が文末の用言で完成する構造と同じで、文節単位の解釈と助詞の処理が文法設計の土台です。
関係指向プログラミング(ROP)
概念・データ・コードに至るまで、すべてを相互に結ばれた関係の網として捉えます。一つの名詞の意味は定義文ではなく、そのノードに結ばれた辺の束です。
コード = データ = 情報
命令・ルーチン・関数を値のように扱い(コード = データ)、JIDEL のコードは Neutom Network の情報としても流れ込みます。計算単位Jactorは、Actor を拡張した別個の概念です。
多値論理の体系
真と偽の二つではなく、六つの論理状態を置きます。「わからない状態」が誤りではなく正式な論理値であり、どの値にも確信度が伴います。
相対値の演算
値を絶対的な目盛りではなく、これまで経験したものの両極のあいだのどこかとして捉えます。同じ数でも、どの集団に置かれるかで位置が変わります。
研究提案
関係指向 — 意味はつながりから生まれる
名詞の意味 = そのノードに掛かる辺の束
JIDEL は概念・データ・コードを、互いに結ばれた関係の網として見ます。ある名詞の意味は、どこかに記された定義文ではなく、それが何と、どのようにつながっているかに現れます。
実装方針
コードも情報である — JIDEL から Neutom Network へ
コード = データ = 情報 · JIDEL が書いたコードが Neutom Network の情報として流れる
JIDEL は命令・ルーチン・関数の束を値のように扱います — アドレス(ポインタ)でデータとコードを一つに束ね、コードを比較・評価・合成できるようにします(コード = データ原則)。ここからさらに一歩進みます。JIDEL で書かれたソースコードと中間言語コード(IBC)は、Neutom Network が扱う基本情報の一種としてそのまま流れ込みます。Neutom Network の根源情報の一覧には、物理・数学・観念・BOSIFWEM 情報と並んで「JIDEL 情報」が一席を占めているのです。コードはデータ・情報と同格の市民 — だから「一級」なのです。
IBC(Idea Block Code、中間言語)へコンパイルされ、人工意識へ移植する知識となり、Neutom Network の基本情報の「JIDEL 情報」カテゴリへ流れ込みます — コード = データ = 情報。根拠:「基本情報に関するメモ」の情報カテゴリに、物理・数学・観念・BOSIFWEM 情報と並んで「JIDEL 情報」が載っています。実装方針フォン・ノイマンを越えて — より緩やかで自由なパラダイムへ
フォン・ノイマン以来、コンピューティングは命令(コード)とデータを別々に扱う考えを長く続けてきました。コードをデータとして見るとは、その硬い境界を取り払い、より緩やかで自由なプログラミングへと向かう視点の転換です。
① 手続き型 · 伝統
コード → データ
コードが受動的なデータを扱う。フォン・ノイマン以来、両者は厳密に分けられる。
② コネクショニズム · ニューラルネット
データ → コード
学習データがモデル(重み = 事実上のプログラム)を形づくる。コードを書く代わりに、データで育てる。
③ JIDEL · 統合
コード = データ = 情報
コード・データ・モデルをすべて情報と見なし、互いに自由に行き来する。
この第三の道には長い先例があります — LISP は半世紀前にすでにコードとデータを同じ構造で扱い(同図像性、homoiconicity)、フォン・ノイマン式の二分法に初めて亀裂を入れました。JIDEL はその伝統をニューラルネットの時代へと広げ、コード・データ・モデルの硬い境界をほどいて、すべてを一つの情報として自由に行き来させます(三種連合)。プログラムが自分自身や学習モデルまで情報として扱えるとき — 自らを直し(自己修正)、自らの考えを省み(メタ認知)、目標に向けて自らを変えていく意志が、ようやく可能になります。
実装方針
Jactor — Actor を拡張した能動オブジェクト
関係・緊急メッセージ・動的モデリングを備えた計算単位 · JIDEL の予約語
思考とは、心象の中のイメージを動かしてシミュレーションする過程です。そのためには、計算単位が自らメッセージをやり取りし、状況に応じて自らの構造を変えられなければなりません。Jactor は、他言語の Actor — 独立して非同期メッセージをやり取りし、自身の状態を持つ計算単位 — を拡張した JIDEL の予約語です。Actor に関係・緊急(優先)メッセージ・動的モデリングを加え、自ら関係を結び、急な信号を先に処理し、実行中に自らの姿を変える能動オブジェクトになります。
実装方針
六状態の論理 — 「わからない」を正式な論理値に
真と偽の二つではなく、六つ
JIDEL の論理値は、真と偽の二つではなく六つです。要点は、「わからない状態」が誤りではなく正式な論理値であるという点です。
- 六つの状態を、確信度チャンネルとともに 8 ビットへエンコードする方式を検討中です。
0で初期化された値がそのまま未評価(I)になるよう配置します。 - 演算はルックアップテーブルで高速に処理し、演算法則(結合・分配など)は全組み合わせの機械検証で確認します。216 万通りの組み合わせを網羅的に検証する検証器を作り、216 種の整合条件を通過させました。
- どの規則を採用するかは決定リストで管理します——いま三十四件が挙がり、十七件が確定し、残りは未決のままにしておきます。検証で反例が出れば、設計を改めます。
なぜ六つなのか
現実の判断は、真/偽よりもむしろ「まだわからない」「こうとも、ああともいえる」「根拠が互いに衝突する」にとどまることが多いものです。これらの状態を誤りとして追い払わず値として扱えば、判断の保留と再開、確信の蓄積と格下げをプログラムとして書けます。
実装方針
知の螺旋 — 六つの状態がめぐる順序
未評価から始まり、不明へ還る
六つの状態は並べただけの一覧ではなく、めぐる順序を持ちます。まだ問うていない未評価(I)から始まり、候補が重なる重ね合わせ(S)を経て、真(T)または偽(F)と判定し、根拠が衝突すれば矛盾(P)に至り、そこから不明(M)へ還ります。その不明は、はじめの未評価とは違います——問うたうえで得られた不明だからです。
だからこの論理は、いずれか一つの状態を終着点としません。確信は積み上がりもし、格下げされもします——反例が出れば確信度は下がり、究極の知を望んだ瞬間に自ら退きます。西洋の論理が確定した状態だけで演算してきた場所に、東洋の古い修養の概念が演算規則として入ってきた箇所です。謙虚さを道徳の説教ではなく計算規則として組み込む——これがこの設計の基調です。
実装方針
相対値の演算 — 両極のあいだを読む
極間理論 · 「187cm」ではなく「ちょっと背が高いね」
人は「あの人は187cmだ」とは考えません——ただ「ちょっと背が高いね」と感じます。値は絶対的な目盛りではなく、これまで経験したものの両極(最小・最大)のあいだのどこに位置するかで捉えられます:(x − min) / (max − min)。しかもその位置はどの集団にいるかで変わります——同じ187が、バスケチームでは「普通」、別の場では「高い」になるのです。
検証前の仮説
述語フレーム — 文はスロットを開く枠
名詞を値ではなく過程として
近年の研究方向です。名詞を固定した値ではなく、条件に応じて評価される過程として扱い、文を述語が開く疑問詞スロットの枠として見ます。
- 名詞の遅延評価 — 名詞は〔条件 → 現象〕の遅延評価関数であり、参照する行為こそが観測です。助詞(이/가・을/를・에서…)は条件を付加する演算子、文末の用言は評価の引き金です。
- 疑問詞スロット — 誰が・何を・いつ・どこで・なぜ・どのように、に、誰に・何で・どれくらい・それで、などを加えた十四のスロットが、文の空欄構造をなします。埋まっていないスロットは誤りではなく、不明(M)値として残ります。
- 好奇心エンジン — 空いているスロットを探し出して埋めようとする動作を、言語レベルで支援する方式を探究中です。問いとは、不明のスロットを表に現すことです。
検証すべきこと
条件スロットの文法表記、評価時点(即時/遅延/再観測)の制御構文、スロット素性体系の型付けは、まだ決定前です。これらの仮説は、相対値の設計とともに決定台帳で扱います。
研究提案
この言語がひらく可能性
技術仕様を越えて、利用者と支援者にとっての意味
失われない思考
メモは積もっても、思考どうしのつながりは消えていきます。JIDEL は概念と概念の間の関係・文脈まで記録するので、個人の研究ノートや組織の知識が、検索される資料を超えて、つながった資産になります。
「わからない」と言えるソフトウェア
今日の AI は、わからないことまで自信ありげに言い切るという問題を抱えています。JIDEL の多値論理は、不明・重ね合わせ・矛盾を正式な値として扱うため、判断の根拠と確信の度合いをあわせて示します — 医療・金融・ケアのように信頼が命である分野が必要とする性質です。
韓国語から出発する技術
後置記法と文節文法は、韓国語の語順をそのまま実行モデルとします。母語で考えた順序のまま書けるプログラミング言語は、言語そのものを技術資産に変える稀な試みです。
実装方針
短期目標と位置づけ
文書化と、小さな例を動かす、動くインタプリタ
短期目標は、文法体系と実行意味論を文書化し、小さな例を実際に動かす、動くインタプリタを作ることです。
- 核心文法:後置記法 · 関係指向の表現 · コードのデータ化
- 実行モデル:スタックベース実行 · 文脈依存の演算 · 相対値処理 · 多値判断
- 実装:最小インタプリタ · 例題集 · 仕様書 · 論理検証器
研究全体の順序において、JIDEL は最初のれんがです — JIDEL が実装されてはじめて、それで Neutom Network を作ることができ、BOSIFWEM 理論と Neutom Network が合わさってはじめて、ECONAS へ向かうことができます。
研究提案
あわせて読む
このページは JIDEL 設計文書の来訪者向け要約です。研究記録は研究掲示板で公開しています。
JIDEL は、Forth·Factor 系の連結型言語や、C・Python・Prolog・Lisp などの影響の上に、韓国語文法論と多値論理の研究を加えて設計されています。
この言語が育つには、妨げられない時間が必要です
JIDEL は、四半期の実績では測れない、長い呼吸の基礎研究です。支援はオフィスや広告ではなく研究の時間になり、その時間は実装と仕様書と公開された記録となって、みなに還ります。
このページは JIDEL 設計研究の来訪者向け要約です。影響:Forth·Factor 系の連結型言語、C·Python·Prolog·Lisp、そして韓国語文法論と多値論理の研究。