Cassin
@Cassin has joined the channel
å®éïŒ[Lazyãª(ããã¡ã)èšèª https://gist.github.com/nobsun/5b310dd4a397af624690b6ca4b0af2c8]ã`interp`ã¯æå³é¢æ°(semantic function ããã㯠meaning function)ãšãã衚瀺æå³è«ã§ç»å Žããæå³ã決ãã颿°ãªããã§ïŒæäœæå³è«ã«ãããç°¡çŽéçšãæžãããã®ã§ã¯ãªãïŒèšç®æžã¿ãã©ãããæèããŠåºå¥ããŠããªã(ã§ããªããïŒå¿ èŠããªã)ã®ã¯ãã®æçºã§ããïŒ
â¥ã«çžåœããéšåãill-defined
äŸãã°parallel ifãªã©ãå®è£ ããéå€åãã®ãŸãŸã®å®çŸ©ã§ã¯ã§ããªããŠparallel-orã®ããšã§ããããïŒå€åïŒâ¥ã®ããã«èšç®ã忢ããªãå€ã§ã¯ãªãïŒå€ã«ãã€ã³ããããŠããªã倿°ã衚瀺ããå€(emptyMVarã®äžèº«)ã¿ãããªèšç®ããããã¯ãããããªå€ãèããªããšãããªãã§ããïŒ(ãã¶ã)
忢ãå€å®ã§ããªãã®ã§ïŒ[e] = â¥ãå€å®ã§ããªãã§ãïŒ
seq e1 . seq e2 $ e1 + e2 ã§åé¡ãªãã¯ãã§ã(Haskellã®å Žåã¯ããããe1 + e2ã§ãããã§ãã)Nothing mplus Just = Just ãã€å³ã«ã€ããŠãããïŒâ¥ã«çžåœããéšåãill-definedãããå€ã£ãŠããªãæ°ãããŸã(ç§ã)ïŒã©ããªã£ãŠããã°ïŒwell-definedã§ããïŒ
Haskellã®æå³é¢æ°ã[]ïŒToyèšèªã®æå³é¢æ°ã[| |]ãšããæïŒ[|e|] = [interp e]ã§Haskellã®æå³é åã«æ¥å°ãããããšã§ïŒæå³é¢æ°ãšäž»åŒµããŠãããšããããšã§ãåé¡ãªããšã¯æãã®ã§ããïŒdenotativeãšäž»åŒµãããªãHaskellã«æ¥å°ãããã®ã§ãªãtermã«å¯Ÿããå®çŸ©ãæç¢ºã«ãªã£ãŠããŠïŒ
let inf = inf + 1 in inf ã¿ãããªã®ã«å¯Ÿããå®çŸ©ãæç€ºãããŠããã¹ãã ãšãã䞻匵ãåããæ°ããããšããæãã§ã(ãããæç€ºãããŠããã°ïŒããããporã®å°å ¥ãããã»ã©é£ãããªãã®ããªãšããïŒäŸãã°ïŒ @as_capabl ãããããããã«è©äŸ¡åšãã¡ãããšã¹ããããéœã«èŠããããæžãããŠããã°ïŒporã¯ã¹ããããåæé²è¡ãããããšã§å®è£ ã§ããã¯ãã§ã)
progressionã䜿ã£ãææ³ãå°å ¥ããã¯ããªã®ã§ã衚瀺çæå³è«ã§interpãå®çŸ©ãããªãèæ ®ããªããšé§ç®ã§ã¯ã§ããïŒå€åValueã«Botãå°å ¥ããã ãã§ã¯porã¯å®è£ ã§ããªãã¯ãã§ã(çæ¹ã忢ããªããŠãããçæ¹ã忢ããŠtrueã«ãªãã°çµæãè¿ããã®ã§)
let inf = inf + 1 in infã«å¯Ÿããå®çŸ©ããªãããŠããã¹ããããããããã§ãããããªã(ç§ã®èœåçã«)
å®éïŒ[Lazyãª(ããã¡ã)èšèª https://gist.github.com/nobsun/5b310dd4a397af624690b6ca4b0af2c8]ã`interp`ã¯æå³é¢æ°(semantic function ããã㯠meaning function)ãšãã衚瀺æå³è«ã§ç»å Žããæå³ã決ãã颿°ãªããã§ïŒæäœæå³è«ã«ãããç°¡çŽéçšãæžãããã®ã§ã¯ãªããšããæãæ°ã«ãªã£ããšããã ããªã®ã§ïŒåŸãã®è°è«ã§äžåç¹æå³è«ã®æ°æã¡ãåãã£ãã®ã§ïŒæè¬ã®æ°æã¡ãããªãã§ã)