2017-04-16 2 views
2

In PURESCRIPT, Aufzeichnungen mit einer zyklischen Abhängigkeit können alsDatensätze mit zyklischen Abhängigkeiten erstellen?

newtype User = User 
    { name :: String 
    , organization :: Organization 
    } 

    newtype Organization = Organization 
    { name :: String 
    , users :: List User 
    } 

Aber ich habe nicht heraus folgt erklärt werden, wie tatsächlich Instanzen in PURESCRIPT erstellen. In F # können Instanzen wie folgt erstellt werden.

Ich bekomme immer einen Wert von PAM ist undefined. Vielleicht mit der Fix-Funktion?

Antwort

0

Ich glaube nicht, es ist möglich, dies, ohne einen Teil der Struktur in PURESCRIPT zu tun faul:

import Data.Lazy (Lazy, defer) 

newtype User = User 
    { name :: String 
    , organization :: Lazy Organization 
    } 

newtype Organization = Organization 
    { name :: String 
    , users :: Array User 
    } 

fed :: Organization 
fed = 
    Organization 
    { name: "Federal Reserve" 
    , users: 
     [ User { name: "Pamela", organization: defer \_ -> fed } 
     , User { name: "Jillian", organization: defer \_ -> fed } 
     ] 
    } 
+0

Dank! Das macht, was ich brauche. –

+0

Ah toll, war mir nicht sicher, ob das für Ihren Anwendungsfall akzeptabel wäre! –

Verwandte Themen