タグ

ブックマーク / qiita.com/7shi (5)

  • Haskellで学ぶF#入門 - Qiita

    Haskellと比較しながらF#を説明します。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。 ※ 一応、Haskellは飛ばしてF#だけでも読めるようには配慮したつもりです。Haskellがよく分からなければ飛ばして読んでみてください。 この記事はHaskellの記事をベースにしています。 Haskell 超入門 2014.08.20 練習の解答例は別記事に掲載します。 【解答例】Haskellで学ぶF#入門 この記事には姉妹編があります。 C#/JavaScriptで学ぶF#入門 2017.01.04 この記事には関連記事があります。 doブロックとコンピュテーション式 2016.07.01 functionのインデント 2016.12.14 F#を手っ取り早く試すために、私が常用

    Haskellで学ぶF#入門 - Qiita
  • 共変戻り値と反変引数 - Qiita

    C#を学習すると共変と反変という用語がでてきます。難しそうな用語ですが、その取っ掛かりとして戻り値と引数に的を絞って図によるイメージで説明します。数学的な知識は前提としませんし、コードも簡単なものしか出て来ません。型周りの知識を整理するのにも役立つでしょう。 この記事で最終的に説明したいことは、次のようにデリゲートから参照するメソッドの戻り値や引数の型を変える規則についてです。 C Foo(A a) { return new C(); } // 戻り値はBの派生クラスC、引数はBの基底クラスA delegate B Delg(B b); // 戻り値と引数ともにB Delg d = Foo; // 型が一致しないのに、なぜ許されるのか? この規則はイメージしにくく混乱を招きがちですが、図による直感的な説明を試みます。 ※ 具体例で用語に慣れることも目的としています。なるべく話を単純にするた

    共変戻り値と反変引数 - Qiita
    u_wot_m8
    u_wot_m8 2016/12/14
  • Haskell モナド変換子 超入門 - Qiita

    Haskellではモナドと呼ばれる部品を組み合わせてプログラムを作ります。別種のモナドを組み合わせるためのモナド変換子の使い方の初歩を説明します。ライブラリで用意されたモナド変換子を手っ取り早く使うことを目的としているため、モナド変換子の作り方や圏論には言及しません。 シリーズの記事です。 Haskell 超入門 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 ← この記事 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続モナド 超入門 【予定】Has

    Haskell モナド変換子 超入門 - Qiita
  • VAXによる機械語入門 - Qiita

    VAXとはPDP-11の後継となる32bitマシンです。UNIX V7をVAXに移植したUNIX/32Vがあります。バイナリを通してUNIXを学習します。 この記事は以前開催していた池袋バイナリ勉強会の初回編で教えていた内容をVAX向けに書き直したものです。 この記事には姉妹編があります。 PDP-11による機械語入門 2015.11.08 8086による機械語入門 2015.11.09 環境設定 UNIX/32Vのバイナリを動かすためのインタプリタと、その上で動く当時のコンパイラを使用します。 インタプリタはJavaで作られているためJDKが必要です。 http://www.oracle.com/technetwork/java/javase/downloads/index.html WindowsではMSYS2が必要です。 MSYS2でRicty Diminishedを使う設定など 2

    VAXによる機械語入門 - Qiita
    u_wot_m8
    u_wot_m8 2016/02/22
  • Haskellによる8086逆アセンブラ開発入門 - Qiita

    8086(16bit x86)の機械語に触れる導入として、Haskellによる逆アセンブラ開発の取っ掛かりを説明します。ここから機械語の勉強を始めることを想定していますので、機械語に関する知識は特に前提とはしていません。 Haskellは初歩的な機能のみ使います。以下の内容を理解していれば十分です。 Haskell 超入門 HUnit 超入門 練習の解答例は別記事に掲載します。 【解答例】Haskellによる8086逆アセンブラ開発入門 この記事のコードをまとめたリポジトリです。 https://bitbucket.org/7shi/ikebin-hs-2 この記事は勉強会のテキストとして使用していました。 機械語入門 - connpass この記事には姉妹編があります。 8086による機械語入門 2015.11.09 2進数 文字列で指定した2進数を数値に変換する関数です。HUnitのテ

    Haskellによる8086逆アセンブラ開発入門 - Qiita
  • 1