Induction: processes of inference, learning, and discovery
Induction: processes of inference, learning, and discovery
Probabilistic predicate transformers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Causality: models, reasoning, and inference
Causality: models, reasoning, and inference
Stochastic lambda calculus and monads of probability distributions
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algorithm Animation - Introduction
Revised Lectures on Software Visualization, International Seminar
Estimating the Numbers of End Users and End User Programmers
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
FUNCTIONAL PEARLS: Probabilistic functional programming in Haskell
Journal of Functional Programming
Narrative algorithm visualization
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Taxonomy of algorithm animation languages
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
GoalDebug: A Spreadsheet Debugger for End Users
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
A visual language for representing and explaining strategies in game theory
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
A visual language for explaining probabilistic reasoning
Journal of Visual Languages and Computing
Hi-index | 0.00 |
We propose a new focus in language design where languages provide constructs that not only describe the computation of results, but also produce explanations of how and why those results were obtained. We posit that if users are to understand computations produced by a language, that language should provide explanations to the user. As an example of such an explanation-oriented language we present a domain-specific language for explaining probabilistic reasoning, a domain that is not well understood by non-experts. We show the design of the DSL in several steps. Based on a story-telling metaphor of explanations, we identify generic constructs for building stories out of events, and obtaining explanations by applying stories to specific examples. These generic constructs are then adapted to the particular explanation domain of probabilistic reasoning. Finally, we develop a visual notation for explaining probabilistic reasoning.