hisso.li
  • Login
Show Navigation
  • Public

    • Groups

Conversation

Notices

  1. B̅ (cmplstofb@mathtod.online)'s status on Wednesday, 02-Dec-2020 00:47:37 JST B̅ B̅

    純粋函数型言語で,入出力をどう処理するんだろう,副作用発生するし計算機資源的に羃等でもないし……と疑問だったんだけど,この記事によると「(純粋)函数型言語では入出力を実装できないので,〝普通の〟プログラムで補う」そうだ。うーん……?https://alvinalexander.com/scala/fp-book/pure-functions-and-io-input-output/

    In conversation Wednesday, 02-Dec-2020 00:47:37 JST from mathtod.online permalink
    • まちカドおるみん御嬢様 (orumin@mstdn.maud.io)'s status on Wednesday, 02-Dec-2020 00:47:30 JST まちカドおるみん御嬢様 まちカドおるみん御嬢様
      in reply to

      @cmplstofB モナドで純粋性を維持するのでちょっと違う

      In conversation Wednesday, 02-Dec-2020 00:47:30 JST permalink
    • まちカドおるみん御嬢様 (orumin@mstdn.maud.io)'s status on Wednesday, 02-Dec-2020 00:54:39 JST まちカドおるみん御嬢様 まちカドおるみん御嬢様
      in reply to

      @cmplstofB 私もべつに函数型は詳しくもないし未だにちゃんと書ける気はしないけれど、Haskell における Monad は圏論との絡みや抽象的定義は一度置いておいて、実用的には、たとえば文字出力だと常に unit 型とか返しておけば参照透過性は担保できるけど副作用が前提になるからよろしくないのを、Monad に包んでしまって解決するという認識

      In conversation Wednesday, 02-Dec-2020 00:54:39 JST permalink
    • B̅ (cmplstofb@mathtod.online)'s status on Wednesday, 02-Dec-2020 00:54:40 JST B̅ B̅
      in reply to
      • まちカドおるみん御嬢様

      @orumin そうですか……。ありがとうございます。(函数型プログラミングをちゃんと勉強したいんですが,初歩の初歩でずっと停滞しています……)

      In conversation Wednesday, 02-Dec-2020 00:54:40 JST permalink
    • まちカドおるみん御嬢様 (orumin@mstdn.maud.io)'s status on Wednesday, 02-Dec-2020 00:59:51 JST まちカドおるみん御嬢様 まちカドおるみん御嬢様
      in reply to

      @cmplstofB (実装でそのようになっているかはともかく)、IO Monad を返り値にしておいて、副作用として作用する対象の世界(IO ならターミナルとか)そのものを返り値にしてしまえば、副作用ではなくただの作用になるし、副作用のある関数を連続で実行するのと同様の操作についても、Monad で包んで返した環境を受け取って操作をして Monad で包んで返す、という建付けにしておくと、参照透過なままで居られる気持ち

      In conversation Wednesday, 02-Dec-2020 00:59:51 JST permalink
    • まちカドおるみん御嬢様 (orumin@mstdn.maud.io)'s status on Wednesday, 02-Dec-2020 01:01:43 JST まちカドおるみん御嬢様 まちカドおるみん御嬢様
      in reply to

      @cmplstofB 単に framework として見たときは、副作用のある操作が型で明示されるし、Monad の函数のチェーンと純粋な函数の部分がはっきり分離できる(というか分離が強制される)から便利、という認識。

      In conversation Wednesday, 02-Dec-2020 01:01:43 JST permalink
    • B̅ (cmplstofb@mathtod.online)'s status on Wednesday, 02-Dec-2020 01:04:15 JST B̅ B̅
      in reply to

      あれ,そうすると,元の記事の「(純粋)函数型言語ではI/Oは実現できない」というのは微妙に間違えてるってことです? それとも〝Monadで包む〟という建て付けが既に言語の函数性を〝純粋〟でなくしてしまっている?

      In conversation Wednesday, 02-Dec-2020 01:04:15 JST permalink
  • Help
  • About
  • FAQ
  • Privacy
  • Source
  • Version
  • Contact

hisso.li is a social network. It runs on GNU social, version 2.0.0-alpha0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All hisso.li content and data are available under the Creative Commons Attribution 3.0 license.

Switch to desktop site layout.