タグ

2023年10月14日のブックマーク (5件)

  • ノータブルコード16 - APLプログラマはいかにC言語を書くのか - 2021-06-23 - ククログ

    あまり世の中で知られてない言語として配列処理(Array-Processing)言語という一群の言語があります。いずれもAPLというプログラミング言語から発展したもので、J・Q・Kといった言語が代表的です。これらの言語は「Array Processing」の名前の通り、配列、とくに多次元配列の処理に特化しています。 APLの流れをくむ言語の最大の特徴は、極限までに切り詰められた簡潔さです。この言語を使うといくつかの記号を組み合わせることで、複雑な配列操作を表現することができます。例えば、フィボナッチ数列を生成する関数を例にとると、Kでは{x{x,+/-2#x}/!2}という16文字で表現できます。もっと複雑な例を出すと、ライフゲームは、わずか138バイトで実装できます。 APLはどこで使われているのか この言語はどこで使われているのかというと、これは圧倒的に金融です。例えば、APLは198

    ノータブルコード16 - APLプログラマはいかにC言語を書くのか - 2021-06-23 - ククログ
    sonota88
    sonota88 2023/10/14
  • 数学者に遠慮なく研究の話をしてくださいと言ったら【学術対談】

    提供:大阪大学大学院 情報科学研究科 情報基礎数学専攻 ▼情報基礎数学専攻YouTubeチャンネル https://www.youtube.com/@user-in5fx2ju9k ▼情報基礎数学専攻ウェブサイト http://math.ist.osaka-u.ac.jp/ ▼情報科学研究科ウェブサイト https://www.ist.osaka-u.ac.jp/ ▼学術対談再生リスト https://www.youtube.com/playlist?list=PLDJfzGjtVLHkuvquyqcRDYK4mGQ-sg0Pz ------------------------------------------------------ 予備校のノリで学ぶ「大学の数学・物理」のチャンネルでは主に ①大学講座:大学レベルの理系科目 ②高校講座:受験レベルの理系科目 の授業動画をアップし

    数学者に遠慮なく研究の話をしてくださいと言ったら【学術対談】
    sonota88
    sonota88 2023/10/14
  • 徒然Ruby(44)Raccパーサ・ジェネレータ - おもこん

    パーサ・ジェネレータとは 少し複雑な文法 四則(加減乗除)計算のBNF Racc で実装 クラス定義、BNFの記述部分 ヘッダー、インナー、フッター コンパイルと実行 演算子の優先順位と結合における左右の優先順位 まとめ パーサ・ジェネレータとは パーサを日語で「構文解析器」といいます。 「器」とといっても、「うつわ」ではなく「器械」、より適切にはアプリケーションまたはプログラムのことです。 つまり、構文解析をするプログラムです。 「構文解析」とは、「プログラム言語などの構文」を「解析」することです。 簡単な例として、足し算を考えてみましょう。 1+2 11+34 123+456 3つの足し算の例があります。 出てくる数字は違うものですが、どれも「数字+数字」というパターンは変わりません。 3番めの文字列は7つの文字からなっています。 1, 2, 3, +, 4, 5, 6 この7文字は

    徒然Ruby(44)Raccパーサ・ジェネレータ - おもこん
  • RubyでJSONパーサーを作ってみた - やわらかテック

    最近、パーサーを実装したい欲が高まっています。 というのもRui Ueyamaさんの「低レイヤを知りたい人のためのCコンパイラ作成入門」を読み進めて、再帰下降構文解析をはじめとしてパワフルな実装に非常に魅力を感じているからです。 資料に合わせてCコンパイラを作るのは楽しいですが、どうしても写経になってしまうため、何か自分でパーサーを作りたいと思っていました。 先日はbullet.logをパースするgemを作成してリリースしましたが、あっさりと作れてしまったので、もう少し難易度の高いテーマを探していました。 www.okb-shelf.work どういうわけか「JSONファイルがいいんじゃ...」と思ったのでJSONパーサーを実装してみました。 完成したもの 完成したものはgithubにて公開しています。parser_v2.rbが最終的に完成したパーサーです。 json.orgがサンプルとし

    RubyでJSONパーサーを作ってみた - やわらかテック
  • Jupyter NotebookでRubyを実行する - やわらかテック

    少し前のRubyWeeklyの中に、非常に面白そうな記事が記載されていました。 nithinbekal.com Jupiter Notebook上でRubyのコードが実行する方法が紹介されていました。 計算領域で強いJuliaが、Jupyter Notebookで実行可能というのは前々から把握していたのですが、まさかRubyがJupyter Notebook上で実行できるとは...。 使用したい場面があるのか全く分かりませんが、面白そうなので試してみます。 実行環境の用意 色々とインストールするのが手間なので、Docker上で完結するようにしました。 docker compose upを実行すればコンテナが立ち上がってJupyter Notebookがブラウザ上から使えるようになります。 一応、ボリュームの設定はしてありますが、最小限の対応です。 github.com Dockerfile

    Jupyter NotebookでRubyを実行する - やわらかテック
    sonota88
    sonota88 2023/10/14
    Docker で動かすなら rubydata/datascience-notebook を使うのも手軽ですよ https://qiita.com/sonota88/items/52d0e35dc5e6e112c02f