2025-04-16
セマフォって腕木通信なんだ?
ebcdic知らなかった
unicode, 110万文字で足りるのか?
漢字で2万文字だし余裕そう(?)
code pointがあってutf-8や32で異なるなるほど
unicodeのバージョン差分何も知らない
SI/SOの制御文字なるほど
コンピュータみたいに末尾のーを消すと…みたいな話も関係ある?
書記素クラスタ
クタァ
automata theory で prism, parse.y の差異を見つけている
2つのパーサがあるのが自分の中で当たり前の知識になってるの嬉しいなfunwarioisii.icon
automata learningなに
複数のparserがあり、互換性が気になる
物量でカバー?
オートマトンと正規表現は相互に対応が取れる
という表現をしていたっけ?funwarioisii.icon
直感的には既にあるテストケースを Prism はパスしてるだろうから、どこからテストケースを持ってくるの?
→Automata Learning!
ブラックボックスの状態を検査するためのアルゴリズム
Akinatorのようなもの
すごい例えだ
Membership Queryは分かったけどEquivalance Queryよくわからない
何で CRubyのビルドシステムの話?
asdfとか色々あるが tarboll を ./configure して make してる git source からだと ./autogen.sh を挟んでいて色々生成している
互換性を担保しながらこのセットアップを維持するの大変すぎるだろ
configure.ac が commiter 的にはあ〜あれねみたいになってるのすごい
複雑な Makefile の世界が展開され始めた
ビルドシステム警察がいないと無限に複雑になりそうだ
複雑になってるビルドステップをわかりやすくする話に一旦進むかと思ったけどそうではなさそう
わからんくなった〜! 4. あたりから
やっていきはわかるのだけど…
fat gem: Native, binary gem
1つのgemがアプデされていなかったら次のRuby versionに移れない
例えば nokogiri はすぐにやっているが………
Debianは3日遅れ
44環境をサポート
自動化するには?
ユーザ側でビルドさせる
install が長くなる問題
automataの話2
文法はautomataで表現できる理解
class A; end ->
こういうのはSyntax Errorになるのか
code:ruby
irb(main):009* def end(v)
irb(main):010* if v > 0
irb(main):011* end(v-1)
irb(main):012> end
<internal:kernel>:187:in loop': (irb):11: syntax error, unexpected '(', expecting end' or dummy end (SyntaxError)
end(v-1)
^
Ruby LSPでDSLをいい感じにできてない
Gemの側にRuby LSP対応を入れてもらう話をしている?
listener みたいなのを作ってコードを書いているときの情報を入れながら、推論に活かすようにしている
LSP実行時(書いている時)のコードを説明するのは丁寧だ
つまり二行目から効いてくる感じなのかな
間違えてたら変に学習?しそう
急にRuby LSPからMCPに話が飛んでよくわからなくなった
なんか構造を捕まえやすくなりますみたいな話か?
静的解析ができると何ができるのかという話なのか、もうできてる話なのか
分散オブジェクトの技術
Writing web application in Ruby ←気になる VirtualDOMを頑張っていたらしい dRubyじゃないとできないこととそれ以外の違いがちょっとよくわからない
asyncify
code:ruby.wasm
onclick = Fiber.new { something_async_method.await }.transfer
になるのよくわかるな
セッションに直接関係ない話
自分がRubyKaigiから得られるものはもう少し言語化したいな
発表の方法とか
論理展開や展望
Rubyを書いていて型が欲しい・欲しくないの話
型があるというのはコードを概観しやすくしている
概観しやすさが欲しい
知らない外国人と自分の国とその人の国の話をするの楽しいね
Vacationで来ている人に野沢温泉と道後温泉の違いを話したり
自分がわかってない広い範囲に名前がついていそうなので、名前を探して体系的に学んだほうばいいんだろうな
Socket Programmingとか