はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ Haskell

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 255件)

Haskell の Array

2023/12/03 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip Array 索引 配列 次元 抽象化

Haskellのカレンダー | Advent Calendar 2023 - Qiita 3日目の記事です。 Haskell の Array (配列) について書こうと思います。Haskell の Array は索引が型クラスの Ix で抽象化されているため、特に配列の次元を拡張する際に柔軟性がありとても便利です。 そんな便利な Array ですが、もともと Haskell はリスト操作が... 続きを読む

Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記

2023/10/01 このエントリーをはてなブックマークに追加 67 users Instapaper Pocket Tweet Facebook Share Evernote Clip rust tl;dr 展望 実装 将来

TL;DR GHC 9.0 から Haskell に入った線型型(Linear Types)の機能を一部割とガッツリ使ってみたので、Linear Haskell の現在の使い心地と将来の展望を報告するよ。 使おうと思えば使える段階にあるけれど、一部バグもあるし、まだ言語機能面で実装が追い付いていない部分もあって、快適に書けるようになるにはもうちょ... 続きを読む

HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

2023/08/06 このエントリーをはてなブックマークに追加 62 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita rust

はじめに ここ1年ぐらいかけて、Fixという名前のプログラミング言語を作っています。 コアとなる機能の実装がある程度落ち着き、実際にFixを使ってプログラムを書けるようになってきたので、そろそろ言語の紹介をしてみようと思います。 本記事はFixのチュートリアルではなく、どういう思想で設計されていて、どういう特... 続きを読む

40歳から始める関数型言語、OCaml - すぎゃーんメモ

2023/04/13 このエントリーをはてなブックマークに追加 14 users Instapaper Pocket Tweet Facebook Share Evernote Clip rust chatgpt OCaml 所感 Python

動機 Why OCaml 学習方法 Real World OCaml Github Copilot と ChatGPT オンラインジャッジ (競プロ) Advent of Code その次? 所感 関数型という概念 OCamlの書き味 Rust, Python の経験 AIとの親和性 まとめ 某Nさんがここ最近Haskellとか勉強してて楽しそうで真似してみたくなって、自分も今さらながら何か関数型言語... 続きを読む

入れ子構造を自由に拡張する – TypeScript版「Trees that Grow」 | IIJ Engineers Blog

2023/04/03 このエントリーをはてなブックマークに追加 18 users Instapaper Pocket Tweet Facebook Share Evernote Clip IIJ Engineers Blog 入れ子構造 AST

日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 This is a Japanese translation of Flexiblly Extend Nested Structures – “Trees that Grow” in TypeScript. 抽象構文木(AST, Abstract Syn... 続きを読む

naoya on Twitter: "ChatGPT の VSCode 拡張 GPT-4 に対応していた Haskell で書かれた動的計画法のここの関数を遅延評価を使わずに STUArray 使って高速化して、と依頼した。ちゃんと動きました。(STArray

2023/03/18 このエントリーをはてなブックマークに追加 13 users Instapaper Pocket Tweet Facebook Share Evernote Clip vscode chatgpt 関数 https 遅延評価

ChatGPT の VSCode 拡張 GPT-4 に対応していた Haskell で書かれた動的計画法のここの関数を遅延評価を使わずに STUArray 使って高速化して、と依頼した。ちゃんと動きました。(STArray を使… https://t.co/9NkJ4uuDnA 続きを読む

【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita

2023/02/15 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip モナド Qiita chatgpt 人力 動機

動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授... 続きを読む

Haskellで動的計画法を攻略する

2023/02/11 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip 出典 メモ化 計画法 やり方 方法

Haskellで動的計画法を行う方法 出典: Easily Solving Dynamic Programming Problems in Haskell by Memoization of Hylomorphisms ザ圏論的やり方としては①Dynamorphism、手続き的な方法として②STモナドが挙げられる。 DynamorphismはHistomorphismをメモ化したようなもので、詳しくはlotz氏のサイトを参照してほしい... 続きを読む

Haskell で、優先度付きキューを使ったダイクストラ法

2022/12/24 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita アルゴリズム Wikipedia ダイクストラ法

Haskellのカレンダー | Advent Calendar 2022 - Qiita に参加させていただきます! 突然ですが Haskell でダイクストラ法を実装します。 ダイクストラ法は重み付きグラフで最短経路問題を解くアルゴリズムのひとつです。ダイクストラ法 - Wikipedia に詳しい解説があります。 ダイクストラ法は、重み付きグラフにおいて、... 続きを読む

haskellとnixの話 - Qiita

2022/12/23 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip nix Qiita

この記事は、Haskell Advent Calendar 2022の23日目の記事です。 だいぶ荒削りですので、間違いがあるかもしれません。 目的 OSSのプロジェクトで4年ほどNixを使い続けてきました。 NixのHaskellのサポートの現状のいいところと課題を整理するのが目的です。 なぜNixを使うのかを確認したあと、NixのHaskellサポートをみ... 続きを読む

ChatGPTはプログラミング言語マスター(語弊ありまくり) - kmizuの日記

2022/12/03 このエントリーをはてなブックマークに追加 93 users Instapaper Pocket Tweet Facebook Share Evernote Clip kmizu chatgpt 語弊 Has Scala

皆さんおはようございます。見ている人は見ていたかもしれませんが、昨夜はかなり遅くまで巷で話題沸騰のChatGPTによくわからんクエリを投げて、その結果をみてげらげら笑っていました。特に存在しないプログラミング言語であり「ScalaにHaskellと同じ型推論を加えた」言語Scalayがあることにしたら、ChatGPTが本当にHas... 続きを読む

ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得

2022/10/06 このエントリーをはてなブックマークに追加 17 users Instapaper Pocket Tweet Facebook Share Evernote Clip LISP 拡充 PHP 習得 AI Programmer

続きを読む

NixによるHaskell開発環境の構築 - syocy’s diary

2022/04/12 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip nix スクリプティング syocy’s diary 構築

Nix package manager によって Haskell のスクリプティングおよびパッケージ開発の環境構築をしていく。 こいついつも環境構築してんな ここで触れられないこと Nix スクリプティング ちゃんとした開発 haskell-language-server の導入 パッケージの設定 高度な依存関係オーバーライド トラブルシューティング nix-shell... 続きを読む

執筆中:「Haskellでの型レベルプログラミング」 | 雑記帳

2022/03/30 このエントリーをはてなブックマークに追加 11 users Instapaper Pocket Tweet Facebook Share Evernote Clip 型レベルプログラミング 筆者 側面 強み 雑記帳

最近、「Haskellでの型レベルプログラミング」という「本」を執筆している。まだ完成ではないが、以下のリンクから読める: Haskellでの型レベルプログラミング なぜHaskellか 最近いろんな言語が出てきている中で、Haskellの強みとは何だろうか。人によって答えは色々あるだろうが、筆者にとってHaskellの魅力的な側面... 続きを読む

Haskellでの型レベルプログラミング

2022/03/16 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip 型レベルプログラミング 解説書

Haskellでの型レベルプログラミングの解説書です。 続きを読む

Apple Silicon MacでのHaskell/GHCの現状・2021年末編 - Qiita

2021/12/21 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip GHC Qiita Apple Silicon Mac 現状

この記事は Haskell Advent Calendar 2021 の21日目の記事です。 昨年発表されたApple Silicon (Arm) Macは、今年も新製品と新チップ “M1 Pro/Max” が登場し、ますます勢いを増しています。Mac使いの皆さんはもう手にされましたか? 新しいアーキテクチャーにはハードウェアだけではなくソフトウェアの対応も重要です。... 続きを読む

GHCのIOマネージャの歴史と僕の苦悩 - あどけない話

2021/12/08 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip GHC ネイティブスレッド グリーンスレッド コンパイラ 苦悩

これは、Haskell Advent Calendar 2021 の8日目の記事です。 Haskellのコンパイラとして事実上一択となったGHCには、「軽量スレッド」が実装されています。軽量スレッドは、ネイティブスレッドよりも軽量なスレッドで、他の言語では「グリーンスレッド」とも呼ばれています。Haskellerが並行プログラミングをするときは... 続きを読む

「アルゴ式」をHaskellで学ぶための準備

2021/12/07 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip CAMPHOR アルゴリズム プログラミング 教科書 練習問題

この記事は、CAMPHOR- Advent Calendar 2021 の7日目の記事です。 「アルゴ式」というプログラミングを学んで実践できる非常に良質なWebサービスがあります。 アルゴリズムについて解説された教科書だけでなく、実際にプログラミングを書いて提出してオンラインでジャッジしてくれるシステムを備えた練習問題も用意され... 続きを読む

仕事で使うHaskell

2021/11/30 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip nix HERP Zenn ビルド 仕事

TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みた... 続きを読む

Levelsモナドを使った幅優先探索の仕組み

2021/09/03 このエントリーをはてなブックマークに追加 14 users Instapaper Pocket Tweet Facebook Share Evernote Clip アルゴリズム 関数 実装 関数型プログラミング言語 幅優先探索

Haskellは関数型プログラミング言語と呼ばれますが、関数だけでなく型も重要な役割を担っています。アルゴリズムを考える時、手続きの最適化だけでなく、正しいデータ型を選択することがシンプルなアルゴリズムを導き、実装をコンパクトにできるというのはよくある話です。今回は非常に単純な型でありながら幅優先探索と... 続きを読む

Haskellのモナド完全に理解した」試験問題

2021/06/13 このエントリーをはてなブックマークに追加 79 users Instapaper Pocket Tweet Facebook Share Evernote Clip モナド Monad 緊張 自信 試験問題

Haskellは勉強したけどモナドを本当に理解したって言えるのか自信がない… \そんな人向けの試験問題を作りました!/ これから実施する試験問題を、10問中8問正解すればあなたはHaskellのモナドを完全に理解しています。私が保証します! それではさっそく〜〜 第一問 まずは緊張をほぐしましょう。 Haskellの Monad は○... 続きを読む

10年間使ってみて見えたHaskellの闇と光 - Qiita

2021/03/01 このエントリーをはてなブックマークに追加 27 users Instapaper Pocket Tweet Facebook Share Evernote Clip モジュー Qiita 愚痴 コンパイル バイナリ形式

はじめに わたしがHaskellを使い始めてもうそろそろ10年目になります。(タイトルは多少サバを読んでいますね) これまで使ってきた感想をまとめます。 Haskellのつらいところ まずは愚痴らせてください。 コンパイルが遅い 依存モジュールはすべてソースコードからビルドする必要があります。(バイナリ形式のモジュー... 続きを読む

OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog

2021/02/26 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip itchyny OSS Scala 貢献 アンケート

はてなで働くエンジニアにアンケートシリーズ第13回は、ブックマークチームのWebアプリケーションエンジニア、id:itchynyに話を聞きました。 はてなidはかぶらないように適当に付けた Haskellが得意な自分ならScalaも書けるだろうと思って チーム間で協力しながら新しいAPIの仕様を策定 TLとして、チーム横断での依頼の... 続きを読む

HaskellのLinearTypes言語拡張について少し調べた - TSUGULOG

2021/02/13 このエントリーをはてなブックマークに追加 6 users Instapaper Pocket Tweet Facebook Share Evernote Clip

上記 array という関数はarrayの長さを第1引数に、インデックスと値のタプルのリストを第2引数に受けとり、immutableなArrayを生成する。ここで unsafeFreeze は、freeze後の挙動については制約をかけることができず、状況によってはfreeze後にwriteされる可能性もあり得る。 これをLinear Typeを使って以下のように定義... 続きを読む

HaskellでのTDDを楽しくするライブラリ methodを作りました。

2021/01/11 このエントリーをはてなブックマークに追加 6 users Instapaper Pocket Tweet Facebook Share Evernote Clip モナド TDD method 関数 メソッド

はじめに Haskellでテスト駆動開発を行う際、純粋な関数は単体テストを書きやすいですが、 返り値がモナドの関数(この記事ではそのような関数をメソッドと呼びます)にたいして単体テストを書くのは簡単ではありません。 今回、メソッドに対して単体テストを書きやすくなるライブラリ methodを作成しました。 methodと... 続きを読む

 
(1 - 25 / 255件)