Programming environment for editing various of my live apps without restarting them.
load_manifest = function()
	-- Connect to an app and load its manifest into global Manifest.
	-- Also return the name of the app we have connected to.
	local new_manifest, app_name = get_manifest()
	-- preserve existing order
	-- 1. add new definitions in front
	for _,name in ipairs(new_manifest) do
		if not array.find(Manifest, name) then
			table.insert(Manifest, 1, name)
		end
	end
	-- 2. remove missing definitions
	for idx=#Manifest,1,-1 do
		local name = Manifest[idx]
		if not array.find(new_manifest, name) then
			table.remove(Manifest, idx)
		end
	end
	return app_name
end