タグ

stackとqiitaに関するishideoのブックマーク (6)

  • stack runghcでtestを実行する - Qiita

    module FooImplSpec (main, spec) where import Test.Hspec -- 個別のspecファイルを実行するためにはmainが必要。 main :: IO () main = hspec spec spec :: Spec spec = do describe "foo" $ do it "returns bar" $ do foo bar `shouldBe` foobar これまでテストを実行するときは stack test などとしていたが、コンパイル遅いし(特にリンカーの実行が遅い)、TDDするには不都合で冗長だった。記憶が正しければ自動で-O1がかかるので、これも素早くテストの実行を繰り返したい場合は邪魔だろう 1。 追記: どのみちリンカーは実行されているので、めちゃめちゃ速くなっているかと言えば微妙な気がしてきた。 まぁ、stackで

    stack runghcでtestを実行する - Qiita
  • Stackを使って楽しくHaskellスクリプティング - Qiita

    今までいまいちモチベが上がらなかったHaskellでスクリプトを書くというのが、急に現実的になってしまったので、紹介します。 Haskellでスクリプティングする上での問題点 Haskellはもともと簡単なテキスト処理を書きやすいプログラミング言語ではあるのですが、標準で提供されているライブラリはあまり多くないので、必要に応じてコミュニティーパッケージを導入しなければその力を存分に発揮することができません。 通常のパッケージなら、cabalに依存関係を書けばパッケージマネージャで自動的に(コケることもありますが、理想的には)管理できるのですが、シェルスクリプトやPerl、あるいは最近ならPythonでやるような、コードを直接インタプリタで実行するような形のコードでは、そのような依存関係を自動で解決することは難しく、その上、仮にやろうとしたところで、いつまでもその依存パッケージが新しいコンパ

    Stackを使って楽しくHaskellスクリプティング - Qiita
  • Stackで単体テストを書いて実行する - Haskell入門より - Qiita

    このエントリは、 Haskell入門の執筆 の際に、 ページ数の都合で載せられなかった記事に加筆修正をしたものです。1.4節に載せる予定だった内容です。 このエントリの内容を試すには、 Stackをインストール し、 /tmp ディレクトリなどで以下のコマンドを実行してプロジェクトを作成してください。 初めての開発: 単体テストを書く 開発フローを体験するため、未実装だった単体テストを作ってみましょう。開発をするときにはREPLを使うのも便利ですが、ここでは --file-watch オプションを使います。--file-watch オプションを stack build へ指定すると、プログラムに変更があるかを監視し、変更があった場合は自動的にビルドをしてくれます。さらに、 build に--test オプションを渡すと stack test と同等の機能になります。このようにしてstack

    Stackで単体テストを書いて実行する - Haskell入門より - Qiita
  • さくっとHaskellの開発環境を整える(Stack) - Qiita

    Windows で Haskell 環境構築(Stack) Stackでやる最速Haskell Hello world! (GHCのインストール付き!) これを参考にしてたけど今は変わってるらしいので1から書いておく。 2017/7/24 Windows解説を最新に更新。 環境 - Windows 10 - Mac OS X El Capitan WindowsにStackを導入する まずはWindowsから。 以下から最新のStackをダウンロードしてくる。(現段階の最新版はv1.5.0) https://github.com/commercialhaskell/stack/releases/ stack-1.5.0-windows-x86_64-installer.exeをダウンロード(64bit版は無い模様)。 インストールする。Pathとかは通さなくても自動でやってくれる模様。 完

    さくっとHaskellの開発環境を整える(Stack) - Qiita
  • rubyで大きな配列をハッシュに変換する時のスタックの枯渇に注意 - Qiita

    fiberを使ったrubyプログラムでfiberに割り当てられたスタック領域を使い切ってプロセスが死ぬという問題が起こりました。 落ちた原因を調査していると、以下のようなコードが原因であることが分かりました。 big_array = [[:hoge 'fuga'], [:foo, 'bar'], ...] # 巨大な配列 Hash[*big_array.flatten] Hash.[]に引数として渡している配列が大きすぎるために、スタックを使い切ってしまっていたようです。 こちらの資料によると、スタックサイズは数十〜数百KBなので、それ以上のサイズの配列を引数に渡すとスタックが枯渇します。 http://www.atdot.net/~ko1/diary/edit_comment.cgi?mode=edit&year=2012&month=12&day=21 ruby 2.1以降ではArra

    rubyで大きな配列をハッシュに変換する時のスタックの枯渇に注意 - Qiita
  • Stackでやる最速Haskell Hello world! (GHCのインストール付き!) - Qiita

    昨日第23回Haskellもくもく会 @ 朝日ネットで初めてstackを触ったのですが、 あまりにも簡単・高速にパッケージ作りの準備ができたので、やったことを共有したいと思います。 GHC(Haskellの最も有名なコンパイラ)のインストールまでやってくれるので、これからHaskell始めます!みたいな人にもオススメです。 stack自体が何かは @tanakh さんのHaskellのビルドツール"stack"の紹介をご覧ください。 一言で言うと「GHCのインストールからパッケージのインストールにビルドまで、ワンストップでやってくれる神ツール」ですかね。 各OSごとに微妙に違うみたいなので、公式ページの解説をご覧ください。 とはいえ、基的には実行ファイルをPATHのどこかに置くだけなので、この手の作業に慣れている人には朝飯前でしょう。 1ファイルだけでインストールできちゃうのも魅力ですね

    Stackでやる最速Haskell Hello world! (GHCのインストール付き!) - Qiita
  • 1