å æ¥Yesodåå¼·ä¼ç¬¬2åã§Haskellã§JSON Web APIãä½ã話ãããã¾ããã å 容çã«ã¯ä¸è¨ã®ãããªæãã§ãã Webéçºã¯ã¯ã©ã¤ã¢ã³ããµã¤ãã®æè¡ãçºéãã¦ãWeb APIãä½ãæ©ä¼ãå¤ããªã£ãæè¿ã®ããã³ãã¨ã³ãã¯é£ãããã忥ããã»ããããã£ã½ãYesodã¯ç¬èªæè¡ï¼ãã«ã¹ã¿ãã¯ããã¦åæ¥è¾ãã§ã¯scotty + persistent + aesonã§JSON Web APIä½ããããªããæ³å以ä¸ã®ç¸æ§ã®è¯ãã幸ãã«ãªããããªã¤ããã³ããã·ãã·æ¥ã¦ãçºè¡¨è³æã¯ãã¡ãã ã¡ãªã¿ã«ï¿¼scottyã¯sinatraã¿ãããªå¥´ãaesonã¯JSONã©ã¤ãã©ãªãpersistentã¯ORãããã¼ã§ãã ä½ããaeson + persistentã®ç¸æ§ãããããªã§ãããçºè¡¨å¾ã«ï¿¼ï¿¼ï¿¼@thimuraãããè¦ã¤ãã ãã¤ã¯ persistent ã®ã¹ãã¼ãå®ç¾©ã§ããã¼ãã«åã®æ¨ªã« js
Introduction About this tutorial So what's Haskell? What you need to dive in Starting Out Ready, set, go! Baby's first functions An intro to lists Texas ranges I'm a list comprehension Tuples Types and Typeclasses Believe the type Type variables Typeclasses 101 Syntax in Functions Pattern matching Guards, guards! Where!? Let it be Case expressions Recursion Hello recursion! Maximum awesome A few m
誤訳 以åãããµã¼ããµã¤ãJavaScriptã®Node.jsãæåã¯CãHaskellãæ¤è¨ã失æãéçºè ã©ã¤ã¢ã³ã»ãã¼ã«æ°ã¸ã®ã¤ã³ã¿ãã¥ã¼ãã¨ããè¨äºã twitter ã§è©±é¡ã«ãªã£ã¦ãã¾ããã ââ ãªãJavaScriptãé¸ãã ã®ã§ãããï¼ ãã¼ã«æ°ãå®ã¯æåã¯éãã¾ãããæåã¯CãLuaãHaskellãªã©ã§å¤±æãã¦ãã¾ããããããªã¨ãV8ï¼Chromeãæ¡ç¨ãã¦ããJavaScriptã¨ã³ã¸ã³ï¼ã«æ°ãã¤ãã¦ããããã¨ãã¦ãããã¨ã«å¯¾ãã¦JavaScriptãå®ç§ãªè¨èªã ã¨çªç¶ã²ããããã®ã§ãã ãã ã§ãããHaskell ã¯é ãã¨èª¤è§£ããã¦ããã®ã«ããã®ãããªæªæããæãããã訳ã ã¨ãããã«èª¤è§£ãæ·±ã¾ãããã§ããåæã«ã¯ããæ¸ããã¦ãã¾ãã Dahl: Originally I didnât. I had several failed private projects doi
大å¦çã«ããã¿ãªãªæ°å®¿ã®å¨å® ãã£ããã¬ãã£æ±äºº 大å¦çã®æ¹ã§ã楽ãã大å¦çæ´»ã§å¿ è¦ã«ãªããéããã£ã¨ç¢ºä¿ãããã¨ããæ¹ã¯ãæ°å®¿ã®ãã£ããã¬ãã£ãããã¯ã·ã§ã³ã§å¨å® ãã£ããã¬ãã£ã«ãªã£ã¦ã¿ãã®ããªã¹ã¹ã¡ã§ããå¨å® ãã£ããã¬ãã£æ±äººã®é åã¯ããããã¯ã·ã§ã³ãããã½ã³ã³ããã¤ã¯ãªã©ãåãã¦ãèªå® ã§é ä¿¡ç°å¢ãä½ã£ã¦ä»äºãè¡ãã¾ãããããã¯ã·ã§ã³ã®ãã£ããã«ã¼ã ã®ãããªãå å®ããç°å¢ã§ã®é ä¿¡ã§ã¯ããã¾ããããå¿ãã大å¦çã®æ¹ã§ããèªå® ã§é ä¿¡ãã§ããã®ã§ä»äºãããããã¨ããã¡ãªãããåºã¦ãã¾ãã æ¥ä¸ã¯å¤§å¦ã§è¬ç¾©ãåãã夿¹ã¯ãµã¼ã¯ã«ãåéã¨ã®é£²ã¿ä¼ãªã©ã§å¸°ã£ã¦ããã®ã¯21æä»¥éã¨ãã女å大çã®æ¹ãå¤ãã§ããããããªãã¼ãã¹ã±ã¸ã¥ã¼ã«ã®æ¹ã§ãå¨å® ãã£ããã¬ãã£ãªãåé¡ããã¾ããã22æã23æé ãã1ã2æéç¨åº¦é ä¿¡ãããã°ãããã§ãéã稼ããããã§ããæ®éã®ã³ã³ãããªã©ã®ãã¤ãã§ããå¤é ãããä»äºã
Why functional programming? Why Haskell? 1. Getting started 2. Types and functions 3. Defining types, streamlining functions 4. Functional programming 5. Writing a library: working with JSON data 6. Using typeclasses 7. Input and output 8. Efficient file processing, regular expressions, and file name matching 9. I/O case study: a library for searching the filesystem 10. Code case study: parsing a
ãã¨ã§æ¸ãï¼ #include <iostream> template<int x, int y, int z> struct tarai; template<int x, int y, int z, bool f> struct tarai_ { enum { value = tarai< tarai<x - 1, y, z>::value, tarai<y - 1, z, x>::value, tarai<z - 1, x, y>::value >::value }; }; template<int x, int y, int z> struct tarai_<x, y, z, true> { enum { value = y }; }; template<int x, int y, int z> struct tarai { enum { value = tarai_<x, y, z
_ [haskell] Haskellã®ãããåã颿°ãã¢ã»ã³ãã©ã§è¦ã¦ã¿ã 仿¥ã®é¢æ°åè¨èªåå¼·ä¼ã§ã®ä¸å¹ã ãµã¤ãã®Haskellããã°ã©ãã³ã° ãµã¤ããã®p.121ã«ãããããåã颿°ã ã¢ã»ã³ãã©ã§è¦ã¦ã¿ãã -- tarai.hs main = print (tarai 20 10 5) tarai :: Int -> Int -> Int -> Int tarai x y z = if x <= y then y else tarai (tarai (x-1) y z) (tarai (y-1) z x) (tarai (z-1) x y) ã¾ãã¯æ®éã«ã³ã³ãã¤ã«ãã¦å®è¡ãã¦ã¿ãã $ time ghc tarai.hs -o tarai real 0m0.194s user 0m0.148s sys 0m0.043s $ time ./tarai 20 real 0m0.00
Introduction There is a common misconception that the purpose of writing Haskell programs is to instruct a machine to perform certain computations, and to report the results thereof. This myth is perpetrated by numerous lecture courses, books, websites and other media, which merely teach how to write programs with the desired functionality. In actual fact, to write a good Haskell program is to cre
Gauche > Archives > February 16, 2007 # nobsun # è©±ã¯æããã©ã2chã®Haskellã¹ã¬ # at 4:57am (February 16) # http://pc10.2ch.net/test/read.cgi/tech/1162902266/ # at 4:58am (February 16) # 735ãããããã®ã¢ããã®è§£èª¬ãã°ãããã ãªããï¼èªãã§ããï¼ä¸çã¯åºãã®ã¼ (æ¥æ¬ã ãã©) ã¨ããæ°ããã¦ãããï¼ Haskell ã¨ãã¾ã§ããã¨ï¼æ¬å½ã«æ°å¦ç§ã®æ¹ãæ å ±ç³»ãããå¼·ãæ°ãï¼ã¨ãããï¼ç©çå¦ç§ã§ãï¼æ®éã«æ å ±ç³»ãããè¨ç®æ©ããã£ã¦ã人ã¯ã´ãã´ããã¦ããã ããªãï¼ãã£ã±ãï¼ä½ç³»åã®ã¬ãã«ãå ¨ãéãï¼æ´å²ã®éã¿ãæããï¼ ã ã£ã¦ï¼æ°å¦ç§ã®äººãããæ°å¦ãããç´ äººã¨ãï¼ç©çå¦ç§ã®äººãããç©çãããç´ äººã£ã¦ (å¦é¨ã®ã¬ãã«ã§ãã) ã»
Haskellã®ç¹å¾´ â Haskellã®ãããªç¹å¾´ãåæããã¨æ¬¡ã®ããã«ãªãããã®æã®è¨èªã«æ £ãã¦ããªã人ã«ã¯æå³ã®åãããªãã¨ããããããããããªãããããã¯çè ãæãæãã¦èª¬æãçãã¦ãããããªã®ã§ãé©å½ã«ã¹ã«ã¼ãã¦ã»ããã 代æ°çãã¼ã¿åã¨ããã¿ã¼ã³ç §åã ã¤ã³ãã³ããå©ç¨ããç°¡æ½ãªæ§æã 忍è«ã¤ãéçåä»ãã 忍è«ã¨å¤éå®ç¾©ã両ç«ãããåã¯ã©ã¹ã ç´ç²ãª(ã¤ã¾ããå¼ã«å¯ä½ç¨ããªã)颿°åã§ãããã¨ã 第ä¸ç´ã®åä½ã«ããå ¥åºåã â 颿°åè¨èªã£ã¦ä½ â Haskellã¯ç´ç²é¢æ°åè¨èªã«åé¡ãããã颿°åè¨èªã¨ããã®ã¯ã颿°çããã°ã©ãã³ã°ããããããããªè¨èªãã¨ããæå³ã ãã§ã¯é¢æ°çããã°ã©ãã³ã°ã¨ã¯ä½ã¨ããã¨ãããã¯æç¶ãçããã°ã©ãã³ã°ã¨æ¯è¼ãã¦ã¿ãã®ãè¯ãã ç¾å¨ä¸»æµã®è¨èªã¯ãã»ã¼å ¨ã¦æç¶ãåè¨èªã ãæç¶ãçããã°ã©ãã³ã°ã§ã¯ãã³ã³ãã¥ã¼ã¿ã«åç´ãªå½ä»¤ãåºããã¨ãã§ãã¦
If you are not redirected automatically, follow the link to example
$Id: index.html,v 1.9 2006/06/01 16:35:13 aamine Exp $ [ æ£èª¤è¡¨ | æ¸èªæ å ± | è©³ç´°ç®æ¬¡ ] [ SBCr | Amazon ] ãªã¹ãå¦çã»æååå¦çã®åºç¤ããã¢ããããã¼ãµã³ã³ããã¼ã¿ã¾ã§ã ãµã¤ãã®ããã°ã©ãã«è´ã颿°åè¨èªå ¥éã ãµãã¼ãæ å ± æ£èª¤è¡¨ GHC 6.4.2 ã®ãã¦ã³ãã¼ã [www.haskell.org] LazyLines ã®ãã¦ã³ãã¼ãã¨ã¤ã³ã¹ãã¼ã« ãµã³ãã«ã³ã¼ã (ãªã³ã©ã¤ã³) ãµã³ãã«ã³ã¼ãã®ãã¦ã³ãã¼ã (.zip) ãµã³ãã«ã³ã¼ãã®ãã¦ã³ãã¼ã (.tar.gz) ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«æ¤ç´¢ãã¼ã« href 質åãééãã®ææãªã©ã¯ã¡ã¼ã«ã§ aamine AT loveruby.net (AT 㯠@ ã«ç½®ãæã) ã¾ã§ãé¡ããã¾ãã æ¸èªæ å ± æ¸å
æ å ±ç§å¦ãªãã§ãã»ããã¼ã®ãHaskellãã¢ã»ã³ããªã«ãªãã¾ã§ããèãã¦ãã¾ããã 話è ã®ä¸æãã㯠3 é±éã»ã©ã§ GHC ã®ã½ã¼ã¹ã³ã¼ããèªãã ããã§ããçºè¡¨ããã£ãããã¦ãã¦ãã¨ã¦ã B3 ã¨ã¯æãã¾ããã§ããããã¨è´è¡ã« shelarcy ããã¨ã shinh ããã¨ãèåãªäººãæ¥ã¦ã¦ããããããã£ãã§ããåãçºè¡¨ããé ã®å 輪ã ãã®ãªãã§ãã»ããã¼ã¨ã¯ã¾ãã§å¥ç©ã§ãã 詳細ã¯çºè¡¨è³æãå ¬éããããã¨ãæå¾ ãã¤ã¤ãå°è±¡ã«æ®ã£ããã¨ã ãã¡ã¢ã GHC ã®å®è£ ã§ã¯ type checker ã desugarer ããå (åè) ãå ã« desugar ãã¦ãã¾ãã¨åã¨ã©ã¼ã®è¡¨ç¤ºããã«ãããªãããã¨ãï¼ åã¯ã©ã¹ã®ãã£ã¹ããã㯠Dictionary Passing Style ã¨ããã®ã§è¡ããã¦ããããããåã¯ã©ã¹ã®ã¡ã½ããã¯ãã©ã³ããªã³ã¿ãããªãã®ã§ãå¼ã³åºãå´ã§é¢æ°ã®å®ä½ (æ
ã¡ã³ããã³ã¹
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}