odd 'choose from list' selection options of list items

Hi,
‘Spring-cleaning’ old scripts, many of unknown origin, I found a long script with lots of various “choose from list” some, with different ways of specifying allowed selections from a list but with identical allowed/disallowed actions. I grouped them here by the “allowed selections”, numbered them and commented what’s allowed and disallowed:

choose from list {"a", "b"} --> [1] can select one; not none or many
choose from list {"a", "b"} without empty selection allowed --> [2] can select one; not none or many
choose from list {"a", "b"} without multiple selections allowed --> [3] can select one, not none or many

choose from list {"a", "b"} with multiple selections allowed --> [4] can select one or many; not none
choose from list {"a", "b"} with multiple selections allowed without empty selection allowed --> [5] can select one or many, not none

choose from list {"a", "b"} with empty selection allowed --> [6] can select none or one; not many

choose from list {"a", "b"} with multiple selections allowed and empty selection allowed --> [7] can select none or one or many; nothing disallowed

Why not just the four simpler and unique options 1, 4, 6 and 7?

choose from list {"a", "b"} --> [1] can select one; not none or many
choose from list {"a", "b"} with multiple selections allowed --> [4] can select one or many; not none
choose from list {"a", "b"} with empty selection allowed --> [6] can select none or one; not many
choose from list {"a", "b"} with multiple selections allowed and empty selection allowed --> [7] can select none or one or many; nothing is disallowed

Options 2, 3 and 5 seem redundent. For some reason they all use “without” something.
Why does AS allow them? Is there any need for them?

Really simple.

without empty selection allowed
and
without multiple selections allowed
are the default settings.

The fact that without is available doesn’t mean that we must use it in the command.

There are other commands whose default setting is “with a given mode”
and in such case, it’s important to be able to use “without a given mode”

Look at this example borrowed from AppleScript User Guide

findNumbers of {5.1, 20.1, 20.5, 33} above 20 without rounding
to findNumbers of numberList above minLimit given rounding:roundBoolean
	set resultList to {}
	repeat with i from 1 to (count items of numberList)
		set x to item i of numberList
		if roundBoolean then -- round the number
			-- Use copy so original list isn't modified.
			copy (round x) to x
		end if
		if x > minLimit then
			set end of resultList to x
		end if
	end repeat
	return resultList
end findNumbers

run it as is then replace without rounding by with rounding.

Your question make me think to a pig-headed child which said : mother, you said that I must not eat with my fingers but I can’t eat without them !"

Yvan KOENIG running Yosemite 10.10.5 in French (VALLAURIS, France) mercredi 2 septembre 2015 23:07:15

Hi Yvan,
Thanks for your attempt to explain and specially for the child reference. My children love it when not referring to them.
Your analogy doesn’t really apply: my question was not about the general use of with or without. Obviously, both have their need and usage in given context. My question refers specifically to selecting items in choose from list. Specifically:
1.Is it good practice to use all syntax option 1, 2 and 3 in the same script randomly, without a specific logical or coding need. As is, the three options produce the same selection allowance and disallowance. Unless one likes long-winded coding with impared readability, option 1 should be the obvious choice.
2. Is there a choose from list example where the use of either options 2 or 3 is required instead of option 1 for allowing / disallowing list item selection?

I wonder if you’re over-thinking things. If a parameter is optional, and you know the default behavior (which isn’t documented here, as it arguably should be, but is well known), then the only reasons ever to use that parameter are either to set it to a non-default value, or as a way of documenting what you are doing for readability.