Jan
25
WebHack#10 Why You Never Need Explicit Null Checks
Monad, an Abstraction of Computational Effects
Registration info |
Free Free
FCFS
|
---|
Description
Abstract
A computation(e.g., a function call) will not always succeed, and the failure can be represented by a null value. To build robust programs, the intuitive way is to perform explicit null checking like if (null != aVariable)
. However, indentation may go so deep to harm code quality. Actually, null checking can be done implicitly at each step of the computation. And this talk will demonstrate how to implement the automatic null checking, which reflects the most important use of monad in programming languages: capturing computational effects such as failure, non-determinism, state, and IO.
This talk welcomes all software developers who are interested in monad but find it mysterious, especially those working with JavaScript or PureScript. Even though the examples are written in Haskell, this talk requires NO knowledge in Haskell or Functional Programming.
Speaker
The speaker, Zirun Zhu, is a PhD Candidate at National Institute of Informatics (NII). His research area is bidirectional transformations (BXs), which can serve as an elegant approach to synchronizing data in different format. In particular, he is focusing on the synchronization problem between the program text and its abstract syntax representation. He developed a domain specific language – BiYacc – to help the user build a pair of parser and reflective printer from a single program.
Keywords
- null checking
- monad
- computational effects
- Haskell
- PureScript
Brief Introduction to Haskell and PureScript
Haskell is a purely functional programming language. Some of its features have influenced and been borrowed by many other programming languages such as C++11/Concepts, Java/Generics, Clojure, and PureScript. Among these influenced languages, PureScript shares nearly the same syntax of Haskell while it compiles to readable JavaScript and reuse existing JavaScript code easily. PureScript has been developed for years and comes with detailed tutorial. PureScript might be a good choice for web developers, for instance, in PureScript there are no callback hells.
Details
- Agenda
- 19:00-19:10 Registration
- 19:10-20:00 Presentation
- 20:00-20:10 Q&A
- 20:10-21:30 Dinner
- Location
- 赤坂溜池タワー 13F
- Transportation
- 東京メトロ 銀座線・南北線 溜池山王駅 11出口 (徒歩約4分)
- 東京メトロ 千代田線 赤坂駅 2出口 (徒歩約4分)
- 東京メトロ 丸ノ内線・銀座線 赤坂見附駅 10出口 (徒歩約9分)
- Contact
- 080-8495-1823 (Mr.Bible)
Amenities
- elevator
- table
- chair
- whiteboard
wire-line networkwire-less networkwater