The InTalk system consists of a set of libraries that let you embbed a script language inside an application developped in a compiled language, such as (in fact, specifically) C.
InTalk provides :
The InTalk system provides two main languages : GLisp and CTalk. GLisp is very close to Scheme, and in particular uses a parenthesed prefix syntax. CTalk uses a syntax close to C, although its semantics is close to Lisp. CTalk is actually a front-end to GLisp. A CTalk expression is first analysed using Lex and Yacc, and translated to GLisp. The GLisp expression is then compiled into a threaded code. Although the process looks complex, it is also very efficient, and CTalk performs better than most other interpreted script languages (see "comparison").
The same source code is used to provide GLisp and CTalk, although the resulting languages differ in some significant points (apart the syntax). For example, #f is the only false value in GLisp, while #f, (), 0 and 0.0 all count as false in CTalk (to conform to the C usage, () being considered as a kind of NULL pointer).
InTalk Foils
A Short Introduction to CTalk (text, english)
The CTalk reference manual (in french, 2003 version)
Examples of CTalk Programs
ctalk (Sun OS 4.1.3 executable, .gz, 259334 bytes, 2feb96)
ctalk (Sun Solaris 2.3 executable, .Z, 510405 bytes, 15dec95)
ctalk (MacOS 7.1 executable, .sea.hqx, 296919 bytes, 2feb96)
GScheme Ref. Manual (french, .ps.gz, 176079 bytes)
Examples of Scheme Programs
gscheme (Sun OS 4.1.3 executable, .gz, 236453 bytes, 2feb96)
gscheme (Sun OS 4.1.3 executable, .Z, 322423 bytes, 2feb96)
gscheme (MacOS 7.1 executable, .sea.hqx, 253963 bytes, 2feb96)
Comparing InTalk with other Scripting languages (text, english)
Notes about Embedding InTalk (text, english)
intalk-1.0.11.tar.Z, la distribution source
complète (1996)
intalk-1.0.15.tar.gz, la distribution source
complète (2003)