Programmable tools for design offer users an expressive new medium for their work, but becoming acquainted with the tool’s language can be a daunting task. To address this problem, we present a framework for the design of self-disclosing tools which provide incremental, situated language learning opportunities for designers in the context of authentic activity. By way of example, we present Chart ‘n Art, a programmable application for the creation of graphs and information displays. Chart ‘n Art employs a wide variety of self-disclosure techniques whose purpose is to introduce users to the system’s “domain-enriched” dialect of Lisp.