150 lines
4.3 KiB
Plaintext
150 lines
4.3 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-11T17:59:53.327975+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:01:42.598848+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "bUpMu4+dDQC/fPzrA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "Theoretically, you can use any technology that supports HTTP, JSON, and possibly MessagePack to construct a LanguageLink server, and you might be tempted to just do it in the language you are targetting, especially since it is quite likely that you are comfortable in it."
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:01:44.277599+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-12T12:51:15.652112+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "Yzt86I+dDQC/lywBA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "I too was tempted to go down that route before realizing that that would mean understanding and implementing the LanguageLink protocol, a task I wasn’t particularly interested in. Instead, the Carp LanguageLink server uses the one provided by PythonBridge (which can be found [in the PythonBridge repository](https://github.com/feenkcom/PythonBridge/tree/master/PythonBridgeRuntime)). It includes all the infrastructure needed, and the only thing that likely needs to be changed is how `EvalCommand`s are handled: in the case of Carp, a simple subprocess handler that feeds the statements into a Carp REPL and reads the result. You can inspect the custom code I wrote [in the gt4carp repository TODO: good link](https://git.veitheller.de/carpentry/gt4carp)."
|
||
},
|
||
{
|
||
"__type" : "textSnippet",
|
||
"children" : {
|
||
"__type" : "snippets",
|
||
"items" : [ ]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:06:15.752492+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T18:07:40.565555+02:00"
|
||
}
|
||
},
|
||
"uid" : {
|
||
"__type" : "uid",
|
||
"uidString" : "tJmV+I+dDQC/nrmHA8ExpA=="
|
||
},
|
||
"paragraphStyle" : {
|
||
"__type" : "textStyle"
|
||
},
|
||
"string" : "While I understand that this is a rather terse “figure it out yourself”, I don’t know the ins and outs of the LanguageLink protocol well enough to assist you any more—precisely because I took the effort of side-stepping the issue entirely. Hopefully you can too!"
|
||
}
|
||
]
|
||
},
|
||
"createEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"createTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T17:49:05.418793+02:00"
|
||
}
|
||
},
|
||
"editEmail" : {
|
||
"__type" : "email",
|
||
"emailString" : "<unknown>"
|
||
},
|
||
"editTime" : {
|
||
"__type" : "time",
|
||
"time" : {
|
||
"__type" : "dateAndTime",
|
||
"dateAndTimeString" : "2022-06-11T17:49:05.418793+02:00"
|
||
}
|
||
},
|
||
"pageType" : {
|
||
"__type" : "namedPage",
|
||
"title" : "Building a LanguageLink server"
|
||
},
|
||
"uid" : {
|
||
"__type" : "uuid",
|
||
"uuid" : "e4a14bbb-8f9d-0d00-bf7b-383c03c131a4"
|
||
}
|
||
} |