Neste artigo abordaremos o tema ML (linguagem de programação), um assunto de relevância atual que tem despertado grande interesse e debate. ML (linguagem de programação) tem sido objeto de estudos, análises e reflexões de especialistas da área, bem como de pessoas interessadas em compreender melhor seu impacto e abrangência. Ao longo dos anos, ML (linguagem de programação) evoluiu e adquiriu diferentes nuances, tornando-se uma questão extremamente complexa e multidimensional. Neste sentido, é fundamental aprofundar os seus aspectos mais relevantes, as suas implicações e possíveis repercussões a nível individual e colectivo. Neste artigo iremos nos aprofundar no universo ML (linguagem de programação), abordando suas múltiplas facetas com o objetivo de fornecer uma visão abrangente e enriquecedora deste tema tão relevante nos dias de hoje.
Este artigo não cita fontes confiáveis. (Maio de 2015) |
ML | |
---|---|
Paradigma | |
Surgido em | 1973 |
Criado por | Robin Milner e outros na Universidade de Edimburgo |
Estilo de tipagem |
|
Dialetos | |
Influenciada por | ISWIM |
Influenciou |
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, cuja sintaxe foi inspirada pelo ISWIM. É considerada uma linguagem funcional impura, por permitir a programação imperativa, ao contrário de outras linguagens funcionais como Haskell.
Standard ML foi criada por pesquisadores da LFCS (Laboratory for Foundations of Computer Science) na década de 1980. Em 1987, Robin Milner e LFCS ganharam o Prêmio BCS Award for Technical Excellence por trabalhar no Standard ML.
ML foi originalmente concebida como uma metalinguagem para o sistema de prova de teorema de Edimburgo LCF, mas evoluiu para uma linguagem de propósito geral de sucesso. Esta linguagem foi padronizada em 1990 e revista em 1997 como Standard ML 97.
ML é conhecida como uma linguagem funcional e impura, por permitir efeitos colaterais e, por esta razão também é considerada uma linguagem de programação multi-paradigma.
As características do ML são incluir chamada-a-valor avaliação e estratégia, em primeira classe funções de gerenciamento automático de memória através de coleta de lixo, polimorfismo paramétrico, tipagem estática, tipo inferência, tipos de dados algébricos, correspondência padrão, exceção e manuseio.
Hoje existem vários idiomas no ML família; os dois principais dialetos são Standard ML e Caml, mas existem outros que influenciaram muitas outras línguas, como Haskell, Cyclone, e Nemerle.
Os pontos fortes da ML são aplicados principalmente em língua e manipulação (compiladores, analisadores, provadores de teoremas), mas é uma linguagem de aplicação geral também utilizado em bioinformática, sistemas financeiros, e aplicativos, incluindo um banco de dados genealógicos, um clienteP2P / programa servidor, etc..
O Programa Olá Mundo de linguagens funcionais é tipicamente a função Fatorial, como expressado abaixo em ML:
fun fac : (int -> int) 0 = 1
| fac n = n * fac (n - 1);
O fatorial foi definido como uma função recursiva, com uma única condição de parada, assemelhando-se as descrições dessa função em livros de Matemática. Parte da primeira linha é opcional, e descreve os tipos da função.
fun quadrado(x : real) = x * x;
fun reverso(L) =
if L = nil then nil
else reverso(tl(L)) @ ;
(* máximo entre 3 reais - note que ML deduz que b e c são reais mesmo sem declaração *)
fun maior3(a : real, b, c) =
if a > b then
if a > c then a
else c
else
if b > c then b
else c;
|url=
(ajuda) (em inglês)