Por isso, estava fazendo essa tarefa na Uni e eu tenho um profundo desejo de fazer a tarefa no haskell. É uma simulação de um mecanismo comercial. A situação é que temos dados provenientes de um csv e desejamos analisar cada registro e processá-lo de certa forma dependendo de qual fase de mercado é atribuída. Justificação para o uso do haskell, é que eu vejo o mecanismo comercial como sistema funcional pesado. Eu tive experiência no haskell antes, mas apenas uma experiência menor, nunca nada tão grande. Estávamos querendo executar um tópico que importaria os csvs para uma fila de pedidos não processados e, em seguida, o programa principal acessaria essa fila para o processamento de cada ordem. No entanto, como eu poderia conseguir isso, eu sei que em C, eu simplesmente configuraria a classe para que ele pudesse acessar a classe CSVParser que segurava a fila não processada. Isso também significa que o segmento de importação continuaria sendo executado por todas as fases do mercado ou até que ele acabasse de importar o arquivo csv. Qualquer orientação sobre como conseguir isso seria ótima (não procurando um script completamente digitado, apenas o que as coisas no haskell eu precisaria olhar) pediu 29 de março às 23:33 fechado como não uma pergunta real de Ritch Melton. Dflemstr. Flexo 9830. Michael Petrotta. Graviton 30 de março 12 às 1:45 É difícil dizer o que está sendo solicitado aqui. Esta questão é ambígua, vaga, incompleta, excessivamente ampla ou retórica e não pode ser razoavelmente respondida na sua forma atual. Para obter ajuda para esclarecer esta questão para que ela possa ser reaberta, visite o centro de ajuda. Se esta questão pode ser reformulada para se ajustar às regras na Central de Ajuda. Por favor, edite a pergunta. Digite tipicamente. Cada expressão em Haskell tem um tipo que é determinado no tempo de compilação. Todos os tipos compostos juntos pela aplicação de função devem corresponder. Se não o fizerem, o programa será rejeitado pelo compilador. Os tipos tornam-se não apenas uma forma de garantia, mas um idioma para expressar a construção de programas. Todos os valores Haskell têm um tipo: você deve passar o tipo correto de valores para funções, ou o compilador irá rejeitar o programa: você pode decodificar bytes em texto: mas você não pode decodificar Texto, que já é um vetor de pontos Unicode: Purely Funcional Todas as funções em Haskell são uma função no sentido matemático (ou seja, quotpurequot). Mesmo as operações de IO de efeitos colaterais são apenas uma descrição do que fazer, produzido pelo código puro. Não há instruções ou instruções, apenas expressões que não podem mutar variáveis (locais ou globais), nem o estado de acesso, como o tempo ou números aleatórios. A seguinte função leva um número inteiro e retorna um inteiro. Pelo tipo, não pode causar quaisquer efeitos colaterais, não pode mutar nenhum dos seus argumentos. A seguinte concatenação de string está correta: a seguinte concatenação de string é um erro de tipo: porque getLine possui tipo IO String e não String. Como quotName: quot is. Então, pelo sistema de tipo, você não pode misturar e combinar a pureza com a impureza. Tipo de inferência Você não precisa escrever explicitamente todos os tipos em um programa Haskell. Os tipos serão inferidos pela unificação de todos os tipos de forma bidirecional. No entanto, você pode escrever os tipos se você escolher, ou pedir ao compilador que os escreva para obter documentação acessível. Este exemplo tem uma assinatura de tipo para cada ligação: Mas você pode apenas escrever: Você também pode usar inferência para evitar perder tempo explicando o que deseja: Tipos fornecem uma especificação de analisador de graça, a seguinte entrada não é aceita: Haskell simultâneo se presta bem Para programação simultânea devido ao seu tratamento explícito dos efeitos. O seu compilador emblemático, GHC, vem com um coletor de lixo paralelo de alto desempenho e uma biblioteca de competitividade leve contendo uma série de primitivas e abstrações de simultaneidade úteis. Crie facilmente threads e comunique-se com a biblioteca padrão: use uma API assíncrona para tópicos: Threading atômico com memória transacional de software: as transações atômicas devem ser repetitivas, então IO arbitrário está desativado no sistema de tipo: Funções não avaliam seus argumentos. Isso significa que os programas podem compor juntos muito bem, com a capacidade de escrever construções de controle (como se / else) apenas escrevendo funções normais. A pureza do código Haskell facilita a fusão de cadeias de funções, permitindo benefícios de desempenho. Defina estruturas de controle facilmente: se você notar um padrão de expressão repetida, como você pode dar um nome, como e depois usá-lo com o mesmo efeito que a expressão original. Obtenha a reutilização do código compondo funções preguiçosas. É bastante natural expressar qualquer função reutilizando o mapa e / ou funções: Reutilize os padrões de recursão no mapa. filtro. Foldr. Etc. A contribuição de fonte aberta para a Haskell é muito ativa com uma ampla gama de pacotes disponíveis nos servidores de pacotes públicos. Existem 6.954 pacotes disponíveis gratuitamente. Aqui está uma amostra das mais comuns: DataDog fornece medidas poderosas e personalizáveis 24/7 e monitoramento de integração para todo o Haskell. org e reclama alto para nós quando as coisas correm errado. O CDN da Próxima Geração 39s oferece acesso de baixa latência para todos os downloads do Haskell. org39 e os serviços de tráfego mais elevados, incluindo o servidor Hackage primário, os downloads da Plataforma Haskell e muito mais. Rackspace fornece recursos de computação, armazenamento e rede, alimentando quase todo o Haskell. org em várias regiões ao redor do mundo. A Galois fornece infra-estrutura, fundos, recursos administrativos e historicamente hospedou a infra-estrutura crítica do Haskell. org, além de ajudar a comunidade Haskell em geral com seu trabalho. O DreamHost se uniu para fornecer ao Haskell. org um armazenamento de objetos redundante e escalável através do seu serviço Dream Objects. A Awake Networks está criando uma plataforma de segurança e análise de rede de próxima geração. Eles são patrocinadores orgulhosos do verão de Haskell e contribuem amplamente para a comunidade de Haskell. Haskell Book é um orgulhoso patrocinador do Summer of Haskell e fornece um recurso completo e atualizado para aprender Haskell - adequado se você é completamente novo para Haskell ou está em um nível intermediário e quer aprofundar sua compreensão. O Webmon fornece monitoramento e escalonamento para a infraestrutura core haskell. org.
Комментариев нет:
Отправить комментарий