Resultados de la búsqueda a petición "ocaml"
OCaml |> operador
¿Alguien podría explicar lo que hace el operador |>? Este código fue tomado de la referenciaaquí [http://caml.inria.fr/pub/docs/manual-ocaml/libref/Map.html]: let m = PairsMap.(empty |> add (0,1) "hello" |> add (1,0) "world")Puedo ver lo que ...
Amplitud Funcional Primera Búsqueda
La primera búsqueda de profundidad funcional es encantadora en gráficos acíclicos dirigidos. Sin embargo, en gráficos con ciclos, ¿cómo evitamos la recursión infinita? En un lenguaje de procedimiento, marcaría los nodos cuando los golpeara, pero ...
Crear expresión GADT en OCaml
Ahí está mi expresión GADT de juguete: 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 | Lt : ...
¿Cuál es el significado de la Advertencia 40: este registro ... contiene campos que no son visibles en el alcance actual
Por favor considere el siguiente 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 = "" }Dos módulos definen ...
¿OCaml convertirá la función de múltiples argumentos a curry o al revés?
Cuando estaba aprendiendo lo esencial de OCaml, me dijeron que cada función en OCaml es en realidad una función con un solo parámetro. Una función de múltiples argumentos es en realidad una función que toma un argumento y devuelve una función que ...
Palabra clave "as" en OCaml
En las respuestas para los tutoriales para OCaml disponibles eneste sitio [http://ocaml.org/learn/tutorials/99problems.html], algunas de las soluciones, incluida la para eliminar duplicados consecutivos de elementos de la lista, se escriben de la ...
O-patrones en Haskell
En OCaml, estaba acostumbrado a escribir código que se parecía a: let combine o1 o2 = match o1, o2 with | Valid, Invalid | Invalid, Valid -> Invalid | _ -> ...No encontré una manera de escribiro-patrones en Haskell y realmente lo extraño. ...
Entrada eficiente en OCaml
Supongamos que estoy escribiendo un programa OCaml y mi entrada será ungrande flujo de enteros separados por espacios, es decir let string = input_line stdin;;devolverá una cadena que se ve como p. ej. "2 4 34 765 5 ..." Ahora, el programa ...
Argumento opcional de OCaml
¿Cómo puedo escribir una función en OCaml en la que uno o más argumentos son opcionales? let foo x y z = if(x+y > z) then true else false;;Si no recibe elz argumento que usa0 comoz. foo 3 3 2 -> true foo 3 3 10 -> false foo 2 1 -> true¿Hay ...
La restricción de valor
En OCaml no puede generalizar una función currícula parcialmente aplicada (la "restricción de valor"). ¿Cuál es el propósito de la restricción de valor? ¿Qué desagradable sucedería si no existiera?