freenode/#lisp - IRC Chatlog
Search
2:21:33
onceagain
I remember reading that SBCL can be run either as a compiled language or a scripting language, but does this all mean you can't really run an uncompiled script that uses an outside package? Or is scripting in lisp just not the way to go in general
2:22:09
White_Flame
Lisp's history involved a lot of Lisp OSes, so it tends to own its own environment moreso than being involved in scripts. But scripts are doable
4:47:32
madrik
Before Common Lisp's condition system, how did earlier Lisp such as Maclisp and Interlisp handle errors and exceptions? Was it something like CATCH and THROW only?
4:52:10
beach
Interesting relate fact: The condition system was inspired by that of Multics PL/I, and PL/I on Multics was an excellent development environment, especially considering when it existed.
4:53:16
edgar-rft
madrik: http://www.softwarepreservation.org/projects/LISP/ has most of the the old Lisp manuals back to 1958
5:32:05
beach
They were replaced by macros for reasons of performance. Macros are handled at compile time.
5:38:53
beach
madrik: Initially, Emacs Lisp had only dynamic bindings, whereas Maclisp had dynamic bindings in the interpreter and lexical bindings in the compiler.
5:40:45
beach
It was less of a problem than you might think. Most people wrote programs that were intended to behave as if bindings were lexical anyway. Taking advantage of dynamic bindings was exceptional.
5:41:07
beach
So whether such a program ran in the interpreter or in the compiler did not make a difference.
5:44:52
beach
Interestingly, Franz Lisp (a predecessor of Allegro Common Lisp in a way) went to a lot of trouble to make compiled code use dynamic bindings. At the time, dynamic bindings were thought to be the norm. I think this is where Scheme showed the way, and inspired Common Lisp to use lexical bindings everywhere.
5:47:37
edgar-rft
madrik: https://en.wikipedia.org/wiki/Macro_(computer_science)#Early_Lisp_macros says "In 1963, Timothy Hart proposed adding macros to Lisp 1.5 in AI Memo 57: MACRO Definitions for LISP." with link to the original document. I have no idea if that is true bcause I wasn't even born at that time :-)
5:51:00
madrik
Out of curiosity, I know that popular Lisp systems currently feature a compiler as given, with an optional interpreter. Are there any systems with _only_ a Common Lisp interpreter?
5:53:57
edgar-rft
madrik: https://almy.us/xlisp.html is the only one I know, but it's not a full implementation of Common Lisp
11:48:38
p_l
madrik: some systems can be run with just evaluator, but Common Lisp requires "minimal compilation" (expansion of macros etc.)
11:49:11
p_l
technically some implementations skirt this literally but preserve the required semantics, like LW which uses evaluator when tracing macros
13:39:41
beach
no-defun-allowed: The default would be to create a method like (defmethod some-reader ((x some-class)) (slot-value x 'the-slot-name)), but there are ways of making it faster. When the effective method is created, it is often possible to use standard-instance-access instead, which is much faster.