Linguagem de Programação ML
CENTRO DE CIÊNCIAS E TECNOLOGIAS – CCT
CURSO CIÊNCIA DA COMPUTAÇÃO
Linguagem ML
Trabalho de Paradigmas de Linguagens de Programação, requerido pela professora Karina de Oliveira à turma NS50. Elaborado por Bruno d’Arce.
Recife, 2013
Introdução e Características
ML é uma linguagem de programação funcional de proposta geral desenvolvida por Robin Milner e outros no final dos anos 1970 na Universidade de Edimburgo,
O modo básico de processamento é a construção e aplicação de funções
Chamadas de funções introduzem novas amarrações, uma vez que uma função é vista como um valor.
Funções são livres de efeitos colaterais, pois não provocam alteração na memória ou estado do programa.
ML é fortemente tipada e a programação é baseada em regras.
ML é case sensitive
ML suporta polimorfismo, o qual permite às funções usarem argumentos de vários tipos.
ML tem um sistema de inferência que permite a verificação de tipos sem precisar declarar o tipo de cada variável. Por exemplo: fun circunf (r) = 3.14159 * r * r
Portanto, só poderão ser passados argumentos do tipo real.
ML permite a amarração de um nome a um valor através da declaração value. Por exemplo: val x = 10;
Estruturas de dados em ML:
- Listas:
- Tuplas
- Nomeados
- Estruturados e Enumerados
Controle de fluxo em ML:
- A recursão é o único método de repetição.
- A seleção é feita através dos seguintes comandos: if, else e case
Uso pratico da linguagem ML é a verificação de hardware e software na Microsoft e Intel
Variáveis e Expressões
Na ML, nomes podem ser vinculados a valores, tendo as instruções de declaração de valor a forma val novo_nome = expressão
Por exemplo, val distancia = tempo + velocidade;
Essa instrução não é exatamente como as de atribuição das linguagens imperativas. A instrução val vincula um nome a um valor, mas o nome não pode ser revinculado a um novo valor