Hello, Pierre-Francois,
Can you provide some more information? For example, what is the actual error 
reported by the compiler and what is the definition of %hashtable? I assume 
from its use that it is either a function or macro, but it's name suggests it 
is a hashtable, which is problematic since they are not funcallable.
Best Regards,Joseph Donaldson
 
 
  On Fri, Mar 9, 2018 at 8:16 AM, Ollagnon, 
Pierre-Francois<pierre-francois_ollag...@mentor.com>  
======================
 
   (let* (((get-key        (lambda (obj) 
 
                             (let* ((key   (obj :get-key))
 
                                    (stuff (%hashtable :get key)))
 
                               (if stuff
 
                                   stuff
 
                                   "unknown"))))
 
  (something that pass get-key in argument)
 
===================
 
  
 
-Note that “stuff” is a lambda
 
  
 
  
 
After Dataflow it becomes:
 
==================
 
(get-key
 
(obj)
 
(let ((key (funcall
 
             obj
 
             obj
 
             :get-key)))
 
   (let ((stuff (funcall
 
                 %hashtable
 
                 %hashtable
 
                 :get
 
                 key)))
 
     (let ()
 
       (if stuff
 
           stuff
 
           "unknown")))))                                                       
                       
 
==================
 
  
 
  
 
After the Dataflow+ it becomes:
 
==================
 
Top of file:
 
-----
 
;; &get-key
 
;; procedure-el x obj -> obj
 
;; [static  side-effect: #t  occ: 1  rm: now  loc: #{location src/pvtsc_rdb.scm 
46059 973}  user?: #t removable: now]
 
(define (&get-key env obj)
 
  (let ((%hashtable (procedure-el-ref env 0)))
 
    (labels
 
      ((get-key
 
         (obj)
 
         (let ((key (funcall obj obj :get-key-pvtsc)))
 
           (let ((stuff (funcall %hashtable %hashtable :get key)))
 
             (let () (if stuff stuff "unknown"))))))
 
      (get-key obj))))
 
  
 
  
 
In the “normal code”:
 
-------
 
(let ((get-key
 
       (make-el-procedure
 
        1)))
 
  (begin
 
    (begin
 
      (procedure-el-set!
 
       get-key
 
       0
 
       %hashtable))
 
  
 
==================
 
  
 
  
 
Do you have any advice on how I can debug this ???
 
  
 
Best regards,
 
Pierre-Francois
 
  
 
  
 
  
 
  
 
  
 
  
   
<!--#yiv1678463362 _filtered #yiv1678463362 {font-family:Wingdings;panose-1:5 0 
0 0 0 0 0 0 0 0;} _filtered #yiv1678463362 {font-family:"Cambria 
Math";panose-1:2 4 5 3 5 4 6 3 2 4;} _filtered #yiv1678463362 
{font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv1678463362 
#yiv1678463362 p.yiv1678463362MsoNormal, #yiv1678463362 
li.yiv1678463362MsoNormal, #yiv1678463362 div.yiv1678463362MsoNormal 
{margin:0in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri", 
sans-serif;}#yiv1678463362 a:link, #yiv1678463362 
span.yiv1678463362MsoHyperlink 
{color:#0563C1;text-decoration:underline;}#yiv1678463362 a:visited, 
#yiv1678463362 span.yiv1678463362MsoHyperlinkFollowed 
{color:#954F72;text-decoration:underline;}#yiv1678463362 
p.yiv1678463362MsoListParagraph, #yiv1678463362 
li.yiv1678463362MsoListParagraph, #yiv1678463362 
div.yiv1678463362MsoListParagraph 
{margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri",
 sans-serif;}#yiv1678463362 span.yiv1678463362EmailStyle17 
{font-family:"Calibri", sans-serif;color:windowtext;}#yiv1678463362 
.yiv1678463362MsoChpDefault {font-family:"Calibri", sans-serif;} _filtered 
#yiv1678463362 {margin:1.0in 1.0in 1.0in 1.0in;}#yiv1678463362 
div.yiv1678463362WordSection1 {}#yiv1678463362 _filtered #yiv1678463362 {} 
_filtered #yiv1678463362 {font-family:"Courier New";} _filtered #yiv1678463362 
{font-family:"Courier New";} _filtered #yiv1678463362 {font-family:Wingdings;} 
_filtered #yiv1678463362 {font-family:Symbol;} _filtered #yiv1678463362 
{font-family:"Courier New";} _filtered #yiv1678463362 {font-family:Wingdings;} 
_filtered #yiv1678463362 {font-family:Symbol;} _filtered #yiv1678463362 
{font-family:"Courier New";} _filtered #yiv1678463362 {font-family:Wingdings;} 
_filtered #yiv1678463362 {} _filtered #yiv1678463362 {font-family:Wingdings;} 
_filtered #yiv1678463362 {font-family:"Courier New";} _filtered #yiv1678463362 
{font-family:Wingdings;} _filtered #yiv1678463362 {font-family:Symbol;} 
_filtered #yiv1678463362 {font-family:"Courier New";} _filtered #yiv1678463362 
{font-family:Wingdings;} _filtered #yiv1678463362 {font-family:Symbol;} 
_filtered #yiv1678463362 {font-family:"Courier New";} _filtered #yiv1678463362 
{font-family:Wingdings;}#yiv1678463362 ol {margin-bottom:0in;}#yiv1678463362 ul 
{margin-bottom:0in;}-->

Reply via email to