Ich versuche, dieses Beispiel aus Suave.io für ein einfaches F # -Projekt kompilieren zu erhalten: http://suave.io/Probe Suave.IO nicht kompiliert in meinem F # -Projekt
open Suave.Http.Applicatives
open Suave.Http.Successful
open Suave.Web
open Suave.Types
open Suave.Model
let greetings q =
defaultArg (q ^^ "name") "World" |> sprintf "Hello %s"
let sample : WebPart =
path "/hello" >>= choose [
GET >>= request(fun r -> OK <| greetings (query r))
POST >>= request(fun r -> OK <| greetings (form r))
NOT_FOUND "Found no handlers" ]
leider einen Compiler-Fehler Ich erhalte auf der (Abfrage r) Teil:
error FS0001: Expecting a type supporting the operator '^^' but given a function type. You may be missing an argument to a function.
ich habe versucht, den Compiler-Fehler auf ein paar einfache Linien zu verengen und jetzt diese haben:
let greetings q =
defaultArg (q ^^ "name") "World" |> sprintf "Hello %s"
let q (rqst : string) = query rqst
let t = greetings q
Und jetzt erhalten Sie den gleichen Compiler-Fehler auf der Begrüßung q Zeile. Die Typen in meinem Beispiel oben sind:
query:
string -> (string -> Choice<'T,string>) -> HttpRequest -> Choice<'T,string>
greetings:
(string -> (string -> Choice<obj,string>) -> HttpRequest -> Choice<obj, string>) -> string
q:
string -> ((string -> Choice<'a, string>) -> HttpRequest -> Choice<'a, string>)
So ist meine Art nicht passend, aber ich bin mir nicht sicher, wie ich diese bis entsprechen bekommen.
Ist das Beispiel gerade veraltet? Irgendwelche Ideen, wie ich dieses Beispiel zum Kompilieren und Ausführen bekommen kann?
ich die RC-Build von Visual Studio 2015
Dank
Danke. Ich habe die Probe jetzt mit Ihrer Hilfe gestartet. Ich fand auch, dass ich das offene für fehlte: offen Suave.Utils.Collections Das hat die Definition der ^^ -Operator –
@AndyB Ich bemerkte das tatsächlich auch, aber es sollte nicht benötigt werden - das Modul ist definiert als 'AutoOpen'. – Luaan