新しいものを表示
orange さんがブースト

大量のプラットフォーム依存なC++コードを(更に)追加することなくFirefoxからXULの層を消す方法、Windows版やmacOS版もGTK+アプリケーションにするという方法があってこうするとコードはむしろ減るかもしれないけれどきっとそれは望まれている方法ではない

RTOSよくわかんないけどたぶんRTOSでそういう事が出来る言語で書けたら便利かも的な想像をしながら書いたけど、いじった事全く無くて全くわからない・・・><

どういうのを想定してるかと言うと、ワンボードマイコンの上でそこそこリッチだけどハードウェアを直接弄るようなものを書くみたいな場面の時にあったら幸せそうみたいな・・・><

並列プログラミング、かつ、任意のタイミングでも処理を開始できて、待つ事も出来て、待つのをあきらめる事もできて、かつ(普通の環境だと無理があるけど)、結果の状態に(処理後の状態)書き換わる処理は明示的にのみ行われ十分にとても短い時間で出来て、書き換える前は書き換わる前の値を返す事もできる
みたいなのをVerilog HDLのノンブロッキング代入文を見ててなんかこう・・・><
mstdn.nere9.help/@orange_in_sp

orange さんがブースト

それ本質的に並列プログラミングなので、シリアルな処理として捉えるのに無理があるのでは

ていうか、普通の(?)非同期プログラミングっぽいのが書ける言語で、結果が必要な時に結果の計算をするだけじゃなくて任意のタイミングで処理(準備)をして任意のタイミングで状態を書き換える(ように振舞う)みたいなのってあるのかな?><
(普通に結果が必要な時に処理するだと間に合わない可能性があるじゃん?>< あるタイミングで処理して、必要なものが全部そろったか確認して、確認したらいっせいに新たな状態に(出来ることならば保障された時間内で)って、ハードウェアを弄る場面だとわりとありそうだと思うんだけど・・・><)

これの実験コード、かなり酷いけど一応書いたのでせっかくなのでpaiza ioに><;

C#で439行のコード書いたよ!ブラウザ上で実行できるよ! paiza.io/projects/F0NiGRwETVCf

スレッドを表示

あきらめたらバグに気づいて出来た><;

作ってて楽しいけど誰も得しない気がしなくも無い・・・><

これ、目的を考えると
fuga = hoge <= false;
って書かれてしまったらhogeの中身が破棄されない(hogeもfugaも同じハードウェアリソース等を参照する事になるかも?)ので危険かも><;

演算子の変わりに型で明示的な型変換したやつを暗黙の型変換でどうにかする手も?><;
hoge=true;//普通に代入
hoge=(NonBlockingRightSide)true;//ノンブロッキング代入もどき
とか?><;

スレッドを表示

よく考えたらと言うか実際にやってみて気づいたけど、これだと、
hoge <= false;
みたいに書きたくても
hoge = hoge <= false;
になってしまう><;

スレッドを表示

<= は使えるっぽい!><;(と言う事は見かけ上ちょっと近くなる?><;)

スレッドを表示

演算子、(お行儀が悪い)C++に倣ってシフト演算子で代用しようとしたら右辺はintじゃ無いと駄目ですって出た><;

スレッドを表示

Taskと微妙に違う点は、書き換える処理を非同期に書いて(、あるタイミングで同期的に状態を変える)のも、同期的に普通に代入も、どっちも出来るものを少しシンプルに記述できる事くらい?><;

スレッドを表示

これ、(演算子ではないけど)C# で同じ事と言うか同じ目的で使えるクラスをTaskを使って書いてて気づいたけど、Taskでだいたいおk・・・><;(あれ?><; 存在意義?><;)

スレッドを表示

スマホ長文かいてたらバッテリーが1%><;

説明書くのもあきらめた・・・><(1000文字くらいの長文になっても終わらない感じになったので消した)

ていうか、RTOS向けの開発環境とかならそういうのあったりするのかな?><

どういう場合にうれしいのか説明しようと記述例書こうとしてたけど、スマホで書くのつらすぎてあきらめた><;

古いものを表示
:realtek:

思考の /dev/null