Resultados da pesquisa a pedido "tail-recursion"

3 a resposta

Função recursiva de otimização de chamada de cauda

Esta é uma função que nivela profundamente uma matriz const deepFlatten = (input) => { let result = []; input.forEach((val, index) => { if (Array.isArray(val)) { result.push(...deepFlatten(val)); } else { result.push(val); } }); return result; ...

1 a resposta

Projetando recursão da cauda usando java 8

Eu estava tentando o seguinte exemplo fornecer nofalar [https://youtu.be/4tEi86h8-TM?t=32m30s]para entender a recursão da cauda em java8. @FunctionalInterface public interface TailCall<T> { TailCall<T> apply(); default boolean isComplete() { ...

2 a resposta

Onde está a posição da cauda no meu loop Clojure?

Clojure está dizendo que não posso ligarrecur de uma posição sem cauda. Esta não é a posição da cauda? o queé a posição da cauda no meu loop então? (loop [i 20] (for [x (range 1 21)] (if (zero? (rem i x)) i (recur (+ i 1)))))

1 a resposta

Estouro de pilha, apesar da posição de chamada final, mas apenas em 64 bits

Originado deessa questão [https://stackoverflow.com/questions/35722526/], Eu tenho esse pequeno código F # (github [https://github.com/T-Becker/fsharp-stackoverflow-investigation/tree/real-so-source-found] ) para gerar valores aleatórios de ...

1 a resposta

O operador de canal (avançado) pode / evita a otimização da chamada de cauda?

Para um problema de otimização de parâmetros no trabalho, escrevi um algoritmo genético para encontrar algumas boas configurações porque uma solução de força bruta é inviável. Infelizmente, quando volto de manhã, na maioria das vezes me deparo ...

3 a resposta

A recursão da cauda não está acontecendo

estou a usarg++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2 em um projeto C ++. Eu escrevi uma função que meio que faz isso: template<typename T, T (*funct)(int) > multiset<T> Foo(const multiset<T>& bar, int iterations) { if (iterations == 0) return bar; ...

1 a resposta

Compilação de C # com otimização recursiva de cauda?

Com base na rica riqueza do stackoverflow, tenho recebido respostas sobre se a otimização recursiva da cauda é feita para especificamente o código c #. Algumas das perguntas pareciam falar sobre Especulação da otimização nas versões mais ...

1 a resposta

(Como) posso fazer esta ligação monádica recursiva da cauda?

Eu tenho essa mônada chamada Desync - [<AutoOpen>] module DesyncModule = /// The Desync monad. Allows the user to define in a sequential style an operation that spans /// across a bounded number of events. Span is bounded because I've yet to ...

2 a resposta

Explicação das listas: função fold

Aprendo cada vez mais a língua Erlang e recentemente enfrentei alguns problemas. eu leio sobrefoldl(Fun, Acc0, List) -> Acc1 função. Eu usei o tutorial learnyousomeerlang.com e havia um exemplo (o exemplo é sobre a Calculadora de notação polonesa ...

3 a resposta

Otimização de recursão de cauda para JavaScript?

Peço desculpas a todos por versões anteriores disso serem vagas. Alguém decidiu ter pena da nova garota e me ajudar a reescrever esta pergunta - aqui está uma atualização que espero que esclareça as coisas (e, obrigado a todos que foram tão ...