# Haskell

[책] “가장 쉬운 하스켈 책”을 읽고 연습해보았다.
책 “가장 쉬운 하스켈 책”(미란 리포바카, 옮긴이 황반석)을 읽고 하스켈을 다시 연습해 보았다. 하스켈은 “순수한 함수형 프로그래밍 언어”다.여기 있는 예제는 일부 내가 작성한 것도 있지만 대다수는 책에서 발췌하였다.Haskell 코딩을 위해선 먼저 컴퓨터에 GHC를

Haskell
하스켈은 함수의 인자로 함수를 줄 수 있습니다.함수를 연달아 적용하려고 할 때 편리합니다.하스켈에서는 \\를 이용해서 이름이 없는 함수를 만들 수 있습니다.한번만 사용하고 말 함수를 선언할 때 편리합니다.하스켈에서는 인자중 일부를 비워두고 함수를 호출할 수 있습니다.함

Haskell Style Guide - kowaink
이 문서는 kowaink 스타일 가이드를 번역한 글입니다. 원문의 마지막 수정일은 2020년 11월 22일입니다. 하스켈 스타일 가이드 > 이 스타일 가이드는 Kowainik에서 사용합니다. 이 문서는 상업적 또는 오픈 소스에서 쓰고 있는 좋은 관례를 모아 작성한

프로그래밍 흑마법: TemplateHaskell - 2
어제 시간이 없어서 완성하지 못한 Bson Val(https://hackage.haskell.org/package/bson-0.4.0.1/docs/Data-Bson.html어쨌든 똑똑한 인공 지능에게 도움을 받아 다음과 같이 어떤 타입 레코드 타입(범용적이지는

프로그래밍 흑마법: TemplateHaskell - 1
오늘은 잘못 손대면 어둠의 길로 빠질 수 있는 프로그래밍 기술인 메타프로그래밍에 대해 살펴보려고 한다. 대부분의 언어는 코드를 생성할 수 있는 메타프로그래밍을 지원하고 잘 활용하면 코드를 많이 줄일 수 있지만 잘못 쓰면 디버깅이 어려운 애물단지가 돼버린다. 하스켈도 역

bracket과 resource-pool
지난 금요일은 미루고 있던 mongoDB 패키지에서 연결 관리를 어떻게 하는지 살펴보기로 했다. 일단은 잘 동작하고 기능 개발도 바쁘기 때문에 나중에 살펴보려고 했지만 개발 중에도 가끔 데이터베이스에 연결이 끊겨 불편함이 있었기 때문에 살펴봤다. mongoDB 패키지는

타입 레벨 프로그래밍을 어디에 쓸까?
지난주 여행을 다녀오고 일기를 조금 쉬었다. 쓰고 싶을 때마다 마음대로 쓰는 일기라서 부담은 없다. 우리 회사는 매주 하스켈 위클리를 하고 있다. 사실 일정 맞추기가 어려워 1회를 진행했다. 나도 그렇지만 아직 모두 하스켈을 잘 아는 것이 아니기 때문에 서로 새로 알게

Apple Silicon과 Stack
오늘은 하스켈 개발 환경 세팅에 관련해서 기록해보자. 지금 업무용으로 사용하고 있는 랩탑은 Apple Macbook Pro(M1 Pro)이다. 올 초만 해도 하스켈 생태계에서 M1을 잘 지원하지 않아 조금 고생했지만 지금은 자주 쓰는 툴은 모두 M1 버전을 지원해서 크

하스켈에서 어떤 Logger를 쓸까?
오늘은 Logger에 대해 지금까지 탐구한 내용을 적어보려고 한다. 지금 만들고 있는 API 서버는 Docker로 빌드해서 GPC에 있는 쿠버네티스(GKE)에 배포한다. 카카오에 있을 때는 로그 플랫폼을 전담하는 팀이 있어 서비스 개발팀은 로그 플랫폼을 구성할 필요가

하스켈 GraphQL 서버 맛보기
오늘은 하스켈로 GraphQL 서버를 가볍게 만들어보자. 이전에 Clojure나 Kotlin(Spring)으로 프로젝트할 때 GraphQL 서버를 만들어 본 적이 있고 각각 자주 사용하는 라이브러리가 있어 어떤 라이브러리를 쓸지 고민을 하지 않았다. 하지만 하스켈로 G

하스켈에서 테스트 mocking 하기
어제는 어니언 아키텍처에 대해 적어봤다. 어니언 아키텍처는 Tagless Final이라고 하는 패턴으로 구현했다. 타입 변수로 만들어진 모나드 컨텍스트를 사용하는 곳에서 타입에 따라 결정할 수 있었다. 테스트 코드 역시 테스트를 위한 모나드 타입을 만들어 의존성의 목(
하스켈에서 어니언 아키텍처 구현하기
오늘은 서비스에 하스켈에서 어니언 아키텍처를 어떻게 구현했는지 적어보려고 한다. 어니언 아키텍처는 헥사고날 아키텍처, 포트 어뎁터 아키텍처, 클린 아키텍처 등 여러 가지 아키텍처로 불리지만 사실 나는 세부적인 차이는 잘 모른다. (하지만 우리 서비스는 포트 어뎁터 아키
하스켈 GHC.Generics 탐험기
역시 하스켈은 알아야 할 내용이 많은 것 같다. 어떤 발표에서 하스켈 4단계인가 5단계인가로 되어 있는 피라미드를 보여주고 대부분의 하스켈 개발자들은 4단계에 있고 그 정도에 있으면 실무에서 하스켈 사용하는데 무리가 없다고 했던 말에 위로를 받아본다. 국내에 하스켈에
[Hashkell] 하스켈이란? 하스켈 설치방법, 실행방법
하스켈 이란? 순수한 함수형 프로그래밍 언어이다. 함수형 프로그래밍 언어는 컴퓨터에게 해야하는 작업을 알려주는 것이 아닌 (명령형 프로그래밍 언어), 작업이 무엇인지를 알려주는 언어이다. 예를 들면 팩토리얼은 1부터 N까지의 숫자를 모두 곱하는 작업이라고 알려주는 것처럼, 이러한 작업들을 함수로 표현할 수 있다. 함수형 프로그래밍에서는 변수의 값을 변경할...