|
-- ·|û / µù¥U --
|
¡@ |
|
|
Haskell½ì¾Ç«ü«n ( ²Åé ¦r) |
§@ªÌ¡G[´µ¬¥¤å¥§¨È] | Ãþ§O¡G1. -> µ{¦¡³]p -> ºî¦X |
ĶªÌ¡G |
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀ | 3dWoo®Ñ¸¹¡G 37442 ¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I¡i¯Ê®Ñ¡j ¡i¤£±µ¨üqÁÊ¡j |
¥Xª©¤é¡G1/1/2014 |
¶¼Æ¡G301 |
¥úºÐ¼Æ¡G0 |
|
¯¸ªø±ÀÂË¡G |
¦L¨ê¡G¶Â¥Õ¦L¨ê | »y¨t¡G ( ²Åé ª© ) |
|
¡i¤£±µ¨üqÁÊ¡j | ISBN¡G9787115335593 |
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç |
(²Åé®Ñ¤W©Òz¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, YŪªÌ»Ýn½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ) |
§@ªÌ§Ç¡G |
ĶªÌ§Ç¡G |
«e¨¥¡G |
¤º®e²¤¶¡G¡@¡@¡mHaskell½ì¾Ç«ü«n¡n¬O¤@¥»Á¿¸ÑHaskell³oªù¨ç¼Æ¦¡½sµ{»y¨¥ªº¤Jªù«ü«n¡A»y¨¥³q«U©öÀ´¡A´¡¹Ï¥Í°Ê«ÕÀq¡A¥Ü¨Òµu¤p²M´·¡Aµ²ºc¦w±Æ¦X²z¡C®Ñ¤¤±qHaskellªº°ò¦ª¾ÃÑÁ¿°_¡A²[»\¤F©Ò¦³ªº°ò¥»·§©À©M»yªk¡A¤º®e¯A¤Î°ò¥»»yªk¡B»¼Âk¡BÃþ«¬©MÃþ«¬Ãþ¡B¨ç¤l¡Bapplicative ¨ç¤l¡Bmonad¡Bzipper¤Î©Ò¦³Haskell«n¯S©Ê©M±j¤j¥\¯à¡C ¡@¡@¡mHaskell½ì¾Ç«ü«n¡n¾A¦X¹ï¨ç¼Æ¦¡½sµ{¤ÎHaskell»y¨¥·P¿³½ìªº¶}µo¤Hû¾\Ū¡C |
¥Ø¿ý¡G²Ä1³¹¡@¦U´N¦U¦ì¡A¹w³Æ¡I¡@1 1.1¡@½Õ¥Î¨ç¼Æ¡@3 1.2¡@¤pªB¤Íªº²Ä¤@Ó¨ç¼Æ¡@4 1.3¡@¦Cªí¤Jªù¡@6 1.3.1¡@«÷±µ¦Cªí¡@6 1.3.2¡@³X°Ý¦Cªí¤¤ªº¤¸¯À¡@8 1.3.3¡@´O®M¦Cªí¡@8 1.3.4¡@¤ñ¸û¦Cªí¡@8 1.3.5¡@§ó¦h¦Cªí¾Þ§@¡@9 1.4¡@±o¦{°Ï¶¡¡@11 1.5¡@§Ú¬O¦Cªí±À¾É¦¡¡@13 1.6¡@¤¸²Õ¡@16 1.6.1¡@¨Ï¥Î¤¸²Õ¡@16 1.6.2¡@¨Ï¥Î§Ç¹ï¡@17 1.6.3¡@§äª½¨¤¤T¨¤§Î¡@18
²Ä2³¹¡@¬Û«HÃþ«¬¡@20 2.1¡@Å㦡Ãþ«¬Án©ú¡@20 2.2¡@Haskellªº±`¨£Ãþ«¬¡@21 2.3¡@Ãþ«¬Åܶq¡@22 2.4¡@Ãþ«¬Ãþ¤Jªù¡@23 2.4.1¡@EqÃþ«¬Ãþ¡@24 2.4.2¡@OrdÃþ«¬Ãþ¡@24 2.4.3¡@ShowÃþ«¬Ãþ¡@25 2.4.4¡@ReadÃþ«¬Ãþ¡@25 2.4.5¡@EnumÃþ«¬Ãþ¡@27 2.4.6¡@BoundedÃþ«¬Ãþ¡@27 2.4.7¡@NumÃþ«¬Ãþ¡@28 2.4.8¡@FloatingÃþ«¬Ãþ¡@28 2.4.9¡@IntegeralÃþ«¬Ãþ¡@28 2.4.10¡@¦³ÃöÃþ«¬Ãþªº³Ì¦ZÁ`µ²¡@29
²Ä3³¹¡@¨ç¼Æªº»yªk¡@30 3.1¡@¼Ò¦¡¤Ç°t¡@30 3.1.1¡@¤¸²Õªº¼Ò¦¡¤Ç°t¡@32 3.1.2¡@¦Cªí»P¦Cªí±À¾É¦¡ªº¼Ò¦¡¤Ç°t¡@32 3.1.3¡@As¼Ò¦¡¡@34 3.2¡@ª`·N¡Aï½Ã!¡@34 3.3¡@where¡H¡I¡@36 3.3.1¡@whereªº§@¥Î°ì¡@37 3.3.2¡@where¤¤ªº¼Ò¦¡¤Ç°t¡@38 3.3.3¡@where¶ô¤¤ªº¨ç¼Æ¡@38 3.4¡@let¡@39 3.4.1¡@¦Cªí±À¾É¦¡¤¤ªºlet¡@40 3.4.2¡@GHCi¤¤ªºlet¡@40 3.5¡@caseªí¹F¦¡¡@41
²Ä4³¹¡@§A¦n¡A»¼Âk¡@43 4.1¡@¤£¥i«äijªº³Ì¤jÈ¡@43 4.2¡@§ó¦hªº´XÓ»¼Âk¨ç¼Æ¡@45 4.2.1¡@replicate¡@45 4.2.2¡@take¡@45 4.2.3¡@reverse¡@46 4.2.4¡@repeat¡@46 4.2.5¡@zip¡@46 4.2.6¡@elem¡@47 4.3¡@§ÖÂI¡A±Æ§Ç¡I¡@47 4.3.1¡@ºâªk«ä¸ô¡@47 4.3.2¡@½s¼g¥N½X¡@48 4.4¡@»¼Âk¦a«ä¦Ò¡@49
²Ä5³¹¡@°ª¶¥¨ç¼Æ¡@50 5.1¡@¬_¨½¨ç¼Æ¡@50 5.1.1¡@ºIÂ_¡@52 5.1.2¡@¥´¦L¨ç¼Æ¡@53 5.2¡@¦A¨ÓÂI¨à°ª¶¥¨ç¼Æ¡@53 5.2.1¡@¹ê²{zipWith¡@54 5.2.2¡@¹ê²{flip¡@55 5.3¡@¨ç¼Æ¦¡µ{§Çû¤u¨ã½c¡@56 5.3.1¡@map¨ç¼Æ¡@56 5.3.2¡@filter¨ç¼Æ¡@57 5.3.3¡@¦³Ãömap»Pfilterªº§ó¦h¥Ü¨Ò¡@58 5.3.4¡@¬M®g±a¦³¦hӰѼƪº¨ç¼Æ¡@60 5.4¡@lambda¡@60 5.5¡@§éÅ|¯ÈÅb¡@62 5.5.1¡@³q¹Lfoldl¶i¦æ¥ª§éÅ|¡@63 5.5.2¡@³q¹Lfoldr¶i¦æ¥k§éÅ|¡@63 5.5.3¡@foldl1¨ç¼Æ»Pfoldr1¨ç¼Æ¡@64 5.5.4¡@§éÅ|ªº´XÓ¨Ò¤l¡@65 5.5.5¡@¥t¤@Ó¨¤«×¬Ý§éÅ|¡@66 5.5.6¡@µL¦Cªíªº§éÅ|¡@67 5.5.7¡@±½´y¡@68 5.6¡@¦³$ªº¨ç¼ÆÀ³¥Î¡@68 5.7¡@¨ç¼Æ²Õ¦X¡@70 5.7.1¡@±a¦³¦hӰѼƨç¼Æªº²Õ¦X¡@70 5.7.2¡@Point-Free·®æ¡@71
²Ä6³¹¡@¼Ò¶ô¡@73 6.1¡@¾É¤J¼Ò¶ô¡@73 6.2¡@¨Ï¥Î¼Ò¶ô¤¤ªº¨ç¼Æ¨D¸Ñ°ÝÃD¡@75 6.2.1¡@²Îp³æµü¼Æ¡@75 6.2.2¡@¤z¯ó°ï¤¤ªºÁ_¬÷°w¡@76 6.2.3¡@³Í¼»±K½X¨F©Ô¡@77 6.2.4¡@ÄY®æ¥ª§éÅ|¡@79 6.2.5¡@´M§ä»Å¼Æ¡@80 6.3¡@¬M®gÁä»PÈ¡@82 6.3.1¡@´X¥G¤@¼Ë¦n¡GÃöÁp¦Cªí¡@82 6.3.2¡@¶i¤JData.Map¡@83 6.4¡@ºc³y¦Û¤vªº¼Ò¶ô¡@87 6.4.1¡@´X¦ó¼Ò¶ô¡@87 6.4.2¡@¼Ò¶ôªº¼h¦¸µ²ºc¡@89
²Ä7³¹¡@ºc³y§Ú̦ۤvªºÃþ«¬©MÃþ«¬Ãþ¡@91 7.1¡@©w¸q·sªº¼Æ¾ÚÃþ«¬¡@91 7.2¡@¦¨«¬¡@92 7.2.1¡@ɧUPoint¼Æ¾ÚÃþ«¬Àu¤ÆShape¼Æ¾ÚÃþ«¬¡@93 7.2.2¡@±N¹Ï§Î¾É¥X¨ì¼Ò¶ô¤¤¡@94 7.3¡@°O¿ý»yªk¡@95 7.4¡@Ãþ«¬°Ñ¼Æ¡@97 7.4.1¡@n¤£n°Ñ¼Æ¤Æ§Ú̪º¨T¨®¡H¡@99 7.4.2¡@¥½¤é¦V¶q¡@100 7.5¡@¬£¥Í¹ê¨Ò¡@102 7.5.1¡@¬Û¦Pªº¤H¡@102 7.5.2¡@§i¶D§Ú«ç¤\Ū¡@103 7.5.3¡@ªk®x¤º«O«ù¯´§Ç¡I¡@104 7.5.4¡@¤@©Pªº¤@¤Ñ¡@105 7.6¡@Ãþ«¬§O¦W¡@106 7.6.1¡@¨Ï§Ú̪º¹q¸Ü¥»§ó¦n¬Ý¨Ç¡@107 7.6.2¡@°Ñ¼Æ¤ÆÃþ«¬§O¦W¡@108 7.6.3¡@¦V¥ª¨«¡A¦V¥k¨«¡@109 7.7¡@»¼Âk¼Æ¾Úµ²ºc¡@111 7.7.1¡@Àu¤Æ§Ú̪º¦Cªí¡@111 7.7.2¡@ºØ¤@´Ê¾ð¡@113 7.8¡@Ãþ«¬Ãþ¡@115 7.8.1¡@²`¤JEqÃþ«¬Ãþ¡@116 7.8.2¡@TrafficLight¼Æ¾ÚÃþ«¬¡@116 7.8.3¡@¤lÃþ¤Æ¡@118 7.8.4¡@§@¬°Ãþ«¬Ãþ¹ê¨Òªº±a°Ñ¼ÆÃþ«¬¡@118 7.9¡@Yes-NoÃþ«¬Ãþ¡@120 7.10¡@FunctorÃþ«¬Ãþ¡@122 7.10.1¡@Maybe¨ç¤l¡@124 7.10.2¡@¾ð¤]¬O¨ç¤l¡@124 7.10.3¡@Either a¨ç¤l¡@125 7.11¡@kind»PµL¦WÃþ«¬¡@126
²Ä8³¹¡@¿é¤J»P¿é¥X¡@128 8.1¡@¯Âºé»P«D¯Âºéªº¤ÀÂ÷¡@128 8.2¡@Hello, World¡I¡@129 8.3¡@²Õ¦XI/O¾Þ§@¡@130 8.3.1¡@¦bI/O¾Þ§@¤¤¨Ï¥Îlet¡@132 8.3.2¡@¤Ï¹L¨Ó¡@133 8.4¡@´XÓ¹ê¥ÎªºI/O¨ç¼Æ¡@135 8.4.1¡@putStr¡@135 8.4.2¡@putChar¡@135 8.4.3¡@print¡@136 8.4.4¡@when¡@137 8.4.5¡@sequence¡@137 8.4.6¡@mapM¡@138 8.4.7¡@forever¡@139 8.4.8¡@forM¡@139 8.5¡@I/O¾Þ§@¦^ÅU¡@140
²Ä9³¹¡@§ó¦hªº¿é¤J¿é¥X¾Þ§@¡@141 9.1¡@¤å¥ó©M¬y¡@141 9.1.1¡@¿é¤J«©w¦V¡@141 9.1.2¡@±q¿é¤J¬yÀò¨ú¦r²Å¦ê¡@142 9.1.3¡@Âà´«¿é¤J¡@144 9.2¡@Ū¼g¤å¥ó¡@146 9.2.1¡@¨Ï¥ÎwithFile¨ç¼Æ¡@147 9.2.2¡@bracketªº®É¶¡¨ì¤F¡@148 9.2.3¡@§ì¦í¥y¬`¡@149 9.3¡@TODO¦Cªí¡@149 9.3.1¡@§R°£±ø¥Ø¡@150 9.3.2¡@²M²z¡@152 9.4¡@©R¥O¦æ°Ñ¼Æ¡@153 9.5¡@Ãö¤_TODO¦Cªíªº§ó¦h¦³½ìªº¨Æ¡@154 9.5.1¡@¤@Ó¦h¥ô°È¦Cªí¡@155 9.5.2¡@³B²z¿ù»~ªº¿é¤J¡@158 9.6¡@ÀH¾÷©Ê¡@159 9.6.1¡@ÂYµw¹ô¡@160 9.6.2¡@§ó¦hÀH¾÷¨ç¼Æ¡@161 9.6.3¡@ÀH¾÷©Ê©MI/O¡@162 9.7¡@¦r¸`¦ê¡@165 9.7.1¡@ÄY®æªº©M´k©Ê¦r¸`¦ê¡@166 9.7.2¡@¥Î¦r¸`¦ê´_¨î¤å¥ó¡@167
²Ä10³¹¡@¨ç¼Æ¦¡¦a¸Ñ¨M°ÝÃD¡@169 10.1¡@°fªiÄõ¦¡pºâ¾¹¡@169 10.1.1¡@pºâRPNªí¹F¦¡¡@169 10.1.2¡@¼g¤@ÓRPN¨ç¼Æ¡@170 10.1.3¡@²K¥[§ó¦hªº¾Þ§@²Å¡@172 10.2¡@±q§Æ«äù¾÷³õ¨ìÛ´°¡@173 10.2.1¡@pºâ³Ì§Öªº¸ô½u¡@174 10.2.2¡@¦bHaskell¤¤ªí¥Ü¹D¸ô¨t²Î¡@176 10.2.3¡@¹ê²{pºâ³Ì¨Î¸ô®|ªº¨ç¼Æ¡@177 10.2.4¡@±q¿é¤JÀò¨ú¹D¸ô¨t²Î¡@179
²Ä11³¹¡@applicative¨ç¤l¡@182 11.1¡@¨ç¤l¦A²{¡@182 11.1.1¡@§@¬°¨ç¤lªºI/O¾Þ§@¡@183 11.1.2¡@§@¬°¨ç¤lªº¨ç¼Æ¡@185 11.2¡@¨ç¤l©w«ß¡@187 11.2.1¡@©w«ß1¡@188 11.2.2¡@©w«ß2¡@188 11.2.3¡@¹H¤Ï©w«ß¡@189 11.3¡@¨Ï¥Îapplicative¨ç¤l¡@191 11.3.1¡@¦Vapplicative°Ý¦n¡@192 11.3.2¡@Maybe applicative¨ç¤l¡@192 11.3.3¡@applicative·®æ¡@193 11.3.4¡@¦Cªí¡@195 11.3.5¡@IO¤]¬Oapplicative¨ç¤l¡@197 11.3.6¡@¨ç¼Æ§@¬°applicative¡@198 11.3.7¡@zip¦Cªí¡@199 11.3.8¡@applicative©w«ß¡@200 11.4¡@applicativeªº¹ê¥Î¨ç¼Æ¡@201
²Ä12³¹¡@Monoid¡@205 12.1¡@§â²{¦³Ãþ«¬¥]»q¦¨·sÃþ«¬¡@205 12.1.1¡@¥Înewtype³Ð«ØÃþ«¬Ãþªº¹ê¨Ò¡@207 12.1.2¡@Ãö¤_newtypeªº´k©Ê¡@208 12.1.3¡@type¡Bnewtype©Mdata¤TªÌªº¹ï¤ñ¡@210 12.2¡@Ãö¤_¨º¨Çmonoid¡@211 12.2.1¡@MonoidÃþ«¬Ãþ¡@212 12.2.2¡@monoid©w«ß¡@213 12.3¡@»{ÃѤ@¨Çmonoid¡@213 12.3.1¡@¦Cªí¬Omonoid¡@213 12.3.2¡@Product©MSum¡@214 12.3.3¡@Any©MAll¡@216 12.3.4¡@Ordering monoid¡@217 12.3.5¡@Maybe monoid¡@219 12.4¡@monoidªº§éÅ|¡@221
²Ä13³¹¡@§ó¦hmonadªº¨Ò¤l¡@224 13.1¡@¤É¯Å§Ú̪ºapplicative¨ç¤l¡@224 13.2¡@Åé·|Maybe¡@225 13.3¡@MonadÃþ«¬Ãþ¡@228 13.4¡@¤@©¹µL«e¡@229 13.4.1¡@¥N½X¡A¥N½X¡A¥N½X¡@230 13.4.2¡@§Ún¸¨«¡@231 13.4.3¡@½u¤Wªº»¿¼¡@234 13.5¡@do°Oªk¡@235 13.5.1¡@«ö§Ú©Ò»¡ªº¥h°µ¡@236 13.5.2¡@§Ú¥Ö®Jº¸¤S¦^¨Ó¤F¡@237 13.5.3¡@¼Ò¦¡¤Ç°t©Mpºâ¥¢±Ñ¡@238 13.6¡@¦Cªímonad¡@239 13.6.1¡@do°Oªk©M¦Cªí±À¾É¦¡¡@241 13.6.2¡@MonadPlus©Mguard¨ç¼Æ¡@242 13.6.3¡@°¨ªº±´¯Á¡@243 13.7¡@monad©w«ß¡@245 13.7.1¡@¥ª³æ¦ì¤¸¡@246 13.7.2¡@¥k³æ¦ì¤¸¡@246 13.7.3¡@µ²¦X«ß¡@247
²Ä14³¹¡@¦A¦h¤@¨Çmonad¡@249 14.1¡@Writer¡H§Ú¨SÅ¥»¡¹L°Ú¡I¡@249 14.1.1¡@monad»°¨ÓÀç±Ï¡@251 14.1.2¡@WriterÃþ«¬¡@253 14.1.3¡@¹ïWriter¨Ï¥Îdo°Oªk¡@254 14.1.4¡@µ¹µ{§Ç²K¥[¤é§Ó¡@255 14.1.5¡@§C®Äªº¦Cªíºc³y¡@257 14.1.6¡@¨Ï¥Î®t¤À¦Cªí¡@258 14.1.7¡@¤ñ¸û©Ê¯à¡@259 14.2¡@Reader¡H§c¡A¤£¶}ª±¯º¤F¡@260 14.2.1¡@§@¬°monadªº¨ç¼Æ¡@261 14.2.2¡@Reader monad¡@261 14.3¡@±aª¬ºApºâªºÀu¶®ªí¥Ü¡@262 14.3.1¡@±aª¬ºAªºpºâ¡@263 14.3.2¡@´Ì©M¥ÛÀY¡@264 14.3.3¡@State monad¡@265 14.3.4¡@Àò¨ú©M³]¸mª¬ºA¡@267 14.3.5¡@ÀH¾÷©Ê©MState monad¡@268 14.4¡@ùÙ¤WªºError¡@269 14.5¡@¤@¨Ç¹ê¥Îªºmonad¦¡ªº¨ç¼Æ¡@271 14.5.1¡@liftM©M¥¦ªºªB¤ÍÌ¡@271 14.5.2¡@join¨ç¼Æ¡@274 14.5.3¡@filterM¡@276 14.5.4¡@foldM¡@278 14.6¡@³Ð«Ø¤@Ó¦w¥þªºRPNpºâ¾¹¡@279 14.7¡@²Õ¦Xmonad¦¡ªº¨ç¼Æ¡@281 14.8¡@³Ð«Ømonad¡@282
²Ä15³¹¡@zipper¡@287 15.1¡@¦b¾ð¤W²¾°Ê¡@287 15.1.1¡@±¥]®h¡@290 15.1.2¡@¦V¤W¨«¡@291 15.1.3¡@³B²zµJÂI³Bªº¾ð¡@293 15.1.4¡@¤@¸ô¨«¨ì³»ºÝ¡A¨º¨½ªºªÅ®ð¬J·sÂA¤S¤zÐä¡@294 15.2¡@¦b¦Cªí¤W©w¦ì¡@294 15.3¡@¤@Ó«D±`²³æªº¤å¥ó¨t²Î¡@295 15.3.1¡@¬°¤å¥ó¨t²Î³Ð«Ø¤@Ózipper¡@296 15.3.2¡@¾Þ§@¤å¥ó¨t²Î¡@298 15.4¡@¤p¤ß¦æ¨Æ¡@299 15.5¡@ÁÂÁ¾\Ū¡I¡@301 |
§Ç¡G |
|