はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ 処理系

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 25 / 60件)

スーパーファミコンで mruby/c を動かす

2024/01/20 このエントリーをはてなブックマークに追加 18 users Instapaper Pocket Tweet Facebook Share Evernote Clip mruby リポジトリ Ruby エミュレータ上 発想

はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行わ... 続きを読む

【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita

2023/11/15 このエントリーをはてなブックマークに追加 116 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita AtCoder SageMath Python

これは何? 競技プログラミングを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開発者を受け入れたのか

2023/09/27 このエントリーをはてなブックマークに追加 5 users Instapaper Pocket Tweet Facebook Share Evernote Clip stores 両氏 笹田耕一氏 プログラマー Ruby

「笹田さんや遠藤さん(のような突出した能力を持つプログラマー)を雇用できる機会はほとんどない。人類史上数回しかないレベル。これを逃す手はない」。店舗向けデジタルサービスなどを提供するSTORESは、プログラミング言語「Ruby」の処理系を開発している笹田耕一氏と遠藤侑介氏を採用し、両氏は2023年9月1日、同社... 続きを読む

Pythonコードを35000倍に高速化したい

2023/05/07 このエントリーをはてなブックマークに追加 229 users Instapaper Pocket Tweet Facebook Share Evernote Clip Pythonコード Python 高速化 プログラミング言語

はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです... 続きを読む

あなたのPythonを100倍高速にする技術 / Codon入門

2023/03/22 このエントリーをはてなブックマークに追加 232 users Instapaper Pocket Tweet Facebook Share Evernote Clip Python Codon MIT 技術 100倍

はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記... 続きを読む

ChatGPTのプロンプトをLispで書く

2023/03/20 このエントリーをはてなブックマークに追加 16 users Instapaper Pocket Tweet Facebook Share Evernote Clip LISP Clojure chatgpt プロンプト 言語

ChatGPTのプロンプトをLispで書けることに気づきました。プロンプトによって処理系としてふるまってもらうという話は聞いたことがありましたが、Lispの場合はそのようなプロンプトがなくても解釈されました。 例 モデルはGPT-4です。言語としてはClojureをベースにした擬似コードを書いています。 子供っぽくする 静かな... 続きを読む

第2回 Pythonの脆弱性 ~ReDOS~ | gihyo.jp

2022/11/21 このエントリーをはてなブックマークに追加 6 users Instapaper Pocket Tweet Facebook Share Evernote Clip ReDoS gihyo.jp しくみ マッチング 脆弱性

では、なぜこのようなことが起きてしまうのでしょうか。具体的な脆弱性の解説に移る前に、まずはReDoSのしくみについて説明します。 ReDoSのしくみ ReDosの脆弱性を理解するためには、そもそも正規表現によるマッチングを行う処理系である、正規表現エンジンのしくみについて知る必要があります。 正規表現エンジンの概... 続きを読む

ブラウザ, Node, Cloudflareでも動くDenoモジュール開発

2022/07/03 このエントリーをはてなブックマークに追加 17 users Instapaper Pocket Tweet Facebook Share Evernote Clip CloudFlare TypeScript node 一事例

ブラウザだけでなく、非ブラウザなJavaScript(JS)処理系も増えてきたので、「主要ブラウザ、Node.js、Cloudflare Workersでも動くDenoファーストなTypeScript/JavaScriptモジュール開発&CI/CD」をやってみました。一事例として共有します。 はじめに 最近、TypeScriptで hpke-js というモジュールをつくりました。 HP... 続きを読む

自作RDBMSやろうぜ!

2022/05/09 このエントリーをはてなブックマークに追加 347 users Instapaper Pocket Tweet Facebook Share Evernote Clip RDBMS リレーショナルデータベース content 書籍

Skip to the content. 自作RDBMSやろうぜ! このサイトの目的 RDBMS(いわゆるリレーショナルデータベース)というものはプログラミング言語の処理系や、OSなどと同様に、世の中で広く使われているソフトウェアであるにも関わらず、いざ自作してみようと思うと日本語で記述されたサイトや書籍で、必要な情報・情報源がま... 続きを読む

Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記

2022/04/28 このエントリーをはてなブックマークに追加 12 users Instapaper Pocket Tweet Facebook Share Evernote Clip rust Shopify koic rustup YJIT

YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 以上) が必要になります。Rust のインストールに使... 続きを読む

コンパイル時計算でラムダ計算の構文解析器・評価器・型推論器を実現 (Scala 3編) - 貳佰伍拾陸夜日記

2022/03/07 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip 貳佰伍拾陸夜日記 ラムダ計算 構文解析器 チューリング 実現

またか. またなのか. 何回目だ. ということで, ラムダ計算のインタプリタの実装としては4回目くらい*1, コンパイル時計算でやるものとしても3回目くらいになってしまうけど, ラムダ計算の処理系をまた書いてしまった. 今回の目的は, Scala 3にはmatch typesという機能があり, これだけでチューリング完全なのではないか,... 続きを読む

TypeScriptコンパイラの読み方

2021/10/31 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript 目当て コードリーディング 拡張 手間

TypeScriptコンパイラリーディングをする上で、目当てのコードに辿りつくまでの手間を短縮するためのメモ書きです。コードリーディングの一般論や、TypeScriptコンパイラから読み取れる個別事象については極力省略しています。 TypeScriptの主要な処理系 多くのJavaScriptパーサーが拡張としてTypeScriptを読めるように... 続きを読む

Goへのヘイトに対する考え方

2021/09/17 このエントリーをはてなブックマークに追加 256 users Instapaper Pocket Tweet Facebook Share Evernote Clip 矢先 ヘイト 既出 既存 言語

だいぶGoの特徴や既存の言語との考え方の違いが広まってきてるのかなぁと思っていた矢先だったので十年くらい前のような指摘をあえて今されていてびっくりした。 正直、ここに書かれたようなヘイト項目は既出すぎるので、もし影響の大きい項目を多くの人が同様に嫌っているならばGoはここまでの人気のある処理系になるこ... 続きを読む

Goでは○○envが不要な理由(バージョンアップを怠ると損する理由)

2021/06/26 このエントリーをはてなブックマークに追加 9 users Instapaper Pocket Tweet Facebook Share Evernote Clip 筆者 言語 たくさん ツール ENV

Goでは○○env系のツールは不要 複数バージョンの処理系を混在させるために、○○env系のツールが広く普及している言語はたくさんあります。しかし、すべての言語で必ずしも必要であるわけではないと筆者は考えています。いままで使っていた言語で○○env系のツールを使っていたため、特に深く考えずに他の言語でも利用してい... 続きを読む

Big Sky :: Go言語で Lisp 処理系を作った。

2020/04/05 このエントリーをはてなブックマークに追加 8 users Instapaper Pocket Tweet Facebook Share Evernote Clip LISP CDR パーザ mattn Car

1週間ほど前の深夜、ふと Go で連結リスト構造を書いていたら次第に car/cdr 形式になってしまい、気付いたら手が滑って Lisp 処理系を作り始めてしまいました。 なぜかこんな時間から突然 lisp を書き始めてしまった。 — mattn (@mattn_jp) March 26, 2020 初日は深夜だったのでパーサを書いた所で終了。次の日の夕方に... 続きを読む

GoのLanguage Specificationの特定の仕様に関わる処理系の実装を探す #golang - My External Storage

2019/06/13 このエントリーをはてなブックマークに追加 22 users Instapaper Pocket Tweet Facebook Share Evernote Clip spec golang ref golang.org 実装

Goの仕様はこのHTML1ページにまとまっている。 The Go Programming Language Specification https://golang.org/ref/spec 仕様に書いてある処理はどうやって実装されているのか調べたかった。 Goの仕様の1文からその仕様に関係する処理系のコードを探す方法をメモしておく。 TL;DR GoのLanguage Specificationに書いてあ... 続きを読む

TypeScript で WebAssembly 処理系を書いた話 - Speaker Deck

2019/04/19 このエントリーをはてなブックマークに追加 44 users Instapaper Pocket Tweet Facebook Share Evernote Clip TypeScript WebAssembly

All slide content and descriptions are owned by their creators. 続きを読む

Rust で Erlang 処理系を実装してみている – SUZUKI Tetsuya – Medium

2018/12/19 このエントリーをはてなブックマークに追加 60 users Instapaper Pocket Tweet Facebook Share Evernote Clip erlang rust Starlight medium 年内

今年の 9 月あたりから、 Rust で Erlang の処理系を実装してみています。まともに試せるほど進んでないんですが、気分的に年内に一区切りつけたいので公開しておきます。リポジトリはこちら。 https://github.com/szktty/starlight みています、というのはもちろん思いつきだからです。なにぶん Erlang は適用分野がベ... 続きを読む

Edge 終了に寄せて - mizchi's blog

2018/12/12 このエントリーをはてなブックマークに追加 431 users Instapaper Pocket Tweet Facebook Share Evernote Clip Edge mizchi's blog blink 終了 一式

初報を聞いたとき、描画系だけ blink に入れ替えて処理系は V8 使わず ChakraCore などに入れ替えるのかな、と思っていたが、どうも V8、というか chromium 一式を使うらしい。 正直に言って、Edge が死ぬことに、そこまで強く思うところはない。IE は死ぬのが決まっているし、Edge は内部的に自身のベンダープレフィッ... 続きを読む

アドビの日本語フォント開発 30年の歩み 前編 #フォントの日 #Typekit – Adobe Creative Station

2018/04/10 このエントリーをはてなブックマークに追加 18 users Instapaper Pocket Tweet Facebook Share Evernote Clip Typekit アドビ Ori フォント プリンター

連載  /   #フォントの日 アドビの日本語フォント開発 30年の歩み 前編 #フォントの日 #Typekit BY 山本太郎 2018.04.10 公開 (2018.04.09 更新) アドビが開発したPostScriptページ記述言語の処理系を搭載した、最初の日本語PostScriptプリンターが世に出たのは1989年のことです。そのプリンターに搭載されていた日本語フォントは、OCF(Ori... 続きを読む

LLVMとは | Developers.IO

2018/01/05 このエントリーをはてなブックマークに追加 61 users Instapaper Pocket Tweet Facebook Share Evernote Clip LLVM コンパイラ基盤 Ruby イマイチ エントリー

前回の記事「 Rubyの処理系とGCについて 」を書いたときに、LLVMがイマイチ理解できずもやっとしてたので調べました。このエントリーは「LLVMとは」でググった(先日の僕のような)人向けの記事です。間違ったことを書いてあったら教えてください。 疑問 この記事を書く前の疑問はおおよそ以下の様なものです。 LLVMはコンパイラ基盤って言われてるけど、コンパイラ基盤って何? LLVMはコンパイラ基盤... 続きを読む

Vim scriptを処理系レベルから高速化しようとしている話 - Qiita

2017/06/09 このエントリーをはてなブックマークに追加 55 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita パーサー AST リポジトリ 引数

TL; DR Vim scriptをパースしてASTを作り、高速化を図ります。リポジトリはこちら→ wholekeik/vim AST化 Vim script は実行のたびにコマンドをパースしているので非常に遅い言語です。コマンドをパースしておいてASTとし、それを実行すれば高速化が見込めます。しかし、Vim scriptでは引数の解釈が各コマンドによって全く異なるため、共通のパーサーを書くのは不... 続きを読む

KMC の春合宿で Python の処理系の講座をした - 私が歌川です

2017/03/21 このエントリーをはてなブックマークに追加 19 users Instapaper Pocket Tweet Facebook Share Evernote Clip KMC Python アマゾン プログラミング言語 実態

2017 - 03 - 21 KMC の春合宿で Python の処理系の講座をした 技術 先日 KMC で春合宿があり,そこで Python の処理系に関する講座をしました. Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ. from kiki utagawa www.slideshare.net 内容 プログラミング言語 を実... 続きを読む

プログラミング言語作成ハンズオンを開催しました - kmizuの日記

2017/01/22 このエントリーをはてなブックマークに追加 43 users Instapaper Pocket Tweet Facebook Share Evernote Clip 文法 プログラミング言語 kmizu 機能拡張 基礎

2017 - 01 - 22 プログラミング言語作成ハンズオンを開催しました connpass.com 今回開催したこのイベントは、私が学習用に作成した プログラミング言語 nub github.com の文法や機能拡張を通じて、 プログラミング言語 処理系の作成の基礎について学ぶというものでした。 自分がこのイベントを開催したねらいは主に二つあって、 プログラミング言語 (処理系)作成に興味のあ... 続きを読む

末尾呼出し最適化が実装された - JS.next

2016/01/28 このエントリーをはてなブックマークに追加 83 users Instapaper Pocket Tweet Facebook Share Evernote Clip スタック JS.next エラー 再帰 ES2015

2016 - 01 - 28 末尾呼出し最適化が実装された ★☆☆ ES2015 新仕様実装 V8 概要 ある関数Aから別の関数Bを呼び出すとき、処理系は後で戻って来れるように一旦Aの状態を保存し、関数Bの処理に入る。 これが問題になるのは 再帰 の時で、数万回程度の 再帰 でスタックが一杯になり、エラーとなってしまう。 しかし、もし関数B呼び出しの際に、関数Aに戻ってきて処理を続ける必要のない形... 続きを読む

 
(1 - 25 / 60件)