{"id":17086177,"url":"https://github.com/kach/watchat","last_synced_at":"2025-03-23T14:29:42.578Z","repository":{"id":226034657,"uuid":"767557702","full_name":"kach/watchat","owner":"kach","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-11T03:27:33.000Z","size":29,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-28T20:41:23.623Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Racket","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/kach.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}},"created_at":"2024-03-05T14:08:14.000Z","updated_at":"2024-08-31T06:30:05.000Z","dependencies_parsed_at":"2024-03-05T15:35:53.165Z","dependency_job_id":"6c9e9829-e174-4234-a694-63ad02592547","html_url":"https://github.com/kach/watchat","commit_stats":null,"previous_names":["kach/watchat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Fwatchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Fwatchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Fwatchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kach%2Fwatchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kach","download_url":"https://codeload.github.com/kach/watchat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245115302,"owners_count":20563132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-14T13:27:48.360Z","updated_at":"2025-03-23T14:29:42.550Z","avatar_url":"https://github.com/kach.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WatChat\n\nThis is the codebase for our project on a cognitively-inspired automatic explanation engine for JavaScript. You can read more in our [preliminary report](https://arxiv.org/abs/2403.05334) presented at PLATEAU 2024:\n\n**WatChat: Explaining perplexing programs by debugging mental models**\n\n_Kartik Chandra, Tzu-Mao Li Rachit Nigam, Joshua Tenenbaum and Jonathan Ragan-Kelley_\n\n\u003e Often, a good explanation for a program's unexpected behavior is a bug in the programmer's code. But sometimes, an even _better_ explanation is a bug in the programmer's _mental model_ of the language they use. Instead of merely debugging our current code (\"giving the programmer a fish\"), what if our tools could directly debug our mental models (\"teaching the programmer to fish\")?\n\u003e \n\u003e In this paper, we apply ideas from computational cognitive science to do exactly that. Given a perplexing program, we infer potential misconceptions the programmer might have, and analyze them to provide succinct, useful explanations of the program's observed behavior. Our methods can even be inverted to _synthesize_ pedagogical example programs for diagnosing and correcting misconceptions in students.\n\n---\n\nContents:\n- `js.rkt`, `js-test.rkt` - JS \"misinterpreter\" and tests\n- `js-wat.rkt` - explanation solver\n- `js-wedge.rkt`, `js-wedge-all.rkt` - concept inventory generator\n- `watchat.rkt`, `index.html` - server for web front-end\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkach%2Fwatchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkach%2Fwatchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkach%2Fwatchat/lists"}