¿Qué es el formato de archivo SS?
Un archivo .ss contiene código fuente de Scheme, un dialecto minimalista de Lisp caracterizado por el alcance léxico, continuaciones de primera clase y una sintaxis uniforme de expresiones-S. La extensión fue popularizada en la década de 1990 por Chez Scheme y PLT Scheme como un sufijo convencional para los archivos de fuente de Scheme.
El código de Scheme consiste en expresiones anidadas entre paréntesis - define, lambda, let, cond - sin una sintaxis especial para terminadores de sentencias. Un archivo .ss puede comenzar con una directiva #lang que especifica el dialecto exacto, una convención introducida por Racket.
El estándar del lenguaje se mantiene a través del Revised Report on the Algorithmic Language Scheme (RnRS). R7RS (2013) es el estándar actual; R6RS (2007) añadió un sistema de módulos formal. Tanto la extensión .ss como la relacionada .scm se utilizan ampliamente en cursos académicos, especialmente aquellos basados en *Structure and Interpretation of Computer Programs*.
Cuando PLT Scheme pasó a llamarse Racket el 7 de junio de 2010 (versión 5.0), la extensión preferida para el nuevo código de Racket pasó a ser .rkt. La extensión .ss sigue siendo aceptada por DrRacket y Chez Scheme, y sigue siendo común en libros de texto y planes de estudio universitarios basados en ediciones anteriores.
Los archivos .ss son texto plano UTF-8 sin firma binaria. DrRacket proporciona un REPL, documentación integrada y resaltado de errores; MIT Scheme, Guile y Chez Scheme ejecutan archivos .ss desde la línea de comandos.
Seguridad y protección
RIESGO: LOWCódigo fuente de texto plano; no puede ejecutarse sin un intérprete de Scheme. El código de fuentes no confiables debe revisarse antes de ejecutarse: Scheme puede realizar operaciones de red y del sistema de archivos.
Detalles del formato
en pocas palabras- Sound Script (varios motores de juegos) - Algunos motores de juegos y herramientas de audio utilizan .ss para archivos de secuencias o scripts de sonido propietarios.
- Archivo de hoja de cálculo (SuperCalc) - El formato de hoja de cálculo heredado de SuperCalc utilizaba .ss, ahora obsoleto.
Programas que abren archivos SS
Detalles técnicos
especificación profunda| Paradigma de sintaxis | Expresión-S (notación de prefijo con paréntesis; familia Lisp) |
| Codificación de caracteres | UTF-8 o ASCII; sin encabezado binario |
| Tipo MIME | text/x-scheme (también text/plain, application/x-scheme) |
| Declaración de dialecto | Directiva `#lang` opcional en la primera línea (convención de Racket) |
| Estándar de lenguaje actual | R7RS (2013); R5RS y R6RS también son ampliamente compatibles |
| Requisito de llamada de cola | Optimización de llamada de cola adecuada obligatoria según R5RS y posteriores; permite recursión profunda segura |
| Soporte de continuaciones | Continuaciones de primera clase a través de `call/cc` (call-with-current-continuation) |
| Sistema de módulos | R6RS define una sintaxis de biblioteca formal; Racket utiliza `#lang` + `require`/`provide` |
| Implementaciones principales | Chez Scheme, DrRacket, MIT Scheme, GNU Guile, Chicken Scheme |
| Relación con `.rkt` | PLT Scheme fue renombrado como Racket en 2010; `.rkt` es ahora preferido; `.ss` es heredado pero aún se acepta |
| Uso típico | Enseñanza académica (cursos basados en SICP), scripting, intérpretes de Scheme embebidos |
| Formas de nivel superior | `define`, `lambda`, `let`, `letrec`, `begin`, `import`, `module` |
| Lanzado | 1970s (Scheme language); .ss extension popularised by PLT Scheme / Chez Scheme circa 1990s |
| Última versión | R7RS (2013) is the current Scheme standard; Racket 8.x uses .rkt/.ss |
| Estándar abierto | Sí · libre de regalías |
| Especificación | small.r7rs.org |
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos SS.