{"action":"created","issue":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/3511","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/3511/labels{/name}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/3511/comments","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/3511/events","html_url":"https://github.com/rethinkdb/rethinkdb/issues/3511","id":53603024,"number":3511,"title":"any/all are exposed as if they were real terms","user":{"login":"marshall007","id":877936,"avatar_url":"https://avatars.githubusercontent.com/u/877936?v=3","gravatar_id":"","url":"https://api.github.com/users/marshall007","html_url":"https://github.com/marshall007","followers_url":"https://api.github.com/users/marshall007/followers","following_url":"https://api.github.com/users/marshall007/following{/other_user}","gists_url":"https://api.github.com/users/marshall007/gists{/gist_id}","starred_url":"https://api.github.com/users/marshall007/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marshall007/subscriptions","organizations_url":"https://api.github.com/users/marshall007/orgs","repos_url":"https://api.github.com/users/marshall007/repos","events_url":"https://api.github.com/users/marshall007/events{/privacy}","received_events_url":"https://api.github.com/users/marshall007/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-01-07T06:41:12Z","updated_at":"2015-01-07T19:55:33Z","closed_at":null,"body":"If you run `r.expr(true).all()` in the data explorer instead of throwing, the query appears to be evaluated as  `r.expr(true).and()` and returns `true`. So the issue is two-fold:\r\n\r\n1. I would expect to get `TypeError: undefined is not a function`\r\n1. I think calling `and/or` with no arguments should throw something like `RqlDriverError: Expected at least 1 argument but found 0.`\r\n\r\nOut of curiosity, I tried doing the same thing with a few other terms that are used internally but not exposed like `FUNC`, but it seems to only apply to `ANY/ALL`."},"comment":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/comments/69081321","html_url":"https://github.com/rethinkdb/rethinkdb/issues/3511#issuecomment-69081321","issue_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/3511","id":69081321,"user":{"login":"danielmewes","id":505365,"avatar_url":"https://avatars.githubusercontent.com/u/505365?v=3","gravatar_id":"","url":"https://api.github.com/users/danielmewes","html_url":"https://github.com/danielmewes","followers_url":"https://api.github.com/users/danielmewes/followers","following_url":"https://api.github.com/users/danielmewes/following{/other_user}","gists_url":"https://api.github.com/users/danielmewes/gists{/gist_id}","starred_url":"https://api.github.com/users/danielmewes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danielmewes/subscriptions","organizations_url":"https://api.github.com/users/danielmewes/orgs","repos_url":"https://api.github.com/users/danielmewes/repos","events_url":"https://api.github.com/users/danielmewes/events{/privacy}","received_events_url":"https://api.github.com/users/danielmewes/received_events","type":"User","site_admin":false},"created_at":"2015-01-07T19:55:33Z","updated_at":"2015-01-07T19:55:33Z","body":"Can you explain a little bit more why this is a problem?\r\nCurrently `any` and `all` are in fact real terms. Do you think they should have different semantics?\r\n\r\nI agree that `and`/`or` with only one argument (counting the one that's left of the term, in this case `r.expr(true)`) doesn't make much sense. I'm not sure if there's enough reason to disallow it though.\r\n\r\nMaybe part of the confusion comes from the fact that we occasionally use the two names `any` and `or` / `all` and `and` interchangeably. I'm not entirely sure what the background of this is (@mlucy probably knows).\r\nIt seems that our API documentation only uses the `and`/`or` form nowadays and doesn't even mention `any`/`all`. I could imagine that we had `any`/`all` originally but switched over to `and`/`or` at some point."}}