[Hashkell] 하스켈이란? 하스켈 설치방법, 실행방법

Yeji Im·2020년 1월 31일
0

Haskell

목록 보기
1/1

하스켈 이란?

순수한 함수형 프로그래밍 언어이다. 

함수형 프로그래밍 언어는 컴퓨터에게 해야하는 작업을 알려주는 것이 아닌 (명령형 프로그래밍 언어), 작업이 무엇인지를 알려주는 언어이다. 예를 들면 팩토리얼은 1부터 N까지의 숫자를 모두 곱하는 작업이라고 알려주는 것처럼, 이러한 작업들을 함수로 표현할 수 있다. 

함수형 프로그래밍에서는 변수의 값을 변경할  수 없다. 그렇기 때문에, 함수가 하는 일은 주어진 작업을 계산하고 그 결과를 반환하는 일만 하면 된다. 절차형 프로그래밍 언어처럼 변수의 값을 변경할 수 없고, 함수는 결과를 반환하는 일만 하면 되므로 주어진 매개변수가 동일하다면 동일한 결과를 보장하는 특징도 가진다. (=참조 투명성) 

하스켈은 느긋한 언어이다. 이것은 함수의 결과값이 표현되어야 할때까지 함수를 실행하지 않는다는 의미를 가진다. 함수의 결과가 매개변수의 값에만 영향을 받기 때문에, 함수실행을 최대한 미룬다. 

하스켈은 정적인 언어이다. 프로그램을 컴파일 할 때 숫자와 문자에 대한 타입을 알게 된다는 의미이다. 

하스켈은 타입유추가 가능하다. 문자를 String 으로 명시하지 않아도, 타입유추로 인해 하스켈은 이미 해당값의 타입을 알고있다는 의미이다.

하스켈 환경설정

설정하기에 앞서, 혹시라도 아래의 명령어를 실행시킬 수 없는 환경이거나 (컴퓨터가 아닌 패드류에서 실행하는 경우) 그냥 환경설정이 하고싶지 않은 사람들은 이곳에서 손쉽게 하스켈을 실행해 볼 수 있다.

👇🏻 컴퓨터환경 or 환경설정을 하고 싶다면 아래를 참고 하면 된다. 👇🏻

Mac OS 기준, 아래의 명령어를 terminal에서 실행하면 된다. 

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

실행하면, 설치과정중에 interactive 하게 몇가지 질문을 던지는데, 주로 enter를 치거나 YES를 타이핑 하면 된다. 

다른 운영체제를 사용한다면 해당 링크에서 알맞는 운영체제의 설치방법을 따라가면 된다. 

https://www.haskell.org/ghcup/

하스켈 실행방법

터미널에서 ghci 를 입력하면 GHC의 interactive 모드가 실행된다. 혹시라도 디폴트 프롬프트가 나오는 경우라면 (Prelude>), .ghci 란 파일명으로 다음과 같은 내용을 가진 파일을 생성하면 된다. 

:set prompt "ghci>"

interactive 모드에서는 바로바로 함수 연산도 가능하지만, 스크립트 파일을 실행할수도 있다. .hs 라는 확장자를 가진 파일을 컴파일 하려면 다음과 같은 명령어를 사용하면 된다. (확장자가 붙어도 되고 안붙어도 실행된다.) 

ghci> :l 함수파일이름 
ghci> :l 함수파일이름.hs 

여기까지 간단하게 하스켈, 함수형 프로그래밍 언어와 설치,실행방법에 대해 알아보았다. 다음 포스트는 하스켈의 리스트, 함수, 튜플에 대해서 설명하도록 하겠다.

profile
키보드를 좋아하는 개발자입니다

0개의 댓글