您的瀏覽器不支援JavaScript語法,網站的部份功能在JavaScript沒有啟用的狀態下無法正常使用。

中央研究院 資訊科學研究所

活動訊息

友善列印

列印可使用瀏覽器提供的(Ctrl+P)功能

學術演講

:::

Having an Effect

  • 講者Oleg Kiselyov 博士 (Tohoku University, Japan)
    邀請人:穆信成
  • 時間2016-12-02 (Fri.) 10:00 ~ 12:00
  • 地點資訊所新館101演講廳
摘要

(Side-)Effects are the battle cry in what sometimes seems like a war between pure functional and imperative programming. Functional programmers charge brandishing a [@BackSlash]emph{monad} -- a powerful weapon, judging by the exponentially proliferating monad tutorials and its appearances (however fleeting at times) in almost any modern language, natural language included. Monads indeed have many uses and benefits. But this is not the whole story.

 

The talk will try to tell a bigger story, following the tantalizing

lead: all the founding papers on monads, free monads, monad transformers, handlers, algebraic effects, etc. -- all of them, down to the title, are about extensible interpreters. What we eventually find is the [@BackSlash]emph{interaction}~-- between a client and a server, an interpreter and the interpreted code, an expression and its context. The distinction between functional and imperative is hence contingent, an artifact of focusing on a small part of the interacting system.  Revisiting the origins of the field and recovering the insights and forgotten alternatives not only help with the wiser attitude towards monads. We see how they help make our programs have the intended effect.