2010-06-11 17 views
5

क्या ओसीएमएल में सी-स्टाइल आगे की घोषणा करने का कोई तरीका है?ओकैमल आगे की घोषणा

मेरे समस्या मैं दो वेरिएंट जो परस्पर एक दूसरे का उल्लेख है वह यह है कि:

type path_formula = 
    [ `Next of state_formula 
    | `Until of (state_formula * state_formula) 
    | `UntilB of (state_formula * int * state_formula) 
    ] 

type state_formula = 
    [ `True | `False 
    | `Not of state_formula 
    | `And of (state_formula * state_formula) 
    | `Or of (state_formula * state_formula) 
    | `Imply of (state_formula * state_formula) 
    | `Label of string 
    | `Prob` of (boundf * path_formula) 
    | `Expc` of (boundi * formula) 
    ] 

तो दोनों प्रकार एक दूसरे को पता होना चाहिए .. मैं गूगल पर इसके लिए खोजा गया लेकिन दुर्भाग्य से OCaml एक तो विस्तृत नहीं है प्रयोग प्रोग्रामिंग भाषा ..

उत्तर

13

उपयोग

type T1 = ... 
and T2 = ... 

पुनरावर्ती प्रकार है।

+0

धन्यवाद, मुझे आमतौर पर भाषा सुविधाओं की खोज में कोई समस्या नहीं होती है, लेकिन ओकैमल अब तक जो कुछ भी मैंने पढ़ा है उससे अलग है और मैं केवल सैकड़ों पृष्ठों के "फ़ैट" संदर्भ ढूंढने में सक्षम हूं जो मुझे खो देता है अभिविन्यास :) – Jack

+0

ध्यान दें कि आप पासा रोल कर सकते हैं और OCaml सीखने के लिए F # वाक्यविन्यास/दस्तावेज़ों की खोज कर सकते हैं। मूल वाक्यविन्यास वही है, और इसलिए उदा। http://stackoverflow.com/questions/1378575/f-forward-type-declarations यहां एक जीत है। – Brian

+1

यह एक अच्छा बिंदु है। मुझे ओकैमल चुनना पड़ा क्योंकि उन्होंने मुझे मजबूर किया था। मैंने सोचा कि यह पुरानी हालांकि शक्तिशाली भाषा थी, लेकिन यदि आधुनिक कार्यात्मक भाषाओं (स्कैला, एफ #) ने एक ही वाक्यविन्यास रखा तो यह एक अच्छा विकल्प बन जाएगा :) – Jack

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