{"id":17214534,"url":"https://github.com/suzannesoy/debug-scopes","last_synced_at":"2026-02-15T15:43:30.557Z","repository":{"id":62424076,"uuid":"76487616","full_name":"SuzanneSoy/debug-scopes","owner":"SuzanneSoy","description":"Helper utilities to debug scope-related problems in Racket","archived":false,"fork":false,"pushed_at":"2021-05-11T00:47:21.000Z","size":32,"stargazers_count":3,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-30T11:42:19.082Z","etag":null,"topics":["racket-library"],"latest_commit_sha":null,"homepage":"","language":"Racket","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuzanneSoy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-more.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-14T18:50:14.000Z","updated_at":"2024-09-11T20:57:13.000Z","dependencies_parsed_at":"2022-11-01T18:01:11.678Z","dependency_job_id":null,"html_url":"https://github.com/SuzanneSoy/debug-scopes","commit_stats":null,"previous_names":["jsmaniac/debug-scopes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuzanneSoy%2Fdebug-scopes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuzanneSoy%2Fdebug-scopes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuzanneSoy%2Fdebug-scopes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuzanneSoy%2Fdebug-scopes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuzanneSoy","download_url":"https://codeload.github.com/SuzanneSoy/debug-scopes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245467129,"owners_count":20620209,"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":["racket-library"],"created_at":"2024-10-15T03:03:33.222Z","updated_at":"2025-10-03T14:52:36.212Z","avatar_url":"https://github.com/SuzanneSoy.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status,](https://img.shields.io/travis/jsmaniac/debug-scopes/main.svg)](https://travis-ci.org/jsmaniac/debug-scopes)\n[![Coverage Status,](https://img.shields.io/codecov/c/github/jsmaniac/debug-scopes/main.svg)](https://codecov.io/gh/jsmaniac/debug-scopes)\n[![Build Stats,](https://img.shields.io/badge/build-stats-blue.svg)](http://jsmaniac.github.io/travis-stats/#jsmaniac/debug-scopes)\n[![Online Documentation,](https://img.shields.io/badge/docs-online-blue.svg)](http://docs.racket-lang.org/debug-scopes/)\n[![Maintained as of 2021,](https://img.shields.io/maintenance/yes/2021.svg)](https://github.com/jsmaniac/debug-scopes/issues)\n[![License: CC0 v1.0.](https://img.shields.io/badge/license-CC0-blue.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n\ndebug-scopes\n============\n\nSome utilities which help debugging scope-related issues with Racket\nunhygienic macros (hygienic macros in Racket will likely not need these\nutilities).\n\nFirst, run:\n\n    raco pkg install debug-scopes\n\nThen, require one or several of the following modules:\n\n    (require debug-scopes)\n\n* `(+scopes stx)` returns a string with a succinct representation of which\n  scopes are present on each identifier.\n* `(print-full-scopes)` prints the long version of the scope information for\n  the scopes used in preceeding calls to `+scopes`.\n\n```racket\n(require debug-scopes/named-scopes)\n```\n\n* (make-named-scope string-or-symbol) creates a scope similarly to\n  `make-syntax-introducer`, but annotates it with a name. This is a hack which\n  creates a module with that name, and extracts the module scope (since these\n  scopes have names attached to them in Racket). As a result, with the current\n  implementation, this returns a module scope instead of a macro scope like\n  `make-syntax-introducer`.\n\n```racket\n(require debug-scopes/named-scopes/override)\n```\n\n* Overrides `define-syntax` and `syntax-local-introduce`. The overridden\n  `syntax-local-introduce` works with the overridden `define-syntax` to flip a\n  named scope instead of the usual macro scope. The use-site scope which may\n  be flipped by `syntax-local-introduce` is left unchanged.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuzannesoy%2Fdebug-scopes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuzannesoy%2Fdebug-scopes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuzannesoy%2Fdebug-scopes/lists"}