How can I compute consecutive differences in Oracle SQL without a cursor?

How do I calculate differences between adjacent rows in Oracle SQL without using a cursor? Analytic functions might work. For example:

SELECT num_value,
       num_value - LAG(num_value) OVER (ORDER BY num_value DESC) AS difference
FROM value_set;