{"action":"created","issue":{"url":"https://api.github.com/repos/leppie/IronScheme/issues/11","repository_url":"https://api.github.com/repos/leppie/IronScheme","labels_url":"https://api.github.com/repos/leppie/IronScheme/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/leppie/IronScheme/issues/11/comments","events_url":"https://api.github.com/repos/leppie/IronScheme/issues/11/events","html_url":"https://github.com/leppie/IronScheme/issues/11","id":133564433,"number":11,"title":"Possible bug of equal? implementation","user":{"login":"christoff-buerger","id":7884278,"avatar_url":"https://avatars.githubusercontent.com/u/7884278?v=3","gravatar_id":"","url":"https://api.github.com/users/christoff-buerger","html_url":"https://github.com/christoff-buerger","followers_url":"https://api.github.com/users/christoff-buerger/followers","following_url":"https://api.github.com/users/christoff-buerger/following{/other_user}","gists_url":"https://api.github.com/users/christoff-buerger/gists{/gist_id}","starred_url":"https://api.github.com/users/christoff-buerger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christoff-buerger/subscriptions","organizations_url":"https://api.github.com/users/christoff-buerger/orgs","repos_url":"https://api.github.com/users/christoff-buerger/repos","events_url":"https://api.github.com/users/christoff-buerger/events{/privacy}","received_events_url":"https://api.github.com/users/christoff-buerger/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2016-02-14T18:25:16Z","updated_at":"2016-02-17T12:19:26Z","closed_at":null,"body":"When I run the test suite of [my _R6RS Scheme_ project](https://github.com/christoff-buerger/racr) some test cases fail, although I know other _R6RS_ systems pass (_Racket_, _Larceny_, _Petite Chez Scheme_). _GNU Guile_ fails the same test cases because of a non-_R6RS_ compliant `equal?` implementation. For this reason, I assume that _IronScheme_ might have a similar problem with `equal?`.\r\n\r\n**Short background:** My _RACR_ project is a language processor library based on reference attribute grammar controlled rewriting. One of the example languages is a Petri net interpreter supporting the composition of nets in execution. The composition is based on place fusion. Place fusion requires fixpoint semantics to find all places a place is fused with (transitive closure computation). I therefore use circular attributes to compute this reachability problem. Fixpoint semantics require a termination condition. In case of reachability, the computation should terminate when the set of reachable places does not change anymore. In that process I use `equal?` to compare circularity-caches. The content of these caches are _R6RS_ records, that themselves encode circular data structures. Since `equal?` must be well-defined for circular data structures according to the _R6RS_, this is not a problem.\r\n\r\nWhen using _IronScheme_ however, stack overflow exceptions are thrown. I got similar exceptions for _GNU Guile_, [which does not support equality tests on circular data structures](http://www.gnu.org/software/guile/manual/html_node/R6RS-Incompatibilities.html#R6RS-Incompatibilities).\r\n\r\nDoes _IronScheme_ support `equal?` on circular data structures? I use _Mono_ in _OS X_. Maybe its a _Mono_ issue?"},"comment":{"url":"https://api.github.com/repos/leppie/IronScheme/issues/comments/185175722","html_url":"https://github.com/leppie/IronScheme/issues/11#issuecomment-185175722","issue_url":"https://api.github.com/repos/leppie/IronScheme/issues/11","id":185175722,"user":{"login":"leppie","id":127666,"avatar_url":"https://avatars.githubusercontent.com/u/127666?v=3","gravatar_id":"","url":"https://api.github.com/users/leppie","html_url":"https://github.com/leppie","followers_url":"https://api.github.com/users/leppie/followers","following_url":"https://api.github.com/users/leppie/following{/other_user}","gists_url":"https://api.github.com/users/leppie/gists{/gist_id}","starred_url":"https://api.github.com/users/leppie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leppie/subscriptions","organizations_url":"https://api.github.com/users/leppie/orgs","repos_url":"https://api.github.com/users/leppie/repos","events_url":"https://api.github.com/users/leppie/events{/privacy}","received_events_url":"https://api.github.com/users/leppie/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T12:19:26Z","updated_at":"2016-02-17T12:19:26Z","body":"Seems I can increase stack size, but even increasing it to 32M, both those tests seems to run forever (I killed them after running at least 10 minutes each).\r\n\r\nI am going to try run them in windows."}}