Ich bin nicht in der Lage, das kompilierte Überfall-Konzept zu verstehen. Es gibt keinerlei Beispiele im Netz. Wie würde ich einfache Code-Snippets von interpretiert in kompiliert ändern?Vom interpretierten zum kompilierten Raubüberfall
Zum Beispiel:
listUsersH :: AppHandler()
listUsersH = do
users <- liftIO $ getColList "users"
let userListS = mapSplices userLinkS users
heistLocal (bindSplice "users" userListS) $ render "list-users"
where
userLinkS d = runChildrenWithText [("user",T.pack $ at "uname" d)]
Wie würde ich die einfache Kombination von "runChildren" tun "mapSplices", "bindSplice" und "machen" mit kompilierten heist?
Ich verstehe, dass das Konzept anders ist und es gibt keine "heistLocal" .. Aber ich muss jetzt zurückgehen und neu lernen, wie die grundlegenden Dinge wie die Anzeige einer Reihe von Datensätzen in einer "für jeden" Schleife Weise. Kann jemand das klären und ein einfaches Beispiel wie oben, aber mit kompiliertem Überfall zeigen?
Im Moment weiß ich nicht einmal, wie man einfache variable Substitution mit kompiliertem Raubüberfall macht. Zum Beispiel dieses:
simpleString = "Insert me..."
insertString = heistLocal (bindSplices spl) $ render "tst"
where
spl = [("var", textSplice simpleString)]
Sie mir jemand mit den Grundlagen helfen oder mich mit einigen minimalen Beispielen an einen Ort verweisen. Ich habe die Snap-Website-Dokumente gelesen.
OK. Also, würden Sie vorschlagen, für jetzt mit der interpretierten Variante zu bleiben? Nun, zumindest bis Sie die APIs aussortieren und stabilisieren. Ich kann immer noch nicht begreifen, um ehrlich zu sein ... Es hat noch nicht geklickt. Also würde ich alle Spleiße am Anfang in der makeSnaplet-Funktion binden und verarbeiten, oder? –
Sie müssen nicht alles auf einmal tun, aber Sie müssen die addConfig-Funktion verwenden, um alle kompilierten Spleiße hinzuzufügen. Ob Sie wechseln, hängt davon ab, wie blutig Sie sein wollen. Ich sehe nicht voraus, dass sich der Zweig der neuen API viel mehr verändern wird. Das einzige, was auf meiner ToDo-Liste übrig bleibt, ist, ein oder zwei weitere Funktionen hinzuzufügen. Alles, was da ist, sollte ziemlich stabil sein. Ich werde keine konkrete Code-Antwort auf diese Frage geben, bis ich 0.13 veröffentlicht habe, aber wenn Sie mich im IRC treffen, kann ich Sie in die richtige Richtung weisen. – mightybyte
Danke, mightybyte, ich werde auf einige Ihrer Beispiele nach der Version 0.13 warten. Zumindest die häufigsten Muster. Es wäre soooo nützlich, weil es gar nichts im Netz gibt. Ich bleibe bis jetzt bei der interpretierten Variante. –