言語制作の進捗
どもども新名です。
今回は、@KaitoMiyazaki1君に会いに神戸まで行きました。
神戸のRubyコミュニティにも参加しましたが、
先に、@KaitoMiyazaki1君との言語の進捗から。
@KaitoMiyazaki1君との言語制作の近況
Githubのissuesの状態です
言語仕様の深堀りが完了し、大まかに以下のようなことが決まりました。
イメージ : Rubyベースのオブジェクト指向を持つ、Pythonに近いDRYな言語。
モットー:最も早く書くことができ、生産性、保守性、可読性を保持する言語
具体的には、
- 生産性
- ブロックのインデント化
- 単語の短縮化
ex. attr_reader -> reader, initialize -> init, Node.new -> Node()
- 可視性
- castの明確化
ex. str(exp)
- castの明確化
- 可読性
- unlessなどnot構文の削除
ex. unless -> if not
- unlessなどnot構文の削除
- 保守性
- 最低限の構文 - 保守の大変な多種多様なメソッドはいらない
- 構文
- Pythonのように押し付けすぎないかつDRY
な感じです。
こんな感じの構文になるイメージです。
import sys class Node include Module def __init__ # init @str = "abc" # instance variable def self.class_method # Class Method def instance_method(argument) if @str == "abc" print str # global variable node = Node()
制作は開始しているのですが、他の言語を少しずつ参考にして、 慎重に設計をしています。
非公開リポジトリではない言語公開用のリポジトリも作りましたー
定期的に確認してくださると嬉しいです。 5月の末には公開したいと思っています。
それでは〜〜〜
# 言語制作にまだ若干の不安があるけど、何とかしていきたいと思います。
# アドバイスとかコメントくれるとありがたいです!