0% found this document useful (0 votes)
85 views4 pages

PPL

This document summarizes information about the LISP and ML programming languages. It discusses that LISP was developed in 1960 by John McCarthy and was one of the earliest programming languages suited for artificial intelligence. Common LISP later unified different LISP dialects. ML was developed in the 1970s at the University of Edinburgh for automated theorem proving and meta-programming. It influenced many other languages through its type system and features functional and imperative paradigms. Both LISP and ML are widely used today for artificial intelligence, scientific computing, and other domains.

Uploaded by

The Shield
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views4 pages

PPL

This document summarizes information about the LISP and ML programming languages. It discusses that LISP was developed in 1960 by John McCarthy and was one of the earliest programming languages suited for artificial intelligence. Common LISP later unified different LISP dialects. ML was developed in the 1970s at the University of Edinburgh for automated theorem proving and meta-programming. It influenced many other languages through its type system and features functional and imperative paradigms. Both LISP and ML are widely used today for artificial intelligence, scientific computing, and other domains.

Uploaded by

The Shield
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Experiment-1

OBJECTIVE – To Study LISP Programming Language

LISP
LISP, in full list processing, a computer programming language developed about 1960 by John
McCarthy at the Massachusetts Institute of Technology (MIT). LISP was founded on the
mathematical theory of recursive functions (in which a function appears in its own definition). A
LISP program is a function applied to data, rather than being a sequence of procedural steps as in
FORTRAN and ALGOL. LISP uses a very simple notation in which operations and their
operands are given in a parenthesized list. For example, (+ a (* b c)) stands for a + b*c.
Although this appears awkward, the notation works well for computers. LISP also uses the list
structure to represent data, and, because programs and data use the same structure, it is easy for a
LISP program to operate on other programs as data.

LISP became a common language for artificial intelligence (AI) programming, partly owing to
the confluence of LISP and AI work at MIT and partly because AI programs capable of
“learning” could be written in LISP as self-modifying programs. LISP has evolved through
numerous dialects, such as Scheme and Common LISP.

John McCarthy invented LISP in 1958, shortly after the development of FORTRAN. It was first implement
by Steve Russell on an IBM 704 computer.

It is particularly suitable for Artificial Intelligence programs, as it processes symbolic information


effectively.

Common Lisp originated, during the 1980s and 1990s, in an attempt to unify the work of several
implementation groups, which were successors to Maclisp like ZetaLisp and NIL
NewImplementationofLispNewImplementationofLisp etc.

It serves as a common language, which can be easily extended for specific implementation.

Programs written in Common LISP do not depend on machine-specific characteristics, such as word
length etc.

Features of Common LISP

 It is machine-independent
 It uses iterative design methodology, and easy extensibility.

 It allows updating the programs dynamically.

 It provides high level debugging.

 It provides advanced object-oriented programming.

 It provides convenient macro system.

 It provides wide-ranging data types like, objects, structures, lists, vectors, adjustable arrays,
hash-tables, and symbols.

 It is expression-based.

 It provides an object-oriented condition system.

 It provides complete I/O library.

 It provides extensive control structures.

Applications Built in LISP

Large successful applications built in Lisp.

 Emacs

 G2

 AutoCad

 Igor Engraver

 Yahoo Store

EXPERIMENT - 2
OBJECTIVE - To Study Meta Language
ML Programming
ML stands for "meta-language," and ML is a member of the general purpose programming
languages family. Like many early programming languages, ML was created by the
academic community for research purposes, and its features influenced many
programming languages that followed in its footsteps.

What is ML?
ML is a multi-paradigm, extended functional programming language. It is also often labeled
as an "impure" functional language, because it allows side-effects. ML's imperative features
are built on a functional core.

ML is particularly useful for meta-programming — writing programs that manipulate other


programs, and that is ML's original purpose. ML is well known for its use of the Hindley-
Milner type system that can automatically assign the types of most expressions without
explicit type annotations.

ML is used for a wide variety of programming:

 Scientific applications;

 Theorem provers;

 Analyzers, compilers, programming languages;

 Financial systems applications;

 Bioinformatics and genealogical databases.

ML is also used in education, in introductory programming courses to demonstrate basic programming


logic and methods.

Brief History of ML
The ML programming language was developed in the 1970s by Robin Milner and his colleagues at the
University of Edinburgh during their work on the Logic for Computable Functions (LCF) — an interactive
automated theorem prover. LCF was implemented in ML and introduced in 1972. ML's syntax was
inspired by the ISWIM programming language.

ML further evolved into several programming languages, all part of the ML family. The two most
important dialects today are Standard ML (SML) and OCaml. Features and ideas from ML influenced
many other languages like Cyclone, Elm, Nemerle, Haskell, C++, and others.

Features
ML is a strictly typed language, making use of the Hindley-Milner type system to ensure
type safety. As a result, a well-typed ML program does not cause runtime type errors. ML
syntax and flow control is fundamentally different from C-type languages, so you will not
find trivial mapping between C and ML code.

ML features an automatic memory management system through garbage collection, where


memory is automatically allocated and freed-up by the compiler. Parametric polymorphism
is supported in ML, meaning that you can write a single polymorphic function that can take
a parameter of any compatible type. ML has first class functions and lexical closures,
making it very easy to compose multiple functions, a task that can be very complicated in
imperative programming languages.

ML also supports polymorphic recursive datatypes with pattern matching, and has an
excellent module system centered around structures and signatures. ML primarily uses
eager evaluation, meaning that all subexpressions are always evaluated, while lazy
evaluation can still be achieved through the use of closures.

You might also like