Title: Optimizations to avoid python recursion limit · Issue #31 · purescript-python/purescript-python · GitHub
Open Graph Title: Optimizations to avoid python recursion limit · Issue #31 · purescript-python/purescript-python
X Title: Optimizations to avoid python recursion limit · Issue #31 · purescript-python/purescript-python
Description: For programs with deep monadic stacks used to traverse recursive structures, the python recursion limit is often hit. Setting a higher recursion limit via sys.setrecursionlimit fixes the problem most of the time, but even with very high ...
Open Graph Description: For programs with deep monadic stacks used to traverse recursive structures, the python recursion limit is often hit. Setting a higher recursion limit via sys.setrecursionlimit fixes the problem mo...
X Description: For programs with deep monadic stacks used to traverse recursive structures, the python recursion limit is often hit. Setting a higher recursion limit via sys.setrecursionlimit fixes the problem mo...
Opengraph URL: https://github.com/purescript-python/purescript-python/issues/31
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Optimizations to avoid python recursion limit","articleBody":"For programs with deep monadic stacks used to traverse recursive structures, the python recursion limit is often hit. Setting a higher recursion limit via `sys.setrecursionlimit` fixes the problem most of the time, but even with very high recursion limits the issue still appears sometimes.\r\n\r\nAre there any optimizations that can be done on the code-gen level to help with this? Ie turning tail recursion into loops, creating functions that take multiple arguments to get rid of currying when possible, etc. I'm not sure what's possible, but it'd be nice to keep a running list here and see if we can tackle any of them.","author":{"url":"https://github.com/mikesol","@type":"Person","name":"mikesol"},"datePublished":"2020-07-02T13:27:29.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/31/purescript-python/issues/31"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:427e115e-ad6b-d977-7d13-52d0d974e189 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C4F4:30D218:41878BE:58F91D5:69708C81 |
| html-safe-nonce | 6ad4fdb3d9ad1c159db2073e743b2e5a2f986435144a52654d4cba06cbfc36a2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNEY0OjMwRDIxODo0MTg3OEJFOjU4RjkxRDU6Njk3MDhDODEiLCJ2aXNpdG9yX2lkIjoiNTMwOTAyNjkwOTA1ODc5NjY3MyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 452f361f2373fe6f688912fe7919e43583d4bc95ce90ffe10d5363175781dcb4 |
| hovercard-subject-tag | issue:649930711 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/purescript-python/purescript-python/31/issue_layout |
| twitter:image | https://opengraph.githubassets.com/da83984761060f8f33e21f15150446c897de7dab61fb15773fd98e1be17b809e/purescript-python/purescript-python/issues/31 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/da83984761060f8f33e21f15150446c897de7dab61fb15773fd98e1be17b809e/purescript-python/purescript-python/issues/31 |
| og:image:alt | For programs with deep monadic stacks used to traverse recursive structures, the python recursion limit is often hit. Setting a higher recursion limit via sys.setrecursionlimit fixes the problem mo... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | mikesol |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/purescript-python/purescript-python git https://github.com/purescript-python/purescript-python.git |
| octolytics-dimension-user_id | 61223985 |
| octolytics-dimension-user_login | purescript-python |
| octolytics-dimension-repository_id | 240700012 |
| octolytics-dimension-repository_nwo | purescript-python/purescript-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 240700012 |
| octolytics-dimension-repository_network_root_nwo | purescript-python/purescript-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width