On 9 December 2017 at 07:04, cheshirecatalyst <dekathexis@gmail.com> wrote:
I've recently picked up pharo, and am writing a small interpreter for a trivial language the details of which are unimportant. However I am looking for the simplest way to avoid having to use playground and Transcript to do something like
| reader eval | reader := MyReader from: 'some stuff in my DSL'. eval := MyEvaluator from: reader. Transcript show: eval evaluate.
I'm tired of having to change 'some stuff in my DSL' to a new expression and run it in playground.
I don't really care which is easier, a Morphic with an input box at the bottom to put my expressions in with output up top, or a something like CommandShellTranscript (which i have looked at but is too complex for me to figure out how to get the desired result from).
Basically I want to be able to use my DSL outside of playground, but still in image.
A while ago I had success embedding the old Workspace into an application. Start with... Workspace subclass: #MyWorkspace instanceVariableNames: '' classVariableNames: '' package: 'Tool-Workspace' MyWorkspace >> whenTextAccepted: anAnnouncement "MyWorkspace open" self inform: anAnnouncement text MyWorkspace >> createTextView | v | v := super createTextView. v beForPlainText. ^v. cheers -ben