NixOS

2017-09-07 5 views
5
पर purescript का उपयोग कर,

NixOS

  1. Officialpurescript वेबसाइट शुरू पर की आवश्यकता है

    मैं NixOs पर purescript के साथ सेटअप hello world परियोजना के लिए कोशिश कर रहा हूँ और कुछ प्रश्न हैं npm के माध्यम से स्थापना की सिफारिश लेकिन कोई nixos.nodePackages.purescript है, बजाय वहाँ पर हैं कम से कम 2 वेरिएंट मैं nixpkgs

    • nixos.purescript
    • में पाया nixos.haskellPackages.purescript

क्या अलग हैं?

  1. आधिकारिक साइट npm के माध्यम से की सिफारिश pulp और bower लेकिन केवल nodePackages.bower उपलब्ध है और वहाँ psc-package undocumented है।

पार्सस्क्रिप्ट पैकेज को संभालने के लिए nix तरीका क्या होना चाहिए?

  1. आधिकारिक वेबसाइट पर नमूना कोड (hello.purs bellow देखें) भी संकलन नहीं करता है,
इन त्रुटि के साथ

$ purs compile hello.purs 

Error found: 
at hello.purs line 1, column 1 - line 1, column 1 

Unable to parse module: 
unexpected "import" 
expecting "module" 

मैं कोड में module Hello जोड़ता हूं लेकिन फिर भी असफल रहा।

$ purs compile hello.purs 
Error 1 of 2: 

    in module Hello 
    at hello.purs line 2, column 1 - line 2, column 15 

    Module Prelude was not found. 
    Make sure the source file exists, and that it has been provided as an input to psc. 


    See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information, 
    or to contribute content related to this error. 

Error 2 of 2: 

    in module Hello 
    at hello.purs line 3, column 1 - line 3, column 39 

    Module Control.Monad.Eff.Console was not found. 
    Make sure the source file exists, and that it has been provided as an input to psc. 


    See https://github.com/purescript/documentation/blob/master/errors/ModuleNotFound.md for more information, 
    or to contribute content related to this error. 

सही कार्यप्रवाह कैसे किया जाना चाहिए?


लक्ष्य एक भी hello.purs वेब ब्राउज़र में चल रहा है के साथ कम से कम उदाहरण परियोजना है।

यह hello.purs

module Hello where 
import Prelude 
import Control.Monad.Eff.Console (log) 

greet :: String -> String 
greet name = "Hello, " <> name <> "!" 

main = log (greet "World") 

यह वास्तव में मददगार हो अगर तुम भी nix-shell या default.nixnix-build के लिए के लिए shell.nix प्रदान कर सकते हैं होता है।

इस 2 साल पुराना guild मिला, मैं कोशिश कर रहा हूं लेकिन मुझे अभी भी मेरे सभी सवालों का जवाब नहीं है।

उत्तर

2
  1. nixos.purescript सिर्फ nixos.haskellPackages.purescript के लिए स्थिर निष्पादन योग्य है; इस को छोड़ देता है निर्माण/PureScript एक हास्केल पुस्तकालय
  2. आप npm install pulp के माध्यम से पल्प स्थापित कर सकते हैं के रूप में स्थापित करने - द्विआधारी node_modules/.bin/pulp
  3. नमूना कोड को स्थापित किया जाएगा संकलन नहीं है क्योंकि आप बोवर के माध्यम से निर्भरता डाउनलोड नहीं किया है।आप उन्हें bower install purescript-prelude purescript-console के माध्यम से स्थापित कर सकते हैं।

लेकिन node_modules/.bin/pulp init आप एक बोवर फ़ाइल दे देंगे और आप bower install चलाने आप एक बुनियादी परियोजना देने के लिए कर सकते हैं। इसके बाद आप node_modules/.bin/pulp run को node.js का उपयोग करके निष्पादित करने के लिए कर सकते हैं, लेकिन शायद आप pulp browserify --to example.js फ़ाइल प्राप्त करने के लिए चाहते हैं, जिसे आप HTML में <script> टैग में डाल सकते हैं।

+0

हाय @ ब्रायन - आपके उत्तर के लिए धन्यवाद! मैं निक्सोस नौसिखिया हूं (बस एक छवि डाउनलोड की ;-)), इसलिए मैं कुछ और प्रश्न जोड़ना चाहता हूं: इस परियोजना के बारे में आप क्या सोचते हैं: https://github.com/ElvishJerricco/nix-purescriptPackages? मेरे पास एक और सामान्य प्रश्न है: क्या आपको लगता है कि निक्सोस पर पर्सस्क्रिप्ट अनुभव में कोडिंग (जैसा कि आपने इसे ऊपर वर्णित किया है) के पास अन्य ओएसई पर विकास पर कोई लाभ है? – paluh

+0

निक्सोस में बहुत सारे शुद्धस्क्रिप्ट समर्थन नहीं हैं, इसलिए यदि आप केवल शुद्धस्क्रिप्ट पुस्तकालयों और उपकरणों के साथ काम कर रहे हैं तो आपको बड़ी संख्या में लाभ नहीं मिलेगा। मैं बहुत बेहतर हो सकता हूं, लेकिन हमें शुद्धस्क्रिप्ट को अच्छी तरह से समर्थन देने के लिए निक्स कोड लिखने के लिए समय बिताना होगा। मैंने इसका उपयोग नहीं किया है, लेकिन पर्सस्क्रिप्ट पैकेज सही दिशा है :) –

+0

धन्यवाद @ ब्रायन !! – paluh