Elm:
डीबगर का उपयोग

कैसे:

Elm में पारंपरिक अर्थ में कोई बिल्ट-इन डिबगर नहीं होता है, जैसे कि, कहें, जावास्क्रिप्ट में ब्राउज़र डेव टूल्स के साथ होता है। हालांकि, Elm समुदाय ने इस अंतर को पूरा करने के लिए उपकरण बनाए हैं। यहां बताया गया है कि आप अपने Elm एप्लिकेशन को डिबग करने के लिए elm-debug-transformer का उपयोग कैसे कर सकते हैं:

-- Elm-debug-transformer (Node package) स्थापित करें

1. npm install -g elm-debug-transformer

-- अपने एप्लिकेशन को शुरू करने के लिए elm-debug-transformer का उपयोग करें

2. elm-debug-transformer --port=8000 yourMainElmFile.elm 

एक बार elm-debug-transformer चल रहा होता है, तो यह लॉगिंग के लिए एक WebSocket कनेक्शन बनाता है। आप अपने ब्राउज़र के कंसोल में डिबग जानकारी देखेंगे जहां आप अपने एप्लिकेशन में दिए गए बिंदुओं पर अपने प्रोग्राम की डेटा संरचनाओं का निरीक्षण कर सकते हैं।

Elm 0.19 और बाद में, Debug मोड्यूल के फंक्शन जैसे कि Debug.log और Debug.todo आपकी मदद कर सकते हैं मूल्यों को ट्रेस करने में और आपके कोड के अधूरे भागों को जानबूझकर चिह्नित करने में। यहां बताया गया है कि Debug.log का उपयोग कैसे करें:

import Debug

update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
    case msg of
        Increment ->
            ( Debug.log "Incrementing" { model | count = model.count + 1 }, Cmd.none )

        Decrement ->
            ( Debug.log "Decrementing" { model | count = model.count - 1 }, Cmd.none )

आप अपने ब्राउज़र के कंसोल में “Incrementing” या “Decrementing” संदेशों के साथ model की नई स्थिति देखेंगे।

गहराई में

Elm के लेखक, Evan Czaplicki का लक्ष्य एक ऐसी भाषा बनाना था जहाँ आम त्रुटियाँ असंभव हों या पकड़ना आसान हो। यही कारण है कि Elm के कोर में पारंपरिक डिबगिंग फंक्शन शामिल नहीं हैं। Elm का स्टॅटिक विश्लेषण और प्रकार अनुमान रनटाइम त्रुटियों को कम करने में बेहद महत्वपूर्ण योगदान देता है, जो सोफिस्टिकेटेड रनटाइम डिबगिंग की आवश्यकता को कम करता है। ऐतिहासिक विकल्पों में समय-यात्रा डिबगिंग की पेशकश करने वाला अब अप्रचलित elm-reactor शामिल था—एक तरीका जिससे आप अपने एप में क्रियाओं को पीछे कर सकते थे और दोबारा चला सकते थे।