എൽമ് (പ്രോഗ്രാമിംഗ് ഭാഷ)

പ്രോഗ്രാമിങ് ഭാഷ

വെബ് ബ്രൗസർ അധിഷ്ഠിത ഗ്രാഫിക്കൽ യൂസർ ഇന്റർഫേസുകൾ പ്രഖ്യാപിക്കുന്നതിനായി ഡൊമെയ്ൻ നിർദ്ദിഷ്ട പ്രോഗ്രാമിംഗ് ഭാഷയാണ് എൽമ്. എൽമ് പൂർണ്ണമായും പ്രവർത്തനക്ഷമമാണ്, ഇത് ഉപയോഗക്ഷമത, പ്രകടനം, കരുത്ത് എന്നിവയ്ക്ക് ഊന്നൽ നൽകിയാണ് വികസിപ്പിച്ചിരിക്കുന്നത്. ഇത് "പ്രായോഗികമായി[4]റൺടൈം ഒഴിവാക്കലുകളൊന്നുമില്ല" എന്ന് പരസ്യപ്പെടുത്തുന്നു, ഇത് എൽമ് കംപൈലറിന്റെ സ്റ്റാറ്റിക് തരം പരിശോധനയിലൂടെ സാധ്യമാക്കി.

Elm
The Elm tangram
ശൈലി:Functional
രൂപകൽപ്പന ചെയ്തത്:Evan Czaplicki
ഡാറ്റാടൈപ്പ് ചിട്ട:Static, Strong, Inferred
സ്വാധീനിക്കപ്പെട്ടത്:Haskell, Standard ML, OCaml, F#
സ്വാധീനിച്ചത്:Redux,[1] Vue.js[2]
അനുവാദപത്രം:Permissive (Revised BSD)[3]
വെബ് വിലാസം:elm-lang.org വിക്കിഡാറ്റയിൽ തിരുത്തുക

ചരിത്രം

തിരുത്തുക

2012 ൽ ഇവാൻ സാപ്ലിക്കി തന്റെ പ്രബന്ധമായി എൽമിനെ രൂപകൽപ്പന ചെയ്തിരുന്നു.[5] എൽമിന്റെ ആദ്യ പ്രകാശനം നിരവധി ഉദാഹരണങ്ങളും ഒരു ഓൺലൈൻ എഡിറ്ററും ഉപയോഗിച്ച് ഒരു വെബ് ബ്രൗസറിൽ പരീക്ഷിക്കുന്നത് എളുപ്പമാക്കി. എൽമിൽ ജോലി ചെയ്യുന്നതിനായി ഇവാൻ സാപ്ലിക്കി 2013 ൽ പ്രെസിയിൽ ചേർന്നു, 2016 ൽ ഒരു ഓപ്പൺ സോഴ്‌സ് എഞ്ചിനീയറായി നോറെഡ്ഇങ്കിലേക്ക് മാറി, എൽമ് സോഫ്റ്റ്‌വേർ ഫൗണ്ടേഷനും ആരംഭിച്ചു.[6]

എൽമ് കംപൈലറിന്റെ പ്രാരംഭ നടപ്പാക്കൽ എച്.ടി.എം.എൽ., സിഎസ്എസ്, ജാവാസ്ക്രിപ്റ്റ് എന്നിവ ടാർഗെറ്റുചെയ്യുന്നു.[7] ഒരു റിപെൽ(REPL), പാക്കേജ് മാനേജർ, സമയ-യാത്രാ ഡീബഗ്ഗർ, മാക്, വിൻഡോസ് എന്നിവയ്‌ക്കായുള്ള ഇൻസ്റ്റാളറുകൾ ഉൾപ്പെടെ പ്രധാന ഉപകരണങ്ങളുടെ കൂട്ടം വിപുലീകരിക്കുന്നു. കമ്മ്യൂണിറ്റി സൃഷ്ടിച്ച ലൈബ്രറികളുടെ ഒരു ഇക്കോസിസ്റ്റവും കമ്മ്യൂണിറ്റി ലൈബ്രറികൾ സംരക്ഷിക്കാനും സംരക്ഷിക്കാനും അനുവദിക്കുന്ന ഒരു നൂതന ഓൺലൈൻ എഡിറ്ററും എൽമിനുണ്ട്.[8]

സവിശേഷതകൾ

തിരുത്തുക

പരമ്പരാഗത ഇഫ്-എക്‌സ്‌പ്രഷനുകൾ, ലോക്കൽ സ്റ്റേറ്റിനായുള്ള ലെറ്റ്-എക്‌സ്‌പ്രഷനുകൾ, പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിനുള്ള കേസ്-എക്‌സ്‌പ്രഷനുകൾ എന്നിവയുൾപ്പെടെ ചെറുതും എന്നാൽ പ്രകടിപ്പിക്കുന്നതുമായ ഭാഷാ നിർമ്മിതികളാണ് എൽമിനുള്ളത്.[9] ഒരു ഫംഗ്ഷണൽ ഭാഷയെന്ന നിലയിൽ, ഇത് അജ്ഞാത ഫംഗ്ഷനുകൾ, ആർഗ്യുമെന്റുകളായി ഫംഗ്ഷനുകൾ, സ്ഥിരമായി ഭാഗിക ആപ്ലിക്കേഷൻ (കറിംഗ്) എന്നിവ പിന്തുണയ്ക്കുന്നു. മാറ്റമില്ലാത്ത മൂല്യങ്ങൾ, സ്റ്റേറ്റ്ലെസ്സ് ഫംഗ്ഷനുകൾ, തരം അനുമാനത്തോടുകൂടിയ സ്റ്റാറ്റിക് ടൈപ്പിംഗ് എന്നിവ ഇതിന്റെ അർത്ഥത്തിൽ ഉൾപ്പെടുന്നു. എൽമ് പ്രോഗ്രാമുകൾ ഒരു വെർച്വൽ ഡോം(DOM) വഴി എച്ടിഎംഎൽ റെൻഡർ ചെയ്യുന്നു, കൂടാതെ "ജാവസ്ക്രിപ്റ്റ് ഒരു സേവനമായി" ഉപയോഗിച്ച് മറ്റ് കോഡുകളുമായി ഇടപഴകാം.

  1. "Prior Art - Redux". redux.js.org.
  2. "Comparison with Other Frameworks — Vue.js".
  3. "elm/compiler". GitHub.
  4. "Elm home page".
  5. "Elm: Concurrent FRP for Functional GUIs" (PDF).
  6. "new adventures for elm". elm-lang.org.
  7. "elm/compiler". GitHub.
  8. "Ellie, the Elm Live Editor".
  9. "syntax". elm-lang.org. Archived from the original on 2016-03-13. Retrieved 2019-10-25.