IIJã®æè¡è ã¯ã»ããã¼ãè¬æ¼ä¼çã«ããã¦ãIIJã®æã¤æè¡åãç¬èªç 究éçºãææ°ã®æè¡ååã«ã¤ãã¦åºãçºä¿¡ããã¤ã³ã¿ã¼ãããã®çºå±ã«å°½åãã¦ãã¾ãã
#Haskellã®åä½ãã¹ãæåç· [To English] ããã¯Haskell Advent Calendar 2012ã®5æ¥ç®ã®è¨äºã§ãã Haskellã§ä½æããããã±ã¼ã¸ã«å¯¾ãã¦ãåä½ãã¹ããæ¸ãããã®ææ°æ å ±ããå±ããã¾ãã以ä¸ã®è¨äºã§ã¯ãHaskell Platform 2014.2.0.0 以éã使ããã¨ãåæã¨ãã¾ãã ##è¦ç´ è¦ç¹ã¯4ã¤ã§ãã å©ç¨è ã«è¦ãããæ¯ãèãã¯ãdoctest ã§æ¸ã å©ç¨è ã«è¦ããããªãæ¯ãèãã¯ãhspec ã§æ¸ã ãã¹ããèªååãããã¬ã¼ã ã¯ã¼ã¯ã¨ãã¦ã¯ Cabal ã使ã doctest ã§ã hspec ã§ããç´ç²ãªã³ã¼ãã«å¯¾ãã¦ã¯ãã§ããã ã QuickCheck ãªã©ã®æ§è³ªãã¹ããæ¸ã ãã®è¨äºã§ä¸çªä¼ãããã®ã¯ã3) ã§ããä¾é¡ã¨ãã¦ã¯ãBase64 ã¨ãã符å·åãåãä¸ãã¾ããBase64 ã¯ç¥ã£ã¦ããã¨ä»®å®ãã¦è©±ãé²ãã¾ã
以åã¯Haskell Platformã使ã£ã¦ããã®ã ãã©ãCabalã®ä¾åé¢ä¿ã½ã«ãããã¾ãè³¢ããªãã£ããã¨ããããããããdependency hellã«é¥ããã¨ãå¤ãã£ããããããã¨ãããã®Haskell Platformã使ããªãç°å¢ã使ã£ã¦ãããOS Xã§ã¯å ¬å¼ã®ã¤ã³ã¹ãã¼ã©ããHomebrewãMac Portsãªã©å¹¾ã¤ãã®æ¹æ³ãç¨æããã¦ãããããããªæ¹æ³ããããã¨ãããã¨ã§ç´¹ä»ãã¦ã¿ããã GHCã®ã¤ã³ã¹ãã¼ã« GHCã®ãªãªã¼ã¹çã¯èªåã§ãã«ãããªããæéãæãããããã¤ã³ã¹ãã¼ã©ã¯ä½¿ããã«tarballçã使ããããã¯ã¤ã³ã¹ãã¼ã«å ãèªåã§æå®ãããããã tar zxvf ~/Downloads/ghc-7.6.3-x86_64-apple-darwin.tar.bz2 cd ghc-7.6.3/ ./configure --prefix=/usr/local/ghc/
å°å ¥ ä¼ç¤¾ã§Haskellåå¼·ä¼ã«åå ãã¦ãã«ãªã¼åã¨ãé¨åé©ç¨ã®ãã¼ãã®è¼ªèªå½çªã«ãªã£ãã®ã ããæ£ç´ã輪èªæç¹ã§ãããããªããªã®ãããããã£ã¦ãã¾ããã§ããã ããããåå¼·ä¼ã§åå è ã®ã¿ãªãã¾ã«æãã¦ããã£ãçµæãã«ãªã¼åã¨ãããã£ã¨ç解ã§ãã¾ããï¼ ã¨ãããã¨ã§å¬ãããªã£ã¦å æ¥å¯ãã¨ãã«å¸å£ã®ä¸ã§ãObjective-Cã§ãã§ããããªã¼ãã¨è³å ã³ã¼ãã£ã³ã°ãã¦ã¿ãçµæãå®è£ ãã¦ã¿ã¾ããã ããä»ã®äººããã£ã¦ãããã¨ãããããªãå®è£ ãã¦ãå®éã®ã¨ãã使ããªãããã¨ãããããªãã¨ã¯ã¾ã£ããæ°ã«ããã§ãã å®éãã£ã¦ã¿ãã½ã¼ã¹ã³ã¼ã㯠ãã¡ã ã«ç½®ãã¦ããã¾ãã ã²ã¨ã¾ãã®ã´ã¼ã« ã«ãªã¼åãã¦é¨åé©ç¨ãã§ããç¶æ ã¾ã§ã¨ãããã¨ã§ãHaskellã®mapãå®ç¾ã§ããã¨ããã¾ã§ãç®æ¨ã«ãã¾ããã map (+3) [1, 2, 3] ããã§ãã Objective-Cã§ã¯å½ç¶ã空ç½åºåãã§å¼æ°ã
Fay ãããã£ã¦ã¿ãã®ã§ã ãã£ããã ããè¨äºãæ¸ãã¦ãããã¨æãã¾ãã ãªããFayã¯æ°ããè¨èªï¼ã¨ãããããå¦çç³»ã¨è¨ã£ãæ¹ãé©åããªï¼ã§ãã®ã§ã ããã«æ¸ãã¦ããæ å ±ã¯ãæ¥å¹´ãããããã¯åå¹´å¾ãã ããã¨ããã£ã¨ãã£ã¨æ©ãã«é³è åããå¯è½æ§ããããªãã«ä½ããªããã¨ãã ããããããæããã¦ããã¾ãã ãã®è¨äºå·çæã«ç¨ããFayã®ãã¼ã¸ã§ã³ã¯ã fay-0.14.5.0 ã§ãã ãã¢ã»åç½®ã ç¹ã«ä½ãä½ããããã®ãæã£ãããã§ã¯ãªãã£ãã®ã§ã ä»åä½ã£ã¦ã¿ããã®ã¯è¶ ã©ãã§ãè¯ããã¼ã«ã§ãã http://tanakh.jp/tools/sudden.html _人人人人人人_ ï¼ãçªç¶ã®æ»ãï¼ ï¿£Y^Y^Y^Y^Yï¿£ ããããããã¹ããçæããã ãã®ãã¼ã«ã§ãã Fayã®ã³ã¼ã HTMLã³ã¼ã ãããã®ã³ã³ãã¤ã«ãªã©ãhakyllã§ã¾ã¨ãã¦ç®¡çã§ããããã«ãã¾ããã hakyllã«
Heroku ãããããã¨ãç¥ã£ãã®ã§å°ããã¤ä½¿ããã¨ãã¦ãã¾ãã ã§ã Haskell ã§æ¸ããã¢ããªã±ã¼ã·ã§ã³ãåãããã¨ãã¦ããã®ã§ããã ã¡ããã¡ãã触ãã¤ã¤ããã£ããã¨ãæ¸ãã¦ã¿ã¾ãã å··ã§ã¯ Heroku 㧠Haskell ãåããã«ã¯ãã«ãæ¸ã¿ã®ãã¤ããªã push ããã®ã ããç¥ãããæ¹æ³ã®ããã§ãã http://d.hatena.ne.jp/thimura/20111117/1321480728 http://www.slideshare.net/thimura1/yesod-on-heroku-12637246 http://d.hatena.ne.jp/Horiuchi_H/20121113/1352787592 http://taketoncheir.hatenablog.com/entry/2012/08/14/020456 ããããã®æ¹æ³ã¯ Heroku
æ¬æ¸ã¯HaskellãOCamlãF#ãScalaã¨ãã£ãè¨èªã®æ®åã«ããæ¹ãã¦æ³¨ç®ããããé¢æ°ããã°ã©ãã³ã°ãã®çè«ãä½ç³»çã«å¦ã¶æç§æ¸âIntroduction to Functional Programming using Haskell, Second Editionâï¼Prentice Hall, 1998ï¼ã®ç¿»è¨³ã§ãã é¢æ°ããã°ã©ãã³ã°ã«ãããè©ä¾¡æ¦ç¥ããã¼ã¿æ§é ãè¨ç®éãåãã¢ããã®ä»çµã¿ãªã©ã«ã¤ãã¦ãHaskellã«ããã·ã³ãã«ãªã³ã¼ããä¾ã«è§£èª¬ãã¦ãã¾ãã
Paul Hudak, Yale University John Peterson, Yale University Joseph Fasel, Los Alamos National Laboratory September 28, 1999 翻訳ï¼å±±ä¸ 伸夫 <nobs[email protected]> ããã¯ãããããã Haskell å ¥é (ãã¼ã¸ã§ã³98)ãã®HTMLãã¼ã¸ã§ã³ã§ãã ç®æ¬¡è¦ç´ ã¤ã³ãããã¯ã·ã§ã³ å¤ãåããã®ä»ã®æç¨ãªæ¦å¿µ é¢æ° case å¼ã¨ãã¿ã¼ã³ç §å åã¯ã©ã¹ã¨ãªã¼ããã¼ãã£ã³ã° åã³ãåã«ã¤ãã¦ å ¥åºå æ¨æºã® Haskell ã¯ã©ã¹ ã¢ãã æ° ã¢ã¸ã¥ã¼ã« åä»ãã®è½ãç©´ é å ãã®å ã®å¦ç¿ åèæç® ç®æ¬¡ ãã®Haskell Tutorialã®ãã¹ã¿ã¼ææ¸ã¯ã haskell.orgã«ããã¾ãããã®ã¬ãã¼ ãã®è¨æ£ãå¤æ´ã¯ãã¹ã¦ããã«åæ ãããããã«ãªã£
â [Haskell] The Typeclassopediaã訳ãã¾ãã The Monad.Readerã®Issue 13ã«æ²è¼ãããThe Typeclassopediaã¨ããè¨äºããFunctor, Monad, Monoid, Applicative, Foldable, Traversable, Arrowã¨ãã£ããããªåã¯ã©ã¹ã«ã¤ãã¦è¯ãã¾ã¨ã¾ã£ã¦ãã¦ããã®ããããç¥ãããæã®åã£æããã«ãªãããã ã£ãã®ã§ç¿»è¨³ãã¦ã¿ã¾ããã ä½è ã®Brent Yorgeyããããã許å¯ãããã ããã®ã§å ¬éãã¾ãã翻訳ã«æ £ãã¦ããªãã®ã§å¤ãªæ¥æ¬èªï¼ç¹ã«å°éç¨èªã®æ¥æ¬èªè¨³ã¯ããªãæªããï¼ããã£ãããããããééã£ã¦ãããããããããã¾ããã®ã§ãä½ãè¦ã¤ãããã³ã¡ã³ããé ããã¨å©ããã¾ãã â [Haskell] The Typeclassopedia by Brent Yorgey <first
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Haskellã®ã¦ããããã¹ããã¬ã¼ã ã¯ã¼ã¯ã§ããHUnitã使ã£ã¦ã¿ã¾ããããã¹ã対象ã®ã³ã¼ãã¯ãå æ¥æ¸ããsigné¢æ°ã§ãã HUnitã®ã¤ã³ã¹ãã¼ã« ãªã«ã¯ã¨ããããã¾ãã¯HUnitãã¤ã³ã¹ãã¼ã«ãã¾ãããCabalã®ãããã§ç°¡åã«å ¥ãããã¾ããã $ cabal install HUnit ãã¹ã対象ã³ã¼ãã®ã¢ã¸ã¥ã¼ã«åæ¤è¨ ã¤ã¥ãã¦ããã¹ã対象ã³ã¼ãã®ã¢ã¸ã¥ã¼ã«åãä½ã«ãããæ¤è¨ãã¾ããããã®ã¢ã¸ã¥ã¼ã«ã¯ããã¼ããªã¹ããã¨ããWebã¢ããªã±ã¼ã·ã§ã³ã§ä½¿ãäºå®ã§ãããAmazonã®APIã«é¢ãããã®ãªã®ã§ããKeepList.Amazonãã«æ±ºãã¾ããã ãã¡ã¤ã«æ§æã®æ¤è¨ ã¤ã¥ãã¦ããã¹ã対象ã³ã¼ãã¨ãã¹ãã³ã¼ããã©ã®ããã«é ç½®ãããæ¤è¨ãã¾ãããã¢ã¸ã¥ã¼ã«åã®åå空éã®é層ããã®ã¾ã¾çããããã¹ãã³ã¼ãããtestsããã£ã¬ã¯ããªã«å ¥ãããã¨ã«æ±ºãã¾ããã $ tree . |
ã¨ããã¿ã¤ãã«ã§ãå æ¥ã社å ã®å ¬éã»ããã¼ã§è©±ãã¾ããã çºè¡¨è³æã¯ãã¡ãã Haskellã®ãã¹ããã¬ã¼ã ã¯ã¼ã¯ã¨ãã³ããã¼ã¯ãã¬ã¼ã ã¯ã¼ã¯ãããã§ãã¦ããã®ã§ã ãããC++ã§ã使ããããããªããã¨ããå 容ã§ãã æ¦è¦ èæ¯ã¨ãã¦ãQuickCheck ããã£ã¨å¤ãã®äººã«ç¥ã£ã¦/使ã£ã¦è²°ãããã¨ããã®ãããã¾ãã QuickCheckã¯ãæ®æ®µãã使ã£ã¦ãã人éããããã¨ããããããããªãã°ãæ¾ã£ã¦ãããã¨ã¦ã便å©ãªãã®ãªã®ã§ããã æ®å¿µãªããæ®æ®µéçºã«å©ç¨ãã¦ããC++ã«ã¯ç¸å½ã®ãã®ã§å®æ度ã®é«ããã®ãè¦å½ããã¾ããã ã ããã¨ãã£ã¦ãããããä½ãããã«C++ã®ãã³ãã¬ã¼ããããããã¾ããã«ã¯ãç§ã¯ããèãã¦ãã¾ãã¾ãã ï¼ä¸ããããé¢æ°ã«ã©ã³ãã ãªå ¥åãä¸ããã ããªãç°¡åãªã®ã§ãããã¸ã§ãã¬ã¼ã¿ãèªç±ã«ããããæ©è½ããã¯ã欲ããã¨ããã§ï¼ã ããæã£ãæã«ãFFIã使ãã¦QuickC
ã¯ã¦ãªã°ã«ã¼ãã®çµäºæ¥ã2020å¹´1æ31æ¥(é)ã«æ±ºå®ãã¾ãã 以ä¸ã®ã¨ã³ããªã®éããä»å¹´æ«ãç®å¦ã«ã¯ã¦ãªã°ã«ã¼ããçµäºäºå®ã§ããæ¨ããç¥ãããã¦ããã¾ããã 2019å¹´æ«ãç®å¦ã«ãã¯ã¦ãªã°ã«ã¼ãã®æä¾ãçµäºããäºå®ã§ã - ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãã®ãã³ãæ£å¼ã«çµäºæ¥ã決å®ãããã¾ããã®ã§ã以ä¸ã®éãã確èªãã ããã çµäºæ¥: 2020å¹´1æ31æ¥(é) ã¨ã¯ã¹ãã¼ãå¸æç³è«æé:2020å¹´1æ31æ¥(é) çµäºæ¥ä»¥éã¯ãã¯ã¦ãªã°ã«ã¼ãã®é²è¦§ããã³æ稿ã¯è¡ãã¾ãããæ¥è¨ã®ã¨ã¯ã¹ãã¼ããå¿ è¦ãªæ¹ã¯ä»¥ä¸ã®è¨äºã«ãããã£ã¦æç¶ãããã¦ãã ããã ã¯ã¦ãªã°ã«ã¼ãã«æ稿ãããæ¥è¨ãã¼ã¿ã®ã¨ã¯ã¹ãã¼ãã«ã¤ã㦠- ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãå©ç¨ã®ã¿ãªãã¾ã«ã¯ãè¿·æãããããããã¾ãããã©ãããããããé¡ããããã¾ãã 2020-06-25 è¿½è¨ ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ã®ã¨ã¯ã¹ãã¼ããã¼ã¿ã¯2020å¹´2æ28
ããã°ã©ãã³ã°ã®çµé¨ã¯ããããHaskell ã¯ä½¿ã£ããã¨ããªã人ã«ã2æéããã㧠Haskell ã®ãããæããæ¼ç¿ã®ãã¿ãèããã Haskell ã®ä»£è¡¨çãªå©ç¹ã¨ããã°ã åã«ããå³å¯ãªããã°ã©ãã³ã° QuickCheck ã«ãããã¹ãã±ã¼ã¹ã®èªåçæ Persec ã«ãããã¼ãµã¼ã®ä½æ ã ãä»åã¯ããã¼ãµã¼ã®ä½æã¯è«¦ãã¦ãä¸2ã¤ã«ã¤ãã¦æãã¦ã¿ãã ãªã¹ãã®æ¢ç´¢ããã°ã©ã ã¾ããé£æ³ãªã¹ããæ¢ç´¢ããããã°ã©ã ãæ¸ããæ¨æºã§ã¯ lookup ã¨ããé¢æ°ãç¨æããã¦ããããããã search ã¨ããååã§åçºæããããªã¼ãã¼ã¯ O(n)ã ã¾ããåãèããã search :: Eq k => k -> [(k,v)] -> Maybe v search = undefined 次ã«ãå®è£ ãèããã search :: Eq k => k -> [(k,v)] -> Maybe v
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}