2010-07-19 7 views
6

मैं Yesod परियोजना के पहले पन्ने पर इस कोड को मिला:

import Yesod 
data HelloWorld = HelloWorld 
mkYesod "HelloWorld" [$parseRoutes|/ Home GET|] 
instance Yesod HelloWorld where approot _ = "" 
getHome = applyLayout [$hamlet|%h1 Hello World|] 
main = toWaiApp HelloWorld >>= basicHandler 3000 

कौन-सी भाषा सुविधाओं [$parseRoutes|/ Home GET|] और [$hamlet|%h1 Hello World|] में किया जाता है $, प्राप्त करने के लिए |,/और% प्रतीकों काम कर रहा है, और क्या प्रतीकों करते हैं ?

उत्तर

17

वे Quasiquotation होंगे। हास्केल में दूसरी भाषा एम्बेड करने के लिए टेम्पलेट हास्केल का उपयोग करने का यह एक तरीका है। Quasiquotes 'parseRoutes और हैमलेट परिभाषित करता है कि ब्रैकेट के अंदर क्या है इसका विश्लेषण और व्याख्या कैसे करें [$ FOO | ...]। उपरोक्त लिंक पर कई और विवरण।

संबंधित मुद्दे