はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • TypeScriptの型メモ - Qiita

    43 users

    qiita.com/dico_leque

    他言語の型システムに馴染みがある人向けのTypeScriptの型システムについてのメモです。個々の用語については『型システム入門』や適当な論文を参照してください。また、個々の型機能の詳細については TypeScript Documentation を参照してください。 合わせて読みたい: TypeScript: Handbook - TypeScript for Functional Programmers 部分型多相(subtype polymorphism)があります。 名前的部分型付け(nominal subtyping)ではなく、構造的部分型付け(structual subtyping)を採用しています1。クラス定義では一見、名前的部分型関係が導入されそうに見えますが型検査は構造的に行なわれます。 パラメータ多相(parametric polymorphism。または総称型(gen

    • テクノロジー
    • 2020/10/18 14:43
    • TypeScript
    • あとで読む
    • qiita
    • 文字列を段階的に組み立てる - Qiita

      5 users

      qiita.com/dico_leque

      プログラムで文字列を組み立てていると、 "(" ^ なにか ^ ")" のように、文字列結合で段階的に結果を組み立てたいことがある。 文字列が小さいことがわかっているうちはこれでもよいのだけれど、文字列が大きくなってくると段々と計算量が気になってくる(特に最適化をしていなければ、文字列の長さを n とすると結合のたびに O(n) のコストがかかる)。 左から右に組み立てることがわかっていれば、OCamlなら Buffer モジュールが使えるが、括弧のようなものがからむとそうも言っていられない。 stringを使うのをやめて、ropeのようなデータ構造を使う手もあるけど、依存ライブラリを増やしたくない場合もある(言語処理系によっては文字列の内部表現がropeになっていて以下のような小細工をする必要がない場合もある)。 ということで、自分でデータ構造をつくってみる。

      • テクノロジー
      • 2020/02/19 20:51
      • OCaml
      • Haskell
      • HotEntry
      • プログラミング
      • OCamlでできるだけ型注釈を書かずに済ませる - Qiita

        4 users

        qiita.com/dico_leque

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2019/12/22 13:37
        • OCaml
        • evalのススメ - Qiita

          13 users

          qiita.com/dico_leque

          この記事は Lisp Advent Calendar 2017 の 17 日目の記事です。 eval は強力ではあるものの、その強力さ故に現代的な Lisp ではあまり使われない。 Lisp 以外の eval のある言語、例えば JavaScript ではその存在はほとんど忘れられているような気がするし、 Ruby でも instance_eval や class_eval といった表現力を弱めた変種が使われることはあれど、素の eval が使われることはほとんどないように思う。 Lisp の場合でも、普通は eval を使わずに簡単な DSL を作って自分でインタプリタを書いてしまうことが多いのだけど、 DSL が複雑になってくると少し面倒さを感じないでもない。 そんなときに R7RS Scheme の eval がちょうどうまく使える例があったので紹介したい。 R7RS Scheme

          • テクノロジー
          • 2017/12/17 19:19
          • Lisp
          • あとで読む
          • いろいろな言語での Map, Dictionary 的なものの名前 - Qiita

            174 users

            qiita.com/dico_leque

            いろいろな言語で、キーと値とを対応づけるデータ構造、いわゆる連想配列、辞書、……たちがどのように呼ばれているか、気になったので調べてみた。 おおよそ、対応表(map)、辞書(dictionary)、実装の名前をそのまま(hash-table)、 Perl風(hash)に分けられると思う。 Common Lisp: hash-table Scheme: hash-table (SRFI-69, SRFI-125 → R7RS-large), hashtable (R6RS Scheme, SRFI-126), map (SRFI-44), mapping (SRFI-146) Haskell: Map OCaml: Hashtbl, Map SML: hash_table (sml-nj-lib) C++: map, multimap, unordered_map, unordered_mu

            • テクノロジー
            • 2017/10/08 22:49
            • programming
            • プログラミング
            • あとで読む
            • 辞書
            • 開発
            • foldみぎひだり - Qiita

              7 users

              qiita.com/dico_leque

              この記事は ML Advent Calendar 2015 の 7 日目の記事です。 ML 系言語を含め、多くの関数型言語はリストの畳み込み関数を持っている。動作についてはひとつの言語を知っていれば他の言語で困ることはないのだけれど、引数の取り方が違って迷うことがある。 リストの畳み込み リストの畳み込みと呼ばれる演算には右畳み込みと左畳み込みがあり、リスト [e1, e2, ..., en] と初期値 z、二項演算 ⊕ に対して以下のように定義される。 右畳み込み (e1 ⊕ (e2 ⊕ ... (en ⊕ z) ... )) 左畳み込み (( ... ((z ⊕ e1) ⊕ e2) ⊕ ...) ⊕ en) 右畳み込みはリストの右側の要素から順に取り出して初期値 z と組み合わせていき、左畳み込みはそれを左側の要素から行なう。 末尾呼び出しの最適化があれば、左畳み込みは固定のスタック領

              • テクノロジー
              • 2015/12/07 08:37
              • より自由なFreerモナドをSchemeに - Qiita

                4 users

                qiita.com/dico_leque

                Free モナドを使うと Functor f からモナド則を満たす Free f が得られる。 Freer Monads, More Extensible Effects の Freer1 モナドを使うと、 Functor であることすら必要とせずモナドが得られると聞いたので Scheme (Gauche)で実装してみた。 (ちなみに、 Freer モナドの定義は2013年ごろに話題になった Operational モナドと同一である。 Operational モナドを知っている人にはこの記事で得られるものは少ないかもしれない。 Operational については例えば Freeモナドを超えた!?operationalモナドを使ってみようなどを参照。元論文はさらに Operational モナドの効率的な実現法や Extensible Effects との組み合わせについて扱っている) F

                • テクノロジー
                • 2015/09/25 22:07
                • 意味に応じて括弧の色を変える - Qiita

                  7 users

                  qiita.com/dico_leque

                  Scheme は比較的オーバーロードの少ない言語で、標準の手続きでオーバーロードが使われているのは数値計算とポートまわりくらいだろうか。 しかし、構文レベルで見ると非常に大きなオーバーロードがある。括弧だ。 こんな指摘がある。 全くの初心者にschemeをやらせた経験では、文法を理解するのに苦労するみたいだった。引数リストの()とcondの条件節の()と関数適用の()……等々がみんな同じ見た目(だけど解釈がそれぞれ違う)だから何がどうなってるのかわからなくなる。 — むとう (@masa_edw) July 14, 2011 関数定義するときの (define (func args...) ...) の(func ...)は関数呼び出しではない! なにそれ! (cond (c0 value0) (c1 value1) ...) の (c0 value0)は関数呼び出しではない! — むとう

                  • テクノロジー
                  • 2014/12/20 10:03
                  • scheme
                  • Emacs
                  • あとで読む
                  • 限定継続でモナドを後付けする - Qiita

                    4 users

                    qiita.com/dico_leque

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                    • テクノロジー
                    • 2014/12/09 11:18

                    このページはまだ
                    ブックマークされていません

                    このページを最初にブックマークしてみませんか?

                    『qiita.com』の新着エントリーを見る

                    キーボードショートカット一覧

                    j次のブックマーク

                    k前のブックマーク

                    lあとで読む

                    eコメント一覧を開く

                    oページを開く

                    はてなブックマーク

                    • 総合
                    • 一般
                    • 世の中
                    • 政治と経済
                    • 暮らし
                    • 学び
                    • テクノロジー
                    • エンタメ
                    • アニメとゲーム
                    • おもしろ
                    • アプリ・拡張機能
                    • 開発ブログ
                    • ヘルプ
                    • お問い合わせ
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について

                    公式Twitter

                    • 公式アカウント
                    • ホットエントリー

                    はてなのサービス

                    • はてなブログ
                    • はてなブログPro
                    • 人力検索はてな
                    • はてなブログ タグ
                    • はてなニュース
                    • ソレドコ
                    • App Storeからダウンロード
                    • Google Playで手に入れよう
                    Copyright © 2005-2025 Hatena. All Rights Reserved.
                    設定を変更しましたx