新しいものを表示

オイゲン氏、典型的な『自分のコードにGPL系のライセンスを使用すべきではない人』に見える><

どうして盗用という発想になっ(て記事を書い)たのかさっぱりわからない・・・><

AGPLなソフトウェアに盗用もなんも無いでしょ?>< 少なくとも10日前の段階ではライセンスちゃんとつけてるっぽいし>< github.com/hiveway/hiveway/blo

orange さんがブースト

マストドンからフォークしたという記述があることを、山岸和利さんに指摘いただき、追記しました。

ブロックチェーンSNS「hiveway」がマストドンを盗用? - ITmedia NEWS itmedia.co.jp/news/articles/18

orange さんがブースト

その方式のほうが良さそう><

orange さんがブースト

serror: optional<error> -> bool()
みたいな関数を用意してやって、

err := foo();
if iserror(err) {
po;
}

みたいにすれば、 iserror(err) に nil を渡しても型エラーになってくれたりする気がする (go の型システムは知らないけど……)

haskellとか「型ありきで考える言語!!」とか言ってる人居るけど、型全然書かないで型推論使われまくってるっぽいし><

そう>< でも省略できちゃうという事は省略されちゃうかも>< 型推論が使える環境だとみんな気にせず型推論使ってるし><(オレンジは頑固だから、その問題を考慮して使わないけど><)

orange さんがブースト

こういう文法があるかは知らないけど。
で、 mstdn.nere9.help/@orange_in_sp の問題は

// foo() がエラーを返さない場合、ここで型エラー
err: error = foo();

みたいになれば幸せ、と

スレッドを表示
orange さんがブースト

たとえば

// err が error インターフェースを持っていることを明示
f, err: error := foo()
if err != nil {
po;
}

みたいになれば満足ということかな……?

スレッドを表示

そう!><;(オレンジは簡潔に説明できなかった><;)

orange さんがブースト

ああ、ユーザが根本的に型を履き違えている場合にエラーにしてやりたいという文脈なんですね、把握しました

「型推論のせいで、エラーじゃない型の変数をエラーの型だと思ってしまう現象を起こさないようにするにはどうすればいいのか?><」っていう・・・><(オレンジは型推論を極端に嫌ってるから、(C# とかでは)型推論まず使わないから別にあれだけど><;)

オレンジがその方式が好きってことじゃなく、golangが「例外処理を言語仕様に入れたくない」って言ってるのをどうにかこうにかマシにするには的な感じの・・・><;

orange さんがブースト

「最後のエラーを得る」系統、いくらか問題が知られていて、

・皆面倒がって誰も明示的にエラーチェックしなくなる
・エラー処理までの間に何かやっておきたいことがあった場合、暗黙の「最後のエラー」が上書きされてしまうことがある
・誰が「最後のエラー」を上書きするかが明示的でない(ドキュメントに書いてなければソースを読むしかない)

などがある

スレッドを表示
orange さんがブースト

オレンジ氏の話、古の errno とか glGetError() みたいなのを彷彿とさせてなんだか体調が悪くなってきた(過言)

golang継承ないっぽいを考慮するとこんな感じ?><; 

Fuga();
if (lasterror != null)
{
if (lasterror.Message == "TekitounaError")
{
Console.WriteLine("てきとうなえらー!><;");
}
lasterror = null;
}

古いものを表示
:realtek:

思考の /dev/null