タグ

stackとhaskellに関するishideoのブックマーク (10)

  • Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史

    答え:Haskell に IDE はずっとある、今ならHLS使え(内容を読む気がないようという人向けの答え) はじめに 2021年2月現在、Haskell の IDE 環境は Haskell Language Server (HLS) の登場により劇的な進化を遂げていますが、日の Haskell コミュニティではその前身の Haskell IDE Engine (HIE) の情報がまだ氾濫しており、十分な周知に至っていない現状があります。 稿では、こうした現状を打破すべく、2021 年 2 月現在の Haskell の IDE 環境を取り巻く現状と、そこに至るまでの歴史を完全に独断と偏見で紹介します。より多くの人に HLS の存在を周知し、皆さんの Haskell Life の一助となれば幸いです。また、HLS の前身である HIE は必ずしも快適に動作するとは言い難かったため、HLS

    Haskell に IDE はないのか?──独断と偏見による Haskell の IDE 十年史
  • EmacsのquickrunでHaskellを実行する時にシステムのghcではなくStackのghcを使ってもらう方法

    ("haskell" . ((:command . "runghc") (:description . "Run Haskell file with runghc(GHC)"))) 私はStackを使ってHaskellコンパイラを入手して実行しているのでこれでは実行できません. またStackのglobalにインストールしたライブラリも使用できません. もちろんalistを編集すれば簡単に切り替えは可能でしょうが, あまり連想リストを直接弄りたくはありません. 設定する関数が多分あるはずだと思って探しました. quickrun-add-commandを使えば良いようです. いや, 完全に追加ならこれで良いですが, 多分Haskell設定を上書きするのでquickrun--override-commandを使うのが正解でしょう. (with-eval-after-load 'quickrun

    EmacsのquickrunでHaskellを実行する時にシステムのghcではなくStackのghcを使ってもらう方法
  • 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
  • Windows でポータブルなGHC+Stack+Atom+Git環境をUSBメモリに作る - 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
  • Running Yesod in Cloud9

  • vim-quickrunでstack runghcする - iLog

    はじめに こんにちは、ishiy(@ishiy1993)です。 今日はvim-quickrunでstack runghcを実行するための設定を紹介します。この設定をしておけば、Haskellでちょっとしたスクリプトを書いて実行しやすくなるはずです。 stackのインストール まずstackをインストールしましょう。Archlinuxをお使いの方は $ yaourt haskell-stack とするだけでOKです。簡単ですね。Archlinux以外の場合はこちらを参考にしてインストールしてください。 vimproc,vim-quickrunのインストール 次にvim-quickrunをインストールするのですが、vimprocもインストールしておくと非同期でスクリプトを実行できる(つまりスクリプト実行中もVimを操作できる)ようになるのでvimprocもインストールすることをおすすめします。

  • 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