haskell-jp / mokumoku-online #2

Matlab SimlinkのSemanticsは、Synchronous Reactive Data-flow LanguageのLustreへのTranslationで定義されています。
(「状態の分離と隠蔽そのものがアンチパターン」というのは、OOPはアンチパターンであると言っているに等しいような気がしつつ……)
異なる型を持つ状態を隠蔽し、同じ型で扱えるようにするのは、場合によっては便利であり必要ですが、それだけでアプリケーションを組み立てると破綻する、という立場です
Smalltalk みたいに複数のアクタがいる場合も RP に入るんですよね? それとも TEA みたいにグローバルな状態管理オブジェクトがいる場合が特に RP と呼ばれる?
それとも TEA みたいにグローバルな状態管理オブジェクトがいる場合が特に RP と呼ばれる?
それはTEA固有の話だと思います
書きたいものが新たな形式モデルを含んでいて、それを直接記述する言語が存在しない場合、新たな言語が生まれるのは自然かなと。
プログラミング言語は全て何らかの対象に特化した専用言語ですので。
汎用言語は、存在しません。というか生き残っていません。すべての形式モデルをサポートした言語は定義可能ですし、そうした試みもありましたが、言語設計者以外誰も使えない極めて難解なものとなっと、という結果になっています。それに、新たなアプリ領域が生まれ、それを表現するための形式モデルが新たに定義されると、また新しい言語が生まれますし。
TEAは従来のElmの流儀で書いてたら「結局グローバルな状態管理オブジェクト1個に収まるし、それがベストプラクティスよね」ということが発見されて生まれたものなので...
SimlinkはReactive Programming Language Lustreで意味が定義されています。Lustreは80年代前半に定義されたリアクティブプログラミング言語です。
関数型界隈では、TEA固有の話しとしてとらえられている、ということなんだと思います。
皆さまいつものことではありますが大変ありがとうございます。少し理解が深まったと思います。なんかこう、決定的なReactiveという言葉の定義みたいなものってあるんですか?ちょっとSoftware Foundationsに結びつけて検索したら
0件ヒットだった:smile:
Object Oriented Programming の定義が人によってバラバラなようなもので、Reactive Programming もよく定義された用語ではない、というのが私の認識
HaskellのArrow演算子を用いてRPをつなぐ感じだとSimlinkっぽいですし、実際、Simlinkの意味定義をHaskellのArrow演算子を用いた記述に変換することで定義している論文も確かありました。
A Brief Introduction to Functional Reactive Programming and Yampa http://www.cs.nott.ac.uk/~psznhn/FoPAD2007/Talks/nhn-FoPAD2007.pdf の中でSimulinkについても言及がありますね。
時間ですよー。何か、やったことを軽くご共有いただけると幸いです hask(_ _)eller
私は、IDA Proやradare2というツールで
main = putStrLn "hello"
なコードをコンパイルした結果を読んでました。
ツール自体の使用が初めてだったこともあり、やっぱ難しいですね... :cold_sweat:
自分はHigher Kinded Dataの流れでコマンドラインパーサを作れないかと色々調べていました。実際そういうものはあるようでhargというパッケージがありました(GHC8.8では動かなかった)。
素朴な疑問なんですけど、なんでアセンブリの勉強を始めたんですか?
純粋に低レイヤーに強くなっておけば潰しが利くだろうなぁ、という思いが一つ。
もっと強い動機として、
仕事でWebAssemblyについて勉強し始める
=> https://webassembly-security.com/wasm-security-training/ なる講習を見つける
=> 登録する
=> 「Basic reverse engineering skills.」が前提知識であることを知る
=> じゃあアセンブリーと合わせてその辺勉強するか
という経緯がありまして。
https://github.com/Hexirp/hexirp-hakyll/pull/112 という感じになりました(時間に合わせるためにいくつかの作業を後回しにしたのは密に)
『Haskell 教養のための関数型プログラミング』の5章おわり〜7章の途中まで進めました。$演算子、()の対応を意識しなくていいので便利だな〜と思いました。
https://github.com/matsubara0507/setup-stack
だいたいできたんですけど、
任意のバージョン指定できるようにしてみようと、指定がある場合は stack upgrade を叩かせてるんですが、 linux だと /usr/local/bin にコピーしようとして権限で死ぬようになってしまった。。。。
HRR のパッケージをいくつかリリースしました。
HMAC-SHA256 DRBG 完全に理解した!(*ダニングクルーガー効果*)
さすがにstackのバージョンを切り替える必要はないんじゃないっすかね... :thinking_face:
そこまでstackの最新版が信用できなかったことがないです
まぁ絶対ないですw
なんも引数ないと寂しいから単なる遊びですね。
https://github.com/khibino/haskell-relational-record/compare/[email protected]%7B1day%7D...master
コミットだけ見ると本当にリリースしただけに見えますね :smile:
息子のおむつを替えてました
今日は見学していただけですが、音声がないと寂しいですね。
ラムダ式の問題をみたり、真偽を判定する問題を鑑賞してました。入出力を書くのに時間を割きました。
久しぶりのHaskellでした!:blush:
一旦これで終了ですが、続けたい方は適当に続けて、適当に報告したくなったら報告してください。
お疲れ様でした! hask(_ _)eller
『Haskellによる関数プログラミングの思考法』読書会は Hangouts でやるのでどういう感じなるか楽しみにしている。 https://sampou.connpass.com/event/170132/
なんと、Linux にはもともと Haskell Stack がある。。。
https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
ああー、なるほど。だから/usr/local/binにあるものを書き換えに行くわけですか。
私もほとんど息子のお世話で終わってしまいました。頭の中で型デザインを練りましたがコード書いてない
余計なことをしよって
ちょっと久しぶりだったのと、
あと、念のため、互換性を確認していました
@shin1hi has joined the channel
@shin1hi has left the channel
@tamba8525 has joined the channel
@t-uchida has joined the channel
こんにちは。
今日は GHC 8.10.1 を試す予定。
時間になりましたので始めましょー。各人好きなタイミングでいいので、自己紹介と今日やりたいことの報告をお願いします! hask(_ _)eller
こんにちは!今日は、ずーっと完成できていない https://github.com/haskell-jp/blog/pull/168 の続きを書きます :writing_hand:
こんにちは。
今日は前回に引き続き『Haskell 教養としての関数型プログラミング』の7章〜を進めます。
よろしくお願いします。
お疲れ様です。t-uchidaです。久しぶりの参加です。よろしくお願いします。
最近簡単なWebアプリを作成中なのですが、調べているとReaderTパターンやFreeモナドといったものが出てきています。これらが何なのかイマイチわかっていないので勉強しようかなと思っています。
こんにちは!ニコラスと申します。大阪から参加です。院での研究テーマはとりあえずpersistent homologyのstabilityになりましたが、それがなんのことなのか僕もしっかりわかっていません:laughing:
今日もオンライン上の問題をHaskellで楽しみます。よろしくお願いします。
みなさんよろしくお願いします。 hask(_ _)eller
何か気になった点、特にHaskellはじめたての方で何かわからないことがあれば、このチャンネルで結構ですのでお気軽に質問ください!教える人も教わる人もみんな学べるので!
アズなんとかさんと申します。何となくOverloadedLabels辺りをいじってみようと思います
@lotz has joined the channel