Estilo de passagem de continuação (CPS)

O estilo de passagem de continuação (CPS) é um estilo de programação no qual o fluxo de controle é expresso pela passagem de uma ou mais funções de continuação como argumentos para outras funções, tornando possível definir cálculos como uma cadeia de funções, cada uma das quais cedendo controle para o próximo na cadeia. É uma importante técnica de programação subjacente às linguagens funcionais modernas.

Visão geral

O estilo de passagem de continuação (CPS) é um estilo de programação que expressa o fluxo de controle fazendo uso de uma função de continuação. Uma função de continuação é uma função que é passada como argumento para outras funções, e que é responsável por processar o resultado retornado pela referida função. Na verdade, o chamador de uma função passará um objeto que pode ser chamado (por exemplo, uma função ou uma expressão lambda), e esse objeto será invocado quando a função chamada retornar. A invocação do objeto que pode ser chamado constituirá então a próxima etapa no fluxo de controle.

O termo “continuação” é usado porque o fluxo de um programa, em vez de ser linear, é dado como um conjunto de chamadas aninhadas, em que cada uma passa o controle uma para a outra. Isso permite um modelo flexível e poderoso de fluxo de controle. CPS é uma abordagem popular em programação funcional em geral e é usada em muitas linguagens de programação, como Scheme, Common Lisp e Haskell.

Formulários

O CPS é frequentemente usado para criar corrotinas, que permitem que uma função salve seu estado de execução e suspenda sua execução, para que possa ser retomada posteriormente. Isso permite que múltiplas funções sejam executadas simultaneamente, oferecendo a possibilidade de multitarefa cooperativa. Da mesma forma, o CPS é usado para agendamento não preemptivo, um mecanismo de agendamento que é mais leve que o agendamento preemptivo e que permite que múltiplas tarefas sejam executadas simultaneamente.

O CPS também é frequentemente usado para diversos fins, como controle de simultaneidade e implementação de linguagens de programação de fluxo de dados, que permitem a expressão do fluxo de controle dependente de dados.

Finalmente, o CPS também pode ser usado para simplificar alguns tipos de transformação e otimização de código. Por exemplo, CPS pode ser usado para expressar a eliminação de chamadas finais, o processo de conversão de funções recursivas em equivalentes não recursivos e, portanto, mais eficientes.

Conclusão

O estilo de passagem de continuação (CPS) é uma abordagem de programação importante usada em muitas linguagens de programação modernas. É usado para criar sistemas que permitem um fluxo de controle flexível, como para implementação de corrotinas, e também para controle de simultaneidade e otimização de código.

Escolha e compre proxy

Personalize seu pacote de servidor proxy sem esforço com nosso formulário amigável. Escolha o local, a quantidade e o prazo de serviço para visualizar os preços dos pacotes instantâneos e os custos por IP. Desfrute de flexibilidade e conveniência para suas atividades online.

Escolha o seu pacote de proxy

Escolha e compre proxy