Re: Dataflow+ debuging
Joseph Donaldson <[email protected]> Fri, 9 Mar 2018 16:44:21 +0000 (UTC)
| Newsgroups | gmane.lisp.scheme.bigloo |
|---|---|
| Message-ID | <[email protected]> |
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<[email protected]> ====================== (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;}-->