新しいものを表示


最近学校で反復補題やったの使いたかっただけです :60fpsparrot:

長いです 

単純化して L を
3|123, 2|15 など n|(n文字の列)
の集合とする

L を文脈自由とすると
反復補題から定まる反復長 p がある

ここで
w = 100...0 (p個) | 00...0 (10^p 個)
とすると |w| >= p なので、ある分割

w = uvxyz

があって
※1 |vxy| <= p
※2 任意の i に対し uv^ixy^iz in L
が成り立つ

vxy が | を跨がないと、※2 を考えたとき | の左辺か右辺のどちらかが一方的に大きくなり ※2 を満たさないので、vxy は | を跨ぐ

| in x でないと、※2を考えたときに | が増えるので | in x

したがって
v = 00...0 (m 個)
y = 00...0 (n 個)

ここで
uv^2xy^2z = 100...0 (p + m個) | 00...0 (10^p + n 個)

※2 から uv^2xy^2z in L なので

10^(p + m) = 10^p + n

が満たされる、明らかに n は 10^p の倍数であるが、これは ※1 |vxy| <= p を満たさない

ゆえに L は文脈自由ではない
ですかね

一応文脈自由文法で表せないことの証明とか試してみます

数値リテラルを解釈するのはパースしてからの仕事みたいな気がしますね…(門外漢)

今気づいたけど、スタンプリアクションって 1 つなのか

現在は Signal (変化する値) しか入れていないのですが、そのうち Event も入れると思います [参照]

まあその処理すべきところがわかるのがメリットなんですが

スレッドを表示

例: 計算失敗したら適当に 0 入れておけばいいや、など

スレッドを表示

実行時エラーがない、聞こえがいいように聞こえるけど適当に運用するとエラー処理すべきところでしないなどの事象が発生するので気を付けなければいけない

こっちでは言及してなかった気がするからするんですが、 の UI 構築ライブラリ を開発しています

github.com/yukikurage/purescri

SolidJS と似た感じで React の Hooks のように書けつつも、リアクティブな値を使って状態管理するものです

ちなみに避けられてる感があるのソースは、この前友達に のコードを見せたらキモッと言われたことです [参照]

でも関数適用の () が無いのはカリー化に綿密にかかわってるんだよな

括弧を使うと、例えば 2 変数関数は

f(x, y)

ではなく

f(x)(y)

になってしまう

なら

f x y

の方が良いというのはそうなんだけど

スレッドを表示

これはこの前 :twitter: でも言ったんですが言語って見た目大事で、 は見た目で避けられてる感がある

だが実践投入されないと周辺ライブラリは作られない、この矛盾がつらい

スレッドを表示
古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。