{"action":"created","issue":{"url":"https://api.github.com/repos/manastech/crystal/issues/728","labels_url":"https://api.github.com/repos/manastech/crystal/issues/728/labels{/name}","comments_url":"https://api.github.com/repos/manastech/crystal/issues/728/comments","events_url":"https://api.github.com/repos/manastech/crystal/issues/728/events","html_url":"https://github.com/manastech/crystal/issues/728","id":84006222,"number":728,"title":"About functional programming","user":{"login":"kerkomen","id":5447684,"avatar_url":"https://avatars.githubusercontent.com/u/5447684?v=3","gravatar_id":"","url":"https://api.github.com/users/kerkomen","html_url":"https://github.com/kerkomen","followers_url":"https://api.github.com/users/kerkomen/followers","following_url":"https://api.github.com/users/kerkomen/following{/other_user}","gists_url":"https://api.github.com/users/kerkomen/gists{/gist_id}","starred_url":"https://api.github.com/users/kerkomen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kerkomen/subscriptions","organizations_url":"https://api.github.com/users/kerkomen/orgs","repos_url":"https://api.github.com/users/kerkomen/repos","events_url":"https://api.github.com/users/kerkomen/events{/privacy}","received_events_url":"https://api.github.com/users/kerkomen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-02T12:43:46Z","updated_at":"2015-06-02T13:13:29Z","closed_at":null,"body":"There seems to be no roadmap for Crystal development. However it would be great to know if there are any plans on implementing some nice features from the functional world.\r\n\r\nThere are Ruby-inherited `map`, `select` and `inject`, and the latter one has a somewhat strange name ([some ref](https://tommorris.org/posts/2595)). One more thing is that lazy evaluation seems to lack from Crystal:\r\n\r\n```ruby\r\n(1..10).lazy.select { |x| x % 2 == 0 }.to_a  # Works in Ruby, not in Crystal  \r\n#=> [2, 4, 6, 8, 10]\r\n\r\n(1..10).select { |x| x % 2 == 0 }            # Works both in Ruby and in Crystal  \r\n#=> [2, 4, 6, 8, 10]\r\n```\r\n\r\nJust curious to know what do other people think about that.\r\n\r\n// Found a cycle of articles on functional programming in Ruby: [1](http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/), [2](http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/), [3](http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/)."},"comment":{"url":"https://api.github.com/repos/manastech/crystal/issues/comments/107949657","html_url":"https://github.com/manastech/crystal/issues/728#issuecomment-107949657","issue_url":"https://api.github.com/repos/manastech/crystal/issues/728","id":107949657,"user":{"login":"kerkomen","id":5447684,"avatar_url":"https://avatars.githubusercontent.com/u/5447684?v=3","gravatar_id":"","url":"https://api.github.com/users/kerkomen","html_url":"https://github.com/kerkomen","followers_url":"https://api.github.com/users/kerkomen/followers","following_url":"https://api.github.com/users/kerkomen/following{/other_user}","gists_url":"https://api.github.com/users/kerkomen/gists{/gist_id}","starred_url":"https://api.github.com/users/kerkomen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kerkomen/subscriptions","organizations_url":"https://api.github.com/users/kerkomen/orgs","repos_url":"https://api.github.com/users/kerkomen/repos","events_url":"https://api.github.com/users/kerkomen/events{/privacy}","received_events_url":"https://api.github.com/users/kerkomen/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T13:13:29Z","updated_at":"2015-06-02T13:13:29Z","body":"Awesome. And it works on infinite lists as it should: http://carc.in/#/r/1g2.\r\n\r\nAnd typing `1.0/0.0` is the only way construct the infinite list, isn't it?.."}}