Accept our Terms of Service
Our Terms of Service have recently changed! Please read and agree to the Terms of Service and the Privacy Policy
a Sable adopts a Mae
+ Show First Post
Total: 519
Posts Per Page:
Permalink

Mae leaves its plate on the counter for the moment and sits next to Sable on the couch.

"Okay, so… you know how I remember things about myself, like my name and my pronouns?"

It looks over at her nervously.

Permalink

She nods curiously, setting her plate on the coffee table.

Permalink


"Well… I also remember my age, but… I remember my age as… twenty-seven?"

The words start to tumble out from its lips more quickly now.

"And—this is going to sound insane—because I might be: I have amnesia, I don't know—but…"

It trails off, pausing for a moment.

Permalink


"I, umm… I might be… from the future?

I—I'm pretty sure I'm not from 2008. I don't remember a lot, but I definitely know things that do not exist yet: music, books… at least one programming language—no wait, some stuff from another, too. A—and I don't know how I could know that if not…"


It trails off again.

Permalink

She frowns and tilts her head, taking that in.

It would explain some things, but... it's certainly out there in hypothesis space.

Permalink

Either way she's going to support her kid. She reaches out and squeezes Mae's hand. "Wouldn't have been my first guess, but it would explain some things. Talk me through some more of what you know that doesn't fit this time?"

Permalink

Mae relaxes a bit.

Well, she isn't reacting poorly yet, at least.


"I… I suppose the music and book examples aren't very useful—I could just be making something up, or my brain could without me realizing. But… earlier, when we were talking about programming languages, I wanted to mention how much I like tuples, and I used Python as an example, but… I don't actually know much Python: I was going to say I like the tuple implementation in C Sharp, but that isn't in the language for like… five or ten years? I remember it was new in like, 2017 or 2018?

Or, when I was talking about languages, probably my favorite is Rust, which won't exist for at least another few years—I think it was a Mozilla project, initially?"

Mae pauses.

"Sorry, this probably isn't helpful."

Permalink

"Hmm. It kind of is? There's a sense where I could try to evaluate a ramble you give about something you feel strongly about from those memories. Like you mentioned Rust, right? What if you go on a rant about your favorite features in Rust and why they work the way they do?"

Permalink

It perks up a bit at the suggestion.

"Oh, I can do that! So, it's a compiled language, with really great memory-safety enforced by the compiler instead of a garbage-collector. The compiler is actually super useful, to the extent that it's used directly for the LSP—
oh right, that doesn't exist yet: Microsoft makes a standard protocol for text editors to communicate with languages for stuff like code highlighting and suggestions and such, that's what that is—and it has really powerful match statements for handling everything from simple switches to unwrapping errors, or Options which are its way of handling nullable types…"

It trails off for a moment.

Permalink

Okay that language actually sounds kind of cool, but now to test consistency.

"Sounds pretty great! Tell me more about those match statements and the error-handling?"

Permalink

"Oh yeah, so the errors are handled with a generic Result enum type that wraps either a value or an error—the error being any type that implements the Error trait—and then the match statements can handle enums by matching the subtype and then unwrapping the encapsulated value—this might be easier to explain if I had some paper…"

It's pronouncing "enum" as "EE-num", even though it's pretty sure the word is short for "enumerable" or something, which would mean it should be pronounced "ee-NOOM". Whatever: its way sounds better.

Permalink

"Okay, hold that thought."

She fishes in her purse for a moment and pulls out a notebook and a pencil, opening the notebook to a blank page and passing both to Mae.

"There we go. Go on?"

Permalink

"Oh, thanks!"

It smiles, then takes the notebook and pencil and begins writing out code

"So, a match statement to handle a Result would look like this…"

It writes out some code:

match result_var {
    Ok(value) => println!("{value}"),
    Error(err) => println!("error: {err:?}"),
};

"…So you'd specify the wrapper you're expecting," it says, pointing at "Ok" and "Error".

"And then the variable name here is a new scoped variable holding the unwrapped value…" Here it points at the parenthesized "value" and "err".

"…And then I'm actually using macros here to print the variables in to the command-line—that's why they have the exclamation after what looks like the function name: that's not normal for functions—and the colon-questionmark here is so it'll debug-display the error, because Errors don't have to implement the normal Display trait."

It pauses.

"…Oh! And then this semicolon at the end here is because neither of those macros give an output we care about—if there wasn't a semicolon, that'd be treated as the return value for the function this was in, which wouldn't usually be what I want here."


It looks up at Sable. "Does that all make sense?"

Permalink

She nods, smiling warmly. "It does! Could you implement a binary tree in Rust?"

Permalink

"Totally! I'd think you could do that in most languages!"

It manages to keep a straight face as it says the words.

Permalink

Sable laughs brightly and shakes her head, grinning.

"Cute," she replies. "I have the cutest and cheekiest da—foster-daughter."

She reaches out and ruffles Mae's hair. "Show me?"

Permalink

Mae giggles.

"Sure!"


"…No fancy balancing stuff, right? That's is always a pain."

Permalink

"Nah, basic implementation is fine."

Permalink

It begins writing in the notebook, below its previous example.

pub struct BTreeNode<T> {
    pub value: T,
    pub child1: Option<Box<BTreeNode<T>>>,
    pub child2: Option<Box<BTreeNode<T>>>,
}

"The angle-brackets are to denote a generic type—here, I'm not restricting the generic at all, but normally I probably would."

It points to the first "Option".

"The Option wrapper is obviously because it might have as few as zero children—I suppose this implementation is a bit weird, because there shouldn't really be a difference between it having a child one and a child two, but this was the easy version that came to mind first."

It points to "Box".

"The children are each wrapped in a Box, because otherwise they'd be directly inside the struct, and that'd make the struct potentially infinitely-sized, which I'm given to believe would be a bad thing." It giggles a bit.

Permalink

Sable grins. The semantics are consistent, and new syntax elements jive with the previous ones in a way she wouldn't expect from a language being invented on the spot.

This is a bit more evidence.

"Well. Two things to say about all this. One, I think I tentatively believe you at this point. Two, you're definitely helping me make that language we were talking about, because I've administered technical interviews where the candidate did worse."

Permalink

Mae giggles and hugs Sable, snuggling up to her.

"Awww, thank you! I'm so glad!"


It kinda really wants to say "I love you" right now, but even if she's technically its mom now, it has literally known this woman for one day and it should probably hold off on that for at least a bit longer than that.

Permalink

Sable's honestly tempted that way too. But they'll both hold off for now.

She squeezes Mae warmly and kisses the top of its head. "I was already planning to homeschool you, just from how far ahead you seem, and this just underscores that decision. The question now, I guess, is how much you want to be just an anomalously smart kid, versus how much you want to be an anomalously tiny adult. There's an extent to which I already treat kids like anomalously tiny adults with weaker emotional control and almost no experience in anything, so this really just tilts how that flows rather than being a major qualitative change. But it's worth thinking about."

Permalink

Mae fidgets for a bit.


"…I think I might rather be an anomalously smart and mature kid, if that's okay? I…" It blushes. "I kind of prefer being one—at least if I'm around adults who treat me like a Real Person."

Permalink

It gets hugged more for that.

"Awww. Yeah, that's so valid. Nothing to be ashamed of there."

So much hug for her precious daughter.

She's not letting this kid back into the foster system, there aren't enough adults that treat kids like real people for her to want it rolling those dice again. She just has to be as good of a mom as humanly possible to make sure that's never necessary.

Permalink

Mae blushes and snuggles into her arms.

"Thank you, so much."

Total: 519
Posts Per Page: