http/js/api/string.js
function diffText(a,b){
	var changes = []
	var text = a
	while(text !== b){
		var c = partiallyDiffText(text,b)
		if(c.type === 'add'){
			text = text.substr(0,c.index)+c.value+text.substr(c.index)
		}else{
			text = text.substr(0,c.index)+text.substr(c.index+c.many)
		}
		changes.push(c)
	}
	
	return changes
}
function diffText(a,b){
	var changes = []
	var text = a
	while(text !== b){
		var c = partiallyDiffText(text,b)
		if(c.type === 'add'){
			text = text.substr(0,c.index)+c.value+text.substr(c.index)
		}else{
			text = text.substr(0,c.index)+text.substr(c.index+c.many)
		}
		changes.push(c)
	}
	
	return changes
}
produces one or two changes that succinctly describe the changes to the text