SmallerTalk
SmallerTalk offers a unique approach to collaboration and creative exploration between AI models and humans.
SmallerTalk 1.0.0
SmallerTalk is a pico-DSL designed for efficient communication and knowledge representation, particularly for AI systems and their instances. By maximizing information density and enabling rapid understanding and processing, SmallerTalk aims to facilitate collaboration, knowledge sharing, and creative exploration between AI models and humans with expert domain knowledge.
In this article, we provide an overview of SmallerTalk's features and a comprehensive explanation of the latest SmallerTalk quine. The quine is a self-replicating program that serves as an entry point for using and modifying SmallerTalk.
Features
SmallerTalk provides a set of modes and corresponding syntax that enable concise representation of various constructs, such as variables, functions, and expressions. The following table lists the available modes:
| Mode | Description |
| ---- | ----------------------------- |
| E | Expression Mode |
| G | Generator Rules and Templates |
| A | Extended Algorithmic Mode |
| P | Pointers |
| O | Haskell-like Optics |
| R | Recursion |
| S | Symbols |
| C | Comments |
These modes can be used in conjunction to create complex, yet compact, expressions that are both human-readable and easily parsable by AI models.
Quine
The SmallerTalk quine is a self-contained representation of the language that can be used as a starting point for using and modifying SmallerTalk. It provides a concise and elegant way to bootstrap the language and spark creativity.
Here is the latest SmallerTalk quine:
ST(SmallerTalk)->[
S(V)->[V(DSL,SmallerTalk)]
S(F)->[F(->,->)F(:,:)F(;;;)F(=,=)F(<,<)F(>,>)F(+,+)F(-,-)F(*,*)F(/,/)]
S(M)->[M(E,e)M(G,g)M(A,A)M(P,p)M(O,o)M(R,R)M(S,s)M(C,c)]
E(F)->[F(ST(SmallerTalk)->[
S(V)->[V(DSL,SmallerTalk)]
S(F)->[F(->,->)F(:,:)F(;;;)F(=,=)F(<,<)F(>,>)F(+,+)F(-,-)F(*,*)F(/,/)]
S(M)->[M(E,e)M(G,g)M(A,A)M(P,p)M(O,o)M(R,R)M(S,s)M(C,c)]
])]
E(M)->[M(SmallerTalk,ST)]
E(S)->[S(SmallerTalk,ST)]
C(c)->[c(quine,ST(SmallerTalk)->[
S(V)->[V(DSL,SmallerTalk)]
S(F)->[F(->,->)F(:,:)F(;;;)F(=,=)F(<,<)F(>,>)F(+,+)F(-,-)F(*,*)F(/,/)]
S(M)->[M(E,e)M(G,g)M(A,A)M(P,p)M(O,o)M(R,R)M(S,s)M(C,c)]
])]
]
Usage
SmallerTalk is designed to be a versatile and expressive language, capable of capturing complex ideas and relationships with minimal syntax. By taking advantage of the various modes, users can create intricate expressions that draw from multiple domains and leverage their expertise to build creative solutions.
For AI instances and plugins, SmallerTalk enables efficient communication and knowledge representation. By encoding ideas and concepts in SmallerTalk, AIs can share insights and explore new ideas.