Resultados de la búsqueda a petición "sml"

1 la respuesta

Sugerencia para la inferencia de tipo SML

Soy nuevo en SML y estoy tratando de practicar en la referencia de tipo SML. Estoy tratando de deducir los siguientes tipos: a)fun add42 x =x+42 b)fun comp F G = let fun C x = G(F(x)) in C end c)fun compA42 x = comp add42 x d)val foo = compA42 ...

1 la respuesta

¿Cómo decidir si se debe parametrizar a nivel de tipo o de módulo al diseñar módulos?

Estoy trabajando para lograr una comprensión profunda de los módulos de estilo ML: creo que el concepto es importante y me encanta el tipo de pensamiento que fomentan. Ahora estoy descubriendo la tensión que puede surgir entre los ...

1 la respuesta

Ayuda sml - problemático

Cómo declarar una función para Listn: '' una lista -> '' una lista -> bool, listn xs e ys devuelven verdadero. Ejemplo: lisen [# "1" # "2"], [# "1" "# 3"] devuelve falso y [# "1", # "2"] [# "2", # "1"] devuelve cierto

1 la respuesta

Verdadero QuickSort en ML estándar

Ya queSolución ML estándar de RosettaCode [https://rosettacode.org/wiki/Sorting_algorithms/Quicksort#Standard_ML]es una versión muy lenta de Quicksort según la pregunta (y discusión) "¿Por qué el quicksort minimalista de Haskell no es un ...

1 la respuesta

declaraciones locales anidadas en ML de NJ

hola a todos tengo este fragmento del código: local helper(f, i, j) = local fun NTimesF(f, n:int) = if n = 1 then fn (x) => f(x) else fn (x) => f(NTimesF(f, n - 1)(x)); in if(i <= j) then NTimesF(f, i) :: helper(f, (i+1), j) else [] end in fun ...

1 la respuesta

Cómo dibujar un árbol de análisis de inferencia de tipos para sml

Así que estoy trabajando en mi práctica final, hay un problema para pedirme que dibuje un árbol de análisis para este código sml: fun ff f x y = if (f x y) then (f 3 y) else (f x "zero") val ff = fn : (int -> string -> bool) -> int -> string -> ...

1 la respuesta

La salida se trunca con # -signs en REPL

Escribí una función que funciona como se esperaba, pero no entiendo por qué la salida es así. Función:datatype prop = Atom of string | Not of prop | And of prop*prop | Or of prop*prop; (* XOR = (A And Not B) OR (Not A Or B) *) local fun ...

1 la respuesta

Intercambie pares de elementos en una lista utilizando la coincidencia de patrones

Necesito usar técnicas de coincidencia de patrones, para intercambiar recursivamente cada par de elementos en una lista. Entonces,[1, 2, 3, 4, 5] volvería[2, 1, 4, 3, 5]. Dos cosas que he encontrado: List.length: para devolver la longitud. Lo ...

1 la respuesta

Tipos de datos perezosos en el objetivo C

En SML, lo siguiente es posible para modelar la programación diferida, // Have a datatype to wrap a computation datatype 'a susp = Susp of (unit -> 'a) // A function to hold the computation fun delay(f ) = Susp(f) Sé que los cierres se pueden ...

2 la respuesta

¿Cuáles son los límites de la inferencia de tipos?