[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

goとhaskellに関するslay-tのブックマーク (6)

  • 挿入ソートと選択ソートは双対 - Qiita

    先日 Gotanda.hs #1 @HERP というイベントがあって、そこでRecursion Schemesで考える並べ替えアルゴリズムというタイトルでA Duality of Sortsという論文の話をLTしたんですが、この記事ではそこで話せなかった論文の後半で解説されている挿入ソートと選択ソートの双対性について書いていきたいと思っています。 ソートアルゴリズムの復習 まずは主役の二人である挿入ソートと選択ソートについて見ていきましょう。 挿入ソートは与えられたリストの先頭から要素を取り出し、これまでに構築したソート済みのリストに挿入していくという処理を繰り返すことでソートを実現するアルゴリズムです。 出典: Insertion sort - Wikipedia これをHaskellで実装すると以下のようになります。 insertSort :: [Int] -> [Int] inser

    挿入ソートと選択ソートは双対 - Qiita
  • GHC/RTSのGCについて - Qiita

    Haskellで効率の良いコードを書くためにはいかに不要なサンクを潰すか、ということが重要だと言われています。しかし、そもそもなぜサンクが増えると効率が悪くなるのでしょうか。 Haskellのメモリ確保は高速 まず、Haskellにおいてメモリの確保はどの程度コストがかかるものなのでしょうか。次のプログラムを使って確かめてみましょう。 {-# LANGUAGE BangPatterns #-} {-# OPTIONS_GHC "-ddump-simpl" #-} module Main2 where bench :: Int -> (a -> a) -> a -> a bench n f i = go n i where go 0 !i = i go k !i = go (k-1) (f i) {-# NOINLINE bench #-} main :: IO () main = prin

    GHC/RTSのGCについて - Qiita
  • 機械語の勉強会に参加したので8086の逆アセンブラをGoで書いてみてる - As a Futurist...

    HHVM の話を聴いてからというもの、VM というものにどうにも興味がわいて仕方がない今日この頃。世の中の言語処理系も中身は VM だったりするわけで、そもそも VM ってどうやって作るのかな − とか考えてたら @riywo PDP-11のVM作って、Unix V6動かせば、一石何鳥になることやら — sakamoto.kazuki (@splhack) October 1, 2014 というご意見をもらって、初めて PDP-11 というものを調べ始めました。UNIX V6とかを買って読み始めてみたり、言語処理系の作り方のにも手をだしてみました。 PDP-11/UNIX V6 の勉強会があった そんな中、@7shiさんが主催されている「池袋バイナリ勉強会」の存在を知りました。なんと、ついこの間まで PDP-11 の逆アセンブラ(機械語のバイナリからアセンブリ言語を出力する)を作っ

    機械語の勉強会に参加したので8086の逆アセンブラをGoで書いてみてる - As a Futurist...
  • Go言語がダメな理由 | POSTD

    私はGo言語が気に入っていますし、多くの場面で使用します。現にこのブログもGoで書いています。Goは便利な言語ですが、優れた言語とは言えません。つまり、悪くはないけれど、十分ではないということです。 満足できない言語を使用する際は注意が必要です。注意を怠ると、その言語を次の20年間使い続ける羽目になるかもしれないからです。 私のGoに対する主な不満を文にまとめました。既に何度も指摘されていることも含まれていますが、中にはこれまでほとんど話題になっていない指摘もあります。 これから列挙する全ての課題には既に解決策があることを示すため、私が優良な言語と考えるRustやHaskellと比較して説明します。 汎用プログラミング 課題 誰でもさまざまな事柄に幅広く対応できるコードを記述したいと考えます。例えば数のリストの合計を求めるために定義した関数が、小数、整数、またその他の合計を求められるもの

    Go言語がダメな理由 | POSTD
  • ドワンゴハッカソン & エンジニア決起集会レポート2014:dwango エンジニア ブロマガ

    ドワンゴエンジニアの清水(@meso)です。 去る7/7に、ドワンゴ, ドワンゴモバイル, キテラスのドワンゴグループ3社のエンジニアが集結して、イベントを開催いたしましたので、その様子をご報告いたします。 イベント概要 ドワンゴでは、毎年「エンジニア決起集会」を開催しています。これは、エンジニアが一同に集まって、「よりよいサービスを作りだしていくぞ!」という思いを新たにするという、大規模な飲み会のようなものなのですが、昨年からはより「エンジニア」っぽいイベントをしたいということで半日使っての「ハッカソン」も開催しています。 昨年の様子はこちら 今年も昨年同様にハッカソンを行ったのですが、昨年よりもエンジニアの数が50名以上増えているため、会場がパンクしてしまうのを回避するために、新入社員のチーム開発研修の成果発表会を裏で同時開催することで、何とか全員入れるよう調整しました。 ハッカソンの

    ドワンゴハッカソン & エンジニア決起集会レポート2014:dwango エンジニア ブロマガ
  • LinuxコミュニティはRustを受け入れた

    私が最近注目しているプログラミング言語がある。Rustだ。Rustとは、錆のことである。何が錆なものか。JJだ。 RustはMozillaが開発しているプログラミング言語である。恥ずかしいことに私はRustの存在をつい最近まで知らなかった。私がRustの存在を知ったのはkernelvmでのことである。発表をustで聴いたあと自分で調べるとなるほどこれは私の望んでいた言語だと思った。そしてそれは、Linuxコミュニティが望んでいた言語でもあったのだ。 昨今、Go言語なるものが流行っている。も杓子もDockerの実装言語として採用されているためだ。しかし、Goは私のテイストに合わない。プログラミング言語というのは、異性のようなもので、一目見ただけで良いとか悪いとか感じるものである。これがまさにテイストということであり、言語にこだわりがないなんて人は、「誰でも良い」と言ってるようなものである。

    LinuxコミュニティはRustを受け入れた
  • 1