[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Analyze this!
When I press "Analyze" on a program I'm working on with v199.25d4, I'm
getting a large chunk of a procedure highlighted in red and underlined. The
output window contains a message which begins as follows:
ast-nodes: 63 graph-nodes: 93 graph-edges: 33
unknown construct: (letrec-values (((generate-investment-dates) (lambda
(last-investment-date) (let-values (((first-investment-date) (#%app (#%top .
date-) last-investment-date (#%app (#%top . get-range-max)
investment-dates-spec))).....{ad infinitum}...
This is a very messy, nested procedure (converted from C++ and not yet fully
Scheme-ified), which returns a handmade object (closure) which supports a
set of messages. The structure of the procedure goes something like this:
define
let
define
let
define
let*
do
let
do
do
do
let
lambda
case
; message handling
==> returns closure
Have I just stressed out the analyzer's ability to deal with truly
pathological code? I don't really need to diagnose this, but I wondered if
perhaps there's some known limitation I might be running into.
Anton