Thanks everyone.
The issue wasn't that it broke, its that I got different mathematical results - I bound the two lambda's as a list to a debug variable so I could show the code being run, the function actually returned two values.
I'm running 1.0.53 now. The issue I've seen is a confluence of speed and safety declarations, as well as floating point mode settings.
I believe I've now resolved my particular issue.
Thanks again
-----Original Message-----
>From: Stig Hemmer <stighemmer@...>
>Sent: Dec 1, 2011 9:33 AM
>To: billpeople@...
>Cc: Nikodemus Siivola <nikodemus@...>, sbcl-help@...
>Subject: Re: [Sbcl-help] compile function v. dynamic eval of defun
>
>Your make-rk4-model returns a LIST of two lambdas. The calling
>function then tries to pick these apart using MULTIPLE VALUES.
>
>Either return multiple values using VALUES or pick apart the list
>using DESTRUCTURING-BIND.
>
>Stig Hemmer
>
>On 11/30/11, billpeople@... <billpeople@...> wrote:
>> 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 <nikodemus@...>
>>>Sent: Nov 30, 2011 4:04 AM
>>>To: billpeople@...
>>>Cc: sbcl-help@...
>>>Subject: Re: [Sbcl-help] compile function v. dynamic eval of defun
>>>
>>>On 30 November 2011 11:08, <billpeople@...> 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
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> All the data continuously generated in your IT infrastructure
>> contains a definitive record of customers, application performance,
>> security threats, fraudulent activity, and more. Splunk takes this
>> data and makes sense of it. IT sense. And common sense.
>> http://p.sf.net/sfu/splunk-novd2d
>> _______________________________________________
>> Sbcl-help mailing list
>> Sbcl-help@...
>> https://lists.sourceforge.net/lists/listinfo/sbcl-help
>>
|