jducoeur: (querki)
[personal profile] jducoeur
Today's project is starting to implement Multiple Choice. (AKA enumerations.) The concept has existed for a long time, but it's a manual PITA to create a multiple-choice Property, and I'm tired of it, so I'm turning it into a proper Type. That's complicated, but so far well in hand.

But as part of it, I've been staring at all these places that are using the Link Type, which is the underlying basis of Multiple Choice. Link is *the* most important Type in Querki -- it's a reference to a specific Thing, basically the equivalent of a "pointer" in most programming languages. (Multiple Choice is implemented as a Link Property to a particular Model, whose Instances are the options to choose from. That's very powerful when you need the power, but like I said, a pain in the tuchus to build one; time for a proper wizard that hides the details of what's going on for the common cases.)

Anyway, I am suddenly realizing that "Link" is also a terrible name. Specifically, while it is *technically* quite accurate, that accuracy is mostly irrelevant: the pointer gets auto-dereferenced in almost all circumstances, so the fact that it *is* a pointer is rarely useful to the end user. Mostly, it's taking brain space for no good purpose -- as far as the user is concerned, it's just a Thing. So I should probably change the name of the Type.

I can't just call it "Thing" -- that's already the base Model for the entire Querki universe, and is quite central -- but I'm tempted to use "Something". That's vague, but that's kind of the point: when you're referring to a value of type Something, it can literally be any non-primitive value in Querki. (Including Properties, Types, People and so on.) In practice, you can restrict the Model that a given Property can point to, and we'll eventually enhance the functions to preserve this typing in the code -- basically implicit generics -- but conceptually, it's just "Something".

The vagueness kinda bothers me, but I don't have a better idea yet, and it seems to relate in an appropriate way to the concept of "Thing" -- a value of type "Something" contains one or more Things. Opinions?

(no subject)

Date: 2015-12-14 09:45 pm (UTC)
From: [identity profile] goldsquare.livejournal.com
Magic. "The True Name Of The Thing". :-)

More intelligently, it is really an s-link. Would it help or confuse to call it an sThing?
Edited Date: 2015-12-14 09:46 pm (UTC)

(no subject)

Date: 2015-12-14 09:48 pm (UTC)
mneme: (Default)
From: [personal profile] mneme
Proxy?

I have to admit that Something beats Void *.

(no subject)

Date: 2015-12-15 05:04 am (UTC)
mneme: (Default)
From: [personal profile] mneme
Can you change what thing is being referred to?

Functionally, a Reference that you can use as if it's the referent is a Proxy; it's a reference, yes, but as long as you don't treat it as such it "looks" like the referent.

Although actually, I think taking a page from C here (ish) is actually a strong plan.

What you have is a Thing (which Thing, well, that can change, but it has to be a Thing, right? Because everything). But it can vary which Thing.

So it's Some Thing. If instead it was a reference to any Person (including subclasses) it would be Some Person.

Ok, maybe not, but...

(no subject)

Date: 2015-12-15 03:34 am (UTC)
mindways: (Default)
From: [personal profile] mindways
Can you not rename Thing to BaseThing, CoreThing, RootThing, or something similar? It seems like on a day-to-day level, most users are apt to be dealing with Links rather more often than dealing with the base Model for the Querki universe. Using the simpler nomenclature (a limited resource) for the more commonly-interacted-with concept seems to make sense.

(It would require *you* to do a good deal of mental rewiring, of course.)

(no subject)

Date: 2015-12-16 11:50 am (UTC)
From: [identity profile] hudebnik.livejournal.com
I was leaning sorta the same way. If ordinary users use what's-now-called-Link more often than what's-now-called-Thing, the former should have a more-common word as its name. Perhaps Thing and Object respectively; the latter sounds a bit more technical, and will ring the bells of programmers, as it should.

(no subject)

Date: 2015-12-16 03:57 am (UTC)
ext_104661: (Default)
From: [identity profile] alexx-kay.livejournal.com
"something" is so vague as to be nigh-useless, IMAO.

I note that, although it has a jargon meaning, "pointer" is a perfectly cromulent English word. (quick google...) It appears to be the 992nd most common word, which I think is a good sort of frequency for the job.

(no subject)

Date: 2015-12-16 05:12 pm (UTC)
laurion: (Default)
From: [personal profile] laurion
"Target", "Source" ? Wrong connotations?

Profile

jducoeur: (Default)
jducoeur

July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27 28293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags