본문 바로가기
반응형

함수형언어3

스칼라(Scala) 기본 문법에 대해서 알아보자 스칼라(Scala)스칼라(Scala)는 2004년 마틴 오더스키(Martin Odersky)에 의해 만들어진 JVM 위에서 돌아가는 또 다른 함수형 언어이다.클로저와 마찬가지로 모든 자바 라이브러리를 사용할 수 있으며, 객체지향과 함수형 패러다임이 절묘하게 결합되어서 주목받고 있다. 함수형 언어의 측면에서 봤을 때는 하스켈과 비슷한 느낌이 나며, 객체 지향의 측면에서는 자바의 냄새가 물씬 풍긴다. 따라서 자바에 익숙한 개발자들이 함수형 언어에 입문하기에 최적이자, 여러분이 실무에서 접할 가능성이 가장 높은 언어이기도 하다. 변수 val와 varval는 변경 불가(Immutable)한 변수를 만들 때 사용var은 변경 가능(Mutable)한 변수를 만들 때 사용val x = 1x = 2error: reas.. 2024. 7. 22.
리스프(LISP) 재귀 함수 구현해보자 리스트(LISP)로 재귀 함수이제 만들어볼 함수는 리스트의 합을 구하는 재귀 함수이다. 리스트는 재귀 함수와 궁합이 잘 맞는다. 재귀 함수가 작동하는 흐름함수의 이름은 sum-of-list로 하고, 길이가 n인 리스트를 입력으로 받아 그 총합을 반환하는 함수를 작성한다.구체적인 입력 인자로 [1, 2, 3]과 같이 세 개의 값으로 구성된 리스트를 생각해 보자.sum-of-list([1,2,3]) = 1 + sum-of-list[2, 3]이다.위의 식을 일반화하면 다음과 같이 된다. sum-of-list = list의 첫 번째 요소 + sum-of-list(첫 번째 요소를 제외한 리스트)종료 조건은 입력 인자가 빈 리스트일 때 0을 반환하면 된다.해당 내용을 코드로 작성해 보자.(defun sum-of-l.. 2024. 7. 16.
리스프(LISP) 기본 문법에 대해서 알아보자 도커(Docker)로 리스프 실행하기 도커(Docker)로 리스프(LISP) 실행하기도커 컨테이너 접속윈도우 시작 탭에서 PowerShell을 관리자 권한으로 실행하자. 먼저, 도커 이미지를 다운로드한다.$ docker pull everypreciousday/functionalbigdata:latest 다운로드한 이미지를 바탕으로  컨jettstream.tistory.com리스프로 함수 정의하기함수형 언어에서 가장 중요한 건 역시 함수다. 리스프에서 함수를 정의할 때는 defun이라는 키워드를 사용한다. (defun 함수_이름    (인자1 인자2...)    "주석"    함수_정의) 함수를 정의할 때도 괄호로 시작하고 괄호로 끝난다. 리스프에서는 예외 없이 모든 것이 괄호로 시작하고 괄호로 끝난다고 .. 2024. 7. 10.