Factor 0.101 now available

2025/12/10 20:33

Factor 0.101 now available

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Factor 0.101 リリース概要
Factor 0.101 がリリースされました。18 人の貢献者によるほぼ 700 コミットから構築されています。このアップデートは、主要なプラットフォーム(Windows、macOS、x86/x86‑64 の Linux)へのサポートを追加し、ARM‑64 バックエンド作業も進行中です。

UI とパフォーマンス – すべての UI 要素が画像ではなくプリミティブで描画されるようになり、テーマ適用とスケーリングが向上しました。Linux/Windows の HiDPI 問題も修正されています。アップデートでは

ltake
引数順序をリファクタリングし、一貫性のためにいくつかの語彙スロット名を変更しています。

新しいライブラリと機能 – Base92、Bitcask DB、Bluesky プロトコル、OKLAB/OKLCH カラー、EDN サポート、dotenv ファイル、およびエディタ統合(Cursor, Rider)が追加されました。Neovim プラグインサポートも含まれています。ライブラリレベルの改善は

alien.syntax
base64
のパフォーマンス、
discord
の再試行ロジック、
http
リクエストスロット名変更、
math.primes
の安全性、そして
raylib
v5.5 をカバーしています。

削除とその他 – 旧

ui.theme.images
ライブラリは削除され、新しい
system-info.macos
モジュール(コードネーム Tahoe)が追加されました。また zoneinfo が 2025b に更新されています。Base16 テーマと丸みを帯びたペンも強化されています。

ユーザーはよりクリーンでテーマに優しい UI を享受し、スケーリングが向上し追加のプラグインオプションが利用可能になります。一方、開発者は拡張されたエコシステムとコアライブラリ全体でのパフォーマンス向上から恩恵を得ることができます。

本文

「飛行速度を上げよ、地が下から来て汝を打つことなく」 – ウィリアム・ケルシュナー


Factor 0.101 リリース

対応プラットフォームとアーキテクチャ

OS / CPUx86x86‑64
Windows0.1010.101
macOS0.1010.101
Linux0.1010.101

ソースコード: 0.101

このリリースは、以下の貢献者による約 700件のコミットの結果です:
アレクサンダー・サバク、アンドリー・クラガー、キャット・スティーブンズ、ドミトリ・マトヴェイエフ、ダグ・コールマン、ギフトプランツ、ジョン・ベネディクトソン、ジョン・ハーパー、ヨナス・ベルヌーレ、レオ・メルハバン、マイク・ステビンソン、ニコラス・チャンドーク、ニクラス・ラースン、リベッカ・ケリー、サミュエル・タルディウ、スタフェン・シュミードル、@Bruno-366、@bobisageek、@coltsingleactionarmyocelot、@inivekin、@knottio、@timor。

ハイライト

  • UI が画像ではなくボタンとスクロールバーを描画 → テーマ設定が容易に。
  • Linux & Windows の HiDPI スケーリングを修正(画面切替時にウィンドウ設定が更新されない問題)。
  • Unicode 17.0.0 へ更新。
  • Neovim プラグインサポート追加。

後方互換性の注意点

  • ltake
    の引数順序を、
    head
    等と一貫性を持たせるために入れ替え。
  • Windows 環境語彙が
    f
    と空文字 (
    ""
    ) を区別するよう変更。
  • misc/atom
    ,
    misc/Factor.tmbundle
    ,
    misc/vim
    を削除し、代わりに新しいリポジトリへ移動:
    factor/atom-language-factor
    ,
    factor/factor.tmbundle
    ,
    factor/factor.vim
  • http
    furnace.asides
    のスロット名を変更(
    post-data → data
    )。
  • 語彙名の変更:
    html.streams → io.streams.html
    ,
    pdf.streams → io.streams.pdf

Factor とは?

Factor は、以下の特徴を備えた連結型・スタックベース言語です:

  • 動的型、拡張可能な構文、マクロ、ガーベジコレクション。
  • 完全装備のライブラリ;多くのプラットフォームで動作。
  • パフォーマンス向上を目的としたコンパイルに加え、対話型開発もサポート。
  • 主要 OS 全てで可搬性のあるアプリケーションを構築可能。
  • BSD ライセンス下で配布されるソースコード。

新規ライブラリ (0.101)

  • base92 – Base92 エンコード/デコード。
  • bitcask – Bitcask キー/値 DB。
  • bluesky – BlueSky プロトコルサポート。
  • calendar.holidays.world – 新しい祝日(例:World Emoji Day)。
  • classes.enumeration – 列挙クラスと
    ENUMERATION:
    構文。
  • colors.oklab / colors.oklch – OKLAB/OKLCH カラースペース。
  • colors.wavelength
    wavelength>rgba
  • combinators.syntax – 実験的なコンビネータ構文(
    @[, *[, &[
    等)。
  • continuations.extras
    with-datastacks
    ,
    datastack-states
  • dotenv – Dotenv ファイルサポート。
  • edn – 拡張可能なデータ表記法。
  • editors.cursor / editors.rider – カーソルと JetBrains Rider エディタサポート。
  • gitignore
    .gitignore
    パーサー。
  • http.json
    json.http
    を昇格、便利なワード追加。
  • io.streams.farkup / io.streams.markdowns – Farkup と Markdown ストリームプロトコル。
  • locals.lazy – Emit 構文プロトタイプ。
  • monadics – Haskell‑風モナド、アプリケーション、ファンクタ。
  • multibase – マルチベース実装。
  • pickle – Pickle シリアライズ。
  • persistent.hashtables.identity – Identity‑hashcode 持続ハッシュテーブル。
  • raylib.live-coding – Raylib のライブコーディングデモ。
  • rdap – RDAP(Registration Data Access Protocol)。
  • reverse
    std::flip
    実装。
  • slides.cli – スライド用シンプル CLI。
  • tools.highlight / tools.random – 構文ハイライトとランダム生成ツール。
  • ui.pens.rounded / ui.pens.theme – 丸角ペン、実験的テーマペン。
  • ui.tools.theme – UI 開発者向けテーマユーティリティ。

改良済みライブラリ (0.101)

(代表的な改善点)

ライブラリ改善内容
alien.syntax
C-LIBRARY:
構文ワード追加
assocs.extras
nzip
,
nunzip
,
map-zip
,
map-unzip
マクロ追加
base32 / base64人間向け Base32、Base64 の小規模性能向上
benchmarkさらに多くのベンチマークを追加
bootstrap.assemblerARM‑64 修正
brainfuck
BRAINFUCK:
構文ワードとインタープリタ追加
bson / cbor順序保持のためリンク付きアソシエーション使用
cache
M\ cache-assoc delete-at
実装
calendar
year<
,
year<=
等を追加
command-line.parser引数パーサー機能追加
concurrency.combinatorsラッチ付き高速 parallel‑map/assoc-map
concurrency.promises5–7 % 性能向上
countriesサークの CQ コード追加
cpu.architecture / cpu.armスタック効果と ARM‑64 修正
crontab
parse-crontab
が空行/コメントを無視
db行ごとのクエリ結果が多態化
delegate.protocolsキー/値がアソシエーションプロトコルへ追加
discordネットワーク切断処理、再試行間隔追加
editors.focus / editors.zedファイルを行番号で開く;Linux で Zed サポート
endianC‑ptr ライクオブジェクトの変換高速化
environment
os-env?
を追加
evalデータスタックとエラーを stderr に移動
fonts
<font>
が名前のみ受け取り、デフォルトが簡素化
furnace.asides / httpスロット名変更(
post-data → data
generalizationsDip ワードを shuffle へ移動
help.tourタイポ/文法修正
html.templates.chloeCDATA 処理が改善
ini-file
ini>file
,
file>ini
; 順序保持
io.encodings.detect / utf8UTF‑7 検出、BOM 処理
io.streams.ansi / escape-codesドキュメント・テスト・dim サポート追加
ip-parserIPV4/IPv6 ネットワークワード
kernel
until*
を追加;
and*
,
or*
のドキュメント化
linked-sets
LS{}
構文ワード
lists.lazy
ltake
の引数順序変更
machoさらに多くのリンク編集コマンド
make
,%
push‑at バリアント
math.combinatorics / distances / extras / factorials / functions / primes / runge-kutta / similarity / text.english新語、性能向上、バグ修正
metar略語表記集を更新
mime.typesファイル更新
msgpack順序保持のためリンク付きアソシエーション使用
path-finding
find-path*
を追加
peg.parsersより高速な list‑of バリアント
progress-bars.models新しい進捗ユーティリティ
raylibTrace‑log 関数、Raylib 5.5 へ更新
readline-listener履歴永続化、色サポート
robohashset4/set5/set6 タイプをサポート
sequences多くのワードをリネーム・最適化
scryfallduskmourn 用に更新
shuffleスタックチェック改善、
SHUFFLE:
構文追加
sorting.human人間向けソート実装
system-info.macosmacOS 26 の “Tahoe” コードネームを追加
terminfo特定出力機能を問い合わせる
threads一般化されたリンクスレッド
toml順序保持、
>toml
,
write-toml
を追加
tools.annotations / deploy / directory-to-file / memory新構文、CLI オプション、メトリクス
txon順序保持のためリンク付きアソシエーション使用
ui
adjust-font-size
を追加
ui.gadgets.buttons / slidersテーマ対応;画像不要
ui.theme.base16270+ Base16 テーマ
ui.toolsフォントサイズショートカット、レスポンシブ UI 更新
unicodeUnicode 17.0.0 に更新
webapps.planet動画タグ CSS を改善
words
define-temp-syntax
を追加
zoneinfoバージョン 2025b に更新

削除済みライブラリ

  • ui.theme.images

VM の改善 (0.101)

  • ARM64 バックエンドの作業を継続:
    set-callstack
    を修正、汎用ディスパッチを実装。

同じ日のほかのニュース

一覧に戻る →

2025/12/11 5:47

Apple Services Experiencing Outage

## Japanese Translation: > Apple の米国ウェブサイトのフッターには、顧客向けに必要なリンクが提供されています。 > - 「System Status」ページ > - 近くの Apple Store や他の小売店を探すための案内 > - 電話サポート(1‑800‑MY‑APPLE) > さらに、© Apple Inc. All rights reserved、Privacy Policy、Terms of Use、Sales and Refunds、Legal、および Site Map といった法的・情報リンクも含まれています。フッターの内容は米国ユーザー向けに特化されています。

2025/12/11 3:58

Super Mario 64 for the PS1

## Japanese Translation: > このリポジトリにはゲームの完全なソースコードベースが含まれていますが、意図的に必要なアセットファイル(特に **assets.sm64**)はすべて除外されています。したがって、ユーザーはプロジェクトを構築するためにタイトルのオリジナルコピーからこれらのアセットを抽出する必要があります。 > > ディレクトリ構成は典型的なゲーム開発の慣習に従っており、多くのトップレベルフォルダーが含まれています:**actors**, **assets**(サブフォルダー *anims* と *demos* 付き), **bin**, **build**, **data**, **doxygen**, **enhancements**, **include**, **levels**, **lib**, **sound**, **src**(サブフォルダー *audio*, *buffers*, *engine*, *game*, *goddard*, *goddard_og*, *menu*, *port*), **text**, **textures**, および **tools**。 > > **src/goddard** 内のコードには、リライトされたマリオイントロ画面が含まれています。一方で **src/goddard_og** は元のバックアップを保持しています。**src/menu** ディレクトリはタイトルスクリーン、ファイル選択、アクション選択、およびデバッグレベル選択メニューを実装しています。**Src/port** にはポート固有のコードとともにオーディオおよびビデオレンダラーコンポーネントが格納されています。 > > コントリビューションはプルリクエストで歓迎されます。ただし、主要な変更はまずイシューを開いて議論する必要があります。これにより構造化されたレビュー プロセスが確保されます。この設定により、開発者はコードベースを改善できる一方で、最終ユーザーはコンパイルのために依然として専有アセットへのアクセスが必要です。

2025/12/11 5:29

Getting a Gemini API key is an exercise in frustration

## Japanese Translation: **概要** 著者はReactのサイドプロジェクトを開始し、Claude Code をコーディング支援として利用していましたが、Google の Gemini 3 Pro を試すことにしました。Gemini の設定は難航しました:AI Studio で API キーを作成した後、Cloud Console にて課金情報を設定し、政府発行の ID(カード番号を伏せた PNG)をアップロードする必要がありました(JPG/PDF は拒否されました)。プロジェクトを再度関連付けるたびにクォータ階層が Tier 1 に変わるまで繰り返し作業しました。この間、CLI/API 呼び出しは 403 PERMISSION_DENIED エラーを返し、Playground は内部エラーを投げました。後日受信したメールで「Your Google Cloud and APIs billing account … is in good standing」と確認され、すべてのインターフェースで問題が解消しました。 Gemini は単一製品ではなく、チャットボット・モバイルアプリ・音声アシスタント・Workspace 機能・CLI・IDE 拡張機能を含みますが、簡易的な「Buy Now」ボタンは存在せず、プロプランの購入には AI Studio → Cloud Console を経由する必要があります。対照的に Anthropic と OpenAI は明確な消費者向け購入オプションを提供しています。 著者は Gemini 3 Pro を最大 1か月間試験しつつ、オンボーディングが煩雑であれば他のプロバイダーへ戻る可能性があります。エンタープライズ中心の設定は個人開発者や小規模チームを遠ざける恐れがあり、その結果需要はよりアクセスしやすい競合製品にシフトし、Google が将来の AI 製品を設計する際に影響を与える可能性があります。

Factor 0.101 now available | そっか~ニュース