Resultados da pesquisa a pedido "sml"
Standard ML Expandir lista
Instruçõe Functionexpand que recebe uma lista de qualquer tipo e um número inteiron e retorna uma lista na qual cada item da lista de entrada é replicadon times. Por exemplo, a expansão [1,2,3] 3 deve ser avaliada para [1,1,1,2,2,2,3,3,3]. O ...
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 ...
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 -> ...
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, ...
Sml dobrando uma árvore
Eu estou tentando obter o produto de uma árvore usando a função fold até agora, é isso que eu tenho. Estou confuso sobre como usar o método fold enquanto atravessa a árvore datatype 'a bin_tree = Leaf of 'a | Node of 'a bin_tree * 'a bin_tree ...
Diferença entre "local" e "let" no SML
Não consegui encontrar uma resposta amigável para iniciantes sobre qual é a diferença entre as palavras-chave "local" e "let" no SML. Alguém poderia fornecer um exemplo simples, por favor, e explicar quando um é usado sobre o outro?
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 ...
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 ...
A variável de tipo a ser unificada ocorre no tipo
Eu tenho uma função para reconstruir uma árvore de 2 listas. Retorno uma lista em todas as ramificações, mas estou recebendo um erro que não entendo. Mas presumo que isso tenha a ver com os tipos de retorno. O erro é este: Can't unify ''a with ...
Padrões múltiplos em 1 caso
No SML, é possível ter vários padrões em uma instrução de caso? Por exemplo, eu tenho 4 operadores aritméticos expressos em string,"+", "-", "*", "/" e eu quero imprimir"PLUS MINUS" disso é"+" or "-" e"MULT DIV" se for"*" or "/". TL; DR: Existe ...