23 search resultsShowing 1~20 results

Stocked

サンクの構造を見る

GHCでは評価戦略がデフォルトで遅延評価ですが、このために引数に関数を適用しただけでは評価自体は行われずに、サンクとして扱われます(ここではinliningやstrictness-analysi...

23
8
Comment0

Rewrite Rulesについて軽く

Rewrite Rules(書き換え規則)について軽く説明します。 rewrite rulesはコードを書き換える最適化手法です。コードの書き換えに関してはユーザ自身が指定できるところがポイント...

18
4
Comment0

Compact Regionsについて軽く

現在ghc最新は8.6です。 Compact Regionsはghc-8.2から搭載された機能です。 Compact RegionsはGC中に走査されない、連続したメモリ領域に載ったデータを提供...

24
6
Comment1

型を表示する関数

型を表示して何か嬉しいんだろうかと思ったけど、意外と面白かったので載せておきます。 一般的な型に対してログへの出力なんてことは出来ないので型クラスを作りました。 あとは出力出来る型を増やしたかっ...

8
8
Comment1

スペースリークと代数的構造

関数適用によるスタックとサンク 正格な言語でプログラミングすることを考えましょう。 関数適用の際にスタックが積まれ、深くなっていきます。この際のスタックはもっとも深い時にどの程度になるでしょうか...

21
16
Comment0

はじめに

そんなに正確ではないかもしれないけど、便利であろう情報を数日にわたって書いていきます。 はじめに ある概念を理解することと、使えるようになることは別のことです。 ある概念に関して定義からその性質...

79
46
Comment0

モナドをラップする話

自分で使うモナドをラップする TL;DR 使うモナドをラップしておくとモナドの変更に対して対応が楽ですよ、という話です。 シナリオ例 開発当初、開発者がこのプロダクトで使うモナドはState S...

14
8
Comment4

23 search resultsShowing 1~20 results

Qiita is a knowledge sharing service for engineers.

  1. You can follow users and tags
  2. You can stock useful information
  3. You can make edit suggestions for articles
Functions that can be used after logging in