Euler (linguagem de programação) - Euler (programming language)
Paradigmas | Multi-paradigma : procedimental , imperativo , estruturado |
---|---|
Família | ALGOL Wirth |
Projetado por |
Niklaus Wirth Helmut Weber |
Desenvolvedores |
Universidade de Stanford ETH Zurique |
Apareceu pela primeira vez | 1965 |
Disciplina de digitação | dinâmico |
Escopo | Lexical |
Influenciado por | |
ALGOL 60 |
Euler é uma linguagem de programação criada por Niklaus Wirth e Helmut Weber, concebida como uma extensão e generalização do ALGOL 60 . Os objetivos dos designers eram criar uma linguagem que seja:
- Mais simples, porém mais flexível, do que ALGOL 60
- Útil e processado com eficiência razoável
- Definível com formalidade rigorosa
As fontes disponíveis indicam que Euler estava operacional em 1965.
Visão geral
Euler emprega um conceito geral de tipo de dados . Em Euler, arrays , procedimentos e switches não são quantidades declaradas e nomeadas por identificadores: em contraste com ALGOL , eles não são quantidades no mesmo nível que variáveis . Em vez disso, essas quantidades estão no nível de constantes numéricas e booleanas . Assim, além das constantes numéricas e lógicas tradicionais, Euler introduz vários tipos adicionados:
Todas as constantes podem ser atribuídas a variáveis, que têm a mesma forma que em ALGOL, mas para as quais nenhum tipo fixo é especificado: Euler usa tipagem dinâmica . Além disso, um procedimento pode produzir um valor de qualquer tipo quando executado, e esse tipo pode variar de uma chamada do procedimento para a próxima .
Da mesma forma, os elementos de uma lista podem ter valores de qualquer tipo e podem diferir de um elemento para outro em uma lista. Portanto, quando os elementos da lista são rótulos, uma troca é obtida. Se os elementos forem procedimentos, é obtida uma lista de procedimentos, que não está disponível no ALGOL 60. Se os elementos forem listas eles próprios, então uma estrutura geral em árvore é obtida.
Euler fornece operadores gerais de teste de tipo e conversão de tipo.