ä½ãã¾ããã
package-inferred-system
ã£ã¦ä½
ç°¡åã«è¨ãã¨ã»ã»ã»
- Common Lispã§ã¯ããã±ã¼ã¸å(è¨èªä¸ã§ã®åå空é)ã¨ã¢ã¸ã¥ã¼ã«(ã³ã³ãã¤ã«ããåä½)ã¨ãåé¢ãã¦ãã¾ã
- è¨ãæããã¨ï¼åããã¡ã¤ã«ã«ããã±ã¼ã¸ãè¤æ°å ¥ããï¼ã¨ãã£ããã¨ãã§ãã¾ã
- ãã®ããï¼ããã±ã¼ã¸åããã¢ã¸ã¥ã¼ã«ã®ãã¹ãæ¨æ¸¬ã§ãã¾ãã
- ãã®ãããã«ãããéã¯æåã§ãã¡ã¤ã«å士ã®ä¾åé¢ä¿ãè¨è¿°ãããï¼å ¨ã¦1ã¤ã®ã§ãããã¡ã¤ã«ã«åããå¿ è¦ãããã¾ãã
- è¦ç´ã¨ãã¦ããã±ã¼ã¸åã¨ã¢ã¸ã¥ã¼ã«åã¨ã1対1ã§å¯¾å¿ä»ãããä¾åé¢ä¿æ¸ãå¿
è¦ãªããããï¼ã¨ããçºæ³ã§çã¾ããã®ã
package-inferred-system
ã§ã
ä¾åãã¦ããããã±ã¼ã¸åãããã«ãããã¹ããã¡ã¤ã«åãèªæã«å®ã¾ãã®ã§ï¼Perlã®ããã«ã«ã¸ã¥ã¢ã«ã«Common Lispãæ¸ããï¼ã¨ããããã§ãã
package-inferred-system
ããããã
ãã¾ã解説ããªãã®ã§ä½¿ãããªãã®ãé£ããç¶æ ã§ããããããã2å¹´ã»ã©è¦å¿ãã¦ãã¾ããã
ASDF3ã§ããã±ã¼ã¸ãæ¨æ¸¬ãã¦å®ç¾©ããç¾ä»£çãªæ¹æ³ã / âHow to write a modern Lisp library with ASDF3 and Package Inferred System | David Vâ¦â https://t.co/biP0tkrdMn
— Windymelt (@windymelt) 2017å¹´8æ25æ¥
#CommonLisp ã® #asdf3 ã§ä½¿ãã package-inferred-systemã®å½åè¦åã¯.asdãã¡ã¤ã«ã¨åãå ´æã«ã½ã¼ã¹ãç½®ãåæã«ãªã£ã¦ãã¦ãsrc/以ä¸ã«ã½ã¼ã¹ãããå ´åã¯ä½¿ãã¥ãããã«æãããå½åã®ã«ã¼ããsrc以ä¸ã«è¨å®ã§ããªãã ãããï¼ã§ãªããã°ããã±ã¼ã¸åãç src/hogepackage ã«ãªã£ã¦ãã¾ãã
— Windymelt (@windymelt) 2017å¹´12æ27æ¥
ä»æ¥ããpackage-inferred-systemãããã¨ããã£ããï¼å¤ãã®ããã¸ã§ã¯ãã§ã¯src/以ä¸ã«ã½ã¼ã¹ãã¡ã¤ã«ãåãããã¦ããï¼ã ã£ããããã±ã¼ã¸å㯠:src/foo ã«ãããããªãã®ã ãããï¼perlã¿ããã«ï¼:project/package/foo ã src/package/foo.lispã¨å¯¾å¿ããããã«ã§ããªãã ãããï¼
— Windymelt (@windymelt) 2018å¹´5æ30æ¥
ã¿ããªãã©ãã©ã #CommonLispå°ãã©ãã ãæ稿ããã!!!!! / âCommon Lispå°ãã©ãã ãã®1: `package-inferred-system` - Lambdaã«ã¯ãã«â (1 user) https://t.co/sbeClXAlvs
— Windymelt (@windymelt) 2018å¹´6æ29æ¥
ASDFã®package-inferred-systemã¾ãã§ãããããªï¼ä¿ºããããããã¨ã¯ä¾åé¢ä¿ãèªå解決ããLLã©ã¤ã¯ãªããã±ã¼ã¸ã®çµã¿ç«ã¦ãªã®ã«ï¼all.lispã¿ãããªè¬æ¦å¿µãuiop:define-packageãå°å ¥ãããããã¦è¬
— Windymelt (@windymelt) 2018å¹´11æ19æ¥
package-inferred-systemããã£ãã
— Windymelt (@windymelt) 2018å¹´11æ19æ¥
ã©ããããæã«ã¯å¼ã°ãã¦ããªãããã±ã¼ã¸ã¯ï¼package-inferred-systemã¯ã³ã³ãã¤ã«ããæ¼ãã¦ãã¾ãï¼ãã¨ãã°ãããï¼ä»ã®ããã±ã¼ã¸ã®ã¹ãã·ã£ã«å¤æ°ã«å®ç¾©ã追å ãããããªãã¯ããå«ããããªããã±ã¼ã¸ã®å ´åï¼ä¾åæ§ã®å®ç¾©ã®ããã ãã«:import-fromã使ããªããã°ãªããªã
— Windymelt (@windymelt) 2018å¹´11æ20æ¥
package-inferred-systemã¡ããã¨åããªãåé¡ï¼asdfã®ãã¼ã¸ã§ã³ã®ããã§ã¯ï¼ã¨ãããããã¦ããã»ã»ã»
— Windymelt (@windymelt) 2019å¹´2æ24æ¥
Common Lispã®Package-inferred-systemã«ããããåã¦ããããããªã
— Windymelt (@windymelt) 2019å¹´12æ27æ¥
ãªãã§ãããããã®ã
å®å ¨ãªãµã³ãã«ããªãããã§ããããæ¸ãããè¯ããï¼ã¨ããã³ã¼ãã¹ããããã¯ããã«ã¯ããã®ã§ããï¼å ¥éè ã使ãã«ã¯ããªãæ·å± ãé«ããã®ã«ãªã£ã¦ãã¾ãããèªå·±å®çµãã¦ãã¦åä½ãããµã³ãã«ããã¸ã§ã¯ããç¨æããå¿ è¦ãããã¾ããã
ããã§ä»ågithub projectãä½æãï¼åä½ããpackage-inferred-system
ãµã³ãã«ãå
¬éãã¾ãããåå¦è
ã®åèã«ãªãã°å¹¸ãã§ããã¾ãï¼Common Lispããã¸ã§ã¯ãã®è¿ä»£å*1ã®ç¤ã«ãªãã°ã¨æãã¾ãã
ææ³
- å¾ã§å°ããªãããã«ï¼ã¾ãå¿ç¨ããããããã«ï¼ã³ã¡ã³ããã¡ããã¨ä»ãã¦ãã¾ãã
- ããã©ã«ãã§ã¯
.asd
ãã¡ã¤ã«ã¨åé層ã«ãªã£ã¦ãã¾ãã½ã¼ã¹ãã¡ã¤ã«ã®ãã¹ãsrc/
ã¨ãã£ãå ´æã«ç§»åããã:pathname
æ©è½ã¨ããã®ãããã®ã§ããï¼ããããã¾ãåä½ããã®ãä¸çªã®åã³ã§ããã
åèæç®
*1:ä»é¢¨ã«æ±ããããã«ããï¼ã¨ãè¨ã