Haskell 커뮤니티의 최신 글, 채용 소식, 프로젝트 소식과 행사 안내를 모아 전하는 Haskell Weekly 491호입니다.
Haskell Weekly의 또 다른 호에 오신 것을 환영합니다! Haskell은 안전하고 순수 함수형이며 빠른 동시 런타임을 갖춘 프로그래밍 언어입니다. 이 소식지는 Haskell 커뮤니티에서 벌어지는 일들을 주간으로 요약해 전합니다.
자동 미분을 수행하는 최소한의 신경망 라이브러리를 Haskell로 만드는 연재의 두 번째 글입니다.
이전 글에서 유한 오토마톤을 양자 시스템으로 바꾸기 위해 텐서 네트워크를 사용하는 방법을 살펴봤습니다. 그 결과 언어 인식은 많은 작은 행렬 곱셈과 텐서 수축으로 바뀌었고, 이는 병렬화에 아주 적합한 연산입니다. 오늘은 양자 이야기가 아니라 병렬화에 초점을 맞춰 같은 아이디어를 탐구해 보겠습니다. 또한 텐서 대신 모노이드를 사용해 Haskell 구현에 더 잘 맞도록 합니다.
올해도 MuniHac이 열렸습니다. 정말 즐거웠습니다. 아래는 발표들에 대한 제 개인적인 노트입니다.
이 인터뷰는 창시자 중 한 명인 Simon Peyton Jones와의 심도 깊은 대화를 통해 순수 함수형 프로그래밍 언어 Haskell의 역사와 설계 철학을 탐구합니다. Haskell을 독특하게 만드는 점, 타입클래스와 고차(kind) 타입을 포함한 타입 시스템의 진화, 그리고 Haskell이 프로그래밍 언어 아이디어를 실험하는 실험실로서 어떤 역할을 하는지 논의합니다. 대본 없이 진행되었으며 가독성을 위해 최소한으로 편집되었습니다.
순수하고 추상적인 계산에 관한 이야기입니다. 사실 역사적으로도 가장 초기 사례 중 하나죠. 저 자신은 거의 반세기 동안 실무에서 이를 사용해 왔지만, 그동안 단순한 계산 시스템과 룰리올로지를 탐구하면서도 람다 자체를 본격적으로 연구해 본 적은 없었습니다. 다소 까다로운 기술적 세부사항이 있긴 하지만, 제가 탐구해 온 많은 시스템들처럼 람다에도 풍부한 룰리올로지가 있으며, 실용 컴퓨팅과의 연결로 인해 그 의미가 더욱 커진다는 것을 보게 될 것입니다.
저희는 완전 원격 팀으로 운영되는 핀테크 신탁 회사입니다. 어디서든 근무할 수 있는 정책을 따르며, 협업자들은 여러 국가에 흩어져 있습니다. 현재 팀원들은 영국, 프랑스, 북마케도니아, 엘살바도르, 브라질 등 다양한 국가에 있습니다. 시간대 측면에서는 미주 또는 유럽 시간대(GMT -6시간부터 +4시간 사이)에 기반한 지원자를 선호합니다. 미드/시니어 레벨 채용이며, Haskell 또는 Scala의 실무 경험을 갖춘 분을 찾고 있습니다.
Obsidian은 북미 및 기타 지역 프로젝트를 위한 소프트웨어 개발자를 채용합니다. 저희 작업 분야는 핀테크, 블록체인, AI, 데이터 과학, 오픈 소스 및 엔터프라이즈 애플리케이션 등입니다. 100% 분산 팀이며 대부분의 프로젝트는 미 동부 근무 시간에 맞춰 일하지만, 다른 지역 시간대에도 일부 기회가 있습니다.
Rivero(취리히, EU 원격 가능)에서는 신용카드 결제 플랫폼을 처음부터 새로 구축하고 있으며, 작은 코어 팀에 합류할 분을 찾고 있습니다. WebAssembly(Wasm)를 사용해 신뢰할 수 없는 코드를 안전하게 실행하는 성능 크리티컬 시스템을 다루게 됩니다.
streamly-0.11.0과 streamly-core-0.3.0이 이제 Hackage에 올라왔습니다. 사용자 가이드, 통합 레퍼런스, 그리고 Streamly 생태계 전 패키지에 대한 Hoogle 검색은 Streamly 웹사이트에서 확인할 수 있습니다.
아시다시피 Haskell 재단은 7월 한 달 동안 Infrastructure Independence 모금 활동을 진행했습니다. 모금액이 어떻게 사용되었는지와 앞으로의 계획에 대해 소식을 전하게 되어 기쁩니다.
GHC 개발 팀은 GHC 9.12.3 릴리스 후보를 공개하게 되어 매우 기쁩니다.
Ollama와 상호작용하기 위한 Haskell 클라이언트 라이브러리인 ollama-haskell-0.2.1.0 릴리스를 발표하게 되어 기쁩니다.
배경: 더 나은 SSE(server-sent events, servant sent events) 성능을 위해 HTTP/2로 전환할 필요가 있었고, 이는 로컬 실행 시에도 HTTPS가 요구되었습니다. 그래서 애플리케이션 시작 시 자체 서명 인증서(
openssl, Nix 패키지 사용)를 만들고, 최소한의 코드만으로(그래서-simple접두사) https가 설정된 Warp를 실행하는 무언가를 만들었습니다.
아이디어는 이렇습니다. 누구나 — 특히 GUI 라이브러리 저자라면 — 색상을 표현하는 자신의 데이터 타입에
webcolor-labels를 적용해 모든 사용자에게 이 문법을 제공할 수 있습니다.
사기 징후나 일부 사기 사례가 주어졌을 때, 이를 자동으로 SQL로 이전할 수 있는 규칙을 도출하는 것이 과제였습니다. 이는 프로그램 합성(적은 데이터 + 해석 가능한 출력)에 자연스럽게 들어맞아 보였습니다. 제 워크플로 중 일부가 이미
dataframe을 사용하고 있었고, SQL과 유사한 표현 DSL도 있었기 때문에 Haskell로 구현해 보기 좋은 연습이 되겠다 싶었습니다.
지난 몇 주 동안 서로 다른 그래프 문제를 살펴봤습니다. 그래프는 파생 구조라서 문제에 따라 다양한 방식으로 표현할 수 있다는 점이 흥미롭습니다. 오늘은 특정 요구사항을 만족시키기 위해 스스로 자료구조를 작성하는 LeetCode 문제를 풀어보겠습니다! 다음 주에는 이 구조를 사용해 또 다른 문제를 해결할 것입니다.
A Tale of Two Lambdas: A Haskeller’s Journey Into Ocaml, 2025년 11월 6일, Jane Street, 250 Vesey St, New York, NY 10007