SS ファイル形式とは?
.ss ファイルには、レキシカルスコープ、第一級継続、および統一されたS式構文を特徴とするLispのミニマリストな方言である Scheme のソースコードが含まれています。この拡張子は、1990年代に Chez Scheme や PLT Scheme によって、Schemeソースファイルの慣習的なサフィックスとして普及しました。
Schemeのコードは、括弧で囲まれた入れ子状の式(define、lambda、let、cond など)で構成されており、特別な文末記号の構文はありません。.ss ファイルは、Racketによって導入された慣習である、正確な方言を指定する #lang ディレクティブで始まる場合があります。
言語標準は、Revised Report on the Algorithmic Language Scheme (RnRS) を通じて維持されています。R7RS (2013) が現在の標準であり、R6RS (2007) では正式なモジュールシステムが追加されました。.ss と関連する .scm 拡張子の両方が、特に «Structure and Interpretation of Computer Programs»(計算機プログラムの構造と解釈)に基づいた大学の講義などで広く使用されています。
2010年6月7日(バージョン5.0)に PLT Scheme が Racket に改称された際、新しいRacketコードの推奨拡張子は .rkt になりました。.ss 拡張子は現在も DrRacket や Chez Scheme で受け入れられており、旧版に基づいた教科書や大学のカリキュラムでは一般的であり続けています。
.ss ファイルはバイナリシグネチャのないプレーンな UTF-8 テキストです。DrRacket は REPL、インラインドキュメント、エラーハイライトを提供します。MIT Scheme、Guile、Chez Scheme はすべてコマンドラインから .ss ファイルを実行できます。
セキュリティと安全性
リスク: LOWプレーンテキストのソースコードです。Schemeインタプリタなしでは実行できません。信頼できないソースからのコードは実行前に確認してください。Schemeはファイルシステムやネットワーク操作を実行できる可能性があります。
形式の詳細
概要- Sound Script (様々なゲームエンジン) - 一部のゲームエンジンやオーディオツールが、独自のサウンドスクリプトやシーケンスファイルに .ss を使用しています。
- SpreadSheetファイル (SuperCalc) - レガシーな SuperCalc 表計算フォーマットが .ss を使用していましたが、現在は廃止されています。
SS ファイルを開くプログラム
技術的詳細
詳細仕様| 構文パラダイム | S式(括弧を用いた前置記法、Lispファミリー) |
| 文字エンコーディング | UTF-8 または ASCII。バイナリヘッダーなし |
| MIMEタイプ | text/x-scheme (または text/plain, application/x-scheme) |
| 方言宣言 | 1行目のオプションの `#lang` ディレクティブ(Racketの慣習) |
| 現在の言語標準 | R7RS (2013)。R5RS および R6RS も広くサポート |
| 末尾呼び出しの要件 | R5RS以降で適切な末尾呼び出し最適化が必須。安全な深い再帰を可能にします |
| 継続のサポート | `call/cc` (call-with-current-continuation) による第一級継続 |
| モジュールシステム | R6RSが正式なライブラリ構文を定義。Racketは `#lang` + `require`/`provide` を使用 |
| 主要な実装 | Chez Scheme, DrRacket, MIT Scheme, GNU Guile, Chicken Scheme |
| `.rkt` との関係 | 2010年に PLT Scheme が Racket に改称。現在は `.rkt` が推奨され、`.ss` はレガシーですが引き続き受け入れられます |
| 典型的な用途 | 学術教育(SICPベースの講義)、スクリプティング、組み込み Scheme インタプリタ |
| トップレベルフォーム | `define`, `lambda`, `let`, `letrec`, `begin`, `import`, `module` |
| リリース日 | 1970s (Scheme language); .ss extension popularised by PLT Scheme / Chez Scheme circa 1990s |
| 最新バージョン | R7RS (2013) is the current Scheme standard; Racket 8.x uses .rkt/.ss |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | small.r7rs.org |
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。SS ファイルについて最初の質問をしてみましょう。