간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (25,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (21,600원)
(최대할인 4만원 / 2만원 이상 결제)
Close

하스켈로 배우는 함수형 프로그래밍

원제 : プログラミング 入門
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 29
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(10)

출판사 서평

함수형 프로그래밍의 에센스를 엄선하여 해설한다!
간결하고 올바른 코드 작성법을 배운다!
함수형 언어의 설계 방법과 사고방식, 그리고 다른 언어와의 비교 및 대조!


주요 명령형 언어의 최근 버전들은 함수형 프로그래밍의 핵심 요소들을 채택하고 있다. 사용 중인 언어의 새로운 기능을 제대로 활용하기 위해서 함수형 프로그래밍에 대한 학습이 선택이 아닌 필수가 되어 가고 있다. 그러나 함수형 프로그래밍의 사고방식은 잘 알려진 구조적 프로그래밍이나 객체지향 프로그래밍과는 크게 다른 면이 있어서 작성 방법을 알더라도 생각이 뒤따르지 않으면 그리 간단히 작성할 수 없는 것이 사실이다.

이 책은 함수형 언어인 하스켈(Haskell)의 최신 버전을 사용하면서 현업의 실무자들을 위해 자
바 8, C++ 11, C, 자바스크립트, 루비 등의 각종 명령형 언어와의 차이를 설명하고, 언어마다
새로운 기능의 활용 방법과 주의점 등을 풍부하게 포함하였다. 또한, 하향식 사고법과 언어의
장점을 활용하는 기법도 단계적으로 소개한다. 부디 엔지니어 여러분에게 함수형 언어로 명령
형 언어를 활용할 수 있는 실용적인 책이 되기를 바란다.

이 책의 대상 독자
간결한 코드를 작성하고 싶은 분
안전하고 버그 없는 올바른 코드를 설계하고 구현하고자 하는 분
자바나 C++ 등 주요 명령형 언어의 새로운 기능과 함수형 언어와의 관계에 관심 있는 분

목차

Chapter 0 [입문] 함수형 프로그래밍 - "함수"의 세계
0.1 함수형 프로그래밍, 그 전에 - 실용 프로그램에서 활용하는 강점 알기
0.2 함수란 무엇인가- - 명령형 언어의 함수와 무엇이 다른가-
0.3 함수형 프로그래밍이란 무엇인가- - "프로그램이란 함수다"라는 관점
0.4 함수형 언어란- - 함수가 1급(first class) 대상이다- 대입이 없다-
0.5 함수형 언어의 특징적인 기능 - 타입의 유무, 정적/동적, 강약
0.6 왜 지금 함수형 언어인가- - 추상화, 최적화, 병행/병렬화
0.7 함수형 언어와 함수형 프로그래밍의 관계 - 강력한 성과를 끌어내기 위해서는 어떻게 하면 좋은가-
0.8 함수형 언어의 역사 - 과거를 알고 미래 탐구하기
0.9 함수형 언어를 채용하는 장점 - 선언적일 것, 제약의 충족 체크, 타입과 타입 검사, 타입 추론
0.10 이 책에서 다루는 함수형 언어 - Haskell의 특징, 구현, 환경 구축
0.11 정리

Chapter 1 [비교를 통해 발견하기] 함수형 프로그래밍 - C/C++, JavaScript, Ruby 그리고 Haskell
1.1 좌표 변환 - 부품 조합하기
1.2 NULL considered harmful - 10억 달러 단위의 실수
1.3 소수를 세기 - 올바른 병렬화와 그 사양 변경 대응
1.4 구조화 데이터의 취급 - Visitor 패턴
1.5 문자열의 이스케이프 - 타입에 성질 갖게 하기
1.6 정리

Chapter 2 타입과 값 - "타입"은 기본 중의 기본
2.1 Prelude - 기본 모듈
2.2 값 - 조작의 대상
2.3 변수 - 값의 추상화
2.4 타입 - 값의 성질
2.5 타입 정의하기 - 취급하는 성질의 결정
2.6 타입 클래스 - 타입에 공통된 성질
2.7 정리

Chapter 3 함수 - 함수 적용, 함수 합성, 함수 정의, 재귀 함수, 고차 함수
3.1 함수 만들기 - 기존의 함수로부터 만들기, 직접 새로운 함수 정의하기
3.2 함수 적용 - 기존 함수의 인수에 값 부여하기
3.3 함수 합성 - 기존의 함수 연결하기
3.4 Haskell의 소스 파일 - 소스 파일에 함수를 정의하여 GHCi에서 읽어 보기
3.5 함수 정의 - 패턴 매치와 가드
3.6 재귀 함수 - 반복적인 행동을 정의하는 함수
3.7 고차 함수 - 결과가 함수가 되는 함수, 인수로서 함수를 요구하는 함수
3.8 정리

Chapter 4 평가 전략 - 지연 평가와 적극 평가
4.1 지연 평가를 살펴보자 - 유효하게 이용할 수 있는 예로부터 확실히 배우기
4.2 평가 전략 - 지연 평가와 적극 평가의 구조, 장점 및 단점
4.3 평가 제어하기 - 성능 튜닝을 위해서
4.4 정리 275

Chapter 5 모나드 - 문맥을 지닌 계산을 다루기 위한 장치
5.1 타입 클래스를 다시 한 번 살펴보기 - 직접 만든다는 관점으로
5.2 모나드의 사용법 - 문맥을 잘 취급하기 위한 타입 클래스 인터페이스
5.3 여러 가지 모나드 - Identity, Maybe, 리스트, Reader, Writer, State, IO
5.4 다른 언어에 있어서의 모나드 - 모나드나 이와 유사한 기능의 서포트 상황
5.5 Haskell 프로그램의 컴파일 - 컴파일해서 Hello, World!
5.6 정리

Chapter 6 추천하는 개발/설계 테크닉 - "함수형/Haskell식"의 프로그램 설계/구현, 사고
6.1 동작 결정하기 - 테스트를 작성하자
6.2 하향식으로 생각하기 - 문제를 큰 틀에서 파악하고 작은 문제로 분할해 나가기
6.3 제약 설계하기 - 타입에 제약 갖게 하기
6.4 적절한 처리를 선택하게 하기 - 타입과 타입 클래스를 적절하게 이용하여 타입에 제약 기억시키기
6.5 보다 복잡한 제어 부여하기 - 매우 강력한 로직 퍼즐의 예
6.6 정리

Chapter 7 Haskell에 의한 제품 개발의 길 - 패키지와의 교제
7.1 패키지의 이용 - 패키지 시스템 Cabal
7.2 패키지의 작성 - 우선은 패키징해 두자
7.3 조직 내 개발 패키지의 취급 - 이런저런 궁리
7.4 이용할 패키지의 선정 - 의존 관계 지옥, 선정의 지침
7.5 의존 패키지의 버전 컨트롤 - 패키지별로 어떤 버전을 선택할 것인가-
7.6 버전 간의 차이 흡수 - 버전 간 변경점을 검출하는 것부터
7.7 정리

APPENDIX 부록
A.1 함수형 언어를 사용하는 프로그래밍 콘테스트 사이트 - 게임 감각으로 도전
A.2 읽어 둘 만한 참고문헌 - 더 깊은 세계로.

찾아보기

본문중에서

함수형 프로그래밍에서 "함수"란 무엇일까? 명령형 언어에서 함수는 특정 명령/절차의 나열에 붙은 라벨에 지나지 않는다. 이에 반해 함수형 프로그래밍에서 함수는 "주어진 입력 값만으로 단지 하나의 출력되는 값을 결정하는 규칙"이라는 수학적 의미의 함수다. 예를 들어, 다음의 say.cpp의 say는 함수형 프로그래밍의 함수가 아니다.
(/ p.6)

함수형 언어는 명령형 언어와의 비교에서도 언급했듯이 파괴적인 대입 조작을 할 수 없거나 매우 제한적인 조건에서만 허용된다. 특히 순수 함수형 언어에서는 함수가 언제 어떻게 평가해도 같은 결과가 된다. 즉, 그 처리만 병렬화하여도 같은 결과가 된다는 것을 알고 있다.
(/ p.39)

다형적인 리스트의 타입 [a]는 타입 a를 []로 둘러싸서 만든다. 이와 같이 어느 타입에 붙여서 다른 타입을 만드는 것을 타입 생성자(type constructor)라고 한다. 참고로 다소 혼동이 있을 수도 있으나 타입의 []는 타입을 하나 둘러싸서 리스트로 하는 "리스트의 타입 생성자"이고, 값의 []는 "빈 리스트"임을 주의하길 바란다.
(/ p.145)

where절과 let식은 비슷한 것을 할 수 있지만, 스코프 및 구문상 외관 등이 다르다는 점에서 어느 쪽이 좋다고 말할 수 없다. 각각의 상황에 따라 선택되는 적절한 경우가 확실히 존재할 것이다. 스코프를 쓸데없이 넓히지 않는 것도 중요하고 가드를 걸쳐서 사용할 상황도 존재하는 것이 사실이기도 하다.
(/ p.213)

do 표기법에서는 명령형 언어로 명령을 순서대로 나열하도록 "모나드 액션"을 나열하여 작성한다. do 표기법은 구문이므로 결합성에 대해 프로그래머가 신경 쓰지 않지만, 분해가 발생하거나 하면 그 위치에 따라 결합성이 변화한다. 결합성이 변화해도 우리의 직관과 상반되는 결과가 발생하지 않는다는 것이 모나드 법칙에 의해 보장되어 있는 것이다.
(/ p.303)

저자소개

오카와 노리유키 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

도쿄대학교에서 수리정보공학을, 도쿄대학교 대학원에서 수리정보학을 전공하였다. 캐논소프트웨어(주)를 거쳐 현재는 (주)아사히 인터넷에서 HASKELL을 이용한 웹 애플리케이션 개발과 개발 환경 및 인프라 구성 관리 업무를 담당하고 있다. 최근에는 함수형 프로그래밍을 통한 수학적 정리 증명 프로그램인 AGDA 관련 일을 하고 싶어 이에 관한 정보 수집에 집중하고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

숭실대학교에서 전자계산학을 전공하였다. 사회 초년생 시절 자바에 심취해 현대정보기술에서 웹 애플리케이션을 개발하였고, 그 후 이동통신 단말기 분야로 전직하여 휴대전화 단말기의 부가서비스 개발 업무를 담당하였다. 일본 키스코(주) 모바일사업부 팀장을 역임하면서 일본 교세라의 북미향 휴대전화기 개발에 참여하였고, 현재 일본에서 가나안 솔루션즈의 공동 창업자이자 시스템 엔지니어로 일하고 있다. 옮긴 책으로는 [네트워크 이해 및 설계 가이드], [기초를 다지는 최신 웹 개발 공략서], [자바스크립트 라이브러리 실전 활용(엄선 111)], [모바게를 지탱

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    8.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용