タグ

ブックマーク / zenn.dev/blackenedgold (2)

  • 自由なスマホPinePhoneを試す

    κeenです。PinePhoneという自由なスマホを手にしたのでそれを紹介します。 PinePhoneについて PinePhoneを雑に紹介するとLinuxで動くスマホです。まだまだ開発途上のものなので常用に耐えるものではありませんが、未来予想図的に夢があるよねーといって眺めていただけたら幸いです。 世に出回っているスマートフォンはメーカーやプラットフォーマの権限が強くて安くはない金額で買っているのにも係らず誰のものか分かりませんよね。ハードウェアは自分で修理するのも禁止されていればソフトウェアはアカウントを停止されるとほとんどただのカマボコ板になってしまいます。それに、気付いたらGPSデータをサーバに送られていたり、不意にカメラやマイクを起動されてプライバシーがだだ漏れになるリスクもあります。PinePhoneはそういった状況を憂慮する人のためにユーザに最大限の自由を与えたハードウェアの

    自由なスマホPinePhoneを試す
  • コンパイル技法: パターンマッチ

    書では関数型言語をはじめとして多くの言語にあるパターンマッチをコンパイルする方法を紹介します。パターンマッチはシンプルに条件分岐の連鎖にコンパイルすることもできますが、よく研究された手法を使えば驚くほど効率的なコードを生成できるようになります。そのような手法を2種類紹介します。 パターンマッチはデータ型に照合しそのデータを取り出すものです。例えばRustであれば match opt { Some(x) => f(x), None => g()} のように Option 型への照合などに使えます。書の前半ではパターンマッチの挙動や使い方などを学びます。挙動の確認にはプログラミング言語Standard MLを使い、一部Cのコードも使います。その後Common LispやJavaなどの他の言語でのパターンマッチの状況を確認します。後半ではパターンマッチのコンパイル技法について紹介します。パタ

    コンパイル技法: パターンマッチ
  • 1