The standard formal analysis of requests is that a person y requests a person x to bring it about that p (or, simply, to A—I will stick with the bringing about language for some formal reasons, but I think there are also reasons why one might prefer to talk of actions instead). In other words, a request is a relation that holds between two persons and a (centered?) proposition.
But this is insufficient to capture the full range of phenomena. I hand you a list of tasks and ask you to do them all. I don't actually know what is on the list. Perhaps I had a longer list of tasks and had a computer divide up the longer list between a number of people, and so I am handing you a printout of your portion.
On the standard analysis, we should either take this as a case of my issuing n requests, one for each item on the list, or as a case of my issuing a single request that you bring it about that all the items are done by you. Neither option is satisfactory. The suggestion that I issued n requests seems unsatisfactory on the grounds that I don't know what is on the list, and may not even know what the number n is. (Moreover, the list need not yet be printed out. I could ask you to do all the items that will show up on the screen when you log in.)
The suggestion that I issue a single request that you do all the items fails. For suppose you decline to do the nth item, but do do all the rest. This can be a perfectly reasonable response. But for what reason, given that you declined to do the nth item, did you do all the rest? The obvious answer is: "Because I asked you to." But I didn't, at least not on this reading. I asked you to bring it about that you did all the items. You didn't bring this about. So what was the point of doing what you did? It is worth noting that we do have room for a conjunctive request which gives no reason to do only some of the conjuncts. "Find me a hammer and a nail"—there need be no point to finding only one of the two. So we need a way of distinguishing the kind of request which distributively gives you a reason to do each task—and that is the kind of case I had in mind—and the kind of request which gives you only a reason to do them all. The latter is nicely modeled in the "y requests that x bring it about that p" way. The former is not.
To make it even clearer that not all requests have the "y requests that x bring it about that p" logical form, suppose I hand you the list but add that my request has a greater emphasis on the items higher up on the list. First of all, the mention of emphasis shows that everyone should grant that requesting's logical form is at least quaternary: "y requests with strength s that x bring it about that p". But in this case, there is simply no way of offering a single request with this quaternary logical form that does the job. If I request that you bring it about that all the tasks are done by you, the logical form above does not allow the strength to vary between the tasks on the list. But surely it can.
Here is my tentative suggestion. There is a function r from quadruples (y,x,p,t) where y is a person (requester), x is a person (requestee), p is a proposition and t is a time[note 1], to strengths (these might be represented as numbers sometimes), including a null strength in cases where no request has been made. Thus, r(y,x,p,t) is the strength with which y counts at t as having requested x to bring it about that p. Moreover, x at t has a reason proportional in strength to r(y,x,p,t) to bring it about that p for each y such that r(y,x,p,t) is non-null. Furthermore, each mature person x keeps track, as best she can, of the non-null values of r(y,x,p,now), and uses them in deliberation. I will call r the "request function".
There is a class of speech acts which are "request strength modifiers." Request-strength modifiers affect the time evolution of r(y,x,p,t). The simplest is the simple request of strength s that x bring it about that p. If t1 is the time before the simple request was issued and t2 is the time after it was issued, then (assuming nothing else relevant happened) r(y,x,p,t2)=r(y,x,p,t1)+s—in other words, the simple request increases the strength of request at a single proposition (in the paradigmatic case, r(y,x,p,t1) is null, and r(y,x,p,t2)=s). But there is a dizzying variety of other request strength modifiers. I could, for instance, reinforce all requests that I made on Tuesdays while canceling all requests that I made on Wednesday.
The individual y has in principle a great amount of control over the dynamic evolution of r(y,x,p,t). She can issue any, or almost any [note 2], kind of modification to r(y,x,p,t) that she is capable of describing to x.
The example I gave earlier of handing someone a list and prioritizing the items in the order given modifies r(y,x,p,t) for those values of p expressed in the list, and modifies them in degree dependent on where they are found on the list. The request function gives us an enormous amount of authority over reasons available to our fellows, an authority to be used carefully.
Because of the complexity of possible changes in the request function, we have developed complex performative language. If I say: "I'd like you to do all the items on the list, though I'd the odd numbered ones more than I want the even numbered ones", I am not describing my preferences. I am engaging in request strength modification by performatively describing a part of the structure of r(y,x,p,t), where y is me, x is you and t is now or shortly after now. The description is performative in that it makes r(y,x,p,t) have the values it is described as having (with whatever vagueness we want to include, e.g., on the side of strengths). The use of preference language is not to be taken literally—what is being described is not an inner state, but the function r(y,x,p,t). The lack of literalness is important. I can request something of you that I do not actually desire, and I can desire something I do not request. (This is important in constituting consent, for instance.) It is also important not to take r(y,x,p,t) to describe y's mental state at t, because y may have forgotten some of her requests to x, but unless they are canceled or mooted, they continue to be a part of r(y,x,p,t).
This way of thinking about requests gives a neat solution to the problem of characterizing conditional requests. Suppose I ask you to go kayaking with me tomorrow if it's not raining. One might try to model this with a material conditional. I am asking you to bring it about that if it's not raining, then we go kayaking. But on a material conditional reading, I am asking that you bring it about that it rains or we go kayaking. Surely, however, there is an asymmetry in my request that would make it odd for you to try make it rain.
The request function approach gives a better story. Because y has almost complete control over r(y,x,p,t) for future t, the requester y can make r(y,x,p,t) change its value conditionally on some factors that y does not actually know. (The case of the list of tasks was already like that.) I can, thus, make r(I,you,<we go kayaking at t2>,t) be non-zero if and only if it doesn't rain at t2.
Complex standing requests can be handled similarly ("Let's go kayaking every Wednesday on which it isn't raining and on which you aren't working on a paper on indicative conditionals"). We can even model some subtleties, such as whether the reason comes to be operative now (which gives me a present request-based reason to prepare for the kayaking if need be) or only comes to be operative tomorrow, since the changes in r(y,x,p,t) can be stipulated to only apply when t>t1, say. Moreover, requests can have expiration dates—when t hits such a date, r(y,x,p,t) goes down (not necessarily to null, because there might have been two requests for p, and only one expired).
Commands are like requests. There is a command function c(R,x,p,t) whose values (strengths of command) give reasons to x. It is different in that the first argument place is filled not by an individual but by an individual authority role. I am Canadian. The commands of Her Majesty Elizabeth II do not go into a slot of "commands of Ms. Elizabeth Windsor", but into a slot of "commands of the monarch in right of Canada". (I am inclined to count legislation signed by her representative as a command of hers.) Thus, when Elizabeth goes to her reward, the commands of her successor in right of Canada will go into the same slot as hers did. Moreover, the same individual can have more than one individual authority role: Elizabeth had the authority of a mother and of a moarch over her son when he was younger, and now she only has the latter authority, and it is with the role that we keep track of the commands. A mature individual x will keep track, as best she reasonably can, of the non-null values of c(R,x,p,now).
Likewise, there are command strength modification speech acts. A difference between these and request strength modification speech acts is that the ability of R to modify c(R,x,p,t) tends to be strictly limited in all sorts of ways. Commands to act immorally are invalid (this might be true for requests), as are commands that exceed R's authority over x (there will be none such is when R is God). Such commands leave c(R,x,p,t) unchanged. Complex command strength modification speech acts will also often involve performative descriptions of c(R,x,p,t), and may sometimes use the same kind of apparently autobiographical language of preferences (though "need" and "want" are more likely than "I'd like"), with the commands being distinguished by context or tone or explicit markers ("This is not a request").
Finally, there is a function v(x,y,p,t) that encodes of the strengths of x's promises to y (I will use the term also for very weak committive states like "I'll do A if I can"). Promises like requests and commands have a strength. The rules on the evolution of the function are more complex, however. In the case of requests and commands, one and the same party was able to increase and decrease the strength of a request. But only the promiser can can create a promise or increase the strength of an existing one, while it is the promisee or, in some cases, an appropriate authority (parents can cancel the promises of their children, and the Church can commute or cancel vows to God) who gets to cancel a promise ("I am not holding you to that") or decrease its strength ("Don't do it if it's a lot of trouble").
The strengths of promises are definitely not numerical. There may be low level not-quite-commitments that create reasons—"I'll do it if I can"—which we don't normally count as promises. And the difference between these and full-blown promises is qualitative. Perhaps the strength of a promise (and maybe the same goes for a request or command) should be seen as a list of strengths. For instance, I might make a wimpy not-quite-commitment to come to your party, in which case v(x,y,p,t) comes to be "not-quite-commitment". I might then additionally promise it. Now I have "not-quite-commitment plus full-promise" as my strength. It's important to keep both in the strength. FOr you might release me from the full-promise without releasing me from the not-quite-commitment. Moreover, each of these separately generates a reason, unless I took the promise to override the not-quite-commitment. (While the promiser can't cancel or weaken a promissive act, she can upgrade it.)
And so there are promise strength modification speech acts. However, unlike in the command and request case, they bifurcate naturally into strengtheners that promisers can make and weakeners that promisees and some authorities can make.
The same points about conditionality and expiry that I made about requests apply to promises and commands.