# limit of function with dirac delta

Consider the following code:

```
sage.var(x)
f = (1-x) * sage.unit_step(x)
df = f.diff(x) -> -unit_step(x) + (1-x)*dirac_delta(x)
```

Trying to compute `df.limit(x=0, dir="right")`

, which should return `-1`

, but instead returns `limit(-unit_step(x) + (1-x)*dirac_delta(x), x, 0, plus)`

.

Even `df.limit(x=0.5)`

return `limit(-unit_step(x) + (1-x)*dirac_delta(x), x, 0.5)`

instead of `-1`

.

Any idea on what might be going on? Thanks!

My guess is that Maxima doesn't know how to take limits of these functions.