シェルスクリプトへのコンパイルを行う静的型付けスクリプト言語の開発
クリエータ:矢尾田 貴大(Pianoforte 代表)zakuro.icon
担当PM:竹迫 良範(株式会社リクルート データプロダクトユニット ユニット長) https://scrapbox.io/files/6210a6dec8e3c8001dc24ffe.png
ロゴがかっこいい!kosuke-yamamoto.icon
+1jarakawa.iconakihiro-kiuchi.iconebiyuu1121.iconatuyoti.iconnishio.iconegct.iconnozo0807.iconnindanaoto.icon
色々な応用先がありそう
わかる>独特の文法で書きづらい
なかなかshell script覚えられない。。。akihiro-kiuchi.icon
確かに>仕様が安定nishio.icon
コマンドへの依存度は高いよなあjarakawa.icon
シェルスクリプト、シェル操作のために作られた言語でスクリプトを書こうとしているのがそもそも無理してる感ebiyuu1121.icon
条件分岐の実現とか無理がありすぎるnishio.icon
「[」 コマンドとか、無理やり感がいとおしいshudo.icon
cotowaliの「|>」これかわいいですねakihiro-kiuchi.icon
シェルがなんも解説記事読まずにスラーっと読めるのほんとに良いshimojima_ginshi.icon
+1bluemountain.icon
文法が他の言語に似てるからですねshimojima_ginshi.icon
あ、インポート、なるほどnishio.icon
公開できるものと出来ないものが混ざったシェルスクリプトが手元にあって、どうしようかなと思ってたけど、コトワリにしたらいいのかも
goっぽいebiyuu1121.icon
今時は、やっぱりURIが普通のファイルパスと同様に扱える方がいいですよね。本当に便利。
TypeScriptみたいに、ファイル内の一部だけcotowaliで書けるとかなり移植しやすくなるけど、移植期間を終えたあとだと逆に良くないのか egct.icon
PowerShellとUnix環境のshellが同じコードで動いたらいよいよすごい egct.icon
標準ライブラリとてもいい。なんなら肝まであるebiyuu1121.icon
実に現代的なツール(パッケージマネージャ等)が揃ってていいですねえ jarakawa.icon
言語サーバーも!
プレイグランドも!
オンラインAPIも!
シェルという(いわゆる)古いものを切り捨てるんじゃなくて、共存する方法を探っているのがとてもいい感じebiyuu1121.icon
https://scrapbox.io/files/6210aa3feaf059001de0bffe.png
えええええ?!
プレゼン資料、ターミナルの背景色を設定するコマンドを実行したりしてスクリプトで生成してるって???
デモ部分だけ??
ライブラリって誰でも簡単に書けるのだろうか(ツール提供者がついでにcotowaliライブラリも提供するみたいな)ebiyuu1121.icon
タプルはあります!
https://scrapbox.io/files/6210ab3b9278230021b0ccf4.png
RPCのIDL
cotowaliの場合、実行時は別言語になるわけじゃないから事情が違うかもなと素人ながら思いましたebiyuu1121.icon
Q: awkを実装できる?
A: 記述能力としては書ける、速度はわからない
shell scriptにトランスパイルされるなら、根本的にcotowaliで書くのに向いているsoftwareとそうでないものが存在してたりするのかなとおもいました。(それは根本的に記述難しさとか、ポータビリティーとは関係なく、shellscriptの実行のされかたと、普通のプログラミング言語の実行のされかたの違いが差になりそうなきがする。)
レイトレーシングは実装したことがある
口頭で申し上げましたが,記録のために書いておきます。
1. タプル型を持っている事は目立つようにアピっておくとよいと思います。
2. RPCのIDL技術(あるいは分散オブジェクトシステムのORBシステム)を応用すると,既存のシェルスクリプトのintegrationがうまくいけるかもしれません。
3. AWK(mini AWKでも)が書けます,と言うとappealingだと思います。それを聞くだけで,かなりのパワーを持つことが(AWKとかシェルスクリプティグを知る人には)直感的にすぐわかると思います。
kzhk.icon
Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python objects in return
シェル用トランスパイラだけじゃなくてインタプリタもあれば、いずれシェルスクリプトを駆逐した後もスクリプトを使い続けられるようになって良さそうebiyuu1121.icon
セルフコンパイルもできる
「型エイリアスとメソッド」。オブジェクト指向の各機能が広く深く理解されて、特にオブジェクト云々言わずに、個別に採用される時代なのだなあ(小並感)。shudo.icon