Path: utzoo!attcan!uunet!aplcen!samsung!think!kulla!barmar From: barmar@kulla (Barry Margolin) Newsgroups: comp.lang.lisp Subject: Re: Linking and MACL (really efficiency of local functions) Message-ID: <31768@news.Think.COM> Date: 26 Nov 89 06:08:51 GMT References: <21316@brunix.UUCP> <1989Nov20.150510.20700@hellgate.utah.edu> <31762@news.Think.COM> Sender: news@Think.COM Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 18 In article simon@packer.UUCP (Simon Leinen) writes: >In article <31762@news.Think.COM> barmar@leander.think.com (Barry Margolin) writes: > Both Common Lisp implementations I'm familiar with -- Symbolics and > Lucid -- have names for local functions. >This is what makes local functions expensive: They are called through >a (synthetic) symbol's function cell. I don't know about Lucid, but the Symbolics implementation doesn't actually indirect through function names when calling the function, either local or global. The calling function contains a pointer to the callee function object. The indirection through the function name is done only once, at load time. The actual calling mechanism is the same for both global and local functions. Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar