View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000360 | mercury | Feature Request | public | 2014-09-15 14:54 | 2014-09-18 20:57 | ||||
Reporter | juliensf | ||||||||
Assigned To | zs | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | not fixable | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000360: minimal_model tabling of semidet procedures | ||||||||
Description | The attached program is a version of the Happy Numbers task from RosettaCode, <http://rosettacode.org/wiki/Happy_numbers>. It attempts to use minimal_model tabling to avoid the explicit caching that the existing version uses. That doesn't work since minimal_model tabling and semidet predicates are not supported. Can this restriction be lifted? In the meantime, the reference manual section on tabling should make mention of the restriction. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
Notes | |
zs (developer) 2014-09-16 13:45 |
No, minimal model evaluation cannot be applied to model_semi procedures (or model_det, for that matter). Its current implementation inherently relies on the predicate having its stack frame on the nondet stack, because it works by manipulating that stack. Giving a model_det or model_semi procedure a frame on the nondet stack would violate invariants that say that such procedures do not touch the nondet stack. |
zs (developer) 2014-09-18 20:57 |
Clarification to the documentation committed sep 18. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-09-15 14:54 | juliensf | New Issue | |
2014-09-15 14:54 | juliensf | File Added: happy_mm.m | |
2014-09-16 13:45 | zs | Note Added: 0000789 | |
2014-09-18 20:57 | zs | Note Added: 0000790 | |
2014-09-18 20:57 | zs | Status | new => closed |
2014-09-18 20:57 | zs | Assigned To | => zs |
2014-09-18 20:57 | zs | Resolution | open => not fixable |