Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
<h1> Introduction To The ::SHE+ILA:: System </h1>
::SHE+ILA:: currently has three main configurations :
[1] A MS-Windows Emulator, providing most of the chief functionality of the full ::SHE+ILA:: system, which runs as an executable file (SHEILA.EXE) on hopefully any version of MS-WINDOWS from NT (1999) to W10 (2016). Not yet tested on W11.
[2] A Native (Bootable) version, which runs on any BIOS-based PC, Pentium or above, either as a partition on a multi-boot HDD, or on a dedicated HDD or SSD
[3] A dedicated mini-computer implemented with a single four-bit ALU (e.g. 74LS181) and microsequencer (writable control store + state register).
Apple ][ and Atari 800XL versions may also be available.
<h2> What Is ::SHE+ILA:: ? </h2> ::SHE+ILA:: stands for "Segmented Hierarchical Environment" (the datastore) + "Interactive Language Architecture" (the datapath). It is a special-purpose experimental operating system and programming language, with object-oriented and document-oriented (as opposed to app-oriented) principles. It evolved from a machine-independent development system used during the building of a popular Apple ][ based kitchen design system (KDS 5000) and a multi-user adventure game (Wanderland), both originating in the 1980's. ::SHE+ILA:: has been ongoingly developed as a personal research project, and is neither based on MS-WINDOWS, Apple Computer MAC, nor LINUX, One of its main advantages is its lack of normal files and the need of serialisation and persistence (load/save), instead all instances of system objects and state are continuously checkpointed in "Segments" in a real-time virtual address space. Files can still be "imported/Exported" by the user as "Exofiles" (externally-supplied user files), such as .JPG images, .MP3 music, or spelling dictionaries, using a host operating system's built-in file system (such as F11ACP or NTFS).
Here is an example ::SHE+ILA:: program, which prints "Hello World" three times :
MAIN <:: { ( hello="Hello", world="World", loops=3); {* loops-- .ge.1 : ttyout (hello, " ", world, CRLF); *}};
The {* : *} construct is like a C++ while loop, and the (name=value, foo=bar) construct declares a local struct which initialises local variables.
Hey, sweet thing, if you got so far and enjoyed this techie stuff, there's more available using the "#sheila" tag :) Lol :)