O código-fonte de bem desenhados aplicações web funcionais?
-
13-09-2019 - |
Pergunta
O que são exemplos de bem desenhado funcional (em oposição a orientação a objeto) aplicativos web que fazem o seu código fonte disponível? Atualmente, estou estudando o Hacker Notícias fonte mas eu gostaria de ver alguns outros exemplos não-triviais, de preferência em clojure .
Para MVC há muitas Rails e aplicações PHP, estruturas e tutoriais para estudo - o que está lá para a programação funcional
?Solução
Há:
- Compojure (clojure)
- PLT Esquema Servidor Web (Esquema PLT)
- Erlyweb (erlang)
- Mar (Smalltalk)
Essa lista é suficiente para mantê-lo ocupado dando uma amostra de linguagens funcionais com características diferentes:
- Clojure: multi-paradigma ?, flexível? não é uma linguagem funcional pura e embora seja preferível que você programa em um estilo funcional, não é estritamente necessário. Você pode escrever OOP estilo java através da interoperabilidade Java, ou você pode longe abstrair-lo usando multi-métodos. Há muita flexibilidade lá, embora ainda seja um pouco cedo para dizer se é apenas "flexível" ou "multiparadigma" no caminho Lisp comum é. Concebida, em parte, ser um lisp que lida com simultaneidade com facilidade, ele realmente tiros em um monte de alvos, daí a designação flexível ou multiparadigma.
- Esquema: mais perto de ser uma linguagem funcional pura do que Clojure, ele empurra o programador um pouco mais força em um estilo funcional do que Clojure.
- Erlang: A programação funcional construído para a simultaneidade confiável. Erlyweb é construído sobre uma plataforma que foi projetada para ser altamente concorrente.
- Smalltalk: programação Altamente OO funcionais (estruturas ainda controle são objetos dentro do sistema de objetos e construções sintáticas não) .
Se você quiser ver como webapps olhar em uma linguagem que é funcional "a todo custo", então a sugestão do jrockway é o único a olhar.
Outras dicas
Weblocks é uma estrutura funcional orientada a objetos comprovado que tem inspiração de Seaside.
Ele é escrito em Lisp comum, e dois exemplos básicos (Weblocks-demonstração, simple-blog) pode ser encontrada aqui: http://bitbucket.org/S11001001/weblocks-dev/src/tip/examples/
Se você está procurando projetos de código aberto do mundo real implementado em uma linguagem funcional pura, este link pode ajudar: http://haskell-news.blogspot.com/2008/01/top-10-most-popular-haskell-programs.html
Se você é muito específico sobre aplicações web, por favor, olhar para este: http: //www.haskell .org / haskellwiki / RPC