Movatterモバイル変換


[0]ホーム

URL:


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

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

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

コンパイラに関するzyzyのブックマーク (3)

  • 「関数の副作用の有無」よりも大事なもの | 雑記帳

    プログラミングをやっていると、「関数に副作用がある」とか「副作用がない」あるいは「純粋である」という話をちょいちょい耳にする。そして、「外界の状態を読み取るけど変更はしない関数」、例えば function getTime() { return Date.now(); } のような関数に副作用があるか?みたいな議論が始まったりする。 くだらない議論だ。 何か概念を定義するときは、それが「役に立つ」場面を提示できる必要がある。「関数の副作用」を定義するときは、「関数の副作用」がわかったときに何をしたいのかをはっきりさせる必要がある。「関数のどういう側面に注目したいか」を決めずに「副作用の有無」を論じるのはナンセンスだ。 ここでは、言語処理系(コンパイラー)を実装する者の立場で、関数の副作用について論じてみたい。 一般に、「副作用がない」関数の呼び出しは、「副作用がある」関数の呼び出しに対するも

    zyzy
    zyzy2025/06/23非公開
    思ってたよりむしろ純粋だと最適化にいろいろと便利なんだな、ってなった。
    • C言語のbitfieldの仕様と実装を調査した話 - /home/tnishinaga/TechMEMO

      C言語にはbitfieldという機能がありますが、この機能にはさまざまな落とし穴があり、注意深く利用しても予期せぬバグや移植性の問題を引き起こす可能性があるとよく言われています。 実際、jpcertを確認すると複数の勧告が出ています。 EXP11-C. ビットフィールド構造体のレイアウトについて勝手な想定をしない INT12-C. 式中で使用される単なるintのビットフィールドの型について勝手な想定をしない CON32-C. 複数スレッドによる隣接データへのアクセスが必要な場合データ競合を防止する DCL39-C. 信頼境界を越えて構造体を渡すとき情報漏えいしない 私は先輩技術者から「とくに組み込みの分野においてC言語のbitfieldは使うべきではない」と教わって生きてきました。記事ではbitfieldの仕様や問題点、なぜ仕様を避けるべきか、緩和策や代替案について検討します。 目次

      C言語のbitfieldの仕様と実装を調査した話 - /home/tnishinaga/TechMEMO
      zyzy
      zyzy2025/02/14非公開
      存在をほぼ忘れてた……。リッチなアセンブラとして使うケース用っぽい機能だな。
      • 70以上ものプログラミング言語に対応したオンラインコンパイラ『CompileOnline』 | 100SHIKI

        似たようなツールはよくあるが、言語数が充実していたのでご紹介。 CompileOnlineでは、JavaScriptやLua、Pythonといった言語をブラウザ上で試すことができる。 なかなかマニアックな言語に対応しているのが特徴で、SmalltalkやBraninf**k、はてはWhitespaceまであるようだ。 プログラミングはそれ自体よりも環境を整えるほうが難しかったりもするので、こうしたツールをうまく使いたいところである。 ちょっとあの言語を試したい、というときにいかがだろうか。

        70以上ものプログラミング言語に対応したオンラインコンパイラ『CompileOnline』 | 100SHIKI
        zyzy
        zyzy2013/05/29非公開
        これは良いおもちゃだな。
        • 残りのブックマークを読み込んでいます1

        お知らせ

        公式Twitter

        • @HatenaBookmark

          リリース、障害情報などのサービスのお知らせ

        • @hatebu

          最新の人気エントリーの配信

        処理を実行中です

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

        j次のブックマーク

        k前のブックマーク

        lあとで読む

        eコメント一覧を開く

        oページを開く

        はてなブックマーク

        公式Twitter

        はてなのサービス

        • App Storeからダウンロード
        • Google Playで手に入れよう
        Copyright © 2005-2025Hatena. All Rights Reserved.
        設定を変更しましたx

        [8]ページ先頭

        ©2009-2025 Movatter.jp