Contact the domain owner here gmork.in 2024 著作権. 不許複製 プライバシーポリシー
プログラムにバグはつきものです。強力な型システムを備えている Haskell でもそれは同じです。この記事では、 Haskell プログラムのデバッグ手法をいくつか挙げてみます。 なお、使用している GHC は 8.2.2 です。より新しいバージョンで追加されるであろうより便利な機能は、この記事の対象外です。 【2018年2月8日 更新:-fexternal-interpreter, Control.Exception.assert, debug パッケージについて追記】 【2018年5月25日 更新:プロジェクトごとにPreludeを持っていると便利という話を追加】 心構え:処理を分割せよ Haskell は純粋な言語です。IOが絡まない関数であれば、同じ引数に対しては同じ結果が返ってくることが期待されます。 よって、処理を細かく(純粋な)関数に分割し、それぞれ GHCi で動作を確かめ
Posted on January 29, 2018 authored by Shinya Yamaguchi はじめに HLint は haskell-src-exts を使って実装されている静的解析ツールです。 HLint を使えば github などを使って PR ベースで開発する場合のコードレビューでこんな事を言わなくて済みます。 fromJust とかの部分関数は使わないで! maybe 関数って知ってる? この言語拡張って本当に使ってるの? undefined まだ残ってるじゃん! 嬉しいことに Travis CI や CircleCI などで一度設定するだけなので導入もお手軽です! また、最近知ったのですが、プロジェクト内で使って欲しくない関数なども HLint によって検出可能です。 さらに、独学で Haskell の学習を進めている人は HLint が素晴らしい教師役とな
はじめに こんにちは、ishiy(@ishiy1993)です。 今日はstackを使ってdockerコンテナの中でHaskellプログラムを静的リンクでコンパイルする方法を説明します。 こんなことをしようと思った背景を書いておきます。まず僕は現在dockerやrktの活用に興味があります。そして先日こちらの記事でAlpine linuxを知りました。Alpine linuxは非常に軽いOSで公式のdockerイメージでたったの5MBです。ちなみにUbuntu 14.04のdockerイメージは190MBくらいあります。なのでAlpineをベースにすることで軽量なdockerイメージを作れます。しかし、Alpineはbusyboxとmusl libcをベースにしておりglibcなどがデフォルトではありません。stackで普通にビルドすると動的リンクされたアプリが作成され、そのアプリはglib
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く