Resultados da pesquisa a pedido "sml"

1 a resposta

Dica para inferência do tipo SML

Eu sou novo no SML e estou tentando praticar na referência de tipo SML. Estou tentando deduzir os tipos abaixo: 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 add42 e)fun ...

1 a resposta

Como decidir se deve ser parametrizado no nível de tipo ou no nível do módulo ao projetar módulos?

Estou trabalhando para uma compreensão profunda dos módulos no estilo ML: acho que o conceito é importante e adoro o tipo de pensamento que eles incentivam. Agora, estou descobrindo a tensão que pode surgir entre tipos paramétricos e módulos ...

1 a resposta

Ajuda sml - incomodado

Como declarar uma função para Listn: '' uma lista -> '' uma lista -> bool, listn xs e ys retornam true. Exemplo: lisen [# "1" # "2"], [# "1" "# 3"] retorna false e [# "1", # "2"] [# "2", # "1"] retorna verdadeiro

1 a resposta

QuickSort verdadeiro no ML padrão

Desde aSolução ML padrão da RosettaCode [https://rosettacode.org/wiki/Sorting_algorithms/Quicksort#Standard_ML]é uma versão muito lenta do Quicksort, de acordo com a pergunta (e discussão) "Por que o quicksort minimalista, por exemplo, Haskell, ...

1 a resposta

declarações locais aninhadas em ML de NJ

ola pessoal eu tenho esse trecho de 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 a resposta

Como desenhar uma árvore de análise de inferência de tipo para sml

Então, eu estou trabalhando na minha prática final, há um problema em me pedir para desenhar uma árvore de análise 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 -> ...

1 a resposta

A saída é truncada com # -signs no REPL

Eu escrevi uma função que funciona como esperado, mas eu não entendo por que a saída é assim. Função: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 a resposta

Troque pares de elementos em uma lista usando a correspondência de padrões

Eu preciso usar técnicas de correspondência de padrões, para trocar recursivamente todos os pares de elementos em uma lista. Assim,[1, 2, 3, 4, 5] retornaria[2, 1, 4, 3, 5]. Eu encontrei duas coisas: List.length: para retornar o comprimento. O ...

1 a resposta

ipos de dados preguiçosos no Objetivo C

No SML, é possível o seguinte para modelar a programação lenta, // 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)Sei que os fechamentos podem ser ...

2 a resposta

Quais são os limites da inferência de tipos?