- Move to a Python process for the LanguageLink client [fixes #1, presumably] - Finish a first rough draft of the booklet [fixes #4]
295 lines
7.1 KiB
Plaintext
295 lines
7.1 KiB
Plaintext
{
|
||
"__schema" : "4.1",
|
||
"__type" : "page",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:09:27.48233+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:09:42.790324+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "n0WyA5CdDQC/sEIUA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "Now that we have a LanguageLink server, we are all set, right? Well, not quite."
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:09:49.137549+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:10:53.048149+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "YxldBZCdDQC/s15wA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "Usually, a LanguageLink server is used within snippets as a driver for code execution. While you can use it yourself to execute some custom code and find some pleasure in that, we will first need an interface to type code *into* to make it truly worth our while."
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:10:55.085183+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:11:56.629038+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "ChpOCZCdDQC/tYwmA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "But I understand that after all of the effort of building a LanguageLink implementation for your target you’re itching to try it out, so I’ll give you a little teaser of how it’s going to be used in the snippet:"
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:11:58.378929+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:12:53.87069+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "BW4QDZCdDQC/tz6wA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "{{gtMethod:GtCarpCoderModel>>#bindAndExecute:|expanded}}"
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:13:00.938416+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:13:26.816542+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "LBHBEJCdDQC/9sJRA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "This means that a simple snippet to test your LanguageLink implementation might look like this:"
|
||
},
|
||
{
|
||
"__type" : "pharoSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:13:37.920717+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:18:32.957333+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "EjsQE5CdDQC/+NLCA8ExpA=="
|
||
},
|
||
"code" : "sourceString := '(IO.println \"Hello World!\")'.\t\"change this to your language\"\r\rapplication := CarpApplication uniqueInstance.\t\"change this to your application, might need to initialize the unique instance\"\rapplication isRunning ifFalse: [ application start ].\rcommandFactory := application newCommandFactory.\r\rcommandFactory\r\t<< sourceString;\r\tsendAndWait"
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:18:42.650713+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:18:48.915283+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "pPclJZCdDQCADqoCA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "And that should be all you need to get going!"
|
||
}
|
||
]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:09:20.062163+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:09:20.062163+02:00"
|
||
}
|
||
},
|
||
"pageType" : {
|
||
"__type" : "namedPage",
|
||
"title" : "What now?"
|
||
},
|
||
"uid" : {
|
||
"__type" : "uuid",
|
||
"uuid" : "9b9eb103-909d-0d00-bfaf-1b1203c131a4"
|
||
}
|
||
} |