ペンギン村 Tech Blog

技術をこよなく愛するエンジニア集団が在住するペンギン村から、世界へ役立つ(かもしれない)技術情報を発信する技術系ブログです。某アラレちゃんが済む村とは一切関係ありません。んちゃ!

Haskell

6. レコード構文と多相型とカインドと :: Swift プログラマのための Haskell 入門

さて、前回は Haskell のリストや再帰処理などを見てきました。 今回はこれまで見てきたデータ型について軽く復習した上で、より詳細について見ていきます。 直積と直和 直積データ 直和データ 直積と直和の組み合わせ レコード構文 type / newtype データ型…

5. リストと再帰 :: Swift プログラマのための Haskell 入門

さて、前回は Swift の配列における典型的な操作(filter / map / reduce)について、Haskell の場合にどのように書けるのか見てきました。 今回は、リストの正体と再帰について見ていきます。 前回の訂正 リストの実体 リストを定義する Haskell のリストの…

4. リストと演算子と関数合成 :: Swift プログラマのための Haskell 入門

さて、前回は Haskell におけるデータ型の宣言やパターンマッチについて見てきました。 今回は Swift でよくある配列操作について、Haskell の場合にどのような書き方になるのか見ていきます。 リスト 関数と演算子 関数を演算子として使用する セクション記…

3. データ型の基本 :: Swift プログラマのための Haskell 入門

さて、前回は関数の書き方やカリー化・部分適用などについて見てきました。 今回はデータ型の基本について見ていきたいと思います。 データ型の定義 直積型の定義 直和型の定義 関連値を持つ直和型 値の生成 値の生成 再帰的? パターンマッチ case-of スマ…

2. 関数の基本 :: Swift プログラマのための Haskell 入門

さて、前回で Haskell の開発環境を構築できたので本編に入っていきたいと思います。 プログラミング言語の入門記事としては、基本データ型などから入るのがセオリーですが、そうした話題は大切ではあるものの同時に退屈でもあります。プログラマとしてある…

1. 環境構築 :: Swift プログラマのための Haskell 入門

さて、この記事では VSCode と stack を利用した Haskell の開発環境の構築を行っていきます。この環境構築を飛ばしても、次回以降の記事を読むのに支障はありませんが、コードを実行・評価できる環境が整っていると学習が捗るのでおすすめです。 概要 Stack…

0. Introduction :: Swift プログラマのための Haskell 入門

Haskell は Swift に影響を与えたプログラミング言語として知られています。Swift に影響を与えたとされるプログラミング言語は他にも Objective-C、Rust、Ruby、Python、C# など多数に及びますが、プログラミングパラダイムに最も影響を与えているのは Hask…

swift-emmet をリリースしました。

どうも、まだ生き延びてる @tobi462 です。 swift-emmet という CLI ツールをリリースしたので、それの紹介的な記事です。 github.com ちなみに Haskell で書かれています。 それは何? シンプルな記法で構造体やクラスのコードを生成する CLI ツールです。 …

Haskell で doctest(unittest)と QuickCheck(Property-based Testing)

どうも、年末年始に飲むワインはバッチリ買い揃えた @tobi462 です。 なんだか、ひょんなことからすごく久しぶりに Haskell を書いたのですが、そもそも doctest のインストール方法とかもすぐに分からなかったのでメモも兼ねて。 Tl;Dr -- | 文字がすべて異…