Code Archive Skip to content Google About Google Privacy Terms
ããããªããã° - JavaScript ã§ã½ã¼ãã¢ã«ã´ãªãºã ãå¯è¦åããããä½ãèããã«å帰å¦çã®ã¯ã¤ãã¯ã½ã¼ãã®æ§åãé次æç»ãããã¨ããã¨ãããªãã¾ãã function quickSort(data, begin, end, log) { if (begin >= end) return data; var pivotPos = begin; var pivot = data[pivotPos]; for (var i = begin + 1; i < end; i++) { if (data[i] < pivot) { var temp = data[i]; data[i] = data[pivotPos + 1]; data[pivotPos + 1] = data[pivotPos]; data[pivotPos] = temp; pivotPos++; } } log(da
é¢æ°åè¨èªã¨ãªãã¸ã§ã¯ãæåã¯ç¸å®¹ããªãï¼ã¨ãã説ãããèãããããã«ããªãã¸ã§ã¯ãã¯ç¶æ ãæã¤ããé¢æ°åããã°ã©ãã³ã°ã§ã¯ï¼ã§ããã ãç ´å£çä»£å ¥ãè¡ããªããã¨ããã°ï¼äºã¤ã®æ¦å¿µã¯çç¾ãã¦ããããã«ãæããããã¾ãï¼æè¡ç観ç¹ä»¥å¤ã«ãï¼ãã¨ããã·ã³ãã«ãã好ãå¤ãã®é¢æ°åè¨èªããã°ã©ããï¼ä½ãã¨ç©äºãè¤éã«ããï¼ã¨æããã¦ããï¼ãªãã¸ã§ã¯ãæåãå«ã£ã¦ãããã¨ããé¢ããããããããªãã ãããï¼å人ã®å¥½ãå«ãã¯ãã¦ããï¼å®éåé¡ã¨ãã¦ï¼é¢æ°åè¨èªã¨ãªãã¸ã§ã¯ãæåã¯å¤§ãã«é¢ä¿ãããããããï¼åºç¤çè«ã«ã¤ãã¦ã¯ï¼ã»ã¨ãã©åãã³ãã¥ããã£ã®äººãã¡ãåãçµãã§ããï¼ã¨è¨ã£ã¦ããããä¾ãã°ï¼ä»¥ä¸ã®ãããªç 究ãï¼1980年代ããç¾å¨ã«è³ãã¾ã§è¡ããã¦ããã é¢æ°åè¨èªã®ã¢ãã«ã§ããλè¨ç®ã¨ããä½ç³»ã«ããã¦ï¼ãªãã¸ã§ã¯ãã表ç¾ããç 究ï¼åèãªã³ã¯ãªã©ï¼ λè¨ç®ã«ãªããï¼ï¼ãããã¿ã¤ããã¼ã¹ã®ï¼ãªãã¸ã§
Javaè¨èªã®ä¸»è¦ã¢ã¼ããã¯ãã§ããGilad Brachaæ°ãNeal Gafteræ°ãJames Goslingæ°ãPeter von der Ahéæ°ãã¯18æ¥(ç±³å½æé)ãJavaè¨èªã«ããã¦é¢æ°åãã¯ãã¼ã¸ã£ã®å°å ¥ãææ¡ãããã¯ã¤ããã¼ããå ¬éãããç¾å¨ãJavaã«ã¯é¢æ°åãã¯ãã¼ã¸ã£ã¯ç¨æããã¦ããªããåæ°ãã®ææ¡ã§ã¯JDK7ãç®å¦ã«ãããæ©è½ãçµ±åãã¦ããããã¨ãã¦ããã é¢æ°åãã¯ãã¼ã¸ã£ã¯é¢æ°åè¨èªãã¹ã¯ãªããè¨èªã«ã¯ç¨æããã¦ãããã¨ãå¤ãæ©è½ã®ã²ã¨ã¤ãåæ©è½ããã£ã代表çãªããã°ã©ãã³ã°è¨èªã«ã¯PythonãRubyãPerlãJavaScriptãCommon LispãSchemeãSmalltalkãScalaãC#ãªã©ãããããã¨ãã§ããããã¨ãã¨Smalltalkã使ã£ã¦ããããã°ã©ããªã©ã¯ãJavaã«ã¯ãã¼ã¸ã£ããªããã¨ãJavaã«å¯¾ããä¸æºã¨ãã¦ãããã
Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented and imperative features. It has a simple C#-like syntax and a powerful meta-programming system. more... The language implementation and this documentation is licensed under free-for-any-use BSD-like license. Activity If you're here to check activity of the Nemerle project, pl
ããã¨ããã«åããããªãã¨ãï¼ã»ã¨ãã©æãè¡ãã§ï¼æ¸ããã®ã§ãããéè¦ãªåé¡ã®ãããªæ°ããã¦ããã®ã§ããã£ã¡ã«ãæ¸ãã¦ã¿ãã ä¸è¬ã«ãé¢æ°åè¨èªãããã°ã©ãã³ã°è¨èªï¼ããã³è¨ç®æ©ç§å¦ããªããä»»æã®å°éï¼ã«ã¤ãã¦ã®æ å ±ã¯ã ä¸è¬æ¸ã»ä¸è¬èªãWebãã¡ã¼ãªã³ã°ãªã¹ããããã° æç§æ¸ã»å°éæ¸ è«æ å£é ã§ã®è°è«ï¼å¦ä¼çºè¡¨ã質çå¿çãã°ã«ã¼ãã®ãã¼ãã£ã³ã°ãé¨å±ã§ã®ä¼è©±ï¼ ãªã©ã§äº¤æããã¾ãã ã§ãä¸è¬ã«æ å ±ã®ããã£ã¼ãããã¯ä¸ããä¸ã¸è¡ãã»ã©æ¿ããªãã¨æãã®ã§ãï¼å°ãªãã¨ãåã®å°éåéã§ã¯ããï¼ããã®ããä¸é¨ã§ãã1.ã ãï¼ãããæ¥æ¬èªonlyã§ï¼ãåå¼·ããã¦ããããã¨è°è«ããã®ã¯ãï¼ä½ãããªãããã¯è¯ãã®ããããã¾ãããï¼é常ã«å±éºã§ãããã®å±éºãã¡ããã¨æèãã¦ããã°no problemã§ããããé«ééè·¯ãã®è©±ã¨åããã¨ããã ãã¨ãã°ãæ¥æ¬ã®ããã(?)ã§ã¯ä»ã«ãªã£ã¦å¦ã«æã¡ä¸ãããã¦ãã
Improving the world's most popular functional language: user-defined functions in Excel. Simon Peyton Jones, Margaret Burnett, and Alan Blackwell. ICFP 2003. http://research.microsoft.com/~simonpj/Papers/excel/index.htm è¦ç´ããã¨ãExcelã¯é¢æ°åè¨èªãã¨ãããã¨ã§ãï¼ããã¨æ¬å½ï¼ãç§ãå«ããICFP 2003ï¼é¢æ°åè¨èªã«é¢ããå½éä¼è°ï¼ã®ããã°ã©ã å§å¡ãã¡ãçç¬å°æããã¾ããï¼ããæ¬å½ï¼ã ãããªæãã§ããã¤ã³ã¿ï¼ä¸è¨ãã§è«æç´¹ä»ï¼ã¨ããã»ã©ã§ããªãã§ããï¼ãç¶ãã¦ã¿ãããã¨ãè±èªãè¦æã§ãªããã°1æ¬30åãããã§æãèªã¿ã§ããã¨æãã¾ãããå¥ã«ãèªããã¨ããã¤ããã§
Formal certification of a compiler back-end, or: programming a compiler with a proof assistant. Xavier Leroy. POPL 2006. http://pauillac.inria.fr/~xleroy/publi/compiler-certif.pdf ã½ã¼ã¹ã³ã¼ãã¨ãã http://pauillac.inria.fr/~xleroy/compcert-backend/ èè ã®Xavier Leroyã¯OCamlã®ä½è ã§ãã ï¼ãã¤ãã£ãã³ã¼ããåãï¼ã³ã³ãã¤ã©ãä½ã£ããã¨ããã人ãªããããç¨ã«ããèµ·ããªããããã®ããããªããã°ã«æ©ã¾ããããã¨ããã£ã¨ããã¨æãã¾ãããããããã°ãããã¨ãã³ã³ãã¤ã©ãä½ã人ã©ããããããã使ãããã°ã©ããæ©ã¾ããã¾ããããã¯MLã®ãããªåã¤ãè¨èªã§ã³
é¢æ°åè¨èªï¼ããã°ã©ãã³ã°è¨èªScheme, Haskellãªã©ï¼ãåå¼·ãããã¨æã£ã¦ãã¾ãã åå¿è ã«ãé¢æ°åè¨èªã®ã¡ãªãããèããããã¹ã©ã¹ã©åããåå¼·ã®ææãæãã¦ãã ããã è¨èªã®ç¿å¾ããããé¢æ°åè¨èªã®èãæ¹ã®ç¿å¾ã«éããç½®ãã¦ãã¾ãã ä¾ãã° - ãã®æ¬ãèªã - ãã®ãµã¤ããèªã ã®ããã«ãå ¥éããå®ç¨ã¬ãã«ã¾ã§ãã¡ãã¨çã®éã£ããã®ããé¡ããã¾ãã ã¡ãªã¿ã« 以åSchemeãåå¼·ãã¾ãããæ«å°¾å起辺ãã§ãªãã¨ãªãããããã«ãªã£ã¦ãã¾ãã¾ããã ãã¨ãè¨ç®æ©ããã°ã©ã ã®æ§é ã¨è§£éãã¯åã«ã¯é£ãããã§ããã
id:higepon:20060330:1143714380ã§é¢æ°åè¨èªã®åå¼·æ¹æ³ã«ã¤ãã¦äººåæ¤ç´¢ã§è³ªåãã¾ããã ãã®çµæãããããã®åç(ã³ã¡ã³ãæ¬ã§ã®åçãã飲ã¿ä¼ã§ã®ã¢ããã¤ã¹ãå«ãï¼ãããã ãã¾ããããããã¨ããããã¾ãã 質åèªä½ã¯åç´ã§ãéã«åçããç«å ´ããããã¨ç¯å²ãåºããã¦ã¨ã¦ãçãã¥ãããã®ã ã£ãã¨æãã¾ãã ãã®ä¸ã§ãç¹ã«å°è±¡ã«æ®ãã質ãã¨ã¦ãé«ãã¨æããåçã®ä¸é¨ãå¼ç¨ãããã¨æãã¾ãã id:practicalschemeããã«ããåçã§ãã(å ¨æã¯http://q.hatena.ne.jp/1143714236#a507995ï¼ã ãªããªãé£ãã質åã§ããä¸åãããã¯ä¸ãµã¤ãã決å®çã¨è¨ãããããªãã®ã¯æãå½ããã¾ããããããé¢æ°åè¨èªããã®ã¢ããã¼ãã«ã¤ãã¦ã¯æè¿é¢å¿ãé«ã¾ãã¤ã¤ããããã§ãã®ã£ãããåããå ¥éæ¸ãå¾ã ã«åºã¦ããã¨æããã¾ã ç¥ [ã¨ã£ããã]
Shiro Kawai 7/3/2000ååºã3/29/2002æ´æ° ã¾ãã¨ããããã«ãã³ã¯ææ ¢ããããã©ã ãã¨ããããé¢æ°ãã¤ã³ã¿ï¼ç°å¢ãã¼ã¿ ã¨ãããã¨ã§ç´å¾ããããããããSchemeã®ã«ã¼ãæ§æ(do)ã¯è¨±ããªããªãã ãã¡ããã¡ããã¦ãããéä¸ã§è±åºã§ããªããã CãPerlã®forãwhileã®æ¹ããã£ã¨ä½¿ãããããã ã? doãªãã¦ä½¿ããªã? ãããã©ããã£ã¦ã«ã¼ããæ¸ããã ? æ¶ããã«ã¼ã ç°¡åã ãã©ããããããããªä¾ã¨ãã¦ããããªã®ãèãã¦ã¿ããã å ¥åããã¹ãã®è¡æ°ãæ°ããé¢æ°count_linesãæ¸ãããã Cã§æ¸ãã¨ããã°ããããªæãã ã /* ä¾1 */ int count_lines(void) { int count = 0, c; for (c=getchar(); c!=EOF; c=getchar()) { if (c == '\n') count
ãã®ãã¼ã¸ã§ã¯ãRubyã使ã£ã¦ãé¢æ°ããã°ã©ãã³ã°ãè¡ã£ã¦ã¿ããã¨æãã¾ãã Rubyã¯ãããããããããã«å½ä»¤åè¨èªã®çºå±å½¢ãããªãã¸ã§ã¯ãæååè¨èªã§ãã®ã§ãé¢æ°ããã°ã©ãã³ã°ãè¡ãã®ã«é©ããè¨èªã§ã¯ããã¾ãããããããå ¨ãé¢æ°ããã°ã©ãã³ã°ã®ç¹å¾´ãä¼ãããã¨ãã§ããªãããã§ã¯ããã¾ãããããã«å¿ è¦ãªããã¤ãã®æ©è½ãåãã¦ããã¨æãã¾ããå¾ã£ã¦ãRubyã§é¢æ°ããã°ã©ãã³ã°ãè¡ããã¨ã«ãããé¢æ°ããã°ã©ãã³ã°ã¸ã®ã¤ã³ãããã¯ã·ã§ã³ã«ãã¦ã¿ããã¨æã£ã¦ãã¾ãã 念ã®çºè¨ã£ã¦ããã¾ãããç§ã¯Rubyãããç¥ãã¾ãããããããåçæç¸ã®ãªãã¸ã§ã¯ãæåè¨èªã¨ãããã¨ãªã®ã§ããã®è¨èªæ§æã¯ãåã·ã¹ãã 以å¤ã¯ã¡ã¸ã£ã¼ãªå¤ç®çè¨èª(C++,Object Pascalç)ã¨ããå¤ãããªãã¨æãã¾ããã¨ããããå®å ¨ã«ããããåæã§è©±ããã¾ãã å ã¿ã«ãåèè³æã¯ãè¨èªä»æ§ã«é¢ãããã«ãããªã©ã¤
(thanks to id:koyachiãdel.icio.us/rtk2106) OOPã¨FPã¨ãé¢æ°ããªãã¸ã§ã¯ããã¯ãã¼ã¸ã£ã®ä½¿ãåãã«ã¤ãã¦èãã¾ãã é¢æ°åãè¯ãã®ãããªãã¸ã§ã¯ãæåãè¯ãã®ããç¥ãããã¨æã£ã¦ãã¾ãããè²ã ãªãã¼ã¸ãèªã¿ãç¾æç¹ã§ä¸å¿ã®çããå¾ã¾ããã ã«ã¦ã³ã¿ãä¾ã«ãã¦ãé¢æ°ãã¹ã³ã¼ãããªãã¸ã§ã¯ããã¯ãã¼ã¸ã£ã®é ã«è¦ã¦è¡ãã¾ããé¢æ°é¢æ°ã¯å¦çã§ããå ¥åã¨åºåãããã¾ããé¢æ°åããã°ã©ãã³ã°ã§ã¯ãé¢æ°å士ã®å ¥åã¨åºåãé£çµãããã°ã©ã ãæ§æããã¾ãã var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
æ¥æ¬ã§ã¯ä½ãç¥ããã¦ãã¾ããããé常ã«åªããç´ç²é¢æ°åè¨èªConcurrent Cleanã®ä½¿ãæ¹ããã¥ã¼ããªã¢ã«ã»è¨èªãªãã¼ãã®ç¿»è¨³ãè¼ãã¦ãã¾ããä¸å¿ããã ãè¦ãã°ãCleanã®åºæ¬ã¯åããããã«ãã¦ããã¤ããã§ããç´ç²é¢æ°åã¨ããæå 端ã®è¨èªã§ãããªãããçµ±åéçºç°å¢ãæã¡ãGUIä½æã®ã©ã¤ãã©ãªãè±å¯ãªãããã¦ãå¹ççãªexeãã¡ã¤ã«ãåºåããã³ã³ãã¤ã©ã§ããã¤ã³ã¿ããªã¿ã§ã¯ããã¾ããã ãã¯ãè¨ã£ã¦ããã¹ããªã®ã§ãããããããã«ããå 容ã¯ãåºæ¬çã«ãæ示çå宣è¨ãè¡ãå½ä»¤åè¨èªåã³ãªãã¸ã§ã¯ãæåè¨èªï¼å ·ä½çã«ã¯ãC/C++ãJavaãC#ãPascalçï¼ããã£ã人ã§ãªãã¨åãããªããããªå 容ãå¤ãããããã¾ããã ãã ãRubyã®æã¯ãRubyã ãåãã£ã¦ããã°åããå 容ã ã¨æãã¾ãã å人çãªæè¦ã§ãããé¢æ°åè¨èªããèªä½ã¯å½ä»¤åè¨èªãåå¼·ããªãã¾ã¾ã§ãå ¥ã£ã¦è¡ããã¨æ
John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. [email protected] ãã®æ¥æ¬èªè¨³ã¯åèè ã®æ¿è«¾ãå¾ã¦å±±ä¸ãããã«å ¬éãããã®ã§ãã ãã®è¨³æã«ã¤ãã¦ã®ã御ææãªã©ã¯å±±ä¸ä¼¸å¤«(nobsun .at. sampou.org)ã¾ã§ãããã ãããã¾ãã 翻訳æçµæ´æ°æ¥ : 2011-09-17 åæ "Why Functional Programming Matters" æ¥æ¬èªè¨³PostScript ãã®è«æã¯1984年以æ¥ä½å¹´ãã®ããã Chalmers大å¦ã®ã¡ã¢ã¨ãã¦å覧ãããã 1989å¹´ã¨1990å¹´ã«å¹¾åãæ¹è¨ãããã®ã[Hug89]㨠[Hug90]ã§ããããã®çã¯ãã¨ã®Chalmer大å¦ã®ã¡ã¢ ã®nroffå稿ããã¨ã«
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}