Maclisp
Paradigms | Multi-paradigm: functional, procedural, reflective, meta |
---|---|
परिवार | Lisp |
द्वारा डिज़ाइन किया गया | Richard Greenblatt Jon L. White |
Developer | MIT: Project MAC |
पहली प्रस्तुति | July 1966 |
टाइपिंग अनुशासन | dynamic, strong |
कार्यान्वयन भाषा | Assembly language, PL/I |
प्लेटफॉर्म | PDP-6, PDP-10 |
ओएस | Incompatible Timesharing System, TOPS-10, TOPS-20, Multics |
फ़ाइल नाम एक्सटेंशनएस | .lisp, .fasl |
Influenced by | |
Lisp 1.5 | |
Influenced | |
Common Lisp |
Maclisp (या MACLISP, कभी-कभी स्टाइल MacLisp या MacLISP) एक प्रोग्रामिंग भाषा है, भाषा लिस्प (प्रोग्रामिंग भाषा) की एक बोली (कंप्यूटिंग)। यह मैसाचुसेट्स की तकनीकी संस्था (एमआईटी) प्रोजेक्ट मैक में उत्पन्न हुआ[1] (जिससे इसने अपना उपसर्ग प्राप्त किया) 1960 के दशक के अंत में और लिस्प 1.5 पर आधारित था।[2] रिचर्ड ग्रीनब्लाट (प्रोग्रामर) पीडीपी-6 के लिए मूल कोडबेस के मुख्य विकासकर्ता थे;[1]जॉन एल. व्हाइट इसके बाद के रखरखाव और विकास के लिए जिम्मेदार थे। Maclisp नाम का उपयोग 1970 के दशक की शुरुआत में इसे PDP-6 Lisp के अन्य Fork (सॉफ़्टवेयर विकास) से अलग करने के लिए किया जाने लगा, विशेष रूप से BBN Lisp।
इतिहास
Maclisp, Lisp 1.5 का वंशज है।[3] चर (कंप्यूटर विज्ञान) के गतिशील मूल्यों तक पहुँचने और संग्रहीत करने के लिए एक मूल्य सेल का उपयोग करके Maclisp लिस्प 1.5 से प्रस्थान करता है;[4] लिस्प 1.5 ने एक चर के मान को निर्धारित करने के लिए एक संघ सूची की रैखिक खोज का उपयोग किया।[5] Maclisp चर मूल्यांकन तेज है, लेकिन अलग-अलग चर शब्दार्थ हैं। Maclisp ने अधिक पठनीय इनपुट और आउटपुट, जिसे इनपुट/आउटपुट (I/O) कहा जाता है, बनाने के लिए रीडर मैक्रोज़ को भी नियोजित किया। प्रवेश करने के बजाय (QUOTE A)
, कोई प्रवेश कर सकता है 'A
समान एस-अभिव्यक्ति प्राप्त करने के लिए। यद्यपि दोनों कार्यान्वयन संपत्ति सूची पर कार्य करते हैं, Maclo Sp कार्यों को परिभाषित करने के लिए विभिन्न सिंटैक्स का उपयोग करता है।[6] Maclisp में लोड-ऑन-डिमांड सुविधा भी है।[7]
Maclisp डिजिटल उपकरण निगम PDP-6 और PDP-10 कंप्यूटरों पर शुरू हुआ जो असंगत टाइमशेयरिंग सिस्टम (ITS) चला रहे थे; बाद में इसे अन्य सभी PDP-10 ऑपरेटिंग सिस्टम में पोर्ट किया गया, उदाहरण के लिए, टाइमशेयरिंग / टोटल ऑपरेटिंग सिस्टम, TOPS-10 और TOPS-20। मूल कार्यान्वयन असेंबली भाषा में था, लेकिन बाद में मॉलटिक्स पर कार्यान्वयन ने PL/I का उपयोग किया। Maclisp अपने जीवनकाल में काफी विकसित हुआ। प्रमुख विशेषताएं[which?] जोड़े गए जो अन्य भाषा प्रणालियों में आम तौर पर प्रमुख रिलीज नंबरों के अनुरूप होंगे।[dubious ]
Maclisp का उपयोग Macsyma कंप्यूटर बीजगणित प्रणाली (CAS) या प्रतीकात्मक बीजगणित कार्यक्रम को लागू करने के लिए किया गया था। Macsyma के विकास ने कई विशेषताओं को भी संचालित किया[which?] मैकलिस्प में। SHRDLU ब्लॉक-वर्ल्ड प्रोग्राम Maclisp में लिखा गया था, और इसलिए 1980 के दशक की शुरुआत में कृत्रिम बुद्धिमत्ता (AI) अनुसंधान समुदाय में भाषा का व्यापक उपयोग किया गया था। इसका उपयोग योजना (प्रोग्रामिंग भाषा), जैसे योजनाकार (प्रोग्रामिंग भाषा) और स्कीम (प्रोग्रामिंग लैंग्वेज) को लागू करने के लिए भी किया गया था। पहले लिस्प-आधारित Emacs को लागू करने के लिए मल्टिक्स मैक्लिस्प का उपयोग किया गया था।
Maclisp एक प्रभावशाली लिस्प कार्यान्वयन था, लेकिन अब इसे सक्रिय रूप से बनाए नहीं रखा जाता है। यह अब PDP-10 एमुलेटर पर चलता है और शुरुआती AI प्रोग्राम के साथ प्रयोग करने के लिए इस्तेमाल किया जा सकता है।
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(abandoned) | ||||||||||||||
Maclisp | ||||||||||||||
Interlisp | ||||||||||||||
MDL | ||||||||||||||
Lisp Machine Lisp | ||||||||||||||
Scheme | R5RS | R6RS | R7RS small | |||||||||||
NIL | ||||||||||||||
ZIL (Zork Implementation Language) | ||||||||||||||
Franz Lisp | ||||||||||||||
Common Lisp | ANSI standard | |||||||||||||
Le Lisp | ||||||||||||||
MIT Scheme | ||||||||||||||
T | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
Gambit | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
PLT Scheme | Racket | |||||||||||||
GNU Guile | ||||||||||||||
Visual LISP | ||||||||||||||
Clojure | ||||||||||||||
Arc | ||||||||||||||
LFE | ||||||||||||||
Hy |
विशेषताएं
Maclisp डेटा प्रकारों की एक छोटी, निश्चित संख्या के साथ शुरू हुआ: दोष सेल, एटम (जिसे बाद में प्रतीक कहा गया), पूर्णांक, और फ़्लोटिंग-पॉइंट अंकगणित | फ़्लोटिंग-पॉइंट नंबर। बाद के परिवर्धन में शामिल हैं: ऐरे डेटा प्रकार, जो कभी भी प्रथम श्रेणी के डेटा प्रकार नहीं थे; मनमाना-सटीक अंकगणित|मनमाना-सटीक पूर्णांक (बिग्नम); स्ट्रिंग (कंप्यूटर विज्ञान); और टुपल्स। सभी वस्तुओं (इनम्स को छोड़कर) को सूचक (कंप्यूटर प्रोग्रामिंग) के रूप में लागू किया गया था, और उनके डेटा प्रकार को मेमोरी के ब्लॉक द्वारा निर्धारित किया गया था, जिसमें छोटी संख्या (इनम्स) के लिए एक विशेष मामला था।
प्रोग्राम व्याख्या की गई भाषा या संकलक हो सकते हैं। संकलित व्यवहार व्याख्या के समान था, सिवाय इसके कि स्थानीय चर संकलित कोड में डिफ़ॉल्ट रूप से व्याख्यात्मक थे, जब तक कि विशेष घोषित नहीं किया गया हो,[8] और सीएआर और सीडीआर जैसे इनलाइन परिचालनों के लिए कोई त्रुटि जांच नहीं की गई थी। Ncomplr कंपाइलर (1970 के दशक के मध्य) ने डेटा प्रकार पर भेजे जाने वाले व्याख्यात्मक रूटीन को कॉल करने के बजाय अंकगणित के लिए मशीन कोड (निर्देश) उत्पन्न करते हुए, लिस्प भाषाओं के लिए तेज़ संख्यात्मक समर्थन पेश किया। इसने लिस्प अंकगणित को स्केलर ऑपरेशंस के लिए फोरट्रान की गति के बराबर बना दिया (हालांकि फोरट्रान सरणी और लूप कार्यान्वयन बहुत तेज रहा)।
मूल संस्करण PDP-10 के 18-बिट वर्ड स्मृति पता द्वारा सीमित था, और कार्यान्वयन को सरल और सरल बनाए रखने के लिए काफी प्रयास किए गए थे। मल्टिक्स मैक्लिस्प के पास पता स्थान बहुत बड़ा था, लेकिन उपयोग करना महंगा था। जब पीडीपी-10 की स्मृति और प्रसंस्करण शक्ति पार हो गई थी, तो लिस्प मशीन का आविष्कार किया गया था: लिस्प मशीन लिस्प मैकलिस्प का प्रत्यक्ष वंशज है। कई अन्य लिस्प (प्रोग्रामिंग लैंग्वेज) बोलियां भी उपयोग में थीं, और समुदाय को एकजुट करने की आवश्यकता के परिणामस्वरूप आधुनिक सामान्य लिस्प भाषा का निर्माण हुआ।
नाम
Maclisp को प्रोजेक्ट MAC के लिए नामित किया गया था, और यह Apple के Macintosh (Mac) कंप्यूटर से संबंधित नहीं है, जो इसे दशकों या जॉन मैककार्थी (कंप्यूटर वैज्ञानिक) से पहले का है। Macintosh के लिए विभिन्न लिस्प प्रणालियों में Maclisp से कोई विशेष समानता नहीं है।[9]
संदर्भ
- ↑ 1.0 1.1 Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2.
- ↑ Project MAC Progress Report IV: July 1966 to July 1967 (PDF) (Report). n.d. p. 19. Archived from the original (PDF) on March 8, 2016.
The higher-level language used for most of the vision laboratory program is the PDP-6 LISP System. This system is based chiefly on the LISP 1.5 programming language, but has been extensively modified in a number of ways. These include many new functions and services, including facilities for linking with programs written in other languages.
- ↑ Moon 1974, p. 1
- ↑ Moon 1974, p. 47
- ↑ Lisp 1.5 p. 13, evaluating an atom
e
in the environmenta
is done with(cdr (assoc e a))
. That involves a linear search of the association lista
. A more involved description with global constants and errors is given on p. 71; it does a linear search of the property list before searching the association list. - ↑ Maclisp uses
defun
; Lisp 1.5 usesdefine
. - ↑ Moon 1974, p. 107; the
autoload
property. - ↑ Pitman, Kent (December 16, 2007). "The Revised Maclisp Manual (The Pitmanual), Sunday Morning Edition". maclisp.info. HyperMeta, Inc. Declarations and the Compiler, Concept "Variables". Retrieved October 20, 2018.
If the variable to be bound has been declared to be special, the binding is compiled as code to imitate the way the interpreter binds variables.
- ↑ Pitman, Kent (December 16, 2007). "The Revised Maclisp Manual (The Pitmanual), Sunday Morning Edition". maclisp.info. HyperMeta Inc. p. 1 FAQ q1. Retrieved October 20, 2018.
Project MAC had nothing to do with the Apple "Mac". And neither did MACLISP.
बाहरी संबंध
- http://www.softwarepreservation.org/projects/LISP/maclisp_family/ contains a bibliography of Maclisp.
- John L. White. An Interim LISP User's Guide. Artificial Intelligence Memo No. 190, Project MAC, Massachusetts Institute of Technology, March 1970, 87 pages. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-190.pdf states "'MACLISP' refers to the PDP/6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC."
- "In 1973 and 1974, David A. Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics. As a part of this project he wrote the first truly comprehensive reference manual for Maclisp, which became familiarly known as the 'Moonual'." [Steele and Gabriel 1993]
- Jon L. White [JONL], Eric Rosen [ECR], Richard M. Stallman [RMS], Guy L. Steele Jr. [GLS], Howard I. Cannon [HIC], Bob Kerns [RWK]. LISP News. MacLisp release notes.
- Jon L. White. LISP: Program is Data: A Historical Perspective on MacLISP. Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office (Washington, D.C., July 1977), pages 181–189. PDF
- McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Levin, Michael I. (1985) [1962]. LISP 1.5 Programmer's Manual (2nd ed.). MIT Press. ISBN 0-262-13011-4.
- Moon, David (1974). Maclisp Reference Manual (PDF). Archived (PDF) from the original on 2011-10-05.
- The Revised Maclisp Manual (1983) by Kent Pitman
- The Multics MACLISP compiler (1977) by Bernard Greenberg
- Templates that generate short descriptions
- All articles with specifically marked weasel-worded phrases
- Articles with specifically marked weasel-worded phrases from March 2016
- All accuracy disputes
- Articles with disputed statements from March 2016
- Collapse templates
- Navigational boxes
- Navigational boxes without horizontal lists
- Sidebars with styles needing conversion
- Templates generating microformats
- Templates that are not mobile friendly
- Wikipedia metatemplates
- लिस्प प्रोग्रामिंग भाषा परिवार
- लिस्प (प्रोग्रामिंग भाषा)
- मल्टिक्स सॉफ्टवेयर
- Machine Translated Page
- Created On 19/02/2023