Ich komme aus einem Javascript-Hintergrund & Ich versuche zu verstehen, wie ich ein Programm mit Reason/Ocaml Modul-System strukturieren/erstellen muss.OCaml/Grund Design-Module
Als Übung lassen Sie uns sagen, dass ich dieses Stück Javascript schreiben wollen in OCaml/Grund (es wird auf js durch js_of_ocaml kompilieren zurück)
var TeaType = new GraphQLObjectType({
name: 'Tea',
fields:() => ({
name: {type: GraphQLString},
steepingTime: {type: GraphQLInt},
}),
});
Wie soll ich mein Programm entwerfen, dies zu erreichen?
Sollte ich ein Modul machen, das ein anderes Modul nimmt, um einen GraphQLObjectType in js durch js_of_ocaml zu erzeugen?
Wie würde ich diesen Typ strukturieren, der einen GraphQLObjectType unterstützt?
Tea.re
let name = "Tea";
let fields = /* what type should I make for this? Tea is
just one of the many graphql-types I'll probably make */
I Felder bedeuten, ist ein Thunk, die eine Karte zurückgibt, die eine unbekannte Menge Felder enthält. (jedes graphqlobject hat verschiedene Felder) Um welchen Typ muss diese Karte in OCaml/Reason erstellt werden, muss ich meine eigenen erstellen?
Es ist ein bisschen empfindlich ist, Ihnen zu antworten, weil Sie Konzept zu übertragen versuchen, die Idiomatik in Javascript zu OCaml und OCaml verwenden verschiedene Idiome. In diesem Fall sieht es so aus, als ob eine einzige Funktion mit beschrifteten und optionalen Argumenten den Zweck erfüllen würde. – Drup
Kennen Sie irgendwelche Ressourcen, wo ich mehr über das Denken in OCaml lernen kann? d. h. Bücher? – Seneca
http://ocaml.org/learn/ und https://realworldocaml.org/ – Drup