GHC 9.10.1が2024年5月11日にリリースされました。 GHC 9.10.1 is now available! - Announcements - Haskell Community この記事では、GHC 9.10の新機能を確認していきます。過去の類似の記事は GHC 9.2の新機能と、GHCの動向2021 GHC 8.10とGHC 9.0の新機能 GHC 9.4の新機能 GHC 9.6の新機能 GHC 9.8の新機能 です。 この記事は網羅的な紹介記事とはなっていません。是非、公式のリリースノート類も参照してください: 2.1. Version 9.10.1 — Glasgow Haskell Compiler 9.10.1 User's Guide docs/users_guide/9.10.1-notes.rst · ghc-9.10 · Glasgow Haskell
これはHaskell Advent Calendar 2023の19番目の記事です。 フォーマッター 以前、フォーマッターをいくつか試しましたが、どれもイマイチでした。しかし、fourmoluはいけてます。fourmoluは、Ormoluのフォークで、Ormoluが偉大なのでしょう。両方試しましたが、僕はformoluに決めました。 Hackageに上がっているので好きな方法でインストールしてください。 % cabal install fourmolu formoluにHaskellのプログラムを渡すと、整形したプログラムを出力してくれます。ファイルの内容を直接書き換えたいときは、-iオプションを渡します。エディタやIDEと連動できますが、お試しでプロジェクト全体を整形するには、以下のようにするといいでしょう。 % find . -name "*.hs" | xargs fourmolu
Haskel advent calendar 2023 の1日めの記事です. お仕事も情報系でなく,多忙を言い訳に数年ほとんどコード自体をかけていなかったのですが,最近 e-Gov 法令検索 で公開されている法令XMLを読みたい需要があって久しぶりに Haskell で書いてみたらやはり書きやすく,とても楽しくて改めて感動しました.書きながら自然に思考が整理される感じがよい. Hoogle は変わらぬ使いやすさでモリモリサポートしてくれるし,環境構築も GHCup などが噛み合って随分スムーズで,Haskell Language Server も成熟してきているようです.環境構築については,昨年の Advent Calendar の1日め @mod_poppo さんの記事 などが参考になります. 最近入った言語拡張にも,ちょっとだけコード書く位でも(大規模なあるいは高度なコードじゃなくても
GHC 9.6.1が2023年3月12日にリリースされました。 GHC 9.6.1 is now available - Announcements - Haskell Community この記事では、GHC 9.6の新機能を確認していきます。過去の類似の記事は GHC 9.2の新機能と、GHCの動向2021 GHC 8.10とGHC 9.0の新機能 GHC 9.4の新機能 です。 この記事は網羅的な紹介記事とはなっていません。是非公式のリリースノート類も参照してください: 2.1. Version 9.6.1 — Glasgow Haskell Compiler 9.6.1 User's Guide Changelog for base-4.18.0.0 | Hackage GHC 9.6.x Migration Guide GHC 9.6に入る機能 JavaScriptバックエンド
Tweag has been working on a GHC WebAssembly backend for some time. Recently, the WebAssembly backend merge request has landed in GHC, and is on course to appear in the upcoming 9.6 release series. This post will give a quick demonstration of how to try it out locally, and explain what comes in this patch and what will be coming next. Playing with WASM locally If you’re using nix on x86_64-linux, c
Welcome This site describes the various messages that can be returned by Haskell-related tools, including both errors and warnings. For example GHC, the most-commonly-used Haskell implementation, started emiting a code with the format [GHC-12345] for its messages in version 9.6.1. These codes can be looked up below for further information. Other Haskell-related tools are welcome to add their own m
目的 Haskellのパッケージに含まれるあるシンボルをパッケージに外に見せたくない場合に、 逆に見せたいシンボルを列挙して対応していませんか? 今回紹介する方法はGHC Source Pluginを使ってシンボルをパッケージ外に出さない方法を紹介します。 動機の確認 シンボルをパッケージ外に出さない方法を紹介する前になぜそのようなことをやりたいのか確認しておきます。 C++の関数をHaskellで呼び出せるようにinline-c-cppでラッパを作りたい場合に基本的には外に見えるようにしたいが inline_c_ffi_適当な番号というinline-c-cppの内部関数が生成されました。 inline-c-cppのtemplate haskellに渡すデータは次のようなファイルなのですが、
これは、Haskell Advent Calendar 2021 の8日目の記事です。 Haskellのコンパイラとして事実上一択となったGHCには、「軽量スレッド」が実装されています。軽量スレッドは、ネイティブスレッドよりも軽量なスレッドで、他の言語では「グリーンスレッド」とも呼ばれています。Haskellerが並行プログラミングをするときは、軽量スレッドを息を吸うかのように使います。 複数の軽量スレッドの入出力を束ねるのが、IOマネージャです。IOマネージャも単なる軽量スレッドであり、OSから入出力のイベントを受け取り、それぞれの軽量スレッドにイベントを通知します。 軽量スレッド(っぽい)機能を提供する他の言語では、GHCのIOマネージャを参考にしているようです。僕はIOマネージャの開発に深く関わっています。この記事ではIOマネージャの歴史をまとめるとともに、主にmacOSでの実装に関
Haskell Day 2021で「GHCの動向2021」というタイトルで発表しました、mod_poppoです。この記事では、発表の補足としてGHC 9.2の新機能の紹介と、 Data.List の単相化に関する補足を行います。 Haskell Day 2021の動画と筆者のスライドは、それぞれ次のリンクから参照できます: Haskell Day 2021 - YouTube GHCの動向2021 「GHCの動向」のタイトル的な元ネタ(?)は、筆者が3月にブログに書いた GHCに初めてコントリビュートした/最近のGHC動向 です。時代遅れになった記述もあると思いますが、よかったら読んでみてください。 GHC 9.2の新機能 2021年10月29日に、待望のGHC 9.2.1がリリースされました。公式の変更点は 2.1. Version 9.2.1 — Glasgow Haskell Com
With the new OverloadedRecordDot language extension, we can use the . character to access stuff on records. {-# language OverloadedRecordDot #-} data User = User { name :: String } main :: IO () main = do let user = User { name = "Matt" } putStrLn user.name This is syntax sugar for the following code: import GHC.Records data User = User { name :: String } instance HasField "name" User String where
This is a guest post by Domen Kožar. In this post I’ll dive into how low-latency garbage collection (GC) has improved developer experience for Cachix users. The need for low latency Cachix serves the binary cache protocol for the Nix package manager. Before Nix builds a package, it will ask the binary cache if it contains the binary for a given package it wants to build. For a typical invocation o
事実上の標準デファクトスタンダードなHaskell処理系であるGHCに貢献するというのが去年掲げた目標だったが、それがようやく実現したので報告する。ついでに、最近のGHC開発状況についても簡単にまとめてみる。 「貢献」と言っても色々あって、バグ報告とかも立派な貢献なのだが、ここで目標としていたのは「書いたコードをGHC本体に取り込んでもらう」ことである。 一つ目:fromInteger :: Integer -> {Float,Double} 年末に書いた記事 Haskell/GHCでの浮動小数点数の扱い – Qiita にあるように、現行のGHCのfromIntegerは値の大きさによって丸め方法が違っている。それによってどういう問題が引き起こされるかというと、 import Numeric import Data.Word main = do putStrLn $ "literal :
Next-gen Haskell Compilation Techniques Csaba Hruska
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く