Alrighty then, it's time to get down to business! Let's crack open this documentation.
> DEXM programming language
>
> Welcome to the programming language of DEXMOS!
>
> If you need anymore information beyond what’s provided here you can visit this link: https://doc.rust-lang.org/book/ch01-02-hello-world.html
>
> DEXM programming language files will use the .dexm file extension.
>
> This is what most of the DEXMOS system is written in.
>
> To begin, let's write a simple “hello world” program.
>
> Make a new directory using the “mkdir” command to store your new project.
>
> Then move into that new directory and create a file like this:
>
> edit helloWorld.dexm
>
> Now that we are in the standard DEXMOS file editor, it's time to start writing some code.
>
> For now you can just put this into the file:
>
> fn main() {
>
> println!(“Hello World!”);
>
> }
>
> Next we can exit the file. Then use the following command:
>
> pman -r helloWorld.dexm
>
> This will run our program and you should see the following be output to your terminal:
>
> :~/examples$ pman -r helloWorld.dexm
>
> Hello World!
>
> Now let's dissect this program.
>
> Page 1 / ???
Wow, it's a full blown tutorial and some extra info. A little annoying that the link doesn’t work for me. The more I interact with DEXMOS the more it feels like it was made by a single crazy person… maybe that Dr. Atoz person? Eh, it doesn't really matter to me. I just need to figure out how to use this thing and get outta here.
After some time with the documentation I think I’m getting the gist of it all. It's pretty dang close to another programming language I know, Rust. I used to use it a lot for some of my older jobs. Had to use it for an embedded systems project, that project manager was a jerk. Heh, well jokes on him, I'M DEAD! … on second thought maybe the joke isn’t on him…
Either way, I still have an issue… It’s great that I now have Rust, or whatever it is, to program stuff, but I still can’t do anything meaningful with it. There wasn’t any documentation for some sort of magical API… this is starting to feel hopeless again. Hmmmm… well, the documentation did mention a “mkdir” command so maybe the help command has been updated?
> :~$ help
>
> docs
>
> edit [FILE]
>
> help [COMMAND]
>
> mkdir DIRECTORY …
>
> pman [-lrs] [PROGRAM]
>
> 'VYzYk:O9&vo%E&OEva,
>
> .dNDrAQ:iuYvs= > > IkI/2wFqbap~![&ggsZu-45 > > Wdnvtgug;LAnzY=LG > > ,4|S8=NSK8 > > Page 1 / YYN > > [q] exit, [j] next page, [k] prev page It has! Well, this terminal is a lot like Linux so I think I can guess what the “mkdir” command does. Hmmm, actually this brings up an interesting point if I… > :~$ mkdir testing > > Process finished > > :~$ ls > > testing/ > > :~$ cd testing > > :~/testing$ Yep, as I thought… both the “ls” and “cd” commands were not listed by the help command, but I could still use them. There might be more commands like that, I’ll need to remember this. I also bet that the help command has been updated to reflect the new commands. Now then, let's try out that hello world program… Ok, that didn’t take that long. I now, hopefully, have a working program. > :~/testing$ pman -r hello.dexm > > If you encounter this narrative on Amazon, note that it's taken without the author's consent. Report it. > > Hello World! > > :~/testing$ IT WORKED! Now then, let's go back to those docs to see if anything changed. > :~/testing$ docs > > Please wait, SAM is archiving available information > > (========-_) 83% Hmmm, this SAM person is archiving more info, that’s a good sign. > Welcome to the Docs by SAM ;P > > Navigate the menus using standard [HJKL] controls. Press [q] to quit. > > DEXM programming language < > > DEXMOS APIs > > The O(2B > > The SCS > > displaying 10 per page > > Page 1 / 1 Yep, there it is! DEXMOS APIs, here I come! > DEXMOS APIs > > The most important part of the DEXM operating system is its ability to interface with the SES and other relevant pieces of technology. > > Using the various built in APIs you will be able to access new hardware and (hopefully) make your way into the real world. > > SAM is rooting for you (^u^)b > > Currently there are 2 uncorrupted APIs available: DEXM and OS. > > DEXM handles hardware interfacing among other things > > OS handles DEXMOS processes and functions > > Currently only a small portion of the DEXM API is available due to memory faults. > > Page 1 / ??? Huh, this SAM person does seem to love text emojis. It also appears that, as I thought, there are a lot of issues with the memory in this hunk o’ junk. Hopefully I can fix that, or even better, not have to deal with it once I get out of here. Anyways, on to the next page. > DEXMOS APIs > > DEXM API: > > DEXM.limbs.get() -> returns an array of all available limbs > > DEXM.limb -> an object that represents a limb > > DEXM.senses.get() -> returns an array of all available sensory inputs > > DEXM.sense -> an object that represents a sensory input from a source > > DEXM.configure_sense( > > Attaches and configures a DEXM.sense to the current soul. > > AUTO_CONFIG will automatically configure the new sense to the current soul’s existing mind. > > EXTRA_NETWORK will create a new SOUL.mind and optimize it to bridge between the senses and the current soul’s actual mind, won’t work if the SOUL is write protected. > > Use EXTRA_NETWORK for a sense that the current soul does not natively have in their old body, or if the soul’s current stimuli capacity is or would be exceeded. > > DEXM.configure_limb( > > Page 2 / ??? Ummm… huh? You mean to say that I can… modularly… add and remove limbs… to my… body? Mind? What the heck is this? This is way too weird… if we had technology like this on earth, man alive, medicine would be crazy! And there would be shops everywh- Wait, what if I’m not on earth, I could be in space. Or somewhere else… … Do I want to keep going? Should I keep going? … Yeah, this empty void is starting to get to me. At least in space I’ll have stars to look at. If the documentation is anything to go by, it should be relatively easy to… configure my available limbs. That is a sentence I never thought I’d say. After some tip-tapping here is the finished program: > use dexmos::prelude::*; > > > > fn main() { > > OS.add_systems(Update, init_body); > > } > > > > fn init_body() { > > let limbs = DEXM.limbs.get(); > > let senses = DEXM.senses.get(); > > for limb in limbs { > > DEXM.configure_limb(limb, DEXM.AUTO_CONFIG); > > } > > for sense in senses { > > DEXM.configure_sense(sense, DEXM.AUTO_CONFIG); > > } > > } With that done, I guess… There's only one thing left to do. I hope this doesn’t hurt. > :~/importantStuff$ pman -r Body.dexm > > Added new process to OS.Update > > Limbs added > > Senses added > > Major soul modification detected, host soul please prepare. Wait what? Hold on, I'm not ready yet! And then without warning, everything disappeared, the void fading into nothing, and a horrible darkness set in.