タグ

Haskellに関するxiangzeのブックマーク (94)

  • 純粋関数空間 Hideyuki Tanaka

    ここは田中英行(Hideyuki Tanaka, a.k.a tanakh)の個人ページです。 Recent Posts Run Rust code on PEZY-SC processor - December 20, 2016 RustのコードをPEZY-SCというプロセッサーで動かしてみる PEZY Computing 求人情報 - January 20, 2016 第12羽「転職は僕の決定的瞬間」 - December 25, 2015 ごちうさ Advent Calendar 2015 友利奈緒とコミュニケーションするアプリ - December 20, 2015 友利奈緒 Advent Calendar 就職しました - July 12, 2015 就職しました …or you can find more in the archives. Copyright (c) 2011-

  • Pandoc User’s Guide 日本語版 — 日本Pandocユーザ会

    原著バージョン: 2.18 更新日: 2022/04/29 翻訳者(アルファベット順): becolomochi makotosan niszet Takada Atsushi Tomoki Ishibashi Yuki Fujiwara 概要¶ pandoc [options] [input-file]… 説明¶ Pandocは、あるマークアップ形式から他の形式へ変換する Haskell ライブラリと、そのライブラリを用いたコマンドラインツールです。 Pandoc は、 MarkdownHTML 、LaTeX 、 Word docx など、これに限定されない多数のマークアップとワープロ形式の間で変換することができます。入力および出力形式の完全なリストについては、下記 (options below) の --from と --to を参照してください。 Pandoc は PDF 出力

  • Deep Learning From The First Principles | Bogdan Penkovsky, PhD

    Breaking news! Artificial intelligence is taking over the world. Or it is not? Here is what you need to know about a deeper concept of meta-learning. Meta-learning is learning about learning. Learning how to learn belongs here too. Ever wondered how machines defeated the best human Go player Lee Sedol in 2016? A historical moment for the game that was previously considered to be very tough. What i

  • 関数を組み合わせてシステムを組む「Haskell」。クセの強さがその魅力?〜エンジニアが語る技術愛 #01〜|ミクシル

    ミクシィには、探究心溢れるエンジニアがたくさん在籍しています。 その探究心は業務で扱う技術にとどまらず、趣味で書いているプログラムだったり、個人的に研究している言語だったりと、自身の気になった技術への追求も留まることを知りません。 そこで、社内のエンジニアに“好きな技術”について、思う存分に語ってもらうシリーズを始めました。 ルールはこの通り。 ・業務で使っている技術でも、使われていない技術でもOK ・あくまでも個人的な見解で ・その技術のどこが面白いのか ・愛を込めて語り尽くしてもらう 第1回目は、「モンスターストライク(以下モンスト)」のサーバーエンジニアの松原に、関数型プログラミング言語「Haskell」についていったい何が面白いのか、どういうものなのか、好きなだけ語ってもらいました。 有名プログラミング言語のナレッジが通用しづらい独特な「Haskell」 ━━今日は好きな技術につい

    関数を組み合わせてシステムを組む「Haskell」。クセの強さがその魅力?〜エンジニアが語る技術愛 #01〜|ミクシル
  • 正規表現の微分を Haskell で実装してみる - Qiita

    この記事は 正規表現 Advent Calendar 2022 の 19 日目の記事です. いったい何番煎じかわかりませんが,正規表現の微分を Haskell で書いてみたときのメモが残っていたので,投下したいと思います. 正規表現の微分とは 正規表現の微分は,Brzozowski が提唱したもの [1] が知られており,Brzozowski 微分 (Brzozowski derivative) とも呼ばれます. ざっくりと説明するなら,正規表現 $r$ の文字列 $u$ に関する微分とは,$r$ の先頭から $u$ 部分だけを除いた正規表現のことをいいます. いくつか例を挙げてみます (連接の記号は省略しています). 正規表現 abc の文字列 a に関する微分は bc 正規表現 abc の文字列 ab に関する微分は c 正規表現 abc の文字列 abc に関する微分は $\vare

    正規表現の微分を Haskell で実装してみる - Qiita
  • 職業プログラマが圏論をスルーすべき理由

    情報系の大学の学部を出た人々が増えたせいか、HaskellやScalaなどの関数型プログラミング言語が流行ってきて、最近はクライスリ圏、モナド、モナドと呟く人々をネット上でよく見かけるようになった。圏論プログラミングなるモノが流行っていると勘違いしだす人もいるようだ。しかし、これらの言語に触れた人は少なくないと思うが、圏論について学んだ職業プログラマーは少ないと思う。これから学ぶべきなのか気になっている人もいると思うが、実際問題使い道が無いので、スルーした方が無難だ。 圏論は数学の中でも広く教えているとは言えない部類のもので、20世紀も中盤以降に研究が進んできたものだ。圏論の土台部分はシンプルなもので、目的に応じて概念を追加して応用されており、例えばHaskellのモナドはクライスリ圏の中の概念であるクライスリトリプルに対応している。だからクライスリ圏に習熟していれば、数学的にモナドによる

    職業プログラマが圏論をスルーすべき理由
  • GHCのFFI&ForeignPtrに関するパフォーマンスの調査(C++編) - Qiita

    この記事は、Haskell Advent Calendar 2022の22日目の記事です。 GHCのFFIとForeignPtrに関するパフォーマンスの調査をしました。 至らぬところがあるかと思いますが、よろしくおねがいします。 概要 Hasktorchというプロジェクトで行列の演算にpytorchc++のライブラリ(libtorch)を使っています。 10x10の行列積の計算のベンチマークで、Hmatrixが1.03usに対して、Hasktorchでは3.21usかかりました。 2つのライブラリは構造がよく似ていて、オブジェクトの管理はどちらもForeignPtrを使っていますし、計算はCのライブラリのblasを使っています。違いはHmatrixがC言語のライブラリを扱っているのに対して、HasktorchはC++言語のライブラリを扱っているというところです。2usの違いがパフォーマン

    GHCのFFI&ForeignPtrに関するパフォーマンスの調査(C++編) - Qiita
  • functor.tokyo -- How to get into Machine Learning for a Haskeller

    I've been interested in Haskell for about 5 years now. I've been using it professionally for about 3 years. Most of the work I've done so far has been web-related. A large part has been writing web application backends in Haskell. I really enjoy using Haskell as a programming language, but I would like to expand my skill set. When looking to level up, it seems like a lot of Haskellers focus on imp

  • 表現可能関手 - bitterharvest’s diary

    5. 表現可能関手 日歴史を学んでいるといくつもの学説に出会う。それらの中で、圏論との関わりが面白いと思った学説が中世史にあったので、それを最初に紹介しよう。 一つは、「権門体制論」である。黒田俊雄氏の学説で、中世の国家体制は、公家権門(執政)、宗教権門(護持)、武家権門(守護)の三つの権威から成り立っていて、それらは相互補完的な関係にあると主張されているものである。 また、佐藤進一氏は、室町時代初期の統治体制を「将軍権力の二元論」だと言っている。これは将軍権力が主従的支配権と統治的支配権に分割され、運用されているという学説で、主従的支配権はいわゆる「御恩と奉公」を基盤とした軍事、統治的支配権は「建武式目」をベースとした法による統治である。 二つの学説に対しては賛否両論があるようだが、歴史認識から離れて、数学の圏論という立場からは、構成要素を重視している「権門体制論」は「対象」という視

    表現可能関手 - bitterharvest’s diary
  • FUNCTIONAL PEARLS Monadic Parsing in Haskell

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

    Haskellは関数型プログラミング言語と呼ばれますが、関数だけでなく型も重要な役割を担っています。アルゴリズムを考える時、手続きの最適化だけでなく、正しいデータ型を選択することがシンプルなアルゴリズムを導き、実装をコンパクトにできるというのはよくある話です。今回は非常に単純な型でありながら幅優先探索というアルゴリズムのエッセンスを詰め込んだ Levelsというデータ型 について紹介したいと思います。 ピタゴラス数を列挙する ピタゴラス数とはピタゴラスの定理における関係式 a^2 + b^2 = c^2 を満たす自然数の三つ組です。 Haskellのリストは遅延評価なので 全ての自然数の三つ組を列挙する 列挙した自然数の中から関係式を満たすものだけ抽出する という手順でピタゴラス数を列挙することを考えてみましょう。 実際この方法は有限な探索範囲ではうまく機能します。 pyth :: [(I

    Levelsモナドを使った幅優先探索の仕組み
  • Android むけ Haskell コンパイラをリリースしました!

    4 年まえに「Haskell コンパイラを書こう!」 という記事で紹介した自作コンパイラを、いよいよリリースしますというお話です。 その記事で述べた通り、Haskell 2010 仕様を満たし、かつ、FFI をサポートしたら Version 1 にしようと思っているのですが、まだそこまで至っていないため、 今回は 0.9.0 版としてリリースします。 Bunny は、Android 上で動くアプリケーションの作成をターゲットとした Haskell コンパイラです。このコンパイラを作成するにあたって、基礎的な部分を「最新コンパイラ構成技法」というで勉強したので、 そのの通称である Tiger Book にちなんで Bunny という名前にしました。 Bunny は、Haskell で書かれた Haskell コンパイラです。Haskell プログラムをソースコードとし、オブジェクトコード

  • GitHub - hasktorch/hasktorch: Tensors and neural networks in Haskell

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - hasktorch/hasktorch: Tensors and neural networks in Haskell
  • グラフからコミュニティ構造を抽出する 〜リッチフローによるグラフの時間発展〜

    コミュニティ抽出とは簡単に言えばグラフにおけるノードのクラスタリング手法です。具体的なアルゴリズムとしてはGirvan–Newman法をはじめ様々なアルゴリズムが存在しますが、この記事では去年(2019年)提案された新しい手法について解説したいと思います[1]。 [1907.03993] Community Detection on Networks with Ricci Flow 話の元になっているのはこちらの論文で、グラフをリッチフローによって変形し、伸びたエッジを切断していくことでクラスタを求めるというアルゴリズムです。リッチフローという聞き慣れない言葉が出てきましたが、ちゃんと後で説明するので気にせず進めましょう。 まずは実際にグラフのクラスタリングを行う様子をアニメーションで見てみてください。 アルゴリズム自体はそれほど難しくありませんが、背景を含めて理解するためには2つの理論

    グラフからコミュニティ構造を抽出する 〜リッチフローによるグラフの時間発展〜
  • 貪欲ライフゲーム - Qiita

    (4x4の探索の様子) 長寿命パターンを探ろうのコーナーです 総当たりするのですが計算量が2^nになるので終わりが遠いです subsequencesが全パターン列挙を担っています それをevalが寿命を計算し、searchが寿命を比較してより長寿命のパターンを保持します use std::time; use std::thread; type Cells = Vec<Vec<bool>>; // コンウェイさんのルール fn rule(c: bool, n: u8) -> bool { match (c, n) { (true, 2) => true, (true, 3) => true, (false, 3) => true, _ => false } } // 年齢を重ねる fn next(cells: &Cells) -> Cells { let mut new = cells.cl

    貪欲ライフゲーム - Qiita
  • 幽霊型を知った | κeenのHappy Hacκing Blog

    κeenです。かねてより気になっていた幽霊型(Phantom Type)について知ったのでアウトプット。 このPDFがベースになって ます。 余談ですが英語がファントム・タイプと中々中二な名前なので和訳も幻影型とかそういう方向に走って欲かったな。 「幽霊型」で調べると真っ先にこのサイトが出てくるのですが、ミスリーディングと言われていました。 別に間違ったことを書いている訳ではないのですが、幽霊型の応用例なのでこれこそが幽霊型だと思ってしまうと少し視野が狭くなってしまうようです。 モチベーション ブーリアンと整数と条件分岐と足し算と比較が出来るミニ言語を考えてみます。自動で型変換は行わない(つまりintとboolの比較などは出来ない)言語とします。こんな感じでしょうか。 datatype exp = Int of int | Bool of bool | If of exp * exp *

    幽霊型を知った | κeenのHappy Hacκing Blog
  • プログラミングHaskell 第2版

    紙書籍をお届けします(PDFがついてきます) PDFのみが必要な場合は、こちらのPDF単品をお求めください PDFは購入後すぐにダウンロード可能です 紙書籍は通常、ご注文から2~3営業日で発送します 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください プログラムが、手続きでなく、関数と型に見えてくる Graham Hutton 著、山和彦 訳 328ページ A5判 ISBN:978-4-908686-07-8 2019年8月2日 第1版第1刷 発行 翻訳者による補足情報があります(リンク) 正誤情報 Haskellは、1990年に誕生した歴史あるプログラミング言語です。強力な型推論を備えた、静的型付きで遅延評価の純粋関数型言語として知られています。Haskellを知ることは、こうした概念の背景にある計算機の理論を知り、それが

    プログラミングHaskell 第2版
  • haskell-shoen

    🎌ようこそ🎌 / kakkun61 / Haskell の歩き方 / リンク / パッケージティアリスト / Wiki のライセンス / ロゴ / チャット / Slack 管理者へのメモ / 文字コードを変換する / mrsekut / 論理学 / fumieval / barbies-th / Haskellのつらいところ / 組織紹介 / 避けるべきこと / HKD / Recursio

    haskell-shoen
  • HaskellでFPGAの最小のサンプル - IT練習ノート

    入力を反転するだけのコード Not gate コンパイル $ stack exec -- clash --interactive CLaSHi, version 0.99 (using clash-lib, version 0.99): http://www.clash-lang.org/ :? for help Clash.Prelude> :cd ../worka Clash.Prelude> :! ls Clash01.hs Clash.Prelude> :l Clash01.hs [1 of 1] Compiling Clash01 ( Clash01.hs, interpreted ) Ok, modules loaded: Clash01. *Clash01> Verilog生成 *Clash01> :verilog Loading dependencies took 2.50

    HaskellでFPGAの最小のサンプル - IT練習ノート
  • 日本Haskellユーザーグループ - Haskell-jp