Beat butter with sugar and cinnamon till light. Add the eggs, one at a time, beating well after each addition.
Drain the pineapple slices from syrup and chop finely. Mix with bread pieces and add to the egg mixture. Stir in the walnuts.
Grease a baking dish and pour the pineapple mixture in it. Bake till the pudding is set and a knife interted in the center comes out clean. (about 45 minutes)
Serve warm or cold with whipped cream and caramel syrup.