Sto cercando di ottenere questo esempio da Suave.io compilazione di un semplice progetto F #: http://suave.io/campione Suave.IO non compila nella mia F # progetto
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" ]
Purtroppo sto ottenendo un errore di compilazione sul (query r) parte:
error FS0001: Expecting a type supporting the operator '^^' but given a function type. You may be missing an argument to a function.
ho cercato di restringere l'errore del compilatore a poche linee semplici ed ora avere questo:
let greetings q =
defaultArg (q ^^ "name") "World" |> sprintf "Hello %s"
let q (rqst : string) = query rqst
let t = greetings q
E ora ottenere lo stesso errore del compilatore sulla riga di saluto q. I tipi a mio esempio di cui sopra sono:
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>)
Quindi, i miei tipi non sono corrispondenti, ma io non sono troppo sicuro di come avrei avuto questi per abbinare.
L'esempio è appena scaduto? Qualche idea su come posso ottenere questo esempio per compilare ed eseguire?
sto correndo la build RC di Visual Studio 2015
Grazie
Grazie. Ho il campione installato e funzionante ora con il tuo aiuto. Ho anche scoperto che mi mancava l'open per: aperto Suave.Utils.Collezioni Che ha la definizione dell'operatore ^^ –
@AndyB L'ho notato anche io, ma non dovrebbe essere necessario - il modulo è definito come "AutoOpen". – Luaan