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.