സ്കീം (പ്രോഗ്രാമിങ് ഭാഷ)

പ്രോഗ്രാമിങ് ഭാഷ
(Scheme (programming language) എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)


ലിസ്പ് പ്രോഗ്രാമിങ്ങ് ഭാഷയുടെ രണ്ട് ഭാഷഭേദങ്ങളിലൊന്നാണ് സ്കീം, കോമൺ ലിസ്പ് ആണ് മറ്റൊന്ന്. സ്കീം ഫംങ്ഷണൽ പ്രോഗ്രാമിങ്ങ് ഭാഷകളുടെ ഗണത്തിൽ പെടുന്നു.ഭാഷാ വിപുലീകരണത്തിനായുള്ള ശക്തമായ ഉപകരണങ്ങളുള്ള ഒരു ചെറിയ സ്റ്റാൻഡേർഡ് കോർ സ്കീമിൽ അടങ്ങിയിരിക്കുന്നു.[1]

Scheme
ശൈലി:multi-paradigm: functional, procedural, meta
പുറത്തുവന്ന വർഷം:1975
രൂപകൽപ്പന ചെയ്തത്:Guy L. Steele and Gerald Jay Sussman
ഡാറ്റാടൈപ്പ് ചിട്ട:strong, dynamic
പ്രധാന രൂപങ്ങൾ:Many. See Category:Scheme implementations
വകഭേദങ്ങൾ:T
സ്വാധീനിച്ചത്:Clojure, Common Lisp, Dylan, EuLisp, Haskell, Hop, JavaScript, Kernel, Lua, R, Racket, Ruby

ഗൈ എൽ. സ്റ്റീൽ, ജെറാൾഡ് ജെയ് സുസ്മാൻ, ഇപ്പോൾ ലാംഡ പേപ്പറുകൾ എന്നറിയപ്പെടുന്ന മെമ്മോകളുടെ ഒരു പരമ്പരയിലൂടെ 1970 കളിൽ എംഐറ്റി എഐ(MIT AI) ലാബിൽ സ്കീം സൃഷ്ടിക്കുകയും അതിന്റെ ഡവലപ്പർമാർ പുറത്തിറക്കുകയും ചെയ്തു, ലിസ്പ് പ്രോഗ്രാമിങ്ങ് ഭാഷാകുടുംബത്തിന്റെ പല സവിശേഷതകളും സ്കീമിൽ കാണാം. ലെക്സിക്കൽ സ്കോപ്പ് തിരഞ്ഞെടുത്ത ലിസ്പിന്റെ ആദ്യ ഭാഷയും ടെയിൽ-കോൾ ഒപ്റ്റിമൈസേഷൻ നടപ്പിലാക്കുന്നതിനായി നടപ്പാക്കലുകൾ ആവശ്യപ്പെടുന്ന ആദ്യത്തേതുമായിരുന്നു ഇത്, ഫംഗ്ഷണൽ പ്രോഗ്രാമിംഗിനും ആവർത്തിച്ചുള്ള അൽഗോരിതം പോലുള്ള അനുബന്ധ സാങ്കേതിക വിദ്യകൾക്കും ശക്തമായ പിന്തുണ നൽകുന്നു. ഫസ്റ്റ് ക്ലാസ് തുടർച്ചകളെ പിന്തുണയ്ക്കുന്ന ആദ്യത്തെ പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ ഒന്നാണിത്. കോമൺ ലിസ്പിന്റെ വികാസത്തിലേക്ക് നയിച്ച പരിശ്രമങ്ങൾക്ക് ഇത് കാര്യമായ സ്വാധീനം ചെലുത്തി.[2]

സ്കീം ഭാഷ ഔദ്യോഗിക ഐ‌ഇ‌ഇ‌ഇ സ്റ്റാൻ‌ഡേർഡിലാണ് സ്റ്റാൻ‌ഡേർ‌ഡ് ചെയ്തിരിക്കുന്നത് [3] കൂടാതെ അൽ‌ഗോരിത്മിക് ലാംഗ്വേജ് സ്കീമിനെക്കുറിച്ചുള്ള പുതുക്കിയ റിപ്പോർട്ട് (RnRS) എന്നറിയപ്പെടുന്ന ഒരു യഥാർത്ഥ സ്റ്റാൻ‌ഡേർഡും ഉണ്ട്. ഏറ്റവും വ്യാപകമായി നടപ്പിലാക്കിയ മാനദണ്ഡം ആർ5ആർഎസ്(R5RS) (1998) ആണ്.[4] ഏറ്റവും പുതിയ സ്റ്റാൻ‌ഡേർഡ്, ആർ7ആർഎസ്(R7RS), [5] സ്കീം ഭാഷയുടെ "ചെറിയ", "വലിയ" പതിപ്പുകൾ നൽകുന്നു; "ചെറിയ" ഭാഷാ നിലവാരം 2013 ൽ അംഗീകരിച്ചു. [6] സ്കീമിന് അതിന്റെ വൈവിധ്യവും ചാരുതയും കാരണം വൈവിധ്യമാർന്ന ഉപയോക്തൃ അടിത്തറയുണ്ട്, എന്നാൽ അതിന്റെ മിനിമലിസ്റ്റ് തത്ത്വചിന്ത പ്രായോഗിക നടപ്പാക്കലുകൾക്കിടയിൽ വലിയ വ്യതിചലനത്തിന് കാരണമായിട്ടുണ്ട്, സ്കീം സ്റ്റിയറിംഗ് കമ്മിറ്റി ഇതിനെ "ലോകത്തിലെ ഏറ്റവും അപ്രാപ്യമായ പ്രോഗ്രാമിംഗ് ഭാഷ" എന്നും "പ്രാദേശിക ഭാഷകളുടെ കുടുംബം" എന്നും വിളിക്കുന്നു.[7]

കോമൺ ലിസ്പിൽ നിന്ന് വ്യത്യസ്തമായി ഒരു ലഘു രൂപകൽപനാ തത്ത്വശാസ്ത്രം പിന്തുടരുന്ന പ്രോഗ്രാമിങ് ഭാഷയാണ് സ്കീം. ഇതിനായി ചെറിയ ഒരു കോറും ശക്തിമത്തായ ഉപകരണങ്ങളുമാണ് സ്കീമിലുള്ളത്. സ്കീമിന്റെ വിശാലതയും കഴിവുകളും പ്രോഗ്രാമിംഗ് അധ്യാപകർ, ഭാഷകൾ രൂപകൽപന ചെയ്യുന്നവർ, പ്രോഗ്രാമ്മർമാർ, നിർവ്വാഹകർ, വിനോദത്തിനുവേണ്ടി പ്രോഗ്രാമിങ് ചെയ്യുന്നവർ എന്നിവർക്കിടയിൽ പ്രശസ്തമാക്കി.

ചരിത്രം

തിരുത്തുക

കാൾ ഹെവിറ്റിന്റെ ആക്ടർ മോഡലിനെ മനസിലാക്കാനുള്ള ശ്രമമായാണ് 1970 കളിൽ ഈ പദ്ധതി ആരംഭിച്ചത്, ഇതിനായി സ്റ്റീലും സുസ്മാനും മാക്ലിസ്പ് ഉപയോഗിച്ച് ഒരു ചെറിയ ലിസ്പ് ഇന്റർപ്രെറ്റർ എഴുതി, തുടർന്ന് "ആക്ടേഴ്സിനെ സൃഷ്ടിക്കുന്നതിനും സന്ദേശങ്ങൾ അയയ്ക്കുന്നതിനുമുള്ള സംവിധാനങ്ങൾ ചേർത്തു".[8]

  1. "The Scheme Programming Language". MIT.
  2. Common LISP: The Language, 2nd Ed., Guy L. Steele Jr. Digital Press; 1981. ISBN 978-1-55558-041-4. "Common Lisp is a new dialect of Lisp, a successor to MacLisp, influenced strongly by ZetaLisp and to some extent by Scheme and InterLisp."
  3. 1178-1990 (Reaff 2008) IEEE Standard for the Scheme Programming Language. IEEE part number STDPD14209, unanimously reaffirmed Archived 2010-07-06 at the Wayback Machine. at a meeting of the IEEE-SA Standards Board Standards Review Committee (RevCom), March 26, 2008 (item 6.3 on minutes), reaffirmation minutes accessed October 2009. NOTE: this document is only available for purchase from IEEE and is not available online at the time of writing (2009).
  4. Richard Kelsey; William Clinger; Jonathan Rees; et al. (August 1998). "Revised5 Report on the Algorithmic Language Scheme". Higher-Order and Symbolic Computation. 11 (1): 7–105. doi:10.1023/A:1010051815785. Retrieved 2012-08-09.
  5. Shinn, Alex; Cowan, John; Gleckler, Arthur (July 2013). "Revised7 Report on the Algorithmic Language Scheme (R7RS)". Retrieved 2020-11-08.
  6. "R7RS final available" (PDF). 2013-07-06.
  7. Will Clinger, Marc Feeley, Chris Hanson, Jonathan Rees and Olin Shivers (2009-08-20). "Position Statement (draft)". Scheme Steering Committee. Archived from the original on 2009-08-26. Retrieved 2012-08-09.{{cite web}}: CS1 maint: multiple names: authors list (link)
  8. Gerald Jay Sussman and Guy L. Steele, Jr. (December 1998). "The First Report on Scheme Revisited" (PDF). Higher-Order and Symbolic Computation. 11 (4): 399–404. doi:10.1023/A:1010079421970. ISSN 1388-3690. Archived from the original (PDF) on 2006-06-15. Retrieved 2012-08-09.