मैं एक हास्केल दुभाषिया का उपयोग करने की उम्मीद कर रहा था hint
ताकि मैं अपने कार्यक्रम के साथ उपयोग करने के लिए हास्केल में प्लगइन्स लिख सकूं। मैं अपने निष्पादकों के लिए पूरे हास्केल मंच को जहाज करना नहीं चाहता।
आम तौर पर, हास्केल निष्पादन योग्य बहुत आत्म-निहित होते हैं। उदाहरण के लिए, मिटाने से PATH
कोई समस्या नहीं होती है:
$ PATH=. Hello
Hello world
हालाँकि, runInterpreter
अगर मैं मिटाता हूं तो बमों का उपयोग करने वाला एक सरल परीक्षण कार्यक्रम PATH
:
$ PATH=. TryHint
GhcException "panic! (the 'impossible' happened)\n (GHC version 7.8.3 for x86_64-apple-darwin):\n\tDynamic linker not initialised\n\nPlease report this as a GHC bug: http://www.haskell.org/ghc/reportabug\n"
इसे काम करने के लिए पर्यावरण में कौन से पुस्तकालय या निष्पादनयोग्य उपलब्ध हैं?
otool
ज्यादा मार्गदर्शन नहीं देता:
otool -L TryHint
TryHint:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libgmp.10.dylib (compatibility version 13.0.0, current version 13.0.0)
परीक्षण कोड TryHint
बहुत कुछ नहीं करता है:
import Control.Monad
import Language.Haskell.Interpreter
main = do
f <- runInterpreter $ loadModules ["Test"] >> setTopLevelModules ["Test"] >> interpret "f" (as :: Int -> Int)
case f of
Left e -> print e
Right r -> mapM_ (print . r) [1..10]
यह केवल रन-टाइम में व्याख्या किए जाने वाले f
फ़ंक्शन को बांधता है Test.hs
। Test.hs
इस तरह दिखता है:
module Test where
f :: Int -> Int
f x = x + 1
PATH=.
, जैसे कि प्रस्तावना के लिए इंटरफ़ेस फाइलें और यह सब कुछ इसे संचरित रूप से आयात करता है, वास्तविक लाइब्रेरी फ़ाइलों के लिए बेस और जीएचसी-प्राइम और पूर्णांक-जीएमपी, और जीएचसी settings
फ़ाइल। (मूल रूप से, सब कुछ /usr/lib/ghc
आपके इंस्टालेशन के लिए या उसके बराबर निर्देशिका में स्थापित किया गया है ।)
PATH= ./TryHint
सब कुछ चलाता हूं तो आसानी से चला जाता है: यह कुछ संख्याओं को प्रिंट करता है, फिर बाहर निकलता है। मैं भी जीएचसी 7.8.3 का उपयोग कर रहा हूं। आप कैसे निर्माण कर रहे हैंTryHint
?