나는 Peter Lovig에 의해 패러다임의 인공 지능 프로그래밍 (PAIP)을 읽고 있는데, 나는 일반적인 Lisp보다는 Clojure에서 모든 코드를 작성하려고 노력하고있다. 그러나 39 페이지의이 코드 조각에 붙어 있습니다 :Clojure (PAIP)에 Lisp 코드 이식하기
(defparameter *simple-grammar*
'((sentence -> (noun-phrase verb-phrase))
(noun-phrase -> (Article Noun))
(verb-phrase -> (Verb noun-phrase))
(Article -> the a)
(Noun -> man ball woman table)
(Verb -> hit took saw liked))
"A grammar for a trivial subset of English.")
(defvar *grammar* *simple-grammar*)
어떻게 이것을 Clojure로 변환 할 수 있습니까? 감사합니다. .
Clojure는 잘 모르겠지만 목록 리터럴을 같은 방식으로 인용하지 않습니까? 'defparameter'를'def'로 변경하십시오. docstring이 다른 방법으로 제공되는 것처럼 보입니다. 그 점에 대해서는 확실하지 않습니다. – Ken
코드의 소스 인 http://norvig.com/paip/simple.lisp을 보면, *는 실제 코드에서는 사용되지 않지만 목록의 목록에 대해서는 구문 설탕으로 사용됩니다. –
나는 clojure (더 많은 것)에서 paip을 만들었다. https://github.com/nickik/ParadigmsOfAiprogramming – nickik