본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

하스켈로 배우는 함수형 프로그래밍 간결학 올바른 코드 작성법을 배운다

오카와 노리유키 지음 | 정인식 옮김 | 제이펍 | 2015년 08월 21일 출간

이 책의 다른 상품 정보

  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(28일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 행사도서 포함 3만원 이상 구매 시 2021 캘린더 노트 선택가..
    2020.11.09 ~ 2020.12.09
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2020.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791185890296(1185890297)
쪽수 508쪽
크기 170 * 225 * 24 mm /835g 판형알림
원서명/저자명 ??プログラミング??入門/大川 ?之

책소개

이 책이 속한 분야

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

목차

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

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

Chapter 2 타입과 값 ? “타입”은 기본 중의 기본 _ 120
2.1 Prelude ― 기본 모듈 122
2.2 값 ― 조작의 대상 123
2.3 변수 ― 값의 추상화 129
2.4 타입 ― 값의 성질 132
2.5 타입 정의하기 ― 취급하는 성질의 결정 151
2.6 타입 클래스 ― 타입에 공통된 성질 165
2.7 정리 178

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

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

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

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

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

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

찾아보기 .... 474

책 속으로

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

함수형 언어는 명령형 언어와의 비교에서도 언급했듯이 파괴적인 대입 조작을 할 수 없거나 매우 제한적인 조건에서만 허용된다. 특히 순수 함수형 언어에서는 함수가 언제 어떻게 평가해도 같은 결과... 더보기

출판사 서평

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

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

Klover 리뷰 (0)

북로그 리뷰 (1) 전체보기 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 지난 3월에 출간된 [스칼라로 배우는 함수형 프로그래밍]에 이어 오늘은 [하스켈로 배우는 함수형 프로그래밍] 서적을 소개합니다.  간결한 코드 작성법으로 개발자들 사이에서 주가가 치솟고 있는 함수형 언어, 그렇지만 기존 명령형 언어들과의 코딩 방법과는 달라 사고방식을 전환하기가 쉽지는 않은 것 같습니다. 그럼에도 함수형 언어가 갖는 장점이 우수하다 보니 최근 명령형 언어에서도 함수형 언어의 주요 기능을 채택(자바나 C# 등)하고 있습니다. 그럼, 함수형 언어의 장점은 무엇일까요? 이 책에서는 아래와 같... 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품