{"issue":{"state":"open","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"milestone":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/88299e4a8e125373865856ed7c7c8b11?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"88299e4a8e125373865856ed7c7c8b11","url":"https://api.github.com/users/JulianBirch","login":"JulianBirch","id":84115},"updated_at":"2011-10-30T20:14:29Z","labels":[],"assignee":null,"closed_at":null,"comments":29,"url":"https://api.github.com/repos/jashkenas/coffee-script/issues/1495","body":"Since chaining is a pretty common feature of Javascript libraries, how about a dedicated syntax for it?\r\n\r\ne.g.\r\n\r\n    $(\"p.neat\").addClass(\"ohmy\").show(\"slow\");\r\n\r\ncould be written\r\n\r\n    $(\"p.neat\")..       # Note the \"dot dot\"\r\n      addClass \"ohmy\"\r\n      show \"slow\"\r\n\r\nAlternatively, you could go with something insanely LISPy\r\n\r\n    ->>\r\n      $ \"p.neat\"\r\n      addClass \"ohmy\"\r\n      show \"slow\"\r\n\r\nNB, the semantics I'm proposing would be equivalent to\r\n\r\n    a = $ \"p.neat\"\r\n    b = a.addClass \"ohmy\"\r\n    c = b.show \"slow\"","html_url":"https://github.com/jashkenas/coffee-script/issues/1495","title":"Improve chaining syntax","number":1495,"id":1192118,"created_at":"2011-07-08T19:40:11Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/028ba5b41575252757fa149296ef6842?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"028ba5b41575252757fa149296ef6842","url":"https://api.github.com/users/timcameronryan","login":"timcameronryan","id":80639},"updated_at":"2011-10-30T20:14:29Z","url":"https://api.github.com/repos/jashkenas/coffee-script/issues/comments/2571283","body":"Just to recap, it looks like we're discussing three separate issues:\r\n\r\n1. **Multi-line chaining vs. pipelining syntax** (sort of a `with`-like construct) using indentation or perhaps a new operator.\r\n1. **Permitting multi-line paren-free chaining syntax** like several examples above.\r\n1. **A single-line chaining syntax** using perhaps a new operator a la `require 'foo' .. baz`","id":2571283,"created_at":"2011-10-30T20:14:29Z"}}