Miranda (programming language): Difference between revisions

Content deleted Content added
PeterSk (talk | contribs)
mNo edit summary
Add external links to the current source code for Miranda and a large example of a Miranda program
 
(18 intermediate revisions by 13 users not shown)
Line 1:
{{Short description|Programming language by David Turner}}
{{More footnotes needed|date=September 2016}}
{{Infobox programming language
| name = Miranda
| logo = [[File:Miranda logo (programming language).jpg]]
| logo caption =
| screenshot =
Line 12 ⟶ 13:
| developer = Research Software Ltd
| released = {{Start date and age|1985}}
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = <!-- {{start date and age|yyyy{{wikidata|mmqualifier|ddP348|P577}}}} -->
| latest preview version =
| latest preview date = <!-- {{start date and age|yyyy|mm|dd}} -->
Line 24 ⟶ 25:
| platform =
| operating system =
| license = {{wikidata|property|edit|reference|P275}}
| website = {{URL|miranda.org.uk}}
| wikibooks =
}}
'''Miranda''' is a [[lazy evaluation|lazy]], [[functional programming|purely functional]] [[programming language]] designed by [[David Turner (computer scientist)|David Turner]] as a successor to his earlier programming languages [[SASL programming language|SASL]] and [[Kent Recursive Calculator|KRC]], using some concepts from [[ML (programming language)|ML]] and [[Hope (programming language)|Hope]]. It was produced by Research Software Ltd. of England (which holds a trademark on the name ''Miranda'')<ref>{{Cite book|last=Turner|first=D. A.|title=Functional Programming Languages and Computer Architecture |chapter=Miranda: A non-strict functional language with polymorphic types |date=September 1985|editor-last=Jouannaud|editor-first=Jean-Pierre|chapter-url=https://linkwww.springercs.comkent.ac.uk/chapterpeople/10staff/dat/miranda/nancypaper.1007%2F3-540-15975-4_26pdf|series=Lecture Notes in Computer Science|volume=201 |language=en|___location=Berlin, Heidelberg|publisher=Springer|pages=1–16|doi=10.1007/3-540-15975-4_26|isbn=978-3-540-39677-2}}</ref> and was the first purely functional language to be commercially supported.{{citation needed|date=November 2016}}
 
Miranda was first released in 1985 as a fast interpreter in [[C (programming language)|C]] for [[Unix]]-flavour operating systems, with subsequent releases in 1987 and 1989. It had a strong influence on the later [[Haskell]] language.<ref>{{Cite book|last1=Hudak|first1=Paul|last2=Hughes|first2=John|last3=Peyton Jones|first3=Simon|last4=Wadler|first4=Philip|title=Proceedings of the third ACM SIGPLAN conference on History of programming languages |chapter=A history of Haskell: Being lazy with class |date=2007-06-09|chapter-url=http://dx.doi.org/10.1145/1238844.1238856|___location=New York, NY, USA|publisher=ACM|doi=10.1145/1238844.1238856|isbn=9781595937667 |s2cid=52847907 }}</ref> Turner stated that the benefits of Miranda over Haskell are: "Smaller language, simpler type system, simpler arithmetic".<ref name=opensourcing/>
 
In 2020 a version of Miranda was released as open source under a [[BSD 2-Clause|BSD licence]]. The code has been updated to conform to modern C standards ([[C11 (C standard revision)|C11]]/[[C18 (C standard revision)|C18]]) and to generate 64-bit binaries. This has been tested on operating systems including [[Debian]], [[Ubuntu]], [[Windows Subsystem for Linux|WSL]]/Ubuntu, and [[macOS]] ([[macOS Catalina|Catalina]]).<ref name=opensourcing>{{Cite web|last=Turner|first=David|date=2021-03-22|title=Open Sourcing Miranda|url=http://codesync.global/media/open-sourcing-miranda-david-turner-code-mesh-v-2020-codemeshv2020/|access-date=2021-12-30|website=Code Sync|language=en|publication-place=London|publication-date=November 2020}}</ref><ref>{{Cite web|title=Miranda download page|url=https://www.cs.kent.ac.uk/people/staff/dat/miranda/downloads/|access-date=2021-12-30|website=www.cs.kent.ac.uk}}</ref>
 
== Name ==
[[File:Miranda - The Tempest JWW.jpg|thumb|right|''Miranda'' by John William Waterhouse, 1917]]
The name ''Miranda'' is taken from the gerundive form of the latin verb {{lang|la|[[:wikt:miror|miror]]}},<ref>{{cite web |url=https://www.cs.kent.ac.uk/people/staff/dat/miranda/name.html |title=About the name Miranda |access-date=2024-05-18}}</ref> meaning "to be admired".
 
The logo features a rendition by [[John William Waterhouse]] of the character [[Miranda (The Tempest)|Miranda]] from Shakespeare's ''The Tempest''.
 
== Overview ==
Line 273 ⟶ 280:
 
==External links==
* {{Official website}}
* [https://codeberg.org/DATurner/miranda The currently maintained open source version] of Professor Turner's interpreter for Miranda.
* [http://bignum.sf.net The infinite precision math library], a large example of programming in Miranda (and Haskell).
 
{{Programming language}}