ããã§ã¯ããé¢æ°åããã°ã©ãã³ã°ã¯äžçãæãïŒããšããæ代é ãã®ã¡ãã»ãŒãžã¯èŠåœãããŸããã ç§ã®ãªã¹ãã¯ãããŸã人æ°ã®ãªãã¢ã€ãã ã§æ§æãããŠããŸãã èªè ã®å€ãã¯è°è«ãããèšèªããã©ãã€ã ã®ã»ãšãã©ãèããããšããªãã®ã§ãç§ãšåãããã«ãããã«å¯ŸåŠããããšã«èå³ãæã£ãŠããã ããã°å¹žãã§ãã
泚ïŒãããã®èšèªã®ã»ãšãã©ã«ã€ããŠã¯çµéšãéåžžã«éãããŠããããšã«æ³šæããŠãã ããããããã®èšèªã®åºã«ãªã£ãŠããã¢ã€ãã¢ã¯æ³šç®ã«å€ããããã§ãããå°é家ãšã¯èšããŸããã ãããã£ãŠããšã©ãŒãææããä¿®æ£ãææ¡ããŠãã ããã ãããŠãç§ãèŠéããä»ã®ã¢ã€ãã¢ããã©ãã€ã ãèŠã€ãããããããå ±æããŠãã ããïŒ

ããã©ã«ãã®ç«¶äº

èšèªã®äŸ ïŒ ANI ã æ Œåçž
çã«è¡æçãªãã®ããå§ããŸããããããã©ã«ãã§ç«¶äºãæ³å®ãããèšèªããããŸãã ã€ãŸãããã¹ãŠã®ã³ãŒãè¡ãäºãã«äžŠè¡ããŠå®è¡ãããŸãïŒ
ããšãã°ãAãBãCã®3è¡ã®ã³ãŒããæžãããšããŸãã
A; B; C;
ã»ãšãã©ã®èšèªã§ã¯ãAãBãCã®é ã«å®è¡ãããŸããã ANIãªã©ã§ã¯ãAãBãCãåæã«å®è¡ãããŸãã
ANIã§ã¯ ããããŒã®å¶åŸ¡ãšç¹å®ã®é åºã§ã®ã³ãŒãè¡ã®é 眮ã¯ãç°ãªãè¡éã®äŸåé¢ä¿ã®å¯äœçšã«ãããŸããã ããšãã°ãBã«Aã§å®çŸ©ãããŠããå€æ°ãžã®åç §ãå«ãŸããŠããå ŽåãAãšCã¯åæã«å®è¡ãããBã¯åŸã§Aãçµäºãããšãã«å®è¡ãããŸãã
ANIããäŸãèŠãŠã¿ãŸãããã ãã¥ãŒããªã¢ã«ãèšãããã«ãANIã§æžãããããã°ã©ã ã¯ãããŒã¿ã®æµããå¶åŸ¡ãããã€ããšã©ããã§æ§æãããŠããŸãã ãã®çããæ§æã¯ããã»ã©ç°¡åã«ç解ã§ãããèšèªèªäœã¯æ»ãã§ããããã«èŠããŸãããéåžžã«èå³æ·±ãæŠå¿µãæäŸããŸãã
ANIã§ã®ãHelloãworldïŒãã®å®è£ äŸã次ã«ç€ºããŸãã
"Hello, World!" ->std.out
ANIã§æ¡çšãããŠããçšèªã䜿çšããŠããªããžã§ã¯ã "HelloãworldïŒ"ïŒããã¹ãïŒãstd.outã¹ããªãŒã ã«éä¿¡ããŸãã ããããstd.outã«ããã«ããã¹ããéä¿¡ãããšã©ããªããŸããïŒ
"Hello, World!" ->std.out "Goodbye, World!" ->std.out
ãããã®è¡ã¯äž¡æ¹ãšã䞊è¡ããŠå®è¡ããããããããã¹ãã¯ã³ã³ãœãŒã«ã«ã©ã³ãã ãªé åºã§è¡šç€ºãããŸãã ããã§ãããè¡ã«å€æ°ãå«ããå¥ã®è¡ã§ãããåç §ãããšã©ããªãããèŠãŠã¿ãŸãããã
s = [string\]; "Hello, World!" ->s; \s ->std.out;
æåã®è¡ã¯ãããã¹ããå«ãsãšãããã«ãïŒå€æ°ã®ãããªãã®ïŒã宣èšããŠããŸãã 2è¡ç®ã¯ãããã¹ããHelloãworldïŒããsã«éä¿¡ããŸãã 3çªç®-ã²ãŒããã«ããsã«ãéãããå 容ãstd.outã«éä¿¡ããŸãã ããã§ãANIã®é åºãæé»çã«è¡ãããŠããæ§åã確èªã§ããŸããåè¡ã¯åã®è¡ã«äŸåããŠãããããã³ãŒãã®è¡ã¯èšè¿°ãããé åºã§å®è¡ãããŸãã
äœæè ã«ãããšã Plaidèšèªãããã©ã«ãã§ç«¶äºåãç¶æããŠããŸãããèš±å¯ã¢ãã«ïŒ ãã®èšäºã§è©³ãã説æããŸãïŒã䜿çšããŠãããŒå¶åŸ¡ãæ§æããŸãã Plaid 㯠ãç¶æ ã®å€åãåé¢ã«åºãŠããç¶æ æååããã°ã©ãã³ã°ãªã©ãä»ã®èå³æ·±ãæŠå¿µãå®éšããŠããŸãããªããžã§ã¯ãã¯ã¯ã©ã¹ãšããŠã§ã¯ãªããã³ã³ãã€ã©ãŒã远跡ã§ããäžé£ã®ç¶æ ãšé·ç§»ãšããŠå®çŸ©ãããŸãã ãã®ã¢ãããŒãã¯ç§ã«ã¯é¢çœãããã§ã-ãã®æéã¯äžæµã®èšèªæ§é ãšããŠå®çŸ©ãããŠããŸãã ãªããããããŒã¯ããã«ã€ããŠåœŒã®èšäºã Are we there yet ãã
ãã«ãã³ã¢ã¯å¢å ã®äžéããã©ã£ãŠããã競äºãéæããããšã¯ç§ãã¡ãæããããããã«å°é£ã§ãã ANIãšPlaidã¯ãåé¡ã«å¯Ÿããéèªæãªã¢ãããŒããæäŸããŸããããã«ãããçç£æ§ãåäžããå ŽåããããŸãã å¯äžã®åé¡ã¯ããããã©ã«ãã®äžŠååŠçãã®ååã競äºç®¡çã容æã«ãããã©ããã§ãã
äŸåå

èšèªã®äŸ ïŒ Idris ã Agda ã Coq
ãããããã³ã³ãã€ã©ãŒãå€æ°ã®ã¿ã€ãïŒæŽæ°ããªã¹ãããŸãã¯ããã¹ãïŒãå€å¥ã§ããCãJavaãªã©ã®èšèªã§æ瀺ãããã·ã¹ãã ã«æ £ããŠããã§ãããã ããããå€æ°ããæ£ã®æŽæ°ããã2é ç®ãªã¹ããããŸãã¯ãåæã§ããããã¹ãããšããŠå®çŸ©ã§ãããã©ãã§ããããã
äŸååããµããŒãããèšèªã¯ããã®èãã«åºã¥ããŠããŸããã³ã³ãã€ã«æ®µéã§å€æ°ã®å€ããã§ãã¯ããåãæå®ã§ããŸãã Scalaã®å®éšãšããŠã®åœ¢ã®ãªãã©ã€ãã©ãªã¯ ãScalaã®äŸååã®éšåçãªïŒã€ãŸãããŸã å®å šã«ã¯éçºãããŠããªãïŒãµããŒããè¿œå ããäŸã«æ £ããç°¡åãªæ¹æ³ãæäŸããŸãã
次ã«ã圢ç¶ã®ãªãã©ã€ãã©ãªã§å€1ã2ã3ãå«ããã¯ã¿ãŒã宣èšããæ¹æ³ã瀺ããŸãã
val l1 = 1 :#: 2 :#: 3 :#: VNil
ãããã£ãŠãå€æ°11ãäœæããããã®ã·ã°ããã£ã¯ãIntsãå«ãVectorã§ããã ãã§ãªããvectorã®é·ãã3ã§ããããšã瀺ããŸããã³ã³ãã€ã©ã¯ãã®æ å ±ã䜿çšããŠãšã©ãŒããã£ããã§ããŸãã vAddã¡ãœããããã¯ãã«ã«é©çšããŠã2ã€ã®ãã¯ãã«ã®ãã¢ããšã®å ç®ãçæããŸãããã
val l1 = 1 :#: 2 :#: 3 :#: VNil val l2 = 1 :#: 2 :#: 3 :#: VNil val l3 = l1 vAdd l2 // Result: l3 = 2 :#: 4 :#: 6 :#: VNil
äžèšã®äŸã§ã¯ãã·ã¹ãã ãèªèããŠããããããã¹ãŠãæ£åžžã«æ©èœããŸããäž¡æ¹ã®ãã¯ãã«ã®é·ãã¯3ã§ãããã ããç°ãªãé·ãã®ãã¯ãã«ã«vAddãé©çšããããšãããšãå®è¡åã§ãã³ã³ãã€ã«æ®µéã§ãšã©ãŒãçºçããŸãïŒ
val l1 = 1 :#: 2 :#: 3 :#: VNil val l2 = 1 :#: 2 :#: VNil val l3 = l1 vAdd l2 // Result: a *compile* error because you can't pairwise add vectors // of different lengths!
Shapelessã¯åªããã©ã€ãã©ãªã§ãããç§ãç¥ãéããããã¯ãŸã å°ãæ°å³ãæªãã§ãïŒäŸååã®å°ããªã»ããã®ã¿ããµããŒãããéãã³ãŒããšçœ²åãæäŸããŸãã Idrisã¯ãåãããã°ã©ãã³ã°èšèªã®æåã®ã¯ã©ã¹ã®ãªããžã§ã¯ãã«ããŸãããã®çµæãäŸååã®ã·ã¹ãã ãããæ£ç¢ºã§åŒ·åã«ãªããŸãã 詳现ãªæ¯èŒã«ã€ããŠã¯ã ScalaãšIdrisïŒçŸåšããã³å°æ¥ã®äŸååãåç §ããŠãã ãã ã
æ£åŒãªæ€èšŒæ¹æ³ã¯é·ãéååšããŠããŸããããå€ãã®å Žåãäžè¬çãªããã°ã©ããŒã«ãšã£ãŠæçšã§ãããšå€æããã«ã¯é¢åãããããšãå€æããŸããã Idrisãªã©ã®èšèªã®äŸååãããã³å°æ¥çã«ã¯Scalaããã·ã¹ãã ã®ãšã©ãŒæ€åºæ©èœãå€§å¹ ã«æ¡åŒµãããããã³ã³ãã¯ãã§å®çšçãªä»£æ¿æ段ãæäŸããå¯èœæ§ããããŸãã ãã¡ãããåæ¢åé¡ã«ãã£ãŠèª²ããããå¶éã®ããã«çºçãããã¹ãŠã®ãšã©ãŒããã£ããã§ããäŸååã®ã·ã¹ãã ã¯ãããŸããã ãã ããè³¢æã«äœ¿çšãããšãäŸååã¯éçåã·ã¹ãã ã®å€§ããªåé²ã«ãªããŸãã
é£çµããã°ã©ãã³ã°

èšèªã®äŸ ïŒ Forth ã cat ã joy
å€æ°ãªãã§é¢æ°ã䜿çšããŠã³ãŒããèšè¿°ããããšãã©ã®ããã«ãªããçåã«æã£ãããšã¯ãããŸãããïŒ ç§ãã ããããæããã«ãäžéšã®äººã¯ããã«ã€ããŠèããçµæãšããŠé£çµããã°ã©ãã³ã°ãçºæããŸããã ãã®èãæ¹ã¯ãèšèªãã¹ã¿ãã¯ã«ããŒã¿ãè¿œå ããããã¹ã¿ãã¯ããããŒã¿ãããã·ã¥ãããããé¢æ°ã§æ§æããããšããããšã§ãã ããã°ã©ã ã¯ãæ©èœçæ§æã®å©ããåããŠã»ãŒç¬å çã«æ§ç¯ãããŸãïŒ é£çµã¯æ§æã§ã ïŒã
ã¡ãã£ãšé§ãããã£ãŠããããã«èãããã®ã§ã ç«ã®ç°¡åãªäŸãèŠãŠã¿ãŸãããã
2 3 +
ããã§ã2ã€ã®æ°å€ãã¹ã¿ãã¯ã«è¿œå ããŠããã+é¢æ°ãåŒã³åºããŸãããã®é¢æ°ã¯ãã¹ã¿ãã¯ããäž¡æ¹ãã¹ããŒããåèšãããã«è¿œå ããŸãã ãã®ã³ãŒãã®åºåã¯5ã§ãã次ã«ãããå°ãèå³æ·±ãäŸãèŠãŠã¿ãŸãããã
def foo { 10 < [ 0 ] [ 42 ] if } 20 foo
åè¡ã解æããŸãããïŒ
- ãŸããé¢æ°fooã宣èšããŸãã catã§ã¯ãé¢æ°ã®å ¥åã®ãã©ã¡ãŒã¿ãŒãæå®ãããŠããªãããšã«æ³šæããŠãã ããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒã¯ã¹ã¿ãã¯ããèªã¿åãããŸãã
- fooã¯ãé¢æ°<ãåŒã³åºããŸãããã®é¢æ°ã¯ãã¹ã¿ãã¯ã«æåã®æ°å€ãè¿œå ãã10ãšæ¯èŒããŠãå€TrueãŸãã¯Falseãè¿œå ããŸãã
- 次ã«ãå€0ãš42ãã¹ã¿ãã¯ã«è¿œå ãããã¹ãã«ãã¹ããã«è¿œå ãããããã«ãæ¬åŒ§ã§å²ã¿ãŸãã ãã®çç±ã¯ã次ã®è¡ã§ãifãé¢æ°ãåŒã³åºããããšãã«ãthenãã©ã³ããšelseãã©ã³ããšããŠãããã䜿çšãããããã§ãã
- ifé¢æ°ã¯ãã¹ã¿ãã¯ããè«çæ¡ä»¶ãthenãã©ã³ããelseãã©ã³ãã®3ã€ã®ããšãã¹ããŒããŸãã
- æåŸã«ãã¹ã¿ãã¯ã«æ°å€20ãè¿œå ããfooé¢æ°ãåŒã³åºããŸãã
- æçµçã«ã42ãååŸãããŸãã
ãã詳现ãªçŽ¹ä»ã«ã€ããŠã¯ãé£çµèšèªã®åã³ãåç §ã§ããŸãã
ãã®ããã°ã©ãã³ã°ã¹ã¿ã€ã«ã«ã¯ãããã€ãã®èå³æ·±ãç¹æ§ããããŸããããã°ã©ã ãç¡æ°ã®æ¹æ³ã§åå²ããã³çµåããŠãæ°ããããã°ã©ã ãäœæã§ããŸãã ãŸããç°¡æœãªæ§æïŒLISPã®æ§æãããããã«ç°¡æœïŒã«æ³šç®ãã䟡å€ããããŸããããã«ãããããã°ã©ã ã¯ã¡ã¿ããã°ã©ãã³ã°ãéåžžã«ç°¡æœãã€åŒ·åã«ãµããŒãããŸãã ç§ã®æèŠã§ã¯ãé£çµããã°ã©ãã³ã°ã¯å€ãã®æèã®ç³§ãæäŸããŸããããã®å®çšæ§ã¯çãããã§ãã ãã®ã¢ãããŒãã§ã¯ãã³ãŒãå ã®å€æ°ã®ååãã埩å ããã®ã§ã¯ãªããã¹ã¿ãã¯ã®çŸåšã®ç¶æ ãåžžã«èšæ¶ãŸãã¯æ³åããå¿ èŠããããææ決å®ãé£ãããªã£ãŠããããã§ã
宣èšåããã°ã©ãã³ã°

èšèªã®äŸ ïŒ Prolog ã SQL
宣èšåããã°ã©ãã³ã°ã¯äœå¹Žãåã«ç»å ŽããŸãããããã®æŠå¿µã¯ãŸã ã»ãšãã©ã®ããã°ã©ããŒã«ã¯éŠŽæã¿ããããŸããã äžçªäžã®è¡ã¯æ¬¡ã®ãšããã§ããã»ãšãã©ã®äžè¬çãªèšèªã§ã¯ãåé¡ã解決ããæ¹æ³ã説æããŸãã 宣èšåèšèªã§ã¯ãéæãããçµæãåã«æå®ããã ãã§ãèšèªèªäœãäœãè¡ãå¿ èŠããããã決å®ããŸãã
ããšãã°ãCã§ãŒããã䞊ã¹æ¿ãã¢ã«ãŽãªãºã ãäœæããå ŽåãããŒãžã«ãã䞊ã¹æ¿ãã®æé ãèŠå®ããå¿ èŠããããŸããããã«ããããã¹ãŠã®ããŒã¿ãååž°çã«2ã€ã®éšåã«åå²ããé©åãªäžŠã¹æ¿ãé åºã§çµåããæ¹æ³ã段éçã«ç€ºããŸãã ããã«äŸããããŸã ã Prologã®ãããªå®£èšåèšèªã§æ°å€ã䞊ã¹æ¿ããå Žåãããã®ä»£ããã«ããåãã³ã³ããŒãã³ãã®ãªã¹ããååŸãããããäœçœ®iã®æ°ã¯äœçœ®i + 1ã®æ°ä»¥äžã§ãªããã°ãªããªãããšããçµæãæžããŸãã äžèšã®Cãœãªã¥ãŒã·ã§ã³ãšPrologã®ãã®ã³ãŒããæ¯èŒããŠãã ããã
sort_list(Input, Output) :- permutation(Input, Output), check_order(Output). check_order([]). check_order([Head]). check_order([First, Second | Tail]) :- First =< Second, check_order([Second | Tail]).
SQLã䜿çšããããšãããå Žåã¯ãããã«ã€ããŠç¥ããªãã£ããšããŠãã宣èšåããã°ã©ãã³ã°ã®çµéšããããŸãã ã¿ã€ãYããXãéžæããŠã¿ã€ãZã®ãªã¯ãšã¹ããéä¿¡ããå Žåãåä¿¡ããããŒã¿ã®ã¿ã€ããèšè¿°ããŸãã ãã®ã¯ãšãªã®å®è¡æ¹æ³ã¯ãããŒã¿ããŒã¹ãšã³ãžã³èªäœã«ãã£ãŠæ±ºå®ãããŸãã ã»ãšãã©ã®ããŒã¿ããŒã¹ã§ã¯ãexplainã³ãã³ãã䜿çšããŠãããŒãã£ãŒãã確èªãããã¹ãŠãèå°è£ã§ã©ã®ããã«ãªã£ãããææ¡ã§ããŸãã
宣èšåèšèªã®çŸããã¯ãããé«ãã¬ãã«ã®æœè±¡åã§äœæ¥ã§ããããšã§ãã ããªãã®ããžãã¹ã¯ãæãŸããçµè«ã®ããã«ä»æ§ãåŠæ¹ããããšã§ãã ããšãã°ãPrologã®åçŽãªæ°ç¬ã²ãŒã ã®ã³ãŒãã¯ã解決ãããããºã«ã®æ°Žå¹³ãåçŽãããã³æãã®è¡ãã©ã®ããã«èŠããã¹ãããåã«ç€ºããŠããŸãã
sudoku(Puzzle, Solution) :- Solution = Puzzle, Puzzle = [S11, S12, S13, S14, S21, S22, S23, S24, S31, S32, S33, S34, S41, S42, S43, S44], fd_domain(Solution, 1, 4), Row1 = [S11, S12, S13, S14], Row2 = [S21, S22, S23, S24], Row3 = [S31, S32, S33, S34], Row4 = [S41, S42, S43, S44], Col1 = [S11, S21, S31, S41], Col2 = [S12, S22, S32, S42], Col3 = [S13, S23, S33, S43], Col4 = [S14, S24, S34, S44], Square1 = [S11, S12, S21, S22], Square2 = [S13, S14, S23, S24], Square3 = [S31, S32, S41, S42], Square4 = [S33, S34, S43, S44], valid([Row1, Row2, Row3, Row4, Col1, Col2, Col3, Col4, Square1, Square2, Square3, Square4]). valid([]). valid([Head | Tail]) :- fd_all_different(Head), valid(Tail).
äžèšã®ã²ãŒã ãèµ·åããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
| ?- sudoku([_, _, 2, 3, _, _, _, _, _, _, _, _, 3, 4, _, _], Solution). S = [4,1,2,3,2,3,4,1,1,2,3,4,3,4,1,2]
æ®å¿µãªããããã®æ¹æ³ã«ã¯æ¬ ç¹ããããŸãã宣èšåèšèªã§ã¯ããã°ãã°ããã©ãŒãã³ã¹ã®åé¡ãçºçããŸãã äžã§åŒçšããåçŽãªãœãŒãã¢ã«ãŽãªãºã ã¯ãOïŒnïŒïŒãçæããå¯èœæ§ããããŸãã æ°ç¬ã²ãŒã ã§ã¯ãæ€çŽ¢ã¯åŒ·å¶çã«å®è¡ãããŸããã»ãšãã©ã®éçºè ã¯ãSQLã¯ãšãªãå®è¡ãããšãã«ã³ã¹ããšå¹çã®æªãèšç»ãåé¿ããããã«ããµãã·ã¹ãã ã«è¿œå ã®ãã³ããšã€ã³ããã¯ã¹ãå«ããå¿ èŠããããŸãã
èšå·ããã°ã©ãã³ã°

èšèªã®äŸ ïŒ ãªãŒãã©
ãªãŒãã©ã¯ã ã·ã³ããªãã¯ããã°ã©ãã³ã°ã®äŸã§ãã ãã¬ãŒã³ããã¹ãã«å ããŠããã®äžã«èšè¿°ããã³ãŒãã«ã¯ãç»åãæ°åŒãã°ã©ããªã©ãå«ãŸããå ŽåããããŸãã ããã«ããããã¹ãŠãããã¹ãã«å€æãã代ããã«ãããŸããŸãªããŒã¿ãå ã®åœ¢åŒã§èšè¿°ããŠæäœããããšãã§ããŸãã ããã«ãAuroraã¯éåžžã«ã€ã³ã¿ã©ã¯ãã£ããªèšèªã§ãããã¹ããã€ãã®REPLã®ããã«ãã³ãŒãã®åè¡ã®çŽåŸã«çµæã衚瀺ããŸãã
Auroraã¯ã Light Table IDEãææããŠããChris Grangerã«ãã£ãŠäœæãããŸããã 圌ã¯ã圌ã®èšäºãToward a better programmingãã§ãªãŒãã©ãçºæããåæ©ã«ã€ããŠè©±ããŠããŸã ã 圌ã¯ãããã°ã©ãã³ã°ãããèŠèŠçã§çŽæ¥çãªãã®ã«ããã©ã³ãã ãªè€éããæå°éã«æãããªã©ã®ç®æšãè¿œæ±ããŸããã 詳现ãç¥ãããå Žåã¯ã Bret Victor - Inventing on Principle ã Unthinkink and Learnable Programming ãèããããã®ã¡ãã£ã¢ã®è³æãå¿ ããã§ãã¯ããŠãã ããã
ç¥èããŒã¹ã®ããã°ã©ãã³ã°

èšèªã®äŸ ïŒ Wolfram
åè¿°ã®ãªãŒãã©ãšåæ§ã«ã Wolframãã·ã³ããªãã¯ããã°ã©ãã³ã°ã®åçã«åºã¥ããŠããŸãã ããããã·ã³ããªãã¯ã¬ã€ã€ãŒã¯ãã³ã¢ãæ§æãããã®ïŒã€ãŸããç¥èããŒã¹ã®ããã°ã©ãã³ã°ãåºç¯ãªã©ã€ãã©ãªãã¢ã«ãŽãªãºã ãããã³èšèªã«çµã¿èŸŒãŸããããŒã¿ïŒã®å®å®ããã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããæ¹æ³ã«ãããŸããã ãã®ã¢ãããŒãã®ãããã§ãFacebookã¢ã«ãŠã³ãã®çµ±èšã«åºã¥ããŠã°ã©ããäœæããããåçãç·šéãããã倩æ°ãç£èŠããããèªç¶èšèªã§ã¯ãšãªãåŠçããããå°å³ã«ã«ãŒããããããããããæ¹çšåŒã解ããããããªã©ãç°¡åãã€ç°¡åã«äœã§ãã§ããŸãã
æ¢åã®ãã¹ãŠã®èšèªã®äžã§ãWolframã«ã¯æãåºç¯ãªãæšæºã©ã€ãã©ãªããšããŒã¿ã»ããããããšæããŸãã ãŸããã€ã³ã¿ãŒãããã³ãã¥ããã£ãšã®æ¥ç¶ãã³ãŒãäœæããã»ã¹ã®äžå¯æ¬ ãªéšåã«ãªãã€ã€ãããšããã¢ã€ãã¢ã«éåžžã«åºæ¿ãåããŠããŸããããã¯ããªãŒãã³ã³ããªãŒãæ©èœãGoogleãæ€çŽ¢ããIDEã«äŒŒãŠããŸãã ã·ã³ããªãã¯ããã°ã©ãã³ã°ã¢ãã«ãWolframã䞻匵ããã»ã©æè»ã§ãããã©ãããããã³ãã®ããŒã¿ã®ãã¹ãŠãé©åã«äœ¿çšã§ãããã©ããã確èªããããšã¯èå³æ·±ãã§ãããã