タグ 処理系
人気順 5 users 50 users 100 users 500 users 1000 usersWebKit(JavaScriptCore)に100個のPull Requestがマージされた
今年の 2 月から WebKit の JavaScript 処理系である JavaScriptCore に Pull Request を投げ続けています。 JavaScriptCore のソースコードは WebKit のリポジトリ https://github.com/webkit/webkit に完全に含まれています。なので、僕が Pull Request を投げる先も WebKit のリポジトリということになります。そして... 続きを読む
日本語は外国人話者にとって難しすぎるので、新しい簡易日本語「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... 続きを読む
Pythonコードを35000倍に高速化したい
はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです... 続きを読む
あなたのPythonを100倍高速にする技術 / Codon入門
はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記... 続きを読む
ChatGPTのプロンプトをLispで書く
ChatGPTのプロンプトをLispで書けることに気づきました。プロンプトによって処理系としてふるまってもらうという話は聞いたことがありましたが、Lispの場合はそのようなプロンプトがなくても解釈されました。 例 モデルはGPT-4です。言語としてはClojureをベースにした擬似コードを書いています。 子供っぽくする 静かな... 続きを読む
ブラウザ, 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 のインストールに使... 続きを読む
Goへのヘイトに対する考え方
だいぶGoの特徴や既存の言語との考え方の違いが広まってきてるのかなぁと思っていた矢先だったので十年くらい前のような指摘をあえて今されていてびっくりした。 正直、ここに書かれたようなヘイト項目は既出すぎるので、もし影響の大きい項目を多くの人が同様に嫌っているならばGoはここまでの人気のある処理系になるこ... 続きを読む
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 の文法や機能拡張を通じて、 プログラミング言語 処理系の作成の基礎について学ぶというものでした。 自分がこのイベントを開催したねらいは主に二つあって、 プログラミング言語 (処理系)作成に興味のあ... 続きを読む
末尾呼出し最適化が実装された - JS.next
2016 - 01 - 28 末尾呼出し最適化が実装された ★☆☆ ES2015 新仕様実装 V8 概要 ある関数Aから別の関数Bを呼び出すとき、処理系は後で戻って来れるように一旦Aの状態を保存し、関数Bの処理に入る。 これが問題になるのは 再帰 の時で、数万回程度の 再帰 でスタックが一杯になり、エラーとなってしまう。 しかし、もし関数B呼び出しの際に、関数Aに戻ってきて処理を続ける必要のない形... 続きを読む
Pythonへのバグの混入を防ぎ、可読性も向上させるAPPLe - Qiita
はじめに Pythonはさくっと書けてさくっと実行できて、しかも他のスクリプト言語と比べてチーム開発にもある程度耐えられるきちっとした構造ですばらしいですよね! 今日はそんなPythonプログラミングをもっと楽しいものにする珠玉のツールAPPLeを紹介します。 APPLeはPythonに拡張機能1を提供する処理系で、今までと比べものにならないくらい可読性が高く、さらに厄介なバグの多くを排除したコー... 続きを読む
2015-3-(1): 情報処理学会プログラミング研究会 発表資料 2015 年 11 月 5 日 Ruby処理系のコンパイル済みコードの設計 ○笹田 耕一1,a) 松本 行弘1,b) 概要: Ruby 処理系(Ruby 2.2)は、Ruby プログラム
2015-3-(1): 情報処理学会プログラミング研究会 発表資料 2015 年 11 月 5 日 Ruby処理系のコンパイル済みコードの設計 ○笹田 耕一1,a) 松本 行弘1,b) 概要: Ruby 処理系(Ruby 2.2)は、Ruby プログラムをスタックマシン型仮想機械(VM)の命令列にコンパイ ルし実行する。実行時にコンパイルするため、変換に時間がかかる、という問題がある。また、複数... 続きを読む
Big Sky :: Perl6 の grammar で俺言語「しょぼいスクリプト」を作った。
meta-tags: perl6 Perl6 には Grammar という機能があるのですが、これがまた凄いんです。スキャナとトークナイザと処理系が引っ付いている様な物がデフォルトで提供されているんです。 通常はこれらが別の機能として提供されており、プログラミング言語を実装する過程でデータの受け渡しがシームレスではなく、実装を変えたりするのが非常に面倒だったりします。しかしこれが Perl6 とい... 続きを読む
ES7 async/await でのエラーハンドリング - おなか周りの脂肪がやばい
2015-10-09 ES7 async/await でのエラーハンドリング async/await は ES7 の機能で、非同期処理を記述する上で非常に便利な機能である(仕様は安定していないと思う) まだ実装している処理系はないと思うが、babel などの transpiler をつかうと利用できる async/await をつかうと非同期処理を以下のように書くことができる function a... 続きを読む