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;}-->