{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,5]],"date-time":"2026-10-05T03:46:37Z","timestamp":1791171997847,"version":"4.1.0"},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"2","license":[{"start":{"date-parts":[[2002,3,22]],"date-time":"2002-03-22T00:00:00Z","timestamp":1016755200000},"content-version":"unspecified","delay-in-days":21,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2002,3]]},"abstract":"<jats:p>DrScheme is a programming environment for Scheme. It fully integrates a graphics-enriched \neditor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an \nalgebraic printer. The environment is especially useful for students, because it has a tower \nof syntactically restricted variants of Scheme that are designed to catch typical student \nmistakes and explain them in terms the students understand. The environment is also useful \nfor professional programmers, due to its sophisticated programming tools, such as the static \ndebugger, and its advanced language features, such as units and mixins. Beyond the ordinary \nprogramming environment tools, DrScheme provides an algebraic stepper, a context-sensitive \nsyntax checker, and a static debugger. The stepper reduces Scheme programs to values, \naccording to the reduction semantics of Scheme. It is useful for explaining the semantics \nof linguistic facilities and for studying the behavior of small programs. The syntax checker \nannotates programs with font and color changes based on the syntactic structure of the \nprogram. On demand, it draws arrows that point from bound to binding occurrences of \nidentifiers. It also supports \u03b1-renaming. Finally, the static debugger provides a type inference \nsystem that explains specific inferences in terms of a value-flow graph, selectively overlaid on \nthe program text.<\/jats:p>","DOI":"10.1017\/s0956796801004208","type":"journal-article","created":{"date-parts":[[2008,8,8]],"date-time":"2008-08-08T10:02:50Z","timestamp":1218189770000},"page":"159-182","source":"Crossref","is-referenced-by-count":180,"title":["DrScheme: a programming environment for Scheme"],"prefix":"10.1017","volume":"12","author":[{"given":"ROBERT BRUCE","family":"FINDLER","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"JOHN","family":"CLEMENTS","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"CORMAC","family":"FLANAGAN","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"MATTHEW","family":"FLATT","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"SHRIRAM","family":"KRISHNAMURTHI","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"PAUL","family":"STECKLER","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"MATTHIAS","family":"FELLEISEN","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2002,3,22]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796801004208","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:34:56Z","timestamp":1779834896000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796801004208\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2002,3]]},"references-count":0,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2002,1]]}},"alternative-id":["S0956796801004208"],"URL":"https:\/\/doi.org\/10.1017\/s0956796801004208","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2002,3]]}}}