Executando verificação de segurança...
1

O problema é que depende 100% de um plugin de VSCode para funcionar, e aparentemente utiliza o ecossistema do .NET para que tudo pare em pé.

Acho que vale a pena observar sim. Tem coisas interessantes aqui. Obrigado pela dica.

Carregando publicação patrocinada...
2

Sobre a dependência do ecossistema .NET, é algo natural inicialmente pois a linguagem é escrita usando F# e compila pra F# por padrão, porém ao compilar pra outros backends como Python ou C++/CUDA, o resultado não carrega nenhuma dependência além do seu ecossistema de destino. Por mais que a sintaxe seja uma cópia de 90% da sintaxe de F#, as funcionalidades de OOP para compatibilidade com C# e outras particularidades do .NET não foram adicionadas, dando lugar para recursos de type system mais avançados e tornando Spiral uma linguagem universal, permitindo compilar pra qualquer linguagem ou bytecode sem muitas adaptações, incluindo computação quântica como mencionado no chat.

O plugin do VSCode é necessário para ergonomia ao escrever código, normal pra qualquer linguagem em uma IDE. O plugin executa uma API na porta 13805, tudo que a UI do VSCode faz ao interagir com os projetos invoca a mesma. Utilizei essa API pra criar um pipeline e2e pra compilar Spiral para Rust e testar smart contracts no GitHub Actions, essa mesma estratégia poderia ser utilizada pra adicionar suporte às IDEs da JetBrains ou no Livebook do Elixir utilizando Smart Cells por exemplo.

Convido você a explorar uma prova de conceito de rolagem de dados fullstack que utiliza GitHub Actions para testes e deploy:

  1. Frontend Implementado - https://i574n.github.io/polyglot/apps/dice/ui/dist/popup.html : Um frontend web exibindo transações on-chain de um contrato inteligente de rolagem de dados na NEAR Protocol, buscando as informações em sua API pública.

  2. Código do Frontend - https://github.com/i574n/polyglot/blob/main/apps/dice/ui/src/dice_ui.spi : Código-fonte da função main do frontend Spiral, o body é montado aqui, mostrando como é compilado para Rust e integrado em um framework web moderno.

  3. Código do Contrato Inteligente - https://github.com/i574n/polyglot/blob/main/apps/dice/contract/src/lib.rs : O código-fonte do contrato inteligente, com a linha 139 mostrando a função de rolagem em Spiral sendo chamada por Rust na função generate_random_number.

  4. Declaração da Função em Spiral - https://i574n.github.io/polyglot/apps/dice/dice.dib.html : O código Spiral declarando a função de rolagem chamada por Rust.

Estes links oferecem uma visão abrangente de como a linguagem funciona em uma aplicação no mundo real. Se você abrir o console nas ferramentas de desenvolvedor do navegador no frontend implementado, verá mensagens correspondentes ao código-fonte de montagem do body, ilustrando o pipeline de compilação em ação.