{"action":"opened","issue":{"url":"https://api.github.com/repos/NICTA/revrand/issues/67","repository_url":"https://api.github.com/repos/NICTA/revrand","labels_url":"https://api.github.com/repos/NICTA/revrand/issues/67/labels{/name}","comments_url":"https://api.github.com/repos/NICTA/revrand/issues/67/comments","events_url":"https://api.github.com/repos/NICTA/revrand/issues/67/events","html_url":"https://github.com/NICTA/revrand/issues/67","id":136589274,"number":67,"title":"Special functions module and decorators","user":{"login":"ltiao","id":1112238,"avatar_url":"https://avatars.githubusercontent.com/u/1112238?v=3","gravatar_id":"","url":"https://api.github.com/users/ltiao","html_url":"https://github.com/ltiao","followers_url":"https://api.github.com/users/ltiao/followers","following_url":"https://api.github.com/users/ltiao/following{/other_user}","gists_url":"https://api.github.com/users/ltiao/gists{/gist_id}","starred_url":"https://api.github.com/users/ltiao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ltiao/subscriptions","organizations_url":"https://api.github.com/users/ltiao/orgs","repos_url":"https://api.github.com/users/ltiao/repos","events_url":"https://api.github.com/users/ltiao/events{/privacy}","received_events_url":"https://api.github.com/users/ltiao/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-26T03:55:18Z","updated_at":"2016-02-26T03:55:18Z","closed_at":null,"body":"- [ ] Need a name for the module more evocative than the current name of `functions`, one that emphasizes the fact that these functions have a special return type which must contain the function value and its gradient, both of which must be `numeric` types.\r\n- [ ] `FuncRes` type should do some validation to ensure `numeric` types\r\n- [ ] Decorators should do validation of functions to ensure they return `FunRes` type\r\n- [ ] Unit tests/doctests for module\r\n- [ ] Documentation for module\r\n- [ ] Port existing basis functions, objective functions and basically any function that has a gradient to use this framework\r\n- [ ] Implement `compose` and `concatenate` for functions under this framework."}}