思考を記述するためのプログラミング言語

JIDEL — 思考の流れを
記述し実行するプログラミング言語

JIDEL は Ji's Idea DEscription Language — 自然言語とプログラミング言語の中間に立ち、思考・関係・文脈を記述するための言語です。手続きとデータを扱う一般的な言語とは異なり、JIDEL は概念・関係・文脈・相対値・多値判断を扱います。

JIDEL の位置 自然言語 プログラミング言語 豊かだが実行されない 実行できるが狭い JIDEL 思考を実行可能に 思考の構造を失わず記録し、そのまま実行する。
自然言語は豊かだが実行されず、プログラミング言語は実行されるが思考を収めるには狭い。JIDEL はその間に立つために設計されます。

研究提案 実装方針 検証前の仮説

このページは完成した言語の使用説明書ではありません — 確定した設計方針と、まだ決めていない課題を明確に分けて紹介します。

研究提案

一匹の蚕から始まった言語

2011年春、甥の休みの宿題 — 蚕の幼虫の観察

JIDEL の構想は 2011 年春、甥の休みの宿題であった蚕の幼虫の観察から始まりました。

繭を紡ぐ蚕を数日観察するうち、設計者は生命体の行動がいくつかの層に分かれ、その間に判断の分岐があることを見ました。この観察は行動の分類に関する長いメモとなり、一つの問いへと育ちました — 思考の構造を失わずに記録できる言語は、なぜ無いのか。 自然言語は豊かだが実行されず、プログラミング言語は実行されるが思考を収めるにはあまりに狭かったのです。

相対性

絶対座標ではなく比較で値を見る

多値論理

真と偽の間に複数の層を置く

関係指向

意味はノードではなく、つながりから生まれる

変化の追求

単純化・抽象化によって絶えず改めていく

開発方針は単純化・抽象化・一貫性の維持であり、長期的な役割は Neutom Network・BOSIFWEM・ECONAS の概念を記述し実験するための共通ツールになることです。

研究提案

五つの設計軸

文法と実行モデルが立つ五本の柱

JIDEL の文法と実行モデルは、次の五つの軸の上に立っています。なかでも後置記法はこの言語の第一印象です — 韓国語の文の順序が、そのまま実行の順序になります。

後置記法 — 韓国語の語順による実行モデル

被演算子(名詞)が先に立ち、演算子(述語)が最後に来て評価を完成させます。韓国語の文が文末の用言で完成する構造と同じで、文節単位の解釈と助詞の処理が文法設計の土台です。

関係指向プログラミング(ROP)

概念・データ・コードに至るまで、すべてを相互に結ばれた関係の網として捉えます。一つの名詞の意味は定義文ではなく、そのノードに結ばれた辺の束です。

コード = データ = 情報

命令・ルーチン・関数を値のように扱い(コード = データ)、JIDEL のコードは Neutom Network の情報としても流れ込みます。計算単位Jactorは、Actor を拡張した別個の概念です。

多値論理の体系

真と偽の二つではなく、六つの論理状態を置きます。「わからない状態」が誤りではなく正式な論理値であり、どの値にも確信度が伴います。

相対値の演算

値を絶対的な目盛りではなく、これまで経験したものの両極のあいだのどこかとして捉えます。同じ数でも、どの集団に置かれるかで位置が変わります。

韓国語の語順 = 実行の順序 「私はコーヒーを飲む」— 文がそのままプログラム 私は コーヒーを 飲む 完了 素材①を積む 素材②を積む 動詞が素材を評価 一文 = 一計算 被演算子(名詞)が先に立ち、末尾の述語が計算を完成 — 韓国語の語順のまま。 翻訳なしに、考えた順序のまま書く言語です。
後置記法は難しい話ではありません — 韓国語の文が末尾の動詞で完成するように、JIDEL のプログラムもまず素材を置き、最後の演算が意味を完成させます。

研究提案

関係指向 — 意味はつながりから生まれる

名詞の意味 = そのノードに掛かる辺の束

JIDEL は概念・データ・コードを、互いに結ばれた関係の網として見ます。ある名詞の意味は、どこかに記された定義文ではなく、それが何と、どのようにつながっているかに現れます。

関係の網から現れる意味 水 飲む 流れる 透明 生命 川 「水」の意味は定義ではなく、この辺の束である。
名詞は単独では定義されません。ノードに掛かる関係の辺こそがその語の意味であり、辺が増減すれば意味もともに変わります。

実装方針

コードも情報である — JIDEL から Neutom Network へ

コード = データ = 情報 · JIDEL が書いたコードが Neutom Network の情報として流れる

JIDEL は命令・ルーチン・関数の束を値のように扱います — アドレス(ポインタ)でデータとコードを一つに束ね、コードを比較・評価・合成できるようにします(コード = データ原則)。ここからさらに一歩進みます。JIDEL で書かれたソースコードと中間言語コード(IBC)は、Neutom Network が扱う基本情報の一種としてそのまま流れ込みます。Neutom Network の根源情報の一覧には、物理・数学・観念・BOSIFWEM 情報と並んで「JIDEL 情報」が一席を占めているのです。コードはデータ・情報と同格の市民 — だから「一級」なのです。

コード = データ = 情報 JIDEL ソースコード 命令ルーチン関数 コンパイル IBC 中間言語 · 移植する知識 情報へ Neutom Network 基本情報(根源情報) 物理数学観念 物理量データBOSIFWEM JIDEL 情報 = コードは情報の一種 コードが情報になれば、JIDEL が書いたものを Neutom Network が情報として学ぶ。
JIDEL のコードは IBC(Idea Block Code、中間言語)へコンパイルされ、人工意識へ移植する知識となり、Neutom Network の基本情報の「JIDEL 情報」カテゴリへ流れ込みます — コード = データ = 情報。根拠:「基本情報に関するメモ」の情報カテゴリに、物理・数学・観念・BOSIFWEM 情報と並んで「JIDEL 情報」が載っています。実装方針

フォン・ノイマンを越えて — より緩やかで自由なパラダイムへ

フォン・ノイマン以来、コンピューティングは命令(コード)とデータを別々に扱う考えを長く続けてきました。コードをデータとして見るとは、その硬い境界を取り払い、より緩やかで自由なプログラミングへと向かう視点の転換です。

① 手続き型 · 伝統

コード → データ
コードが受動的なデータを扱う。フォン・ノイマン以来、両者は厳密に分けられる。

② コネクショニズム · ニューラルネット

データ → コード
学習データがモデル(重み = 事実上のプログラム)を形づくる。コードを書く代わりに、データで育てる。

③ JIDEL · 統合

コード = データ = 情報
コード・データ・モデルをすべて情報と見なし、互いに自由に行き来する。

この第三の道には長い先例があります — LISP は半世紀前にすでにコードとデータを同じ構造で扱い(同図像性、homoiconicity)、フォン・ノイマン式の二分法に初めて亀裂を入れました。JIDEL はその伝統をニューラルネットの時代へと広げ、コード・データ・モデルの硬い境界をほどいて、すべてを一つの情報として自由に行き来させます(三種連合)。プログラムが自分自身や学習モデルまで情報として扱えるとき — 自らを直し(自己修正)、自らの考えを省み(メタ認知)、目標に向けて自らを変えていく意志が、ようやく可能になります。

実装方針

Jactor — Actor を拡張した能動オブジェクト

関係・緊急メッセージ・動的モデリングを備えた計算単位 · JIDEL の予約語

思考とは、心象の中のイメージを動かしてシミュレーションする過程です。そのためには、計算単位が自らメッセージをやり取りし、状況に応じて自らの構造を変えられなければなりません。Jactor は、他言語の Actor — 独立して非同期メッセージをやり取りし、自身の状態を持つ計算単位 — を拡張した JIDEL の予約語です。Actor に関係・緊急(優先)メッセージ・動的モデリングを加え、自ら関係を結び、急な信号を先に処理し、実行中に自らの姿を変える能動オブジェクトになります。

Jactor — Actor の拡張 Actor Actor 非同期メッセージ · 状態 拡張 Jactor Jactor 関係を結ぶ 緊急メッセージ 動的モデリング
Jactor は、属性・アクション・メッセージキュー・非同期送受信という Actor の土台に、関係・緊急処理・動的モデリングを加えた能動オブジェクトです(2015 年に概念確定)。実装方針

実装方針

六状態の論理 — 「わからない」を正式な論理値に

真と偽の二つではなく、六つ

JIDEL の論理値は、真と偽の二つではなく六つです。要点は、「わからない状態」が誤りではなく正式な論理値であるという点です。

六つの論理状態 I M S P F T 未評価 不明 重ね合わせ 矛盾 偽 真 まだ問うていない 問うたが答えなし 候補が重なる 根拠が衝突 偽と判定 真と判定 どの値にも確信度チャンネルが付き、同じ「真」でも確信の深さが異なる。
六つの状態:未評価(I)・不明(M)・重ね合わせ(S)・矛盾(P)・偽(F)・真(T)。いずれか一つの状態を終着点とはしません — 「わからない」と疑い(格下げ)を異常ではなく正常なリズムとして扱い、六つの層を自由に行き来することを、この論理の設計基調とします。
  • 六つの状態を、確信度チャンネルとともに 8 ビットへエンコードする方式を検討中です。0 で初期化された値がそのまま未評価(I)になるよう配置します。
  • 演算はルックアップテーブルで高速に処理し、演算法則(結合・分配など)は全組み合わせの機械検証で確認します。216 万通りの組み合わせを網羅的に検証する検証器を作り、216 種の整合条件を通過させました。
  • どの規則を採用するかは決定リストで管理します——いま三十四件が挙がり、十七件が確定し、残りは未決のままにしておきます。検証で反例が出れば、設計を改めます。
なぜ六つなのか

現実の判断は、真/偽よりもむしろ「まだわからない」「こうとも、ああともいえる」「根拠が互いに衝突する」にとどまることが多いものです。これらの状態を誤りとして追い払わず値として扱えば、判断の保留と再開、確信の蓄積と格下げをプログラムとして書けます。

実装方針

知の螺旋 — 六つの状態がめぐる順序

未評価から始まり、不明へ還る

六つの状態は並べただけの一覧ではなく、めぐる順序を持ちます。まだ問うていない未評価(I)から始まり、候補が重なる重ね合わせ(S)を経て、真(T)または偽(F)と判定し、根拠が衝突すれば矛盾(P)に至り、そこから不明(M)へ還ります。その不明は、はじめの未評価とは違います——問うたうえで得られた不明だからです。

だからこの論理は、いずれか一つの状態を終着点としません。確信は積み上がりもし、格下げされもします——反例が出れば確信度は下がり、究極の知を望んだ瞬間に自ら退きます。西洋の論理が確定した状態だけで演算してきた場所に、東洋の古い修養の概念が演算規則として入ってきた箇所です。謙虚さを道徳の説教ではなく計算規則として組み込む——これがこの設計の基調です。

知の螺旋 もう一度問う — だが同じ位置ではない I S T F P M 未評価 重ね合わせ 真 偽 矛盾 不明 まだ問うていない 問うたが答えなし
六つの位置は並べただけの一覧ではなく、めぐる順序を持ちます。終わりの不明は、はじめの未評価と同じ位置に見えますが、一方はまだ問うていないもの、他方は問うたうえで得られたものです。だからこの還りは円ではなく、螺旋です。

実装方針

相対値の演算 — 両極のあいだを読む

極間理論 · 「187cm」ではなく「ちょっと背が高いね」

人は「あの人は187cmだ」とは考えません——ただ「ちょっと背が高いね」と感じます。値は絶対的な目盛りではなく、これまで経験したものの両極(最小・最大)のあいだのどこに位置するかで捉えられます:(x − min) / (max − min)。しかもその位置はどの集団にいるかで変わります——同じ187が、バスケチームでは「普通」、別の場では「高い」になるのです。

極間理論 — 同じ値、違う位置 グループ A · 一般 小さい · min普通大きい · max 187 → やや高い グループ B · バスケ部 小さい · min普通大きい · max 187 → 普通 同じ 187 — 極(min·max)が変われば、位置も変わる。
これが極間理論——両極のあいだの中間値をファジーに読む相対値演算です。人間の七段階の目盛り(「普通」を中央に)を土台とし、新たな極値が現れると目盛りが伸縮して各値が置き直されます。ただしその再正規化(考案者のアルゴリズム「比例平均」)は単純な押し出しではなく、より複雑で、別の設計文書で整理しています。Neutom網を流れる情報もこのように扱われます。

検証前の仮説

述語フレーム — 文はスロットを開く枠

名詞を値ではなく過程として

近年の研究方向です。名詞を固定した値ではなく、条件に応じて評価される過程として扱い、文を述語が開く疑問詞スロットの枠として見ます。

  • 名詞の遅延評価 — 名詞は〔条件 → 現象〕の遅延評価関数であり、参照する行為こそが観測です。助詞(이/가・을/를・에서…)は条件を付加する演算子、文末の用言は評価の引き金です。
  • 疑問詞スロット — 誰が・何を・いつ・どこで・なぜ・どのように、に、誰に・何で・どれくらい・それで、などを加えた十四のスロットが、文の空欄構造をなします。埋まっていないスロットは誤りではなく、不明(M)値として残ります。
  • 好奇心エンジン — 空いているスロットを探し出して埋めようとする動作を、言語レベルで支援する方式を探究中です。問いとは、不明のスロットを表に現すことです。
検証すべきこと

条件スロットの文法表記、評価時点(即時/遅延/再観測)の制御構文、スロット素性体系の型付けは、まだ決定前です。これらの仮説は、相対値の設計とともに決定台帳で扱います。

研究提案

この言語がひらく可能性

技術仕様を越えて、利用者と支援者にとっての意味

失われない思考

メモは積もっても、思考どうしのつながりは消えていきます。JIDEL は概念と概念の間の関係・文脈まで記録するので、個人の研究ノートや組織の知識が、検索される資料を超えて、つながった資産になります。

「わからない」と言えるソフトウェア

今日の AI は、わからないことまで自信ありげに言い切るという問題を抱えています。JIDEL の多値論理は、不明・重ね合わせ・矛盾を正式な値として扱うため、判断の根拠と確信の度合いをあわせて示します — 医療・金融・ケアのように信頼が命である分野が必要とする性質です。

韓国語から出発する技術

後置記法と文節文法は、韓国語の語順をそのまま実行モデルとします。母語で考えた順序のまま書けるプログラミング言語は、言語そのものを技術資産に変える稀な試みです。

実装方針

短期目標と位置づけ

文書化と、小さな例を動かす、動くインタプリタ

短期目標は、文法体系と実行意味論を文書化し、小さな例を実際に動かす、動くインタプリタを作ることです。

  • 核心文法:後置記法 · 関係指向の表現 · コードのデータ化
  • 実行モデル:スタックベース実行 · 文脈依存の演算 · 相対値処理 · 多値判断
  • 実装:最小インタプリタ · 例題集 · 仕様書 · 論理検証器

研究全体の順序において、JIDEL は最初のれんがです — JIDEL が実装されてはじめて、それで Neutom Network を作ることができ、BOSIFWEM 理論と Neutom Network が合わさってはじめて、ECONAS へ向かうことができます。

研究の順序 JIDEL Neutom Network ECONAS BOSIFWEM 理論 言語 — まず道具を作る JIDEL で築く神経生態系 長期方向 · 意識と良心 心の設計図として合流
道具(JIDEL)→ 構造物(Neutom Network)→ 設計図の合流(BOSIFWEM)→ 長期の方向(ECONAS)。順序を入れ替えられない建築の順番です。

研究提案

あわせて読む

このページは JIDEL 設計文書の来訪者向け要約です。研究記録は研究掲示板で公開しています。

JIDEL は、Forth·Factor 系の連結型言語や、C・Python・Prolog・Lisp などの影響の上に、韓国語文法論と多値論理の研究を加えて設計されています。

もっと読む — ビジョン · 短期目標(三大プロジェクト) · Neutom Network · BOSIFWEM · 研究掲示板
このページは JIDEL 設計研究の来訪者向け要約です。影響:Forth·Factor 系の連結型言語、C·Python·Prolog·Lisp、そして韓国語文法論と多値論理の研究。