Está en la página 1de 15

Investigacin sobre

Lenguajes de
Programacin
TEMA: Lenguaje de Programacin
ML
Integrantes
Luigi Basantes
Juan Crow
Joe Saverio

Introduccin

ML, conocido tambin como Meta Language, es un lenguaje de programacin de


propsito general desarrollado por Robin Milner y sus compaeros de trabajo en la
Universidad de Edinburgh en los aos 70.

Fue desarrollado inicialmente como una herramienta para desarrollar tcticas de


pruebas para el Theorem Prover LCF ( un sistema automatizado que permite probar
teoremas por medio de programas en computacin)

Sus influencias vienen de lenguajes como ISWIM y LISP, los cuales en ese tiempo
estuvieron enfocados en la inteligencia artificial.

Caractersticas

Soporte de funciones de primera clase (First-Class Functions)

Evaluacin de tipos en tiempo de compilacin

Manejo automtico de memoria

Inferencia de tipos

Soporte de datos algebraicos

Manejo de excepciones

Paradigma
El paradigma principal de ML es el lenguaje funcional.
Se considera que este es el paradigma que utiliza debido a la forma de

escribir los programas: Las variables y Las funciones se visualizan como


valores, es decir se pueden implementar sin tener que expresar
explcitamente de qu manera van a ser almacenados en memoria.

En posteriores implementaciones de ML, como Standard ML, se agreg el


soporte del paradigma de programacin imperativa.

Repositorios
Actualmente, no existe un repositorio dedicado
exclusivamente para ML.

Existen repositorios en lnea que permiten adaptar el cdigo


fuente de ML para trabajar colaborativamente. El ms
conocido es GitHub

IDE de desarrollo
El entorno de desarrollo preferido por los desarrolladores de ML
normalmente son los editores de texto, tales como:
Sublime Text: Es un editor de texto y editor de cdigo fuente en
el cual se utiliza paquetes como SublimeREPL y SML/NJ para
desarrollar aplicaciones en ML

GNU Emacs: Editor de texto parte del proyecto GNU con el que se
puede utilizar el paquete SML mode que aade funciones como:

Indentacin de cdigo SML


Fcil insercin de plantillas comnmente utilizadas como let,
local,
signature y declaraciones de estructuras.
Fcil configuracin de otros compiladores de SML y herramientas
basadas en SML

Isabelle/jEdit: Es un entorno de interactivo y automatizado de

prueba de teoremas pero funciona como un IDE para SML. Los


cdigos fuentes son evaluados de forma esttica mientras el
usuario edita.

Plataformas de implementacin y
ejecucin
Se puede desarrollar aplicaciones y ejecutarlas en los sistemas
operativos Windows, Mac y los basados en UNIX.

Es lenguaje interpretado o
compilado?
ML es un lenguaje compilado
En las distintas versiones de ML se han desarrollado y se han
ido actualizando compiladores que han aadido nuevas
funcionalidades al lenguaje

Libreras
Las libreras bsicas proveen una coleccin extensa de tipos y
funciones bsicas, por ejemplo:
CHAR

INTEGER

MATH

WORD

STRING

MONO_ARRAY

Los objetivos de estas libreras bsicas son:

Servir como un kit de herramientas bsicas para el


programador principiante o profesional.

Centrar la atencin en SML como un lenguaje para la


programacin en una amplia variedad de dominios

Reemplazar las bibliotecas de uso general incompatibles


disponibles en la actualidad.

APls
El APIs (interfz de programacin de aplicaciones) es el

conjunto de subrutinas, funciones y procedimientos que


ofrece cierta biblioteca para ser utilizado por otro software
como una capa de abstraccin.
La usada en ML es Spark 1.2 que incluye un nuevo paquete
spark.ml, que proporciona un conjunto uniforme de las APIs
de alto nivel que ayudan a los usuarios a crear y ajustar.

En que investigaciones se uso este


lenguaje?
ML construyo un sistema de tipos polimrfico en el tope de
Lisp, pionero en os lenguajes funcionales de programacin
con tipeado esttico.

En 1980, desarrollaron sistemas de mdulos notables.

Referencias
http://homepages.inf.ed.ac.uk/mfourman/teaching/mlCourse/n
otes/L01.pdf

https://en.wikipedia.org/wiki/ML_(programming_language)
http://www.scholarpedia.org/article/Standard_ML_language

También podría gustarte