From the D Blog: Crafting Self-Evident Code in D

bachmeier no at spam.net
Sat Oct 28 20:54:06 UTC 2023


On Monday, 2 October 2023 at 17:28:19 UTC, Mike Parker wrote:
> It's been a long, long while since I published anything on the 
> blog. I do intend to get pick it up again down the road, but 
> Walter recently surprised me with plans of his own. He's taken 
> the topic of his DConf '23 talk and derived a blog post from it:
>
> https://dlang.org/blog/2023/10/02/crafting-self-evident-code-with-d/
>
> I guess he got impatient with the pace at which I'm getting the 
> talk videos uploaded :-)
>
> And for anyone who'd like to engage in any Reddit discussion 
> that comes up:
>
> https://www.reddit.com/r/programming/comments/16y2h36/crafting_selfevident_code_in_dlang/

I wonder if Walter has an opinion on this. In a .c file:

```
void *(STDVEC_DATAPTR)(SEXP x) {
     if (ALTREP(x))
	error("cannot get STDVEC_DATAPTR from ALTREP object");
     if (! isVector(x) && TYPEOF(x) != WEAKREFSXP)
	error("STDVEC_DATAPTR can only be applied to a vector, not a 
'%s'",
	      type2char(TYPEOF(x)));
     CHKZLN(x);
     return STDVEC_DATAPTR(x);
}
```

`CHKZLN(x)` only does some checks. It doesn't have any side 
effects. After scratching my head for a bit, I used grep to 
locate this in a .h file:

```
#define STDVEC_DATAPTR(x) ((void *) (((SEXPREC_ALIGN *) (x)) + 1))
```

And of course, there were no comments to explain what is going 
on. Very self-evident.


More information about the Digitalmars-d-announce mailing list