To add a fraction to some fraction things: Allocate memory for a fraction thing. Put the fraction into the fraction thing's fraction. Append the fraction thing to the fraction things. To create some fraction things: Add 90-1/2 to the fraction things. Add 47/1 to the fraction things. Add 58/1 to the fraction things. Add 29/1 to the fraction things. Add 22/1 to the fraction things. Add 32/1 to the fraction things. Add 55/1 to the fraction things. Add 5/1 to the fraction things. Add 55/1 to the fraction things. Add 73-1/2 to the fraction things. To find the difference of some fraction things: If the fraction things' count is less than 2, exit. Get a fraction thing from the fraction things. Loop. If the fraction thing's next is nil, remove the fraction thing from the fraction things; destroy the fraction thing; exit. Put the fraction thing's next's fraction minus the fraction thing's fraction into the fraction thing's fraction. Put the fraction thing's next into the fraction thing. Repeat. To find the difference of some fraction things given an order: If a counter is past the order, exit. Find the difference of the fraction things. Repeat. A fraction thing is a thing with a fraction. An order is a number. To run: Start up. Create some fraction things. Write "Original list:" on the console. Show the fraction things. Find the difference of the fraction things given 4. Write "Order 4 forward difference:" on the console. Show the fraction things. Destroy the fraction things. Wait for the escape key. Shut down. To show some fraction things: Get a fraction thing from the fraction things. Loop. If the fraction thing is nil, write "" on the console; exit. Write "" then the fraction thing's fraction on the console without advancing. If the fraction thing's next is not nil, write ", " on the console without advancing. Put the fraction thing's next into the fraction thing. Repeat.