Após 7 anos em produção, a Scarf relutantemente deixou o Haskell
Papel dos Tipos com LLMs
- Muitos argumentam que tipos estáticos fortes são mais valiosos com LLMs, pois capturam saída “lixo” e tornam o código gerado por IA mais fácil de entender e refatorar.
- Outros destacam que LLMs muitas vezes evitam ou corrigem rapidamente erros simples por conta própria, então o benefício marginal de sistemas de tipos muito fortes pode ser menor do que antes.
- Há discordância sobre se LLMs reduzem a necessidade de segurança de tipos ou a tornam mais crítica; vários კომენტadores acham explicitamente a conclusão de “menos segurança de tipos” incompreensível.
Tempos de Compilação e Fluxos de Trabalho de Agentes
- A principal reclamação: os lentos tempos de compilação a frio do Haskell tornam-se um gargalo severo para fluxos de trabalho agênticos que compilam e executam testes com frequência, especialmente em múltiplos worktrees/agentes.
- Alguns contrapõem que menos verificações do compilador, porém mais ricas, podem compensar compilações lentas, mas admitem que um custo base de 15 minutos é difícil de amortizar.
- Vários observam que esse problema já prejudicava a produtividade humana; os LLMs apenas o tornam mais visível. Outros sugerem melhor cache de build/infra como alternativa a reescrever.
Python vs Outras Escolhas de Linguagem
- Muitos se surpreendem que a mudança seja para Python em vez de TypeScript, Go, OCaml, Rust, Java, C#, F#, etc., que oferecem tipagem mais forte com tempos de compilação decentes.
- Defesas de Python: familiaridade da equipe, ecossistema enorme, abundância de dados de treinamento para modelos e ausência de etapa de compilação.
- Críticas: ecossistema de tipagem fraco e fragmentado, necessidade de várias ferramentas de tipo, anotações inconsistentes em bibliotecas, muitos “footguns” para servidores e desempenho de runtime inferior.
Experiências com Haskell e Alternativas
- Alguns relatam fluxos de trabalho muito produtivos com Haskell+LLM e não veem o tempo de compilação como um grande problema na prática.
- Outros já saíram do Haskell (por exemplo, para Rust) por causa de laziness, exceções, tamanho/fragmentação do ecossistema e dores de tooling.
- OCaml, Lean, F#, Go e linguagens JVM são citadas repetidamente como meios-termos promissores: compilações rápidas com tipos úteis.
Reflexões Mais Amplas da Era da IA
- Debate sobre se estamos caminhando para um mundo “pós-linguagem”, em que agentes conduzem a escolha da linguagem pela eficiência (runtime, custo de tokens, tempo de relógio).
- Preocupação de que otimizar para velocidade de “vibecoding” possa corroer o rigor de engenharia e a manutenibilidade de longo prazo.
- Alguns argumentam que as linguagens do futuro terão de escolher: projetar-se principalmente para humanos ou para agentes; esses objetivos podem conflitar.