elm(프로그래밍 언어)

덤프버전 :



프로그래밍 사이트 선정 프로그래밍 언어 순위 목록

⠀[ IEEE Spectrum 2021 ]⠀
{{{#!wiki style="display: inline-block; margin: 0 0 -5px; min-width: 25%"
⠀[ Stack Overflow 2022 ]⠀
{{{#!wiki style="display: inline-block; margin: 0 0 -5px; min-width: 25%">
⠀[ TIOBE 2023 ]⠀

프로그래밍 언어 목록 · 분류 · 문법

Elm 언어
파일:Elm_logo.svg.png
공식 사이트
https://elm-lang.org
개발자
Evan Czaplicki
개발자 Github
https://github.com/evancz
타입 시스템
Static(정적타입), Strong(강타입),Inferred(추론형)
출시 연도
2012년
1. 개요
2. 관련 링크
3. 관련 문서



1. 개요[편집]


카운터 예제 온라인에서 실행
-- 카운터 예제
module Main exposing (..)


import Browser
import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)

-- MAIN
main =
  Browser.sandbox { init = init, update = update, view = view }

-- MODEL
type alias Model = Int


init : Model
init =
  0

-- UPDATE
type Msg
  = Increment
  | Decrement

update : Msg -> Model -> Model
update msg model =
  case msg of
    Increment ->
      model + 1

    Decrement ->
      model - 1

-- VIEW
view : Model -> Html Msg
view model =
  div []
    [ button [ onClick Decrement ] [ text "-" ]
    , div [] [ text (String.fromInt model) ]
    , button [ onClick Increment ] [ text "+" ]
    ]

Elm은 프론트엔드 개발에 특화된 함수형 언어이다. Elm 컴파일러는 Elm 코드를 Javascript로 변환시켜, Web상에서 실행될 수 있게 한다. 이 점은 Typescript나 Dart언어와 비슷하다. Elm은 Haskell의 영향을 강하게 받은 언어로, 컴파일러 또한 Haskell로 쓰여져있다. Elm은 뛰어난 컴파일러와 강력한 타입시스템에 의하여 원칙적으로 런타임 에러를 일으키지 않는다. 이러한 특성이 Elm의 높은 생산성을 만든다. Elm의 함수는 모두 순수함수로 이루어져 있는데, Elm 컴파일러는 그 사실을 바탕으로 Dead Code Elimination(죽은 코드 제거)를 수행하여 Vue.js, Angular, React에서 빌드했을 때 보다 훨씬 작은 크기의 에셋을 얻을 수 있다.출처

온라인 상으로 코드를 실행시켜 보고 싶다면 여기로.
React의 상태관리에 쓰이는 라이브러리 Redux가, 바로 이 언어(Elm)의 아키텍처에 영감을 받아서 만들어졌다.출처.


2. 관련 링크[편집]



3. 관련 문서[편집]


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-06 03:03:25에 나무위키 elm(프로그래밍 언어) 문서에서 가져왔습니다.