haskellbr.com, haskell.org em pt-br, fork da biblioteca MissingH, stack-run-auto

Olá! Tenho algumas coisas que gostaria de dividir. Primeiro, não tem ninguém no Slack e pouquíssimas pessoas no IRC, o que me deixa triste. Entrem lá pra trocar ideia de programação funcional. - - - O site haskellbr.com foi atualizado com a descrição do próximo meetup. Gostaria de ter um blog configurado e começar a produzir conteúdo. Infelizmente isso não foi possível nesse fim-de-semana. - - - Criei um fork do site haskell.org em https://github.com/haskellbr/hl e comecei o trabalho de internacionalização com i18n. Essa é uma issue aberta no repositório global (https://github.com/haskell-infra/hl/issues/4), se adicionarmos uma tradução do site para pt-br estaremos preparando o território para outras comunidades em outros países para fazer o mesmo. Além disso, o site é escrito usando Yesod e acho que o suporte a i18n do framework é muito particular ao Haskell e muito bom, então é tecnicamente divertido. - - - MissingH é uma ótima biblioteca cheia de funções úteis que não estão disponíveis no `Prelude`. Funções como `split :: String -> String -> [String]` ou `join :: [a] -> [[a]] -> [a]`, acho que de certa forma, poderia se pensar nela como um `lodash`/`underscore` do Haskell. Na minha opinião, a biblioteca tem o problema de ser muito grande. Nem sempre vale a pena a incluir em projetos, por causa do aumento no tempo de compilação e tamanho do binário que seu uso causa. Resolvi fazer um fork com o intuito de quebrar o pacote e mitigar esse problema ao decidir. Esse projeto pode ser interessante para pessoas querendo aprender Haskell fazendo coisas úteis. A ideia é simples: separar o pacote `missingh` em vários pacotes menores. Decidi seguir uma implementação um pouco mais interessante, escrever um pacote `package-splitter` que, dado um pacote ([x] == feito): - [x] Lê seu manifest `.cabal` - [x] Extrai os módulos existentes no pacote - [ ] Extrai todas as dependências de cada um desses módulos - [ ] Gera pacotes menores baseados nessa informação (essa é a parte mais difícil) Ajuda que fiz algo muito parecido aos primeiros 3 passos com a ajuda do André Barnabá (asakeron) [1] em `stack-run-auto` [2] muito recentemente. Então só o quarto passo deve dar um pouco mais de trabalho. Acho que é divertido, não sei se já viram aquele thread de e-mails da lista de Erlang onde o Joe Armstrong questiona a existência de módulos em uma linguagem de programação e discute um gerenciador de pacotes baseado em funções. Ia ser muito legal ter isso e acho que a forma como Haskell se organiza faz a criação de ferramentas ao redor de análise estática muito mais fácil. Espero ter uma versão inicial de um programa que separe pacotes do cabal automaticamente logo. Comentem o que acham dessa ideia. - - - Sobre o `stack-run-auto`, acho que vale dizer que ele foi completamente portado para Haskell e vejo algum potencial para melhorar o que existe nele. A próxima versão do `stack` deve ter fall-through do executável no estilo do `git` [3], o que abre a porta para escrever plugins como esse e extender o toolset da linguagem. P.S. isso estava no HackerNews e é sensacional (datomic no nubank) https://youtu.be/7lm3K8zVOdY Yamada [1] - https://github.com/asakeron [2] - https://github.com/yamadapc/stack-run-auto [3] - https://github.com/commercialhaskell/stack/pull/1434

Já que tem pouca gente ativa com Haskell no Brasil eu me proponho a ajudar
com a tradução por agora.
To começando a aprender FP, dei uma olhada em Erlang, Elixir e OCaml. Mas
pelo visto minha dedicação vai ser pro Haskell a partir de agora, tentarei
ficar mais ativo no Slack pra trocar uma idéia e aprender um pouco mais :D
Em seg, 30 de nov de 2015 às 19:38, Pedro Yamada
Olá!
Tenho algumas coisas que gostaria de dividir.
Primeiro, não tem ninguém no Slack e pouquíssimas pessoas no IRC, o que me deixa triste. Entrem lá pra trocar ideia de programação funcional.
- - -
O site haskellbr.com foi atualizado com a descrição do próximo meetup. Gostaria de ter um blog configurado e começar a produzir conteúdo. Infelizmente isso não foi possível nesse fim-de-semana.
- - -
Criei um fork do site haskell.org em https://github.com/haskellbr/hl e comecei o trabalho de internacionalização com i18n. Essa é uma issue aberta no repositório global (https://github.com/haskell-infra/hl/issues/4), se adicionarmos uma tradução do site para pt-br estaremos preparando o território para outras comunidades em outros países para fazer o mesmo. Além disso, o site é escrito usando Yesod e acho que o suporte a i18n do framework é muito particular ao Haskell e muito bom, então é tecnicamente divertido.
- - -
MissingH é uma ótima biblioteca cheia de funções úteis que não estão disponíveis no `Prelude`. Funções como `split :: String -> String -> [String]` ou `join :: [a] -> [[a]] -> [a]`, acho que de certa forma, poderia se pensar nela como um `lodash`/`underscore` do Haskell. Na minha opinião, a biblioteca tem o problema de ser muito grande. Nem sempre vale a pena a incluir em projetos, por causa do aumento no tempo de compilação e tamanho do binário que seu uso causa.
Resolvi fazer um fork com o intuito de quebrar o pacote e mitigar esse problema ao decidir. Esse projeto pode ser interessante para pessoas querendo aprender Haskell fazendo coisas úteis. A ideia é simples: separar o pacote `missingh` em vários pacotes menores.
Decidi seguir uma implementação um pouco mais interessante, escrever um pacote `package-splitter` que, dado um pacote ([x] == feito): - [x] Lê seu manifest `.cabal` - [x] Extrai os módulos existentes no pacote - [ ] Extrai todas as dependências de cada um desses módulos - [ ] Gera pacotes menores baseados nessa informação (essa é a parte mais difícil)
Ajuda que fiz algo muito parecido aos primeiros 3 passos com a ajuda do André Barnabá (asakeron) [1] em `stack-run-auto` [2] muito recentemente.
Então só o quarto passo deve dar um pouco mais de trabalho.
Acho que é divertido, não sei se já viram aquele thread de e-mails da lista de Erlang onde o Joe Armstrong questiona a existência de módulos em uma linguagem de programação e discute um gerenciador de pacotes baseado em funções.
Ia ser muito legal ter isso e acho que a forma como Haskell se organiza faz a criação de ferramentas ao redor de análise estática muito mais fácil.
Espero ter uma versão inicial de um programa que separe pacotes do cabal automaticamente logo. Comentem o que acham dessa ideia.
- - -
Sobre o `stack-run-auto`, acho que vale dizer que ele foi completamente portado para Haskell e vejo algum potencial para melhorar o que existe nele. A próxima versão do `stack` deve ter fall-through do executável no estilo do `git` [3], o que abre a porta para escrever plugins como esse e extender o toolset da linguagem.
P.S. isso estava no HackerNews e é sensacional (datomic no nubank) https://youtu.be/7lm3K8zVOdY
Yamada
[1] - https://github.com/asakeron [2] - https://github.com/yamadapc/stack-run-auto [3] - https://github.com/commercialhaskell/stack/pull/1434 _______________________________________________ haskell-br mailing list haskell-br@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-br

Sent from my coffee pot.
On Nov 30, 2015 7:38 PM, "Pedro Yamada"
Primeiro, não tem ninguém no Slack e pouquíssimas pessoas no IRC, o que me deixa triste. Entrem lá pra trocar ideia de programação funcional.
Eu costumava estar sempre pelo IRC até a infra de onde eu trabalho resolver bloquear portas "diferentes" por motivos de ~~segurança~~. =/ Lembro que era meio paradão, mas de vez em quando rolavam umas discussões interessantes.
P.S. isso estava no HackerNews e é sensacional (datomic no nubank) https://youtu.be/7lm3K8zVOdY
Nubank <3 E muito maneiro esse datomic!

Olá a todos!
Em primeiro lugar, parabéns ao Yamada pelas iniciativas nos últimos dias!
Espero poder ajudar no que der também!
Esse vídeo do Nubank estava na minha lista de "Assistir mais tarde". A
prioridade de assistir ele subiu agora que foi recomendado aqui! =P
Fiquei curioso sobre a mensagem da lista de emails de Erlang. Pra
facilitar, estou linkando aqui
http://erlang.org/pipermail/erlang-questions/2011-May/058768.html!
Em 30 de novembro de 2015 22:24, Elias Barrionovo
Sent from my coffee pot. On Nov 30, 2015 7:38 PM, "Pedro Yamada"
wrote: Primeiro, não tem ninguém no Slack e pouquíssimas pessoas no IRC, o que me deixa triste. Entrem lá pra trocar ideia de programação funcional.
Eu costumava estar sempre pelo IRC até a infra de onde eu trabalho resolver bloquear portas "diferentes" por motivos de ~~segurança~~. =/ Lembro que era meio paradão, mas de vez em quando rolavam umas discussões interessantes.
P.S. isso estava no HackerNews e é sensacional (datomic no nubank) https://youtu.be/7lm3K8zVOdY
Nubank <3 E muito maneiro esse datomic!
_______________________________________________ haskell-br mailing list haskell-br@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-br

Animo dar uma ajuda nas traduções, bom que vejo melhor como o yesod funciona, tava querendo faze um projetinho meu nele, mas vou usar coisas de GIS e não achei as coisas que preciso pra yesod/haskell (inclusive, seria legal fazer haeuhae, projeto pro futuro). Isso de quebrar o MissingH animo pegar algo pra fazer junto também. 2015-11-30 23:28 GMT-02:00 Luis Fernando Milano Oliveira < luismilanooliveira@gmail.com>:
Olá a todos!
Em primeiro lugar, parabéns ao Yamada pelas iniciativas nos últimos dias! Espero poder ajudar no que der também!
Esse vídeo do Nubank estava na minha lista de "Assistir mais tarde". A prioridade de assistir ele subiu agora que foi recomendado aqui! =P
Fiquei curioso sobre a mensagem da lista de emails de Erlang. Pra facilitar, estou linkando aqui http://erlang.org/pipermail/erlang-questions/2011-May/058768.html!
Em 30 de novembro de 2015 22:24, Elias Barrionovo
escreveu: Sent from my coffee pot. On Nov 30, 2015 7:38 PM, "Pedro Yamada"
wrote: Primeiro, não tem ninguém no Slack e pouquíssimas pessoas no IRC, o que me deixa triste. Entrem lá pra trocar ideia de programação funcional.
Eu costumava estar sempre pelo IRC até a infra de onde eu trabalho resolver bloquear portas "diferentes" por motivos de ~~segurança~~. =/ Lembro que era meio paradão, mas de vez em quando rolavam umas discussões interessantes.
P.S. isso estava no HackerNews e é sensacional (datomic no nubank) https://youtu.be/7lm3K8zVOdY
Nubank <3 E muito maneiro esse datomic!
_______________________________________________ haskell-br mailing list haskell-br@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-br
_______________________________________________ haskell-br mailing list haskell-br@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-br
participants (5)
-
Elias Barrionovo
-
Luis Fernando Milano Oliveira
-
Pedro Yamada
-
Rodrigo Muniz
-
Álvaro Pereira