bugSophia
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
bugSophia (bS for short) is a massively concurrent programming language. The language represents data as bytes being carried by bugs through a 2D field of paths. Each bug can carry only one byte. When a bug reaches an intersection it creates concurrently running copies of itself that travel down each possible path. Unary operations occur when bugs travel over commands. Binary (and higher-ary) operations occur when multiple bugs travel over commands at the same time.
The language uses FIFO "streams" to store and communicate large numbers of bytes. A stream is represented by a Unicode character. The ' . and , commands (write, wait-until-read, and read, respectively) operate on streams adjacent to them. The stan rune (ᛥ) in particular represents standard io.
Example programs
(Note: Parts of these examples are in Unicode, so they may vomit out little blocks (or question marks) if you don't have the right font.)
Hello, World!
"+-+-+-+-+-+-+-+-+-+-+-+-+ ` ` ` ` ` ` ` ` ` ` ` ` ` H e l l o , W o r l d ! ᛥ'<-<-<-<-<-<-<-<-<-<-<-<-<
Cat
"v-<
.ᛥ'
>-^
Truncated 99 bottles
">v
|<
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` |
b o t t l e s o f b e e r o n t h e w a l l . |
ᜀ'<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<-<
>-v
| | <---counter
ᜁ' (
^-<-c`-"
>-v
ᜀ. ?
^-+
| |
@ #ᛥ'
" ᜁ | |
>--.---~g------------------------|
| ~ main loop |
| +v-" |
| ^< |
^--------------------------------<