Resultados da pesquisa a pedido "ocaml"
Operador OCaml |>
Alguém poderia explicar o que o operador faz? Este código foi retirado da referênciaaqui [http://caml.inria.fr/pub/docs/manual-ocaml/libref/Map.html]: let m = PairsMap.(empty |> add (0,1) "hello" |> add (1,0) "world")Eu posso ver o que ele faz, ...
Largura funcional Primeira pesquisa
A primeira pesquisa de profundidade funcional é adorável em gráficos acíclicos direcionados. Nos gráficos com ciclos, no entanto, como evitamos recursões infinitas? Em uma linguagem processual, eu marcaria os nós ao atingi-los, mas digamos que ...
Criando expressão GADT no OCaml
Aqui está a minha expressão GADT de brinquedo: type _ expr = | Num : int -> int expr | Add : int expr * int expr -> int expr | Sub : int expr * int expr -> int expr | Mul : int expr * int expr -> int expr | Div : int expr * int expr -> int expr ...
Qual é o significado do Aviso 40: este registro… contém campos que não são visíveis no escopo atual
Por favor, considere o seguinte código: module A = struct type r = { i : int; s: string } end module B = struct type r = { i : int; s : string } end let f (x : A.r) : B.r = match x with { i; s } -> { i = 2*i; s = "" }Dois módulos definem ...
O OCaml converterá a função de vários argumentos em curry ou o contrário?
Quando eu estava aprendendo os conceitos básicos do OCaml, me disseram que todas as funções no OCaml são na verdade uma função com apenas um parâmetro. Uma função de múltiplos argumentos é na verdade uma função que recebe um argumento e retorna ...
Palavra-chave "as" no OCaml
Nas respostas para os tutoriais para OCaml disponíveis emesse site [http://ocaml.org/learn/tutorials/99problems.html], algumas das soluções, incluindo a que elimina duplicatas consecutivas dos elementos da lista, são escritas da seguinte ...
Por que um aplicativo parcial tem restrição de valor?
Eu posso entender issoallowing mutable é a razão da restrição de valor e polimorfismo fraco. Basicamente, uma referência mutável dentro de uma função pode alterar o tipo envolvido e afetar o uso futuro da função. Portanto, o polimorfismo real ...
Or-patterns em Haskell
No OCaml, eu estava acostumado a escrever código que se parecia com: let combine o1 o2 = match o1, o2 with | Valid, Invalid | Invalid, Valid -> Invalid | _ -> ...Não encontrei uma maneira de escreverou padrões em Haskell e eu realmente sinto ...
Entrada eficiente no OCaml
Suponha que eu esteja escrevendo um programa OCaml e minha entrada seja umaampla fluxo de números inteiros separados por espaços, ou seja, let string = input_line stdin;;retornará uma string que se parece, por exemplo, "2 4 34 765 5 ..." Agora, ...
Argumento opcional do OCaml
Como posso escrever uma função no OCaml na qual um ou mais argumentos são opcionais? let foo x y z = if(x+y > z) then true else false;;Se foo não receber oz argumento que usa0 Comoz. foo 3 3 2 -> true foo 3 3 10 -> false foo 2 1 -> trueExiste ...