From: <bil...@mi...> - 2011-11-30 17:47:56
|
Thanks for your rapid reply. I realize a reproducible test case is what you need to go further, and I'll try to develop that - and I'll move to 1.0.53 as well as trying this on a linux box. That said, I was trying to establish whether I should expect different results (or if this is a known issue) from the two different methods of producing a compiled function dynamically, hence showing the compilations are made in essentially identical lexical environments, and that the code being compiled is basically identical. To directly answer your question on EQUATION-AGGREGATOR, here's the source, and in this case, fn is bound to #'+: (defun equation-aggregator (fn &rest args) (declare (optimize (speed 3) (safety 0))) (let ((tmp (delete nil args))) (if tmp (reduce fn tmp) 0d0))) -----Original Message----- >From: Nikodemus Siivola <nik...@ra...> >Sent: Nov 30, 2011 4:04 AM >To: bil...@mi... >Cc: sbc...@li... >Subject: Re: [Sbcl-help] compile function v. dynamic eval of defun > >On 30 November 2011 11:08, <bil...@mi...> wrote: > >> I haven't been able to generate a simpler case to show the issue - the simpler cases >> all work as they ought, yielding identical results. > >Hi, > >First of, you may want to try with 1.0.53 (or current master), as FP >traps on OS X have seen some work since 1.0.52. > >Second, can you please provide definitions for the functions called in >your test-cast, and a sample run where you show how to call them and >the results you get. > >Ie. something I can just copy and paste into my repl (or a file I can >load, etc) to see the issue without needing to wonder what >EQUATION-AGGREGATOR is or what kind of arguments I'm supposed to >provide. > >Cheers, > > -- Nikodemus |