タグ

effectに関するNnwwwのブックマーク (2)

  • 快速のExtensible effects - モナドとわたしとコモナド

    extensibleは拡張可能レコードだけでなく拡張可能作用(extensible effects)も用意している。拡張可能作用は一時期Haskell界隈で話題になったものの、今では人気も下火になってしまった。新しいバージョンをリリースした今、拡張可能作用の動機と使い方について改めて紹介しよう。 難行の一次関数 Haskellでモナドをカスタマイズする方法としては、transformersのモナド変換子がよく使われている。モナド変換子は、モナドをパラメータとして取り、新たな能力を付与したモナドにする構造だ。例えば、StateT sはモナド変換子の一つである。任意のアクションm aはliftを使ってStateT s m aに変換できる。 newtype StateT s m a = StateT { runStateT :: s -> m (a, s) } 他にもReaderT, Write

    快速のExtensible effects - モナドとわたしとコモナド
    Nnwww
    Nnwww 2017/08/03
    力を感じる…(˘ω˘)
  • Notions of Computations and Effects - Just $ A sandbox

    前回のeffect systemに対するボヤキ、あるいは予言が色んな人に読まれたみたいなので興味がある人が一定数いるならeffect systemの紹介記事をちゃんと書こうと思った次第。 というわけでmonadを前提としてプログラミング言語的な見方と圏論的な見方を通してeffectに関するお話をしてみます。 注意 以下のプログラムはHaskellに寄せたオレオレsyntaxで実際にそういう実装があるわけじゃないので注意してください。実際の実装されている言語の話は最後に少しします。 programming with effects effectは通常type-and-effect-systemと呼ばれるようにある意味で一種の型システムのようなものです。型システムがプログラムの入力と出力の値を見積もる仕組みだったのに対し、エフェクトシステムはプログラムを実行した際に「起きうる」エフェクトをコン

    Notions of Computations and Effects - Just $ A sandbox
    Nnwww
    Nnwww 2017/07/15
    並列OCamlのalgebraic effectがしんどいなーと思っていたんですが、暗黙的にすると綺麗になるんですね/現在メンテされているExtEff実装はfreer-effectsなのですが、ふみさんのextensibleも速度が凄い
  • 1
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy