Drasil icon indicating copy to clipboard operation
Drasil copied to clipboard

`nc` / `mkIdea` conundrum

Open JacquesCarette opened this issue 1 year ago • 3 comments

So I was about to file an issue, based on the work at Attributes and Chunks that went along the lines of "remove all mkIdea calls that use Nothing for the third argument". Because, basically, all those things are 'morally' NamedChunk, so why put them in an IdeaDict ?

This has been visited before, in How should we handle abbreviations and When to use Maybe

In this particular case, what it boils down to is: is there a true ontological difference between what we call NamedChunk (which is a bad name since it is assumed to have a term) and an IdeaDict which accepts the idea that some things may have an abbreviation? That seems kind of silly, doesn't it?

So I'm actually thinking the exact opposite now: merge NamedChunk and IdeaDict (leaving just IdeaDict). And yes, this goes in the opposite direction of what I was saying before, of trying to get rid of uses of Maybe !!!

Why the change of mind? In this particular case, I think that 'abbreviation' really is, and should be, an optional 'decoration' on something. But here's a way to change my mind again: are there situations where having an abbreviation would be manditory? I can't think of one, but that's far from proof. Interestingly, Googling for "must have an abbreviation" (i.e. this search has 20 hits, one of which is to Drasil!! So there are things out there that 'must have an abbreviation'. Ah, but we're not talking about concepts to be modeled by Drasil, but rather the meta-model. There would have to be a whole category of things that must have abbreviations, with that category being important enough to be internalized in Drasil, i.e. all the way down to Haskell code. And that, there isn't.

Upshot: there is no conceptual gain in keeping these separate. And there is no conceptual gain in having 'abbreviation' ever be manditory.

So this issue now says the opposite of what I started with:

  1. merge NamedChunk and IdeaDict (call it Idea)
  2. have the abbreviation remain optional, aka a Maybe.

JacquesCarette avatar Mar 22 '23 19:03 JacquesCarette

Is this really a design issue, since it has some pretty concrete steps, or would it be more of a newcomers issue to hopefully help us along our chunk journey?

samm82 avatar May 13 '24 21:05 samm82

@JacquesCarette I think this is labelled design because it is part of the bigger conversation on what to do with the naming of our chunks. We should only follow through with this issue if it moves us forward on fixing the design of our attributes and chunks. Given the evolution of our thinking on this, I'm not sure @JacquesCarette feels the same way as he did when he created this issue over a year ago.

smiths avatar May 14 '24 15:05 smiths

Indeed things have further evolved. So I think this might even have already been done, and the new thing is Concept (though it might not have been fully implemented).

What's implicit in the above is that we need to split DrasilConcept out from Concept, i.e. those concepts that we use for ourselves can have much higher requirements, such as making the abbreviation manditory.

JacquesCarette avatar May 16 '24 22:05 JacquesCarette