{"action":"created","issue":{"url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/165","repository_url":"https://api.github.com/repos/albertodemichelis/squirrel","labels_url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/165/labels{/name}","comments_url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/165/comments","events_url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/165/events","html_url":"https://github.com/albertodemichelis/squirrel/issues/165","id":372803218,"node_id":"MDU6SXNzdWUzNzI4MDMyMTg=","number":165,"title":"Feature Idea: modules","user":{"login":"todace","id":1808604,"node_id":"MDQ6VXNlcjE4MDg2MDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1808604?v=4","gravatar_id":"","url":"https://api.github.com/users/todace","html_url":"https://github.com/todace","followers_url":"https://api.github.com/users/todace/followers","following_url":"https://api.github.com/users/todace/following{/other_user}","gists_url":"https://api.github.com/users/todace/gists{/gist_id}","starred_url":"https://api.github.com/users/todace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/todace/subscriptions","organizations_url":"https://api.github.com/users/todace/orgs","repos_url":"https://api.github.com/users/todace/repos","events_url":"https://api.github.com/users/todace/events{/privacy}","received_events_url":"https://api.github.com/users/todace/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2018-10-23T04:27:42Z","updated_at":"2018-10-24T20:50:45Z","closed_at":null,"author_association":"NONE","body":"Lua have modules in standart library - https://www.lua.org/manual/5.3/manual.html#6.3\r\nModules helps in development and more - in code reusing.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/comments/432823245","html_url":"https://github.com/albertodemichelis/squirrel/issues/165#issuecomment-432823245","issue_url":"https://api.github.com/repos/albertodemichelis/squirrel/issues/165","id":432823245,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMjgyMzI0NQ==","user":{"login":"todace","id":1808604,"node_id":"MDQ6VXNlcjE4MDg2MDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1808604?v=4","gravatar_id":"","url":"https://api.github.com/users/todace","html_url":"https://github.com/todace","followers_url":"https://api.github.com/users/todace/followers","following_url":"https://api.github.com/users/todace/following{/other_user}","gists_url":"https://api.github.com/users/todace/gists{/gist_id}","starred_url":"https://api.github.com/users/todace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/todace/subscriptions","organizations_url":"https://api.github.com/users/todace/orgs","repos_url":"https://api.github.com/users/todace/repos","events_url":"https://api.github.com/users/todace/events{/privacy}","received_events_url":"https://api.github.com/users/todace/received_events","type":"User","site_admin":false},"created_at":"2018-10-24T20:50:45Z","updated_at":"2018-10-24T20:50:45Z","author_association":"NONE","body":"> Hello todace !\r\n> Maybe you could look at https://github.com/mingodad/squilu I'm trying to address several shortcomings in squirrel.\r\n> There is an attempt to bring modules to squirrel by https://github.com/pfalcon/squirrel-modules .\r\n> I have a distinct opinion about the direction of squirrel as a project.\r\n> Cheers !\r\n\r\nSquilu is something crazy from my perspective.\r\nLanguage do not need 5 ways to declare local variable - 1 is enough. Having more keywords is worse than having less - it becomes harder to read code, harder to understand it, more time to get used to.\r\nThere is no value in supporting two languages (lua and squirrel) - you can always choose one. Less is more. Having two ways to do something is worse than to have one way.\r\nSquirrel is very niche, by being almost as small as lua with different syntax and much less popular than lua\\JS. It also doesnt have performance of lua. It is much less known than JS\\python.\r\nSo it's niche is that it is almost as small as lua, and almost as performant as lua (but not even close to luajit - JIT is out of scope on ios\\consoles), much smaller than JS or Python, and also much stricter.\r\nWhat I think Squirrel needs is becoming more and more strict, allowing less errors that are found during Runtime and not during compilation. And performance optimizations, if they are not making it less simple to use, as it is always welcome on game development.\r\nSo from my POV - constant folding is welcome, double local variables, double constants  declarations and double slot in table declarations erorr are welcome - and we are using that.\r\nNull propogation reduces cognitive complexity and make code simpler - https://docs.codeclimate.com/docs/cognitive-complexity - so they are also useful \r\nThere are some other PRs here that I like (update of stdlib for example or add 'require' modules to stdlib)\r\nI also think that squirrel can be changed even more to be more safe and useful, but these things are disccusible (and I don't think our good dictator - Alberto - is interested in future change\\Squirrel3.2-4 or something, so I do not put them as suggestions here).\r\nFor example - change of filter\\map\\reduce (I think that underscore.js filter\\map\\reduce are mcuh more useful than current one, reduce at least needs default start value, for example, and map with reference to initial colllection is also not always useful, as well as without index). Someone can say that you can always make your own map\\filter\\reduce (as they did in underscore.js) - and yes, we did that.\r\nHowever, having them built-in make things weird - it is not worse to have two ways to do something.\r\nAnd of course having tool for AST-building and linter for Squirrel would be valuable, but this is out of scope of squirrel itself."}}
{"actor":{"display_login":"todace"}}