Melt butter in a heavy 3-quart saucepan over low heat. Add chocolate; heat, stirring, until melted. Stir in water, sugar, corn syrup, and salt. Bring to a boil over medium heat and cook without stirring until sauce is thickened and glossy, about 8 minutes. Stir in vanilla. Serve hot over ice cream.
Store leftover sauce in the refrigerator. Reheat over very low heat, stirring in a little hot water if necessary.