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-" | | ^< | ^--------------------------------<