### Significant Whitespace In Expressions

January 8th, 2011
Order of operations can conflict with what an expression looks like it should mean. For example, the expression `a * b+c` looks like it means `a*(b+c)` but technically (and in most computer languages) means `(a*b)+c`. This seems analagous to the reasoning behind python using indentation instead of braces. The C code:
```  if (x)
if (y)
z();
else
w();
```
looks like it should mean
```  if (x) {
if (y) {
z();
}
}
else {
w();
}
```
but actually means
```  if (x) {
if (y) {
z();
}
else {
w();
}
}
```
Python deals with this by treating the whitespace as significant, so:
```  if x:
if y:
z()
else:
w()
```
and
```  if x:
if y:
z()
else:
w()
```
both mean what they look like they should mean.

Some examples of how I would propose we do things instead:

```  write                 to mean
-----                 -------
a+b                   a+b
a + b*c               a+(b*c)
a * b+c               a*(b+c)
a+b * c+d             (a+b)*(c+d)
a+b - c+d             (a+b)-(c+d)
a+b  *  c+d - e+f     (a+b) * ((c+d) - (e+f))
a  *  c + d + e       a*(c+d+e)
a + b                 a+b, maybe yields warning
a-b+c                 error
a*b+c                 error
```
Algorithm:
```for each number of spaces 0 on up:
group any terms with that number of internal
```

### Recent posts on blogs I like:

#### A discussion of discussions on AI bias

There've been regular viral stories about ML/AI bias with LLMs and generative AI for the past couple years. One thing I find interesting about discussions of bias is how different the reaction is in the LLM and generative AI case when compared to "…

via Posts on June 16, 2024

#### Weird People of History: Catherine of Siena

Mentally ill people have always existed!

via Thing of Things June 14, 2024

#### Conversations I often have about parenting

Topics that come up a lot The post Conversations I often have about parenting appeared first on Otherwise.

via Otherwise June 4, 2024