Exatamente. No README.md do repositório tem uma breve explicação sobre a Notação Polonesa Reversa (ou Reverse Polish Notation). Calculadoras de economia como a HP 12C também utilizam esse recurso. MUUUITO mais eficiente para cálculos em termos de custo computacional para avaliação e execução das expressões.
Na HP48, tem a anotação direta e a indireta. Ex: podemos ter uma operacao
《 IF 2 > 1 THEN 5 END 》
Ou a forma indireta usando a stack
《 2 1 > 5 IFT 》
explicando
- colocando 1 e 2 na pilha
- operador > compara primeiro e segundo elemento da pilha
- colocando 5 na pilha
- IFT verifica se o segundo elementa da pilha é verdadeiro e retorna o primeiro elemento, se for false. Não retorna o segundo elemento
Lembro que me divertia fazendo a programação na forma indireta.
O Pile funciona basicamente da mesma forma! Eu tenho aqui em casa uma 12C, inclusive foi uma das minhas principais inspirações para a criação do Pile.
Na verdade a principal inspiração foi de outra linguagem stack-based criada por um russo que faz streams de programação na twitch que acompanho desde 2019. O nome dele é Alexey Kutepov e ele criou o Porth, minha inspiração para o Pile.
Eu sinceramente acho ele um dos (senão o melhor) criador de conteúdo de programação em geral que programadores intermediários e avançados devem acompanhar. Ele tem um canal no Youtube onde ele posta as lives dele: @TsodingDaily. Recomendo demais assistir a ele!