emacs elisp

¿Cuáles son las partes más importantes de ELisp para aprender si desea programar Emacs?



(4)

" He leído los dos manuales de GNU, pero no son tan útiles si no conoces Lisp / elisp " .

Consejo: Emacs no sirve de mucho si no conoces a Lisp.

No es realmente cierto, por supuesto, pero entiendes la idea. Este es realmente cierto:

Consejo: Emacs es mucho, mucho, mucho más útil si conoces a Lisp. Sin mencionar más diversión .

¿Qué aprender?

  1. Símbolos (son objetos simples, con propiedades , no solo identificadores)

  2. listas - celdas de contras , estructura de lista (incluyendo modificación / compartir)

  3. evaluación

  4. aplicación de función

  5. expresiones regulares

  6. Propiedades de texto / superposición / cadena (los valores pueden ser cualquier entidad Lisp)

  7. amortiguadores y ventanas

Uso Emacs todos los días, ya que es el editor estándar para Erlang.

Decidí como mi Resolución de Año Nuevo aprender a programar eLisp. Decidí que escribir un libro sobre eLisp era la mejor manera de aprender.

He progresado bastante bien: aprende eLisp para Emacs

La estructura estratégica del libro es

  • empezando / conceptos básicos
  • eLisp más avanzado
  • escribiendo un modo menor
  • escribiendo un modo mayor

He superado lo básico (es decir, el primero de estos 4 puntos), que abarca:

  • evaluando expresiones
  • depuración
  • añadiendo elementos de menú / barras de herramientas
  • cargando tus propios archivos emacs
  • etcétera etcétera

Si está escribiendo un libro sobre un lenguaje de programación, generalmente comienza conociendo bien el idioma, bueno, no lo sé, por lo que mi problema principal ahora es un problema de integridad:

  • ¿Cómo sé que he cubierto todas las características que un programador de Emacs debería haber dominado?
  • ¿Cómo me aseguro de que no haya espacios en el contenido?

Así que pensé en abordar esto preguntando a la comunidad aquí. Mi pregunta es : ¿Qué falta en mi tabla de contenido? (en particular, lo que debe contener la sección eLisp más avanzada ).


Ahora que es una forma interesante de aprender un idioma ...

Creo que probablemente se ha saltado un montón de los fundamentos en la sección de introducción / conceptos básicos. Si aún no lo ha leído, le recomiendo que lea "Introducción a la programación en Emacs Lisp" (en gnu.org ), que cubre lo que esperaría ver en la sección "conceptos básicos". No me molestaré en cortar / pegar la tabla de contenidos.

En cuanto a saber cuándo ha escrito un libro completo ... Bueno, una vez que haya reescrito el manual de Emacs Lisp en forma de "cómo hacerlo", sabrá que ha terminado. Alternativamente, si ha escrito un libro que se puede usar para responder / interpretar todas las preguntas de elisp y elisp , entonces probablemente tenga una cobertura decente.

¿Sobre qué características avanzadas podrías escribir? Hay advice , comunicación de procesos , texto no ASCII , tablas de sintaxis , abbrevs , propiedades de texto , compilación de bytes , tablas de visualización , images y un montón más en el manual .

Nota: El uso correcto de mayúsculas en elisp es en minúsculas o posiblemente en mayúsculas. La documentación de GNU no usa "elisp" en absoluto (principalmente como un nombre de directorio, todas en minúsculas), prefiere "Emacs Lisp".

Nota: En la versión actual de su libro, trata las variables globales de forma negativa. Probablemente valga la pena leer el documento de RMS para obtener una idea de las decisiones de diseño tomadas, específicamente sobre las variables globales y el enlace dinámico (el último que aún debe cubrir, que es un concepto clave (básico) que ya ha utilizado). malinterpretado en tu libro).


En lugar de preguntar a la comunidad aquí, ¿por qué no usar lo que ya ofrece la comunidad? Revise todas las preguntas etiquetadas como "elisp" y vea dónde encajan en su libro. Una encuesta de lo que la gente realmente quiere entender podría ser la mejor información que obtendrá.


Le sugiero que eche un vistazo a lo que los dos manuales de información incluidos con Emacs Lisp Introducción "Introducción a la programación en Emacs Lisp" y Elisp "El Manual de referencia de Emacs Lisp" ya tienen que ofrecer y luego decidir qué desea para agregar o hacer diferente a aquellos.