3 ms·
Haskell's purely functional core and ability to localize computational side effects via monads make it a natural fit for multithreaded programming. Pure (i.e. s
by fpgeek 17y ago
Haskell's purely functional core and ability to localize computational side effects via monads make it a natural fit for multithreaded programming. Pure (i.e. side-effect free) code can be semi-automatically parallelized (with the programmer giving guidance about where profitable parallelization points are, but just that). Shared-state concurrent programming can be made easier (and, most importantly, more modular) with Haskell's Software Transactional Memory support.
- signa11 17y agoobligatory "Software Transactional Memory: Why Is It Only a Research Toy?" link: http://queue.acm.org/detail.cfm?id=1454466 http://queue.acm.org/detail.cfm?id=1454466.
- fpgeek 17y agoSince I work for a startup ( http://www.bluespec.com http://www.bluespec.com ) that provides tools for developing hardware transactionally, let's just say that I think the story of hardware support for STM hasn't been written yet.