Qu'est-ce que le format de fichier SS ?
Un fichier .ss contient du code source Scheme - un dialecte minimaliste de Lisp caractérisé par une portée lexicale, des continuations de première classe et une syntaxe d'expressions S uniforme. L'extension a été popularisée dans les années 1990 par Chez Scheme et PLT Scheme comme suffixe conventionnel pour les fichiers sources Scheme.
Le code Scheme se compose d'expressions parenthésées imbriquées - define, lambda, let, cond - sans syntaxe spéciale de terminaison d'instruction. Un fichier .ss peut commencer par une directive #lang qui spécifie le dialecte exact, une convention introduite par Racket.
Le standard du langage est maintenu via le Revised Report on the Algorithmic Language Scheme (RnRS). R7RS (2013) est le standard actuel ; R6RS (2007) a ajouté un système de modules formel. L'extension .ss et l'extension associée .scm sont toutes deux largement utilisées dans les cours académiques, en particulier ceux basés sur *Structure and Interpretation of Computer Programs*.
Lorsque PLT Scheme a été renommé Racket le 7 juin 2010 (version 5.0), l'extension préférée pour le nouveau code Racket est devenue .rkt. L'extension .ss est toujours acceptée par DrRacket et Chez Scheme, et reste courante dans les manuels scolaires et les programmes universitaires basés sur des éditions antérieures.
Les fichiers .ss sont du texte brut UTF-8 sans signature binaire. DrRacket fournit un REPL, une documentation intégrée et une coloration syntaxique des erreurs ; MIT Scheme, Guile et Chez Scheme exécutent tous les fichiers .ss à partir de la ligne de commande.
Sécurité et sûreté
RISQUE : LOWCode source en texte brut ; ne peut pas s'exécuter sans un interpréteur Scheme. Le code provenant de sources non fiables doit être examiné avant exécution - Scheme peut effectuer des opérations sur le système de fichiers et le réseau.
Détails du format
en bref- Sound Script (divers moteurs de jeu) - Certains moteurs de jeu et outils audio utilisent .ss pour des fichiers de script sonore ou de séquence propriétaires.
- Fichier SpreadSheet (SuperCalc) - L'ancien format de feuille de calcul SuperCalc utilisait .ss, désormais obsolète.
Programmes qui ouvrent les fichiers SS
Détails techniques
spécifications approfondies| Paradigme syntaxique | Expression S (notation préfixée parenthésée ; famille Lisp) |
| Encodage des caractères | UTF-8 ou ASCII ; pas d'en-tête binaire |
| Type MIME | text/x-scheme (également text/plain, application/x-scheme) |
| Déclaration de dialecte | Directive `#lang` facultative sur la première ligne (convention Racket) |
| Standard actuel du langage | R7RS (2013) ; R5RS et R6RS également largement supportés |
| Exigence d'appel terminal | Optimisation d'appel terminal (tail-call) obligatoire selon R5RS et versions ultérieures ; permet une récursion profonde sécurisée |
| Support des continuations | Continuations de première classe via `call/cc` (call-with-current-continuation) |
| Système de modules | R6RS définit une syntaxe de bibliothèque formelle ; Racket utilise `#lang` + `require`/`provide` |
| Implémentations principales | Chez Scheme, DrRacket, MIT Scheme, GNU Guile, Chicken Scheme |
| Relation avec .rkt | PLT Scheme renommé Racket en 2010 ; `.rkt` est désormais préféré ; `.ss` est hérité mais toujours accepté |
| Utilisation typique | Enseignement académique (cours basés sur SICP), scripting, interpréteurs Scheme embarqués |
| Formes de haut niveau | `define`, `lambda`, `let`, `letrec`, `begin`, `import`, `module` |
| Publié | 1970s (Scheme language); .ss extension popularised by PLT Scheme / Chez Scheme circa 1990s |
| Dernière version | R7RS (2013) is the current Scheme standard; Racket 8.x uses .rkt/.ss |
| Standard ouvert | Oui · libre de droits |
| Spécification | small.r7rs.org |
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers SS.