- stack をインストール
- 適當なフォルダを作成し 中に移動
$ stack new ha
- 作成されたフォルダ ha の中へ移動
- package.yaml と stack.yaml を ここのファイルと置き換へる
- ここの imgフォルダを haフォルダ内に配置
- appフォルダ内 の Main.hs を ここのファイルと置き換へる
$ stack build
$ stack exec ha-exe
- カーソルの移動 j:下 k:上 h:左 l:右
- 挿入モードへ移行 i
- 初期モードへ戻る ctrl+o もしくは Alt+i
- 初期モードで 削除 x
- 挿入モードで 削除 backspace
- 初期モードで カーソルが含まれる式 もしくはカーソルの前にあり一番近い式を評価 e
- 評価の結果について ヲシテ文字で表示 もしくは 縦書きアラビア數字で表示 を 切り變へる m
- 終了 ESC (glossにもとからある機能)
- 式とは評価の対象である ーー 段落において カーソルの上にある部分
- 有理數の四則算を實装
- 式に名前をつけるには 「は」のすぐ前に その名前をかく
- 名前のついた式の結果は 別の式の中で使ふことができる
1:ひ 2:ふ 3:み 4:よ 5:ゐ 6:む 7:な 8:や 9:こ 0:ろ -:き +:と *:を /:す
アラビア數字風 縦書きアラビア數字を使用することができる
- ひむな (167)
- ふろろろ (2000)
- きふみ (-23)
- ふすみ (2 / 3) 三分の二
- よをみゐすひむ (4*35/16)
- ふをみすよをゐすな (2*3/4*5/7)
- ふみ よ やろ -> ひろな
- よな きころ -> きよみ
- ひすみ ふすみ -> ひ
- これは ひ ふ み -> これ む
- 上の評価の後ーー これ をみ -> ひや (6*3=18が算出される)
- 函數定義: 「(函數名)は (引數1) (引數2) ... か (式) 」
- 函數定義2: 「(函數名)は (パターン1) か (式1) に (パターン2) か (式2) に ... 」(パターンは引數の組である)
- 函數使用: 「(引數1) (引數2) ... (函數名) 」
- これは あれ それ か あれ を それ (「あれ」と「それ」の積を求める「これ」といふ函數)
- あれは ろ か ろ に それ か それきひ あれ ふ (引數が「ろ」のときは「ろ」を返し それ以外の數なら そこから「ひ」を引いて同じ函數に渡すといふ再歸が定義されてゐる)
- む よ これ ひろ (6×4をして10を加える 結果は 「みよ」(34))
- 記号と文字の關係は 後に變更するかもしれない(6/1變更)
- 引數をとる式(函數)を定義し 別の式の中で使へるやうにする (5/30 済)
- パターンマッチ 再歸を實現する (6/6)
- 複數の式を同時に評価する
- リスト(配列)を扱へるやうにする
- カーソル移動を改良した(しばらく押すと同じキー入力をする といふエディタなら普通にある動作を實装できたと思ふ)
- カーソルが左端に行つたときのスクロール処理を實装した(5/25)
- 式の評価におけるバグ(「まへ」が入つたときの不具合)を解決した(と思ふ)
- 「まへ」を項に直接含ませられるやうにした (例: まへとみ まへすふ)
- 式に名前をつけ その結果を別の式で利用できるやうにした (5/29)
- 式が引數をとれるやうにした (5/30)
- 削除時のカーソル移動の不具合や 単独の「す」(除算)が認識されてゐない問題を修正した (5/31)
- むとよ (6+4) やきみ (8-3) のやうな 加算減算のまとまりを表現できるやうにした (6/1)
- 再歸が實現できた (まだ不備があると思ふので これから慎重にコードの検証もしていきたい (6/6)
- 様々な不具合(バグ)を改善した (6/10)
- 不具合の改善 (2020/3/18)
- 縦書きアラビア數字の使用と 評価結果の表示方法を選択できるやうにした (同3/18)
- 「まへ」の機能や 式が「は」と「た」で囲まれるといふ制約を取り払つた (同3/18)