タグ 処理系
人気順 10 users 50 users 100 users 500 users 1000 users日本語は外国人話者にとって難しすぎるので、新しい簡易日本語「Japhalbet」をAIに作ってもらった(CloseBox) | テクノエッジ TechnoEdge
仮想的なシステムであり、実際の普及は想定されていない。 言語学習や異文化コミュニケーションのツールとしての可能性がある。 結論ローマ字運動とJaphalbetは、どちらも日本語の表記をラテン文字化する試みという点で共通していますが、その目的、アプローチ、そして想定される使用範囲に大きな違いがあります。ローマ... 続きを読む
スーパーファミコンで mruby/c を動かす
はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行わ... 続きを読む
【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita
これは何? 競技プログラミングをPythonでやるときに注意すべき点をまとめました。 言語選択編 PythonがAtCoderには5種類ある AtCoderにはPythonの処理系が5つ入っています。具体的には Python (CPython 3.11.4) Python (Mambaforge / CPython 3.10.10) Python (PyPy 3.10-v7.3.12) Python (Cython 0.29.34) SageMath (S... 続きを読む
「Ruby存続が自社のメリット」、STORESはなぜ著名Ruby開発者を受け入れたのか
「笹田さんや遠藤さん(のような突出した能力を持つプログラマー)を雇用できる機会はほとんどない。人類史上数回しかないレベル。これを逃す手はない」。店舗向けデジタルサービスなどを提供するSTORESは、プログラミング言語「Ruby」の処理系を開発している笹田耕一氏と遠藤侑介氏を採用し、両氏は2023年9月1日、同社... 続きを読む
Pythonコードを35000倍に高速化したい
はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです... 続きを読む
あなたのPythonを100倍高速にする技術 / Codon入門
はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記... 続きを読む
ChatGPTのプロンプトをLispで書く
ChatGPTのプロンプトをLispで書けることに気づきました。プロンプトによって処理系としてふるまってもらうという話は聞いたことがありましたが、Lispの場合はそのようなプロンプトがなくても解釈されました。 例 モデルはGPT-4です。言語としてはClojureをベースにした擬似コードを書いています。 子供っぽくする 静かな... 続きを読む
第2回 Pythonの脆弱性 ~ReDOS~ | gihyo.jp
では、なぜこのようなことが起きてしまうのでしょうか。具体的な脆弱性の解説に移る前に、まずはReDoSのしくみについて説明します。 ReDoSのしくみ ReDosの脆弱性を理解するためには、そもそも正規表現によるマッチングを行う処理系である、正規表現エンジンのしくみについて知る必要があります。 正規表現エンジンの概... 続きを読む
ブラウザ, Node, Cloudflareでも動くDenoモジュール開発
ブラウザだけでなく、非ブラウザなJavaScript(JS)処理系も増えてきたので、「主要ブラウザ、Node.js、Cloudflare Workersでも動くDenoファーストなTypeScript/JavaScriptモジュール開発&CI/CD」をやってみました。一事例として共有します。 はじめに 最近、TypeScriptで hpke-js というモジュールをつくりました。 HP... 続きを読む
自作RDBMSやろうぜ!
Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されたサイトや書籍で、必要な情報・情報源がま... 続きを読む
Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記
YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 以上) が必要になります。Rust のインストールに使... 続きを読む
コンパイル時計算でラムダ計算の構文解析器・評価器・型推論器を実現 (Scala 3編) - 貳佰伍拾陸夜日記
またか. またなのか. 何回目だ. ということで, ラムダ計算のインタプリタの実装としては4回目くらい*1, コンパイル時計算でやるものとしても3回目くらいになってしまうけど, ラムダ計算の処理系をまた書いてしまった. 今回の目的は, Scala 3にはmatch typesという機能があり, これだけでチューリング完全なのではないか,... 続きを読む
TypeScriptコンパイラの読み方
TypeScriptコンパイラリーディングをする上で、目当てのコードに辿りつくまでの手間を短縮するためのメモ書きです。コードリーディングの一般論や、TypeScriptコンパイラから読み取れる個別事象については極力省略しています。 TypeScriptの主要な処理系 多くのJavaScriptパーサーが拡張としてTypeScriptを読めるように... 続きを読む
Goへのヘイトに対する考え方
だいぶGoの特徴や既存の言語との考え方の違いが広まってきてるのかなぁと思っていた矢先だったので十年くらい前のような指摘をあえて今されていてびっくりした。 正直、ここに書かれたようなヘイト項目は既出すぎるので、もし影響の大きい項目を多くの人が同様に嫌っているならばGoはここまでの人気のある処理系になるこ... 続きを読む
Goでは○○envが不要な理由(バージョンアップを怠ると損する理由)
Goでは○○env系のツールは不要 複数バージョンの処理系を混在させるために、○○env系のツールが広く普及している言語はたくさんあります。しかし、すべての言語で必ずしも必要であるわけではないと筆者は考えています。いままで使っていた言語で○○env系のツールを使っていたため、特に深く考えずに他の言語でも利用してい... 続きを読む
Big Sky :: Go言語で Lisp 処理系を作った。
1週間ほど前の深夜、ふと Go で連結リスト構造を書いていたら次第に car/cdr 形式になってしまい、気付いたら手が滑って Lisp 処理系を作り始めてしまいました。 なぜかこんな時間から突然 lisp を書き始めてしまった。 — mattn (@mattn_jp) March 26, 2020 初日は深夜だったのでパーサを書いた所で終了。次の日の夕方に... 続きを読む
GoのLanguage Specificationの特定の仕様に関わる処理系の実装を探す #golang - My External Storage
Goの仕様はこのHTML1ページにまとまっている。 The Go Programming Language Specification https://golang.org/ref/spec 仕様に書いてある処理はどうやって実装されているのか調べたかった。 Goの仕様の1文からその仕様に関係する処理系のコードを探す方法をメモしておく。 TL;DR GoのLanguage Specificationに書いてあ... 続きを読む
TypeScript で WebAssembly 処理系を書いた話 - Speaker Deck
All slide content and descriptions are owned by their creators. 続きを読む
Rust で Erlang 処理系を実装してみている – SUZUKI Tetsuya – Medium
今年の 9 月あたりから、 Rust で Erlang の処理系を実装してみています。まともに試せるほど進んでないんですが、気分的に年内に一区切りつけたいので公開しておきます。リポジトリはこちら。 https://github.com/szktty/starlight みています、というのはもちろん思いつきだからです。なにぶん Erlang は適用分野がベ... 続きを読む
Edge 終了に寄せて - mizchi's blog
初報を聞いたとき、描画系だけ blink に入れ替えて処理系は V8 使わず ChakraCore などに入れ替えるのかな、と思っていたが、どうも V8、というか chromium 一式を使うらしい。 正直に言って、Edge が死ぬことに、そこまで強く思うところはない。IE は死ぬのが決まっているし、Edge は内部的に自身のベンダープレフィッ... 続きを読む
アドビの日本語フォント開発 30年の歩み 前編 #フォントの日 #Typekit – Adobe Creative Station
連載 / #フォントの日 アドビの日本語フォント開発 30年の歩み 前編 #フォントの日 #Typekit BY 山本太郎 2018.04.10 公開 (2018.04.09 更新) アドビが開発したPostScriptページ記述言語の処理系を搭載した、最初の日本語PostScriptプリンターが世に出たのは1989年のことです。そのプリンターに搭載されていた日本語フォントは、OCF(Ori... 続きを読む
LLVMとは | Developers.IO
前回の記事「 Rubyの処理系とGCについて 」を書いたときに、LLVMがイマイチ理解できずもやっとしてたので調べました。このエントリーは「LLVMとは」でググった(先日の僕のような)人向けの記事です。間違ったことを書いてあったら教えてください。 疑問 この記事を書く前の疑問はおおよそ以下の様なものです。 LLVMはコンパイラ基盤って言われてるけど、コンパイラ基盤って何? LLVMはコンパイラ基盤... 続きを読む
Vim scriptを処理系レベルから高速化しようとしている話 - Qiita
TL; DR Vim scriptをパースしてASTを作り、高速化を図ります。リポジトリはこちら→ wholekeik/vim AST化 Vim script は実行のたびにコマンドをパースしているので非常に遅い言語です。コマンドをパースしておいてASTとし、それを実行すれば高速化が見込めます。しかし、Vim scriptでは引数の解釈が各コマンドによって全く異なるため、共通のパーサーを書くのは不... 続きを読む
KMC の春合宿で Python の処理系の講座をした - 私が歌川です
2017 - 03 - 21 KMC の春合宿で Python の処理系の講座をした 技術 先日 KMC で春合宿があり,そこで Python の処理系に関する講座をしました. Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ. from kiki utagawa www.slideshare.net 内容 プログラミング言語 を実... 続きを読む
プログラミング言語作成ハンズオンを開催しました - kmizuの日記
2017 - 01 - 22 プログラミング言語作成ハンズオンを開催しました connpass.com 今回開催したこのイベントは、私が学習用に作成した プログラミング言語 nub github.com の文法や機能拡張を通じて、 プログラミング言語 処理系の作成の基礎について学ぶというものでした。 自分がこのイベントを開催したねらいは主に二つあって、 プログラミング言語 (処理系)作成に興味のあ... 続きを読む