{"id":26057745,"url":"https://github.com/feenkcom/paper-moldable-exceptions","last_synced_at":"2026-02-14T05:05:25.736Z","repository":{"id":231678241,"uuid":"782394772","full_name":"feenkcom/paper-moldable-exceptions","owner":"feenkcom","description":"Draft for Onward! 2024","archived":false,"fork":false,"pushed_at":"2025-10-18T07:17:31.000Z","size":10820,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-01-27T01:23:39.408Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feenkcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-05T08:05:39.000Z","updated_at":"2025-10-18T07:17:35.000Z","dependencies_parsed_at":"2024-04-05T09:40:14.278Z","dependency_job_id":"ad09e4a9-c7c7-4649-8f9f-eeab85734a91","html_url":"https://github.com/feenkcom/paper-moldable-exceptions","commit_stats":null,"previous_names":["feenkcom/papers-moldable-exceptions","feenkcom/paper-moldable-exceptions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/feenkcom/paper-moldable-exceptions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fpaper-moldable-exceptions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fpaper-moldable-exceptions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fpaper-moldable-exceptions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fpaper-moldable-exceptions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feenkcom","download_url":"https://codeload.github.com/feenkcom/paper-moldable-exceptions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fpaper-moldable-exceptions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29437368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T03:34:37.767Z","status":"ssl_error","status_checked_at":"2026-02-14T03:34:09.092Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-08T11:58:48.315Z","updated_at":"2026-02-14T05:05:25.722Z","avatar_url":"https://github.com/feenkcom.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\nThis is the repo for a paper on *Moldable Exceptions* accepted to [Onward! 2024](https://2024.splashcon.org/track/splash-2024-Onward-papers#Call-for-Papers).\nThe repo contains not only the LaTeX source code, but also GT examples and Lepiter pages of notes.\n\nPreprint available on [arXiv (PDF)](https://arxiv.org/pdf/2409.00465).\n\nArXiv DOI: [10.48550/arXiv.2409.00465](https://doi.org/10.48550/arXiv.2409.00465)\n\nACM DOI: [10.1145/3689492.3690044](https://doi.org/10.1145/3689492.3690044)\n\n## GT Installation\n\n```\nMetacello new\n\trepository: 'github://feenkcom/paper-moldable-exceptions:master/src';\n\tbaseline: 'PaperMoldableExceptions';\n\tload.\n#BaselineOfPaperMoldableExceptions asClass loadLepiter.\n```\n\n# Title\n\nMoldable Exceptions\n\n## Authors\n\nAndrei Chiş, Tudor Gîrba, Oscar Nierstrasz\n\n## Abstract\n\nDebugging is hard. Interactive debuggers are mostly the same. They show you a stack, a way to sample the state of the stack, and, if the debugger is live, a way to step through execution. The standard interactive debugger for a general-purpose programming language provided by a mainstream IDE mostly offers a low-level interface in terms of generic language constructs to track down and fix bugs. A custom debugger, such as those developed for specific application domains, offers alternative interfaces more suitable to the specific execution context of the program being debugged. Custom debuggers offering contextual debugging views and actions can greatly improve our ability to reason about the current problem. Implementing such custom debuggers, however, is non-trivial, and poses a barrier to improving the debugging experience. In this paper we introduce \"moldable exceptions\", a lightweight mechanism to adapt a debugger's interface based on contextual information provided by a raised exception. We present, through a series of examples, how moldable exceptions can enhance a live programming environment.\n\n## BibTeX citation\n\n```\n@inproceedings{Chis24a,\n\tAnnote = {internationalconference},\n\tAuthor = {Andrei Chi\\c{s} and Oscar Nierstrasz and Tudor G\\^irba},\n\tBooktitle = {Proceedings of Onward! 2024},\n\tKeywords = {feenk-pub Girba Chis},\n\tTitle = {Moldable Exceptions},\n\tAbstract = {Debugging is hard. Interactive debuggers are mostly the same. They\n\t\tshow you a stack, a way to sample the state of the stack, and, if the debugger\n\t\tis live, a way to step through execution. The standard interactive debugger for a\n\t\tgeneral-purpose programming language provided by a mainstream IDE mostly offers a\n\t\tlow-level interface in terms of generic language constructs to track down and fix\n\t\tbugs. A custom debugger, such as those developed for specific application domains,\n\t\toffers alternative interfaces more suitable to the specific execution context of\n\t\tthe program being debugged. Custom debuggers offering contextual debugging views\n\t\tand actions can greatly improve our ability to reason about the current problem.\n\t\tImplementing such custom debuggers, however, is non-trivial, and poses a barrier\n\t\tto improving the debugging experience. In this paper we introduce \"moldable\n\t\texceptions\", a lightweight mechanism to adapt a debugger's interface based on\n\t\tcontextual information provided by a raised exception. We present, through a\n\t\tseries of examples, how moldable exceptions can enhance a live programming\n\t\tenvironment.},\n\tNote = {to appear},\n\teprint = {2409.00465},\n\tarchivePrefix = {arXiv},\n\tprimaryClass = {cs.SE},\n\turl = {https://arxiv.org/abs/2409.00465},\n\tscg-url = {http://scg.unibe.ch/archive/papers/Chis24aMoldableExceptions.pdf},\n\tDOI = {10.48550/arXiv.2409.00465},\n\tarxiv-DOI = {10.48550/arXiv.2409.00465},\n\tacm-DOI = {10.1145/3689492.3690044},\n\tYear = {2024}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeenkcom%2Fpaper-moldable-exceptions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeenkcom%2Fpaper-moldable-exceptions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeenkcom%2Fpaper-moldable-exceptions/lists"}