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

Institute of Information Science, Academia Sinica

Events

Print

Press Ctrl+P to print from browser

Seminar

:::

Having an Effect

  • LecturerDr. Oleg Kiselyov (Tohoku University, Japan)
    Host: Shin-Cheng Mu
  • Time2016-12-02 (Fri.) 10:00 ~ 12:00
  • LocationAuditorium 101 at IIS new Building
Abstract

(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.