KH-FDPL(けいえいち・えふでぃぴーえる)のWikiへようこそ

  • (by K, 2015.03.17)

背景

  • あなたはプログラミング言語について不満を感じたことはありませんか?私はあります。
  • 私の作ろうとしているKH-FDPLは、平たく言えば、新しいプログラミング言語を作りやすくするためのプログラミング言語です。
  • なぜいきなり自分の理想とする言語を作らないのかといえば、新規の言語を作ろうと思った時に、「新規言語を作るための定番言語ってないな、じゃあまずはそこから手掛けるべきだな」と感じたからです。
  • そして理想の言語がどういうものになるべきなのか、まだ決心がついていないということもあります。
  • この開発を始めた後に、ML(MetaLanguage)とかってどうなの?新規言語を作るための定番言語と言えるんじゃないかな?と教えてもらいました。
  • 確かにそうかもしれません。ただKH-FDPLはMLとはまた違ったところもあると思うので、開発は継続して、いいところを真似していこうと思います。

KH-FDPLとは?

  • FDPLは few declaration programming language の略で、宣言の少ない文法を目指したプログラミング言語です。ただし、実はそれが最大の特徴であるというわけではなく、特徴をうまく名称に取り込めていないので、それは申し訳なく思います。
  • 目的:
    • [目的1] 初心者がプログラミングを学ぶ際の障壁を少なくします。そしてプログラミングの本質をつかんだら、このあとにCやJavaやPythonなどを学んでいければいいと思っています。
    • [目的2] 「実行速度やメモリ効率が重要でないときには、このプログラミング言語が(少なくともKにとっては)最善である」と言い切れることも目指します。
  • 特徴:
    • (特徴1) 変数宣言とかをしなくてもいきなり代入できる。
    • (特徴2) オブジェクトの永続性。
    • (特徴3) オブジェクトシステム(変数システム)がファイルシステムみたいになっている。
    • (特徴4) 独自のオブジェクト寿命システム。
    • (特徴5) 自己拡張可能型の文法。
    • (特徴6) セキュリティ。
    • (特徴7) 実行速度やメモリ効率などは(とりあえず)軽視。
  • より詳しい説明:
    • note0001: プログラミング入門のためのプログラミング言語について(特徴1~3)
    • note0002: オブジェクトの寿命の管理モデル(特徴4)
    • note0003: 自己拡張可能型の文法(特徴5)
    • note0004: セキュリティ・デバッグ支援

ダウンロード

  • なし

KH-FDPL以前の成果のまとめ

結論と成果

  • KH-FDPLは、置換ルールの組み合わせだけで柔軟な言語が作れないだろうかという試みでしたが、結局うまくいきませんでした。
  • しかし上記の「特徴」に挙げたことをほぼすべて引き継いでEssenを作り始めました。Essenで、演算子や構文を拡張する仕組みにめどが立ったため、KH-FDPLは成果らしい成果は何もないですが、「ひとまず終了」ということにしようと思います。
  • 成果としては、しいて言えば、パーサーで頑張るのは今のKには難しいということです。むしろ自由な置換を完全に禁止にして、テキストが一定のフォーマットを守ることを強制できれば、演算子や構文の拡張が可能になると考えています。
  • もしかしたら将来同じようなアルゴリズムに再チャレンジするかもしれませんが、その時はたぶん別の名前にするので、やっぱりこのプロジェクトは中断や停滞ではなく終了です。でももしかしたらこの名前でやりたくなるかもしれないので、その時は強引に再開します。

こめんと欄

  • このページにこめんと欄はありません。このページの内容にコメントしたいときはimpressionsにお願いします。

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-25 (火) 12:50:30 (2983d)