DesignLiquido / potigol

Nossa implementação do dialeto Potigol, usando TypeScript.
MIT License
4 stars 0 forks source link

potigol

Nossa implementação do dialeto Potigol, usando TypeScript.

Sobre este dialeto

Este dialeto tenta implementar da forma mais fidedigna possível todos os comportamentos de execução do pacote Potigol, originalmente implementado em Scala. O pacote original possui o ciclo de execução inteiramente implementado, pode executar em qualquer sistema operacional, mas possui limitações para executar em navegadores de internet. No mais, componentes como um formatador ou analisador semântico não existem.

Inicialmente, este dialeto foi implementado dentro do núcleo de Delégua, já que tínhamos a ideia de implementar algumas funcionalidades que Potigol tem também em Delégua, como os mecanismos de interpolação de texto e tuplas. Com a incorporação de mais dialetos ao núcleo, a manutenção do monolito começou a trazer impactos ao núcleo como um todo, com instruções que sequer existem em um dialeto tendo que ser implementadas porque outro dialeto a possui. Portanto, este dialeto foi separado do núcleo de Delégua, mas ainda o utiliza como dependência.

Componentes implementados

Este dialeto implementa os seguintes componentes:

Finalidade educacional

A finalidade educacional deste dialeto serve a dois grandes propósitos:

Compatibilidade com JavaScript e Node.js

Este dialeto é distribuído como um pacote do NPM, e é compatível com qualquer versão de JavaScript e Node.js. O código é escrito em TypeScript, mas transpilado para JavaScript ES5, virtualmente compatível com 100% dos navegadores de internet disponíveis atualmente.

Este dialeto pode ser utilizado como base para construir outras aplicações, como sites de internet, aplicativos para dispositivos móveis e até mesmo scripts executados por linha de comando. É também agregado ao pacote de Delégua para Node.js, o que permite a execução de fontes por linha de comando.