"ഫങ്ഷണൽ പ്രോഗ്രാമിംഗ്" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

No edit summary
No edit summary
വരി 1:
കമ്പ്യൂട്ടർ ശാസ്ത്രത്തിൽ, '''ഫങ്ഷണൽ പ്രോഗ്രാമിംഗ്''' (functional programming)എന്നത് ഒരു പ്രോഗ്രാമിങ് മാതൃകയാണ് - കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകളുടെ ഘടനയും ഘടകങ്ങളും കെട്ടിപ്പടുക്കുന്ന ഒരു ശൈലി. ഇത് ഗണിതശാസ്ത്ര മൂല്യങ്ങളുടെ മൂല്യനിർണ്ണയം എന്ന നിലയിൽ കണക്കുകൂട്ടൽ കണക്കാക്കുകയും മാറ്റം വരുത്തൽ, മാറ്റാവുന്ന ഡാറ്റ ഒഴിവാക്കുകയും ചെയ്യുന്നു. കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകളുടെ ഘടനയും ഘടകങ്ങളും നിർമ്മിക്കാനുള്ള ഒരു ശൈലി അത് കണക്കുകൂട്ടൽ, ഗണിതശാസ്ത്ര മൂല്യങ്ങൾ എന്നിവയുടെ വിലയിരുത്തലായി കണക്കാക്കുന്നു. ഒരു പ്രസ്താവനയുള്ള പ്രോഗ്രാമിങ് മാതൃകയാണ്, പ്രോഗ്രാമുകൾ പ്രസ്താവനയ്ക്ക് പകരം എക്സ്പ്രഷൻ അല്ലെങ്കിൽ ഡിക്ലറേഷൻ<ref name="expression style">{{cite web|url=https://wiki.haskell.org/Declaration_vs._expression_style#Expression_style|title=Declaration vs. expression style - HaskellWiki|publisher=}}</ref> ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു എന്നാണ്. ഫങ്ഷണൽ കോഡ് ഐഡിംപോട്ടന്റ്(idempotent) ആണ്, ഒരു ഫങ്ഷന്റെ ഔട്ട്പുട്ട് മൂല്യം ഫംഗ്ഷനിലേക്ക് പാസാകുന്ന ആർഗ്യുമെന്റുകളിൽ മാത്രമാണ്, അതിനാൽ ഒരു ഫങ്ഷൻ f അതേ മൂല്യത്തോട് കൂടി രണ്ട് വട്ടം വിളിക്കുന്നു ഒരു ആർഗുമെന്റ് x ഓരോ തവണയും ഒരേ ഫലം f (x) നൽകുന്നു. ഇത് ഈ നടപടിക്രമങ്ങളിൽ വ്യത്യസ്തമാണ് ലോക്കൽ അല്ലെങ്കിൽ ഗ്ലോബൽ സ്റ്റേറ്റിനെ ആശ്രയിച്ചിരിക്കുന്നു, ഒരേ വാദഗതികൾക്കൊപ്പം മറ്റൊരു പ്രോഗ്രാം സ്റ്റേറ്റ്മെന്റിനെ വിളിക്കുമ്പോൾ വ്യത്യസ്ത സമയങ്ങളിൽ വ്യത്യസ്ത ഫലങ്ങൾ ഉണ്ടാകാം. പാർശ്വഫലങ്ങൾ നീക്കംചെയ്യൽ, അതായത്, ഫംഗ്ഷൻ ഇൻപുട്ടുകൾക്ക് അനുസൃതമല്ലാത്ത അവസ്ഥയിലുള്ള മാറ്റങ്ങൾ, ഒരു പ്രോഗ്രാമിന്റെ പെരുമാറ്റം മനസിലാക്കാനും പ്രവചിക്കാനും വളരെ എളുപ്പം കഴിയും, ഇത് ഫങ്ഷണൽ പ്രോഗ്രാമിങ്ങ് വികസനത്തിന്റെ പ്രധാന ഉദ്ദേശ്യങ്ങളിലൊന്നാണ്.
 
പ്രവർത്തന പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ഉൽഭവം ലാംഡ കാൽകുലസിൽ നിന്നാണ്, സൂക്ഷ്മപരിശോധന, സൂക്ഷ്മപരിശോധന, ഫങ്ഷൻ ഡെഫനിഷൻ, ഫങ്ഷൻ ആപ്ലിക്കേഷൻ, റിക്കർഷൻ എന്നിവയെക്കുറിച്ച് അന്വേഷിക്കാൻ 1930 കളിൽ വികസിപ്പിച്ച എൻച്ചെഡിംഗ്‌സ് പ്രോബ്ലം (Entscheidungsproblem)എന്ന ഔപചാരിക സിസ്റ്റം വികസിപ്പിച്ചെടുത്തു. നിരവധി പ്രവർത്തന പ്രോഗ്രാമിങ് ഭാഷകൾ ലാംഡ കാൽകുലസിൽ വിപുലീകരിക്കാൻ കഴിയും.
പരക്കെ അറിയപ്പെടുന്ന ഡിക്ലറേറ്റീവ് പ്രോഗ്രാമിങ്, ലോജിക്കൽ പ്രോഗ്രാമിങ് എന്നിവ റിലേഷൻസിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.
==അവലംബം==
"https://ml.wikipedia.org/wiki/ഫങ്ഷണൽ_പ്രോഗ്രാമിംഗ്" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്