Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Haskell
Wiki community
Recent changes
Random page
HaskellWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Humor/Poetry
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==A Haskell Lover's Plea== From haskell@CS.YALE.EDU Thu Mar 16 18:03:34 1995 From: dsmith@lucy.cs.waikato.ac.nz Subject: A Haskell Lover's Plea A Haskell Lover's Plea Why should I renounce for you, dear Haskell, My much yearned for side-effects? Why should I face the software dragons Without my weapon, my manly spear of destruction? They call you non-strict, oh so elegant and pure Ariel. Yet side-effect celibacy is surely severe. Your flesh is too weak, you brutish beast. The tarpit demons of software hell await you! This sinful habit in which you indulge Does more harm than good. Restrain yourself! And you too will see The wondrous and refined joys of referential transparency! Alas, I can do without goto, without call/cc. But sans side-effects, I am lost and forlorn, can't you see? Oh, lady fairer yet than admirable Miranda (tm), Scheme's prolix, parenthetical tedium Is no match for your elegant syntax. What's more, Your list comprehensions outshine even Prolog for sure... Ah, flatter me not, you low-spirited Caliban! Do you not know what advantages await Those who renounce destructive update? Start with an immaculate high-level specification, Throw in some algebraic code transformation. Soon you will have a provably correct and maintainable implementation. Show mercy on mere mortals like me! How I dream still of the efficient pleasures of pointer manipulation! How I too wish to mutate memory with thoughts born of von Neumann earthiness! Relent! Relent! Let me have my assignment, my printf, my gensym. Let me fulfill my destructive impulses. Let me set bang. Let me update. Let me assign. Let me mutate. Fear not, lowly beast, I have heard your pleas. To satisfy your low-level desire I'll give you monads, linear types, MADTs, Even single-threaded polymorphic lambda calculi. My beauty may suffer, still I will aspire To let you do (within typeful limits) what you please. Rejoice! Rejoice! I'm free! I'm free! The best of both worlds is mine at last. Oh, infinite progeny of Church, Hope, and ML, I curry favor not when I say: Scan me right, fold me left, Lazy lady of many shapes, you've got class. Don Smith (dsmith@cs.waikato.ac.nz)
Summary:
Please note that all contributions to HaskellWiki are considered to be released under simple permissive license (see
HaskellWiki:Copyrights
for details). If you don't want your writing to be edited mercilessly and redistributed at will, then don't submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
Cancel
Editing help
(opens in new window)
Toggle limited content width