タグ Haskell
人気順 10 users 50 users 100 users 500 users 1000 usersnaoya on Twitter: "ChatGPT の VSCode 拡張 GPT-4 に対応していた Haskell で書かれた動的計画法のここの関数を遅延評価を使わずに STUArray 使って高速化して、と依頼した。ちゃんと動きました。(STArray
ChatGPT の VSCode 拡張 GPT-4 に対応していた Haskell で書かれた動的計画法のここの関数を遅延評価を使わずに STUArray 使って高速化して、と依頼した。ちゃんと動きました。(STArray を使… https://t.co/9NkJ4uuDnA 続きを読む
【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita
動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授... 続きを読む
Haskellで動的計画法を攻略する
Haskellで動的計画法を行う方法 出典: Easily Solving Dynamic Programming Problems in Haskell by Memoization of Hylomorphisms ザ圏論的やり方としては①Dynamorphism、手続き的な方法として②STモナドが挙げられる。 DynamorphismはHistomorphismをメモ化したようなもので、詳しくはlotz氏のサイトを参照してほしい... 続きを読む
Haskell で、優先度付きキューを使ったダイクストラ法
Haskellのカレンダー | Advent Calendar 2022 - Qiita に参加させていただきます! 突然ですが Haskell でダイクストラ法を実装します。 ダイクストラ法は重み付きグラフで最短経路問題を解くアルゴリズムのひとつです。ダイクストラ法 - Wikipedia に詳しい解説があります。 ダイクストラ法は、重み付きグラフにおいて、... 続きを読む
haskellとnixの話 - Qiita
この記事は、Haskell Advent Calendar 2022の23日目の記事です。 だいぶ荒削りですので、間違いがあるかもしれません。 目的 OSSのプロジェクトで4年ほどNixを使い続けてきました。 NixのHaskellのサポートの現状のいいところと課題を整理するのが目的です。 なぜNixを使うのかを確認したあと、NixのHaskellサポートをみ... 続きを読む
ChatGPTはプログラミング言語マスター(語弊ありまくり) - kmizuの日記
皆さんおはようございます。見ている人は見ていたかもしれませんが、昨夜はかなり遅くまで巷で話題沸騰のChatGPTによくわからんクエリを投げて、その結果をみてげらげら笑っていました。特に存在しないプログラミング言語であり「ScalaにHaskellと同じ型推論を加えた」言語Scalayがあることにしたら、ChatGPTが本当にHas... 続きを読む
ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得
NixによるHaskell開発環境の構築 - syocy’s diary
Nix package manager によって Haskell のスクリプティングおよびパッケージ開発の環境構築をしていく。 こいついつも環境構築してんな ここで触れられないこと Nix スクリプティング ちゃんとした開発 haskell-language-server の導入 パッケージの設定 高度な依存関係オーバーライド トラブルシューティング nix-shell... 続きを読む
執筆中:「Haskellでの型レベルプログラミング」 | 雑記帳
最近、「Haskellでの型レベルプログラミング」という「本」を執筆している。まだ完成ではないが、以下のリンクから読める: Haskellでの型レベルプログラミング なぜHaskellか 最近いろんな言語が出てきている中で、Haskellの強みとは何だろうか。人によって答えは色々あるだろうが、筆者にとってHaskellの魅力的な側面... 続きを読む
Haskellでの型レベルプログラミング
Haskellでの型レベルプログラミングの解説書です。 続きを読む
Apple Silicon MacでのHaskell/GHCの現状・2021年末編 - Qiita
この記事は Haskell Advent Calendar 2021 の21日目の記事です。 昨年発表されたApple Silicon (Arm) Macは、今年も新製品と新チップ “M1 Pro/Max” が登場し、ますます勢いを増しています。Mac使いの皆さんはもう手にされましたか? 新しいアーキテクチャーにはハードウェアだけではなくソフトウェアの対応も重要です。... 続きを読む
GHCのIOマネージャの歴史と僕の苦悩 - あどけない話
これは、Haskell Advent Calendar 2021 の8日目の記事です。 Haskellのコンパイラとして事実上一択となったGHCには、「軽量スレッド」が実装されています。軽量スレッドは、ネイティブスレッドよりも軽量なスレッドで、他の言語では「グリーンスレッド」とも呼ばれています。Haskellerが並行プログラミングをするときは... 続きを読む
「アルゴ式」をHaskellで学ぶための準備
この記事は、CAMPHOR- Advent Calendar 2021 の7日目の記事です。 「アルゴ式」というプログラミングを学んで実践できる非常に良質なWebサービスがあります。 アルゴリズムについて解説された教科書だけでなく、実際にプログラミングを書いて提出してオンラインでジャッジしてくれるシステムを備えた練習問題も用意され... 続きを読む
仕事で使うHaskell
TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みた... 続きを読む
Levelsモナドを使った幅優先探索の仕組み
Haskellは関数型プログラミング言語と呼ばれますが、関数だけでなく型も重要な役割を担っています。アルゴリズムを考える時、手続きの最適化だけでなく、正しいデータ型を選択することがシンプルなアルゴリズムを導き、実装をコンパクトにできるというのはよくある話です。今回は非常に単純な型でありながら幅優先探索と... 続きを読む
「Haskellのモナド完全に理解した」試験問題
Haskellは勉強したけどモナドを本当に理解したって言えるのか自信がない… \そんな人向けの試験問題を作りました!/ これから実施する試験問題を、10問中8問正解すればあなたはHaskellのモナドを完全に理解しています。私が保証します! それではさっそく〜〜 第一問 まずは緊張をほぐしましょう。 Haskellの Monad は○... 続きを読む
10年間使ってみて見えたHaskellの闇と光 - Qiita
はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュー... 続きを読む
OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog
はてなで働くエンジニアにアンケートシリーズ第13回は、ブックマークチームのWebアプリケーションエンジニア、id:itchynyに話を聞きました。 はてなidはかぶらないように適当に付けた Haskellが得意な自分ならScalaも書けるだろうと思って チーム間で協力しながら新しいAPIの仕様を策定 TLとして、チーム横断での依頼の... 続きを読む
HaskellのLinearTypes言語拡張について少し調べた - TSUGULOG
上記 array という関数はarrayの長さを第1引数に、インデックスと値のタプルのリストを第2引数に受けとり、immutableなArrayを生成する。ここで unsafeFreeze は、freeze後の挙動については制約をかけることができず、状況によってはfreeze後にwriteされる可能性もあり得る。 これをLinear Typeを使って以下のように定義... 続きを読む
HaskellでのTDDを楽しくするライブラリ methodを作りました。
はじめに Haskellでテスト駆動開発を行う際、純粋な関数は単体テストを書きやすいですが、 返り値がモナドの関数(この記事ではそのような関数をメソッドと呼びます)にたいして単体テストを書くのは簡単ではありません。 今回、メソッドに対して単体テストを書きやすくなるライブラリ methodを作成しました。 methodと... 続きを読む
HaskellでS3にファイルアップロードしてみた | Developers.IO
はじめに あけましておめでとうございます。CX事業本部の吉川です。 年末年始連休は全体的にダラダラとした寝正月を過ごしていましたが、ちょっとくらい何かやろうということで自由研究として「Haskell+AWS」に取り組んでみました。 ずっとHaskellに興味があり、すごいH本と『入門Haskellプログラミング』は買ったのです... 続きを読む
複雑なアニメーションをプログラムする 〜Reanimate入門〜
Reanimateはアニメーションを作成するためのライブラリです。 ReanimateはHaskellのライブラリとして実装されているのでプログラムによってアニメーションを記述することができます。ライブラリに実装されている機能も多く、ドキュメントも豊富ですし、オンラインのPlaygroundまで用意されていてかなり完成度の高いライ... 続きを読む
技術書を自作PDFリーダーで読む - Haskellでつくる不思議な読書体験 (1):関数型玩具製作所
技術書典で購入した本を自作PDFリーダーで読みませんか? 既存の電子文書リーダーには存在しない独自ギミックで、いつものPDFに不思議なフレーバーをトッピングします。 Haskell製の関数型トイプログラムです。 自作しない人もご安心ください。筆者がチューニングしたPDFリーダーで不思議な読書体験できます。 本を読む... 続きを読む
『形式意味論入門』を Haskell に書き下す (後編) - ryota-ka's blog
前編はこちら ryota-ka.hatenablog.com §8 発話文脈・変項割当 という文を発話したとする.この文は,代名詞 と の2つの指示対象が発話の状況から明らかなときにのみ適切である.このように,文脈に依存して意味が初めて定まる言語表現を直示 (deixis) という.指示対象を明らかにするため,次のように代名詞に指標 (ind... 続きを読む
続くといいな日記 – 遅延評価でデバッグが困難になる状況
先日、Haskell 界隈で遅延評価によってデバッグがし辛いのはどんな時かと言う話があった。見た感じ、遅延評価によってデバッグのしにくさはそんなに変わらないと言う意見が結構あり、個人的には衝撃だった。僕自身は遅延評価にだいぶヘイトを溜めてる人なので、どういう状況でデフォルト遅延評価が嫌かを実感できる問題... 続きを読む