Bytecode – link to Lisp

It is not possible to add the new link because it would replace an existing, longer link.

Line 17: Line 17:
*[[Emacs]] is a text editor with most of its functions implemented by [[Emacs Lisp]], its built-in dialect of [[Lisp (programming language)|Lisp]]. These features are compiled into bytecode. This architecture allows users to customize the editor with a high level language, which after compiling into bytecode yields reasonable performance.
*[[Emacs]] is a text editor with most of its functions implemented by [[Emacs Lisp]], its built-in dialect of [[Lisp (programming language)|Lisp]]. These features are compiled into bytecode. This architecture allows users to customize the editor with a high level language, which after compiling into bytecode yields reasonable performance.
*[[Embeddable Common Lisp]] implementation of [[Common Lisp]] can compile to bytecode or C code
*[[Embeddable Common Lisp]] implementation of [[Common Lisp]] can compile to bytecode or C code
*[[Common Lisp]] provides a <code>disassemble</code> function<ref>{{cite web|url=http://www.lispworks.com/documentation/HyperSpec/Body/f_disass.htm|title=CLHS: Function DISASSEMBLE|website=www.lispworks.com}}</ref> which prints to the standard output the underlying code of a specified function. The result is implementation-dependent and may or may not resolve to bytecode. Its inspection can be utilized for debugging and optimization purposes.<ref>{{cite web|url=https://lispcookbook.github.io/cl-cookbook/performance.html|title=The Common Lisp Cookbook – Performance Tuning and Tips|author=Collective|date=2023-12-13|website=lispcookbook.github.io}}</ref> [[Steel Bank Common Lisp]], for instance, produces:
*[[Common Lisp]] provides a <code>disassemble</code> function<ref>{{cite web|url=http://www.lispworks.com/documentation/HyperSpec/Body/f_disass.htm|title=CLHS: Function DISASSEMBLE|website=www.lispworks.com}}</ref> which prints to the standard output the underlying code of a specified function. The result is implementation-dependent and may or may not resolve to bytecode. Its inspection can be utilized for debugging and optimization purposes.<ref>{{cite web|url=https://lispcookbook.github.io/cl-cookbook/performance.html|title=The Common Lisp Cookbook – Performance Tuning and Tips|author=Collective|date=2023-12-13|website=lispcookbook.github.io}}</ref> Steel Bank Common [[Lisp]], for instance, produces:
:<syntaxhighlight lang="lisp">
:<syntaxhighlight lang="lisp">
(disassemble '(lambda (x) (print x)))
(disassemble '(lambda (x) (print x)))