{"_id":"meta-script","_rev":"100-64463410fbe61fac2d6333e1c426ace8","name":"meta-script","description":"A language with a compiler that targets Javascript.","dist-tags":{"latest":"0.0.49"},"versions":{"0.0.1":{"name":"meta-script","version":"0.0.1","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"metascript":"./lib/metascript"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.1","dist":{"shasum":"ee6669936b27c76d892d430c71ac90e88fb2e738","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.1.tgz","integrity":"sha512-RSZLZ674kWpbH74Od0RC2AQgRQDoDBLbRYxc3gc+2+Wku0SjhzGtHRVteJ1ilJxUp9P7U2xM/+MYY/LB3JQsyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwnN/7MHWpMdChFqId375f6Yk7Uy/Mn3hdnxNix51vCAIhAISyQaQKNJCHu8OBeop/1ftoq/dLwRalV2uKFDMZnr0E"}]},"_from":"./","_npmVersion":"1.3.21","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"directories":{}},"0.0.2":{"name":"meta-script","version":"0.0.2","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.2","dist":{"shasum":"d2a747fdfdaac079360d2c695ba506b6a535b88b","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.2.tgz","integrity":"sha512-Mmvz23KnU7ChMYVItoL6jzLZ4hseKiNPOyb7iQl2Aa89hPXz57Vqa0RLCt2Pp4omnuCMZgq6HtqYn7MGhsUZjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAXbevzuf5gZ4eD8YN5/pjSpzr78H7IyY5fcWitcxETlAiBngZ5leBV+AXe6YZSB086vuLi8JhJHsx+jG313AqbS2g=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.3":{"name":"meta-script","version":"0.0.3","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.3","dist":{"shasum":"55748e8bd3684b4c29a98007a9d64cdc17d248f4","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.3.tgz","integrity":"sha512-8pB9URhxxPmynGmbOK6lHq1h+euiou3xG84f4ZRlcyGj5uNRzBhpLM7gWNCHd1PoX6aOCbdJgm6rWGVQfHR0WQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF+FU/fdVOoUZgZZfXVw+gPPHodMsqKgAJ6/9Z5s2rgmAiBKklbKNEegNwpp5UQnx9ssOwHhDt8EiUaxhtkX6wX6OA=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.4":{"name":"meta-script","version":"0.0.4","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.4","dist":{"shasum":"a90d7e9e2cadcb0544d90f2d47591f246786c3c7","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.4.tgz","integrity":"sha512-NU6Tic4mMz6J6sT1w2mossGtjXqouwbPwOQUqAJgZi4WPdz5ddSjDlgTgRDrL8mqVhT788AO3+/+Jv9xzP/1wA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID30yBBpzVIXo8mkg9gJwPZ4nc1RG19ByO7VSFwZTCiAAiB9o9Z4OSJPUJXEGLqnV/nNa2RRsCUljQ1s2jNhK52zBQ=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.5":{"name":"meta-script","version":"0.0.5","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.5","dist":{"shasum":"851d1da6d30617ed6655ffabcd70282ce2d84c94","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.5.tgz","integrity":"sha512-GKRbL99/ykmnY2yfZYfo5oS024xrUam+6iKy4WzncirUpWulOl+fjxFHUpPe4GaCpc+7VJYJGeocb0JD/XMimA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC95z8Viim1grYyfkVxrVsfDm3WQWm9Nu6J05D8DgbAGwIgc2LoZu58jRPQp33rbdEGNTLPBhHn7zWV53wMds8YM2U="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.6":{"name":"meta-script","version":"0.0.6","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.6","dist":{"shasum":"47d99a6a2e57c649b69720986ca4a037b584408d","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.6.tgz","integrity":"sha512-QUkzloeWtygOh/QKXiIw9d17/gM+Uwc+WgU2My8YLsOBoxc2BD7/2a2jrVs6j5jGHvuTYXlVzAamSWvh5sHuLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/e9+2C5HD6RzXWMShGaLv9blaDYBX7gbJ0fIJ1j6q+AiEA8tvEfRyNzYQGVYvgCrL/shMEomIF8c5wu1FkX2TgCDQ="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.7":{"name":"meta-script","version":"0.0.7","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.7","dist":{"shasum":"c2ce10f7f9793cab67b2e8f8a4e73ef2e0c0f95d","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.7.tgz","integrity":"sha512-edBk0SzZai1Ls9qpC7IP1GcFSGTiG/Gb/TjasDCMJhITiEssYcLBA7oHxd8yynSxEyFT2sQGAdNuPrLm8BPLFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGkdCeiQuebPI+mTH9xpheAr7C9CmRrReq/+mKDAHFe4AiAYAi1Za/hrZVlupO1f4MFekTtoa0+MIoknOjy90Gg5gg=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.8":{"name":"meta-script","version":"0.0.8","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.8","dist":{"shasum":"5202514a48ba51d3140833fb3f5084306f28e71d","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.8.tgz","integrity":"sha512-c2XtLAjGBcqvpezYfF3bItpKgl/j2rU0aCELOLuIsQ63YOYgcMqx6IceXQ0xpqLoDzamW6lIHOJKTzVELFWjTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBk1itB4kw71O+ysocZsqy012ESOuaaZwtt5rMkLDNCwAiBcsXZ1ljfbq+WL8naRa6JuEE/7efKwVG1JPOXeoB+Rew=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.9":{"name":"meta-script","version":"0.0.9","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.9","dist":{"shasum":"a3aa547d24541f91cc589a8da0204fc44a4727dc","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.9.tgz","integrity":"sha512-H+e4st0/7FgNpI0IRPG7W1ha9QDzBs/gfczoayJDbjd0H1zrct5CZ5pcG1Yl3IISctAg2fBD7RhBLFW+sXnxPw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgu+uZsVi+cLjTrhin94O3ME52y7vASDQQ0wzQXzXNbQIhANqYDlwAi13FCoeWxaxq+7XIPcer97DUQ4FW2c7hafE8"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.10":{"name":"meta-script","version":"0.0.10","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.10","dist":{"shasum":"782567c4e75f83dcc9f781c4f975d2cb58d17761","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.10.tgz","integrity":"sha512-Tw6Pu88MyIXRloUWfOvqxWpzZHMQhIh1bC7pfbSclurMkOqxWZrBQdJ8P/Q3+4ohFyw8R4uxQeztLUsH+kJjEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAVFx+c6MAW41uGJsYfYwD/VjYFX9r2qKU1J7pKroxThAiEA7R/rweQwXWpUSIBOO5Zqg0ExCLfSg9rrEAe+R8/nq90="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.11":{"name":"meta-script","version":"0.0.11","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.11","dist":{"shasum":"1860f4de9d24f8a4e92b3a796c913222b44a281e","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.11.tgz","integrity":"sha512-TKVryn6hQwNMj7zfzoVo7QuX+twxgeyLmksoJAGPJl4zPS36vgQqCaMklK8DTmjVsWJn5DhoJ9asHYNHhxOwjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAGcSVH/xWWr9RYTX7han07A94r2GyafCL0rGjKrr0DYAiA46cUE1hZinNBObmwte0w6Y4esys0iHn2FTgEWse6QVw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.12":{"name":"meta-script","version":"0.0.12","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.12","dist":{"shasum":"275fbb463134b6fb1be6ae24ff87cd16d1d8149f","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.12.tgz","integrity":"sha512-zv/rMgwRL/3UKNdQeY2Ptp9DGub35BvdDZqICS4+Waa/OYQfy14daNYB1Hs9aLIg/WvZyoKjNjzoKQ4UrIAoxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE3wrOKvHlMeeO60ZQjuOK5c8t5EqjLV2lCwuivrWSxwIhAJTE4F1CexUgifAn50peXxV2wzHtH2u8SrXsAIKMQJV1"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.13":{"name":"meta-script","version":"0.0.13","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.13","dist":{"shasum":"39915cad0a4714556b9d5960efcfbfa0e3f706e9","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.13.tgz","integrity":"sha512-68zDovrE6gcN3Fav1fQrexND1N4c5TVDNbPmf6uzhQnWt+BMxlWNBMMVqGmAvGulyLxEQgQYz9GAykpaXYYsTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBjFSkzfdtJy96PS7g0DBDqxxedEMAO3zgrjd20O3TobAiBuqHiIDivkddjtCHaRNNiQNWGumem2XibNKcgpQzq5gg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.14":{"name":"meta-script","version":"0.0.14","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.14","dist":{"shasum":"4ba3df5552cca4379d7d56f65522c97cdd0b8e86","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.14.tgz","integrity":"sha512-2j78z9h43nQgBdy0rQNCZFbIBkYC4Hs11lDWraGJjKV5ai6HBeWV4vp8PNVqJmtGwE8x7wklAED1pHxrCroPgA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbSwz7ff4VMCI+jd+YibQlxeHnD23AL9edP9ccr1T6rQIhAOzRdHM1cD9TjuSPJbWK+ZDAMCF+kBeJiDUPbSfCiNn7"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.15":{"name":"meta-script","version":"0.0.15","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.15","dist":{"shasum":"55a6a45062a598600ec5181b5ffa2347a91807e9","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.15.tgz","integrity":"sha512-QX2UmbgkAgYhPA1s5A6rsQkg34mFa7sAd3C+e4+NCldPWEg6r37eHzzXy6zpyc/HiYz7XfyWFTGqToAejmCIdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA/56XjA+igq48LdwEsOQyhMlXISjZ8Esa3RfFzG35pDAiAH4OctZFV/j/4ouh7JyoT89s3k+LdbPaN6LBkTQAp2IA=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.16":{"name":"meta-script","version":"0.0.16","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.16","dist":{"shasum":"b9efcb9a1c8020aec595ed3e55325e0ae780c160","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.16.tgz","integrity":"sha512-jHCYbHhPCKOsypn0libSpkbnsXtZu86PRRa64c6GntcOcJwLMDm0I/PNzmOnMlnedNra3d8bGtx/ar1xfF7XSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGPEgCHAuhsaQodmaCWm75xM5McCFt/x7QOuvKMBeqXNAiEA3/Ln1enVJsVKHXl/XN0yrlqvpURjnJkxnR+qMlUUnGI="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.17":{"name":"meta-script","version":"0.0.17","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.17","dist":{"shasum":"94cf14a36e2b15802f2519697212f7bb6e7216ff","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.17.tgz","integrity":"sha512-o6xLOhLe6mPPu/TlLgo0vDh8qlBZP9R+nXjEpG6aZ6gvtWyzdxBGILvvlQGpD0KgXVfs+x+vvBn3e9ygaB/1ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFgKfTA8l6eLlT4bHbAnnGJ0MXwFtxSxfKkZBGrgTKsBAiEAivkoYTkuq2Qvyz7BAM/bSVLjzsnaxXb7qLfd5oFrDds="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.18":{"name":"meta-script","version":"0.0.18","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.18","dist":{"shasum":"ea7e47cb33be331d746e7a59d903fcbe12876f72","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.18.tgz","integrity":"sha512-wLOJ9/GCppoV5Ab1rliOuXODGk7trqPsD5NzOwsfs1yjSQKtL8GuLmXz5xudvrFfK7q2Y6R8PcOrGORbfPn72w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqu5+csG6V296fIPzV1WzAySEQLyhh2X3FxfR76IuAKQIhALPXkAw36WxWOtywzSQu639gPsQy25nyv/7+OAa2WajY"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.19":{"name":"meta-script","version":"0.0.19","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.19","dist":{"shasum":"2734b15358f6543cb1da91b486d3b2bd1d7ad56a","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.19.tgz","integrity":"sha512-QoohLFivCrjUU9o77DZX8f/5CKnahp5MuYfcuBD4wPFL0X73EkDe3An2gou/fNTgLdc0N2oZvLKtH7ZrpmXR+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbNbhDkf8SnTm0ACdIw9ykNfn5h8gYPoi6T22AFKHodAIgUUqAVNu/+4k4zYKXfvwc6lpLPtNejZKSkpfMG1hr230="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.20":{"name":"meta-script","version":"0.0.20","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.20","dist":{"shasum":"f1a6620955bbffac2df61a04cde8125097e0f00a","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.20.tgz","integrity":"sha512-k9lVrdm6o41wc9aPyhR2QFQzvfekf3xbYn8br39DVIFV/dJy9q2zdseqfBdHi/E5qsf3bfsUgGf5oR3RsO+9pQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeelcFPv/IUqTduOfuTulD95W8MVM/+aR+yXpj8cL0jQIhAPjzVDSiF/uSOApy+H36+RNH0AQEqqQBx4UD3UKnINWv"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.21":{"name":"meta-script","version":"0.0.21","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.21","dist":{"shasum":"0fa5ff5a1932ee40e03453abc8b221952b1f047c","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.21.tgz","integrity":"sha512-87cEaBe7UROQenNTxCL5g4CLTxH7D3O7i/CcVU1RqKIbe2KmTZUyUcilqfCEaWoA5ww3J3uAIwxPc+67B3Q9Nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtPYqhWIvrZ9JxTSMWSyE1euzpeCYTyPKl+fsQG9TRwAiAdRwNO85V3TZavhoTy6eQi3OQQZEDQZ+HK5+k3f1qgjw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.22":{"name":"meta-script","version":"0.0.22","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.22","dist":{"shasum":"19f7148496a14912d4270ada18fef261220b2d0c","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.22.tgz","integrity":"sha512-Q6q3aa0tLrgYWDIFs7Ze/o2l17iPF/Nhz/Tt7yWqa8MN2E82wmHjSTOybm3+hctetSm36rDxxNsJZNQA2B0ztQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGBbqL99WVypIlwqgwYjU2k3ak173Jhk8S4cZsl7OXVAiEAjjk/ZIslQ6Hac3MwH/HO5B/XcexFoqU793CEqdLUaCQ="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.23":{"name":"meta-script","version":"0.0.23","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.23","dist":{"shasum":"d3967340ccc9ea7723664f646e7b984fc3a6f8aa","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.23.tgz","integrity":"sha512-+yFiJWfhQb9VMrA3ruJfzvTfwmasmR1Izz/Bzuew3FQb8aLa3CmSD+goG6hvh0XbLE/2qJBe/gD6EEeXoGMmpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFjPiK0UmI9hH+B4ZS5ina595QLeNx1pYHGRwBweOYrqAiATwMLnmDeTwrPJ3v7QISnpqLheX7W4PQ8R7zFvbtB0vg=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.24":{"name":"meta-script","version":"0.0.24","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.24","dist":{"shasum":"5d10b8b9a45f72de371f71263df9534bdff8a686","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.24.tgz","integrity":"sha512-A2+deVIvblq+aJMKTDoEgC2/uZy2/97lSbdZEPBTfafht5KaklZilbBUq7UsxhmSFMvkkYzaltBuNaPF74qiFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLQXqy4rJeRSBCKxivb2RBH1OfW5xzWwTFwFaGdF0hvAiBU8T7tbsns0OEsRTMId7SqqYUYUoxTuDiFPKBAT/gEGw=="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.25":{"name":"meta-script","version":"0.0.25","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.25","dist":{"shasum":"f93442652d0529bd2588681977b7a4ea252f046c","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.25.tgz","integrity":"sha512-bAQN/gfT64aFGURgiet1hvejnm3DLZ+b9W88pcjdJVpz4YHJMV7Vs5nromD90yIqZWG7ClJg32asQ3KYRnHddw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2kyAsd2beQzwCKElNkA+z01Y7Lan5r3xCxu1uXyNtpQIhAKAyxe+TTJ3ERY85JJytEXoPRV9arXbmQH7dPiqIb8p7"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.26":{"name":"meta-script","version":"0.0.26","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28"},"devDependencies":{"mocha":"*","should":"~2.0.2","source-map-support":"*"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.26","dist":{"shasum":"051f9c72ad3917d242d802c2703a2368a2fa96a8","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.26.tgz","integrity":"sha512-JE934vJXHy+oTbW1y2B84pJelniU9GEmR16/G0z9BEZFjR6e3/Cc+8cmwJMiooijhIHF4LDFITnys7VRc/9T4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYkwz33ywXWEgMaLM3kfnGSv+2l2xaun9C4kgrEWhyiQIgQlHpJyFOrL+hTbdIgECciJb/fGiB6oPUa1AIXjvxcPE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.27":{"name":"meta-script","version":"0.0.27","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","source-map-support":"*"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.27","dist":{"shasum":"edbb5a393d3edf1bfbad17851504850fd4cac84b","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.27.tgz","integrity":"sha512-2gzWz/IGVPVAPFgwjTDbXuVr1fhKHWNgebGFpDtWyO26COVy0Dn1Dtm6hsHn+AuIYpoFoqrzfKYyjIwjAMpUOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzvFJ6vTHgG7B7zxgmDiPrPTWzmzcX9oEs/v5KQSl6vwIgdkAycqZK1xME1LlSU18TJTAvOVJ8IurO259JMRHd498="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.28":{"name":"meta-script","version":"0.0.28","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","source-map-support":"*"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.28","_shasum":"3c380b2177c8b668c58eef4955640affe0b31863","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"3c380b2177c8b668c58eef4955640affe0b31863","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.28.tgz","integrity":"sha512-pdc34sDfLrSukB9oiMjCz7/Scy++jxUPByUsSfVkneM21u8w1FTP6u9VMAIrp7zrubyUu4hQRHG3w6AVqe9JAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxcCNwbErw4EvGC9twWD3mPg3v5KBxad+wYw3Jrk9VPAiEAtKv3rlh8wRbe7dGnr7rYuR+av9pZbfCFo/Fddbt1KMI="}]}},"0.0.29":{"name":"meta-script","version":"0.0.29","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","source-map-support":"*"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.29","_shasum":"8120ccc61cfe76cc1b75c07f14fcf344f030806f","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"8120ccc61cfe76cc1b75c07f14fcf344f030806f","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.29.tgz","integrity":"sha512-FRXfdl77+b4BiKPF8IFYFgBwza+aEc/J2CjY/rX8hAedAmRac+EFxwD/1BGiOhUMziB+lLmCnsTEE9AIhoJgCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5Ol9NQqNRHoNSmhWledva8Rrnb1eh0eoombVs24IMxAIhAP8bMfq58a92AAnCvC+CG5uurVcP0IOg5m/49/KdzHIW"}]}},"0.0.30":{"name":"meta-script","version":"0.0.30","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.30","_shasum":"d4aea06ffc5a96fa474f07183253ff4e5865dd75","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"d4aea06ffc5a96fa474f07183253ff4e5865dd75","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.30.tgz","integrity":"sha512-HoE1Y56ZS/6M3D43PuGeBjO2Wtpp2f6RL1A888QIVr9FiB9Lug+s4hHd8PoMVQxMtVSVIQ+zaaje4AXBX5PrpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDl9Di6pgh2Q+vucjs8hsj67vEMsJwT7mjxfj0od2er+gIgC69qiXSyMsaYAnBnfo4aXg58EwUGu0z0XChB2bGyjLk="}]}},"0.0.31":{"name":"meta-script","version":"0.0.31","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js","test":"mocha"},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.31","_shasum":"6303687ed963ab676f89449cabd8d92a5e1ca4cd","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"6303687ed963ab676f89449cabd8d92a5e1ca4cd","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.31.tgz","integrity":"sha512-lYFHs7/yxuhl1r/WeQ+gQJVUwllhBR9EA04H7hByQ3KyGLZaQ/p06i8Fi3EJqDIlgSgZ4HHglM9Cb9JCWbhZ7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCCX06sGXcMDzyV2BBey0nsXfoYJ3ElNiikne/t8V+nawIhANZ9A2wUF0nvqLnqFUgL50BJ8iQvIGoL+q7TCxvfEXbk"}]}},"0.0.32":{"name":"meta-script","version":"0.0.32","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.32","_shasum":"d746b95c2171c7c5b23b6f011aba3211d8a8e8b3","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"d746b95c2171c7c5b23b6f011aba3211d8a8e8b3","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.32.tgz","integrity":"sha512-Cp3EdfHDBDn6sI/aaJ3Dyty/csYd1cssc26lfk/PvuAPPBulImAUGgwKKt/4kntYeujo8w1L2Tmb4xSZvo5KGg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0DnBuKt2OtKf2X63UhgteRa/kDHM1t1IooqmZ1obTswIhALmptmWs1Ek0rhRRs5cLAxzDApDxbrtK/+Ts+n2FnOWV"}]}},"0.0.33":{"name":"meta-script","version":"0.0.33","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.33","_shasum":"44787c73ce76b037c9dcc67056dc4e23851f8ec3","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"44787c73ce76b037c9dcc67056dc4e23851f8ec3","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.33.tgz","integrity":"sha512-iYT6jiKWxdKF5KImZ1CtnpN8pFZz3jY5pXLNLzzI8O2sWNAuXsOrAcF4pqBtuMM8858sJnuR50EEnI5wq8M0Pg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDN7B30jP/41mopHyOXQ7bQhm28A9q0KUS81TcRLuYoVAiBBnE8M5L7njOWi8sjYP1QE3ee4IiqifdRnPeCMEJkpgg=="}]}},"0.0.34":{"name":"meta-script","version":"0.0.34","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.34","_shasum":"e322d37b7477d4121663c13cff274090397fd5f4","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"e322d37b7477d4121663c13cff274090397fd5f4","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.34.tgz","integrity":"sha512-AvG4jGuv6nPmEDhEZ/l8fI2X4BKhk06/IdsPMd/A+inG30KAfz3+jw2ESHnVv/XgkiDFEvqRllTeOeCLAsYIgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxcRcKA1GaB5Def0tRkHLVllt/kY2betHM3kEO4U+RxwIhANFp0U3LQB6Do5TPEUE0c7Ioo1ydBpx1PzNnnjGEyP/j"}]}},"0.0.35":{"name":"meta-script","version":"0.0.35","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.35","_shasum":"9fd6931c8329648aeadc2dec15a463739cb8a682","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"9fd6931c8329648aeadc2dec15a463739cb8a682","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.35.tgz","integrity":"sha512-85knGXXskf8jPVkO9vuPCMpwrR4uCu8q1whVF7bUL49N3b9ZbZCWR4Hb94wCo40g101Za7Eli2b/hWc80JmNFg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKXNxsAd/eU1FumJkpAgQ+1tY4+w9qGkzWbUIiIa/1AgIhAP/vYUZQyxwOVNX+wIwUOwc8Vagsb7qD8CnsHHEwdmcP"}]}},"0.0.36":{"name":"meta-script","version":"0.0.36","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.36","_shasum":"b4cbadf2b6899e99b86846b3176daee3e959c8cf","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"b4cbadf2b6899e99b86846b3176daee3e959c8cf","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.36.tgz","integrity":"sha512-DQGV9fiuNex4ZLhKOLTzDGANhFJWnjWQSsTKPkDRFyQPLzAKG25GFuJTpYO8Q+RfpannTP77StSoM7zrlwrWLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxew9sSBpqJ7d+P1MTY/Q0GeBfxGHRZlGoK3xIO0VEMAIgIxVX/ReC7jdJKqDlBYV04HIyy3oiAJVqAUOXcZg9q9U="}]}},"0.0.37":{"name":"meta-script","version":"0.0.37","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js && node ./lib/build-regenerator-runtime.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.37","_shasum":"70421a0ee671d852bd9a7df2aa28cc38cd221e95","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"70421a0ee671d852bd9a7df2aa28cc38cd221e95","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.37.tgz","integrity":"sha512-p5yBuXVdKUf5juMXtThVyL7LxFRUyV+McOuHs/lYF/VvldLZTAjvg4VTsiNEZxMYyysaQzugD9cZ7fccjEiBeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjHfN5imQgQ2RnYBxKSMqWEHnWGEeXfvxcYMkcsvVbnwIgJr+lYT7LiBr9ZiIYWH2wPP8i068gd4S94AKMccTZzYs="}]}},"0.0.38":{"name":"meta-script","version":"0.0.38","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js && node ./lib/build-regenerator-runtime.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.38","_shasum":"f029db28c6d95ef7374ee0caf13990050e8f96d2","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"f029db28c6d95ef7374ee0caf13990050e8f96d2","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.38.tgz","integrity":"sha512-hqxLj4k2NJkYQBixan66TgZtlQuqhuGooCHDcQ0BcCwJVfCBZOtjCO9hUkfaWzL/14FWkzGw+WUOfI9ykn58fA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcJk0HQpxev/7b3Sxg2zvjZu8eKTzlj1HBADmY6ZS+LQIhAKtFiOqpVI897gm9GIwztsjBbfYXhfYKRV+3d8gvgieA"}]}},"0.0.39":{"name":"meta-script","version":"0.0.39","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js && node ./lib/build-regenerator-runtime.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.39","_shasum":"366a4ec129d361fd929d556c8243cca2acb36dca","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"366a4ec129d361fd929d556c8243cca2acb36dca","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.39.tgz","integrity":"sha512-TpX8yFyi91s5h2HIs5k7NYbV5CqgRmM1U6+GDisZG5AftMNXR4kp5BqiVkbjeb7BFWjmEgLm9h0hpfhVdjUp2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDugSLco0C9rAgE8NXHb3Evsdhyxr/unFe+MelX/sJ5+AiAPuF3q04jf49TfwZ3v5kJlgcIkUyHT9e8Soxr0EonWnA=="}]}},"0.0.40":{"name":"meta-script","version":"0.0.40","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js && node ./lib/build-regenerator-runtime.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.40","_shasum":"3a8be279f52849388a9778b4c7156e23849f0ba2","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"3a8be279f52849388a9778b4c7156e23849f0ba2","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.40.tgz","integrity":"sha512-dNVrTEfEE8PSXx7MH+0hJ/ZntRLLuSClO/Fc6bUxAK4QEVhukzfFmKtwy79onQm5HFkHRFD0EfFcyv5+WZriiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFWNlkl1sE/aP2qFoXHGvKr4OJwbwFWBdv/DfmsNEtmAAiEAgc0fMAt3fVOuPr92rAMVSPXGK+iih6HkJrEDgUWRuwc="}]}},"0.0.41":{"name":"meta-script","version":"0.0.41","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"node ./lib/build-macros.js && node ./lib/build-regenerator-runtime.js","pretest":"node ./lib/build-macros.js && node ./test/build-tests.js","test":"mocha"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.41","_shasum":"46f657c51a97836cd39d420ceaece1fcd23de480","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"46f657c51a97836cd39d420ceaece1fcd23de480","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.41.tgz","integrity":"sha512-CWAOVfwu9/HNn8r8CxA0aRmKDok0fT71Mxkv95VCl4aSKXJ6Zb56SpIfmbVoJufApvGVWKy/hg++i4DKN1KJ0Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWmTdZ1eIoHRUyI4/MYzKG03OHVHchK7SnLdM8DOkUMAiEA4tU67vO1o4feXsVjwpqQ5W3qowrNZimqcMri7pfODjk="}]}},"0.0.42":{"name":"meta-script","version":"0.0.42","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"meta-script":"=0.0.41","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"bb8a459f76f8353e28c2124b7c7d3f294f5ec2e1","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.42","_shasum":"f75409b3c722561122899d3c69f88c1ab71934a2","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"f75409b3c722561122899d3c69f88c1ab71934a2","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.42.tgz","integrity":"sha512-OySzH5o469d4FBhfv1fWEIYiDa0hNnHElGW7I1SyHfeVALyXmN3kHuYXICKvvOCw0/qZpmNe1KpvKt7xYSy/ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLQdR5n3GyYoVnSZVvGRiaJhtojGV6e99g/vCjqGbfFAIhAPb3m/H/CZwom+iftvCoAU/ZYCRkDlCla7piPNQ3BSYR"}]}},"0.0.43":{"name":"meta-script","version":"0.0.43","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"meta-script":"=0.0.41","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"79676a4f092baa202ae1b67b1e7ea13a21e6d7a3","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.43","_shasum":"1e2a9af0c6631dc54dd8151bfa9a81ddb48e349c","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"1e2a9af0c6631dc54dd8151bfa9a81ddb48e349c","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.43.tgz","integrity":"sha512-/siVepvm1f+D7RNgL0pyhIt667dgrZZ7m42pUpGhywBOLNQwxUat1L906/tl0ZWlxGqD2stoneGR96oTmTRe0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICoCJsoWWkcVTieUH1qDIGY5EU+5f/Faqt9qwzn1538lAiB1Hb2yV0xQkoEoH1vFGJUiehrZ9EDEBBjF9geRt/76Vw=="}]}},"0.0.44":{"name":"meta-script","version":"0.0.44","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"meta-script":"=0.0.41","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"7c8f6f753e370b0d7ffaa33af2bbbd4d837a2037","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.44","_shasum":"46d1eadf93ff44dfe045094026f95ad313a71427","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"46d1eadf93ff44dfe045094026f95ad313a71427","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.44.tgz","integrity":"sha512-k1/pVfuFDNBXT1m3ikNSjsQS566lsq342qSwiaCZ6NMDBWqFddN3On1r7cdcyJDZMR2vA4sHMrZehUrmxJqtKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBHZaS2/Ry5da9tL9p7mBSo0xduXXinq2AMPCC6COV/IAiBE4T+MmwDID+ivC0FBsJ8+y7GvTDAcKsw/AoVMRCykcA=="}]}},"0.0.45":{"name":"meta-script","version":"0.0.45","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.4.8"},"devDependencies":{"meta-script":"=0.0.41","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"464cb217df8b686816cc34595f1ab9fbba03fb33","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript","_id":"meta-script@0.0.45","_shasum":"d38a7552491d76f37b59add5ddcd2ff3c074ed23","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}],"dist":{"shasum":"d38a7552491d76f37b59add5ddcd2ff3c074ed23","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.45.tgz","integrity":"sha512-2kVzL/B+4ldnYo+DEZpB7UUDUiq4zy226eCgT5btaxANU2c146k6U4BDgp3koufxwAaJ5YvGsfYloPQ1+K3r3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6unqjPWBmPd6gimEO1IY29Zffe6XaEVk7rbaOhhB5awIgUinXTkBX3jnqHawD7qaSGQDKJkA7KME990v4MMRRyRw="}]}},"0.0.46":{"name":"meta-script","version":"0.0.46","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"git+https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.8.30"},"devDependencies":{"gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"3bd61c5e3966d789a9fe49724feb5889dabaeff2","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript#readme","_id":"meta-script@0.0.46","_shasum":"7b6dfc5c37ec2a769f889f733df7967d02ea979b","_from":".","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"dist":{"shasum":"7b6dfc5c37ec2a769f889f733df7967d02ea979b","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.46.tgz","integrity":"sha512-TtAkTBVX5gzNOkp1/1b5tDsXwnAHF/6JrMgbDl4wJbTWyDPWRZ6RHNkdQowDsw0DKH6ETkeEG7uycq9fTAKrkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAZvdJcxh7DucY5HxGUT6g9C2bXG6xwUVPH1qzMrLuy2AiEAzkTdDLhWgs5H4sJv8K4cw2VfLH9ypA0NnQCDioVveF8="}]},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.47":{"name":"meta-script","version":"0.0.47","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"git+https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.8.30"},"devDependencies":{"meta-script":"0.0.46","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"086a607e4c1f8227a40cc158c7cc9a6c36e25454","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript#readme","_id":"meta-script@0.0.47","_shasum":"3d2b5197739ee69490792afba8d548de1f3a3e0a","_from":".","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"dist":{"shasum":"3d2b5197739ee69490792afba8d548de1f3a3e0a","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.47.tgz","integrity":"sha512-jz14q6b/e+txeW8VCqRv41WOrxKi17jOVBecBTYl3BlnojVdl5TgN1zrIzbS3L5X4eQ4RNyazJhXhgKt3NQx3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA7OSFrJiZwbXlXz3RwTWaVyhKOmrNa+TlPh68/P6yGhAiEAjZr6BfB+VkC7scfz20R7NtJw2xGF16RxA4RPZTGIq7U="}]},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"}]},"0.0.48":{"name":"meta-script","version":"0.0.48","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"git+https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.8.30"},"devDependencies":{"meta-script":"0.0.46","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"29da46f9ce98110b795292a222e7297a8e9421d3","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript#readme","_id":"meta-script@0.0.48","_shasum":"68b0eb2f28598571d0f22c758274ad830ba5569d","_from":".","_npmVersion":"2.9.0","_nodeVersion":"1.8.4","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"dist":{"shasum":"68b0eb2f28598571d0f22c758274ad830ba5569d","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.48.tgz","integrity":"sha512-2i/K6BY3d8pUmIH4pcypg7HnSdBZ3SBasKI2SgQEiojBY1Dy/7xkSlzWoef8uWgGO3ZKk48yFDYBjGVmWPEfGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtVX2ldI9EzMp8g0mLZv9aZKpMTewdDlw2i8xJFdtSaAIhAMVGOqv9+sr2JJEhoFOPsAP5PCyRXR8bH+sDR9WauJNQ"}]},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},{"name":"bamboo","email":"rbo@acm.org"}]},"0.0.49":{"name":"meta-script","version":"0.0.49","author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"description":"A language with a compiler that targets Javascript.","repository":{"type":"git","url":"git+https://github.com/massimiliano-mantione/metascript.git"},"main":"./lib/meta","bin":{"mjs":"./bin/mjs"},"dependencies":{"escodegen":">=0.0.28","require-like":"^0.1.2","source-map-support":"*","minimist":"0.1.0","colors":"0.6.2","parentpath":"0.2.0","pretty-hrtime":"0.2.1","regenerator":"0.8.30"},"devDependencies":{"meta-script":"0.0.46","gulp":"^3.8.1","gulp-cached":"0.0.3","gulp-exec":"^2.0.1","gulp-mocha":"^0.4.1","gulp-util":"^2.2.17","mocha":"*","should":"~2.0.2"},"scripts":{"prepublish":"gulp regenerator build","test":"gulp test --reporter spec"},"mjsConfig":{"mapEmbed":true},"jshintConfig":{"globals":{},"browser":false,"node":true,"strict":false,"white":true,"smarttabs":true,"undef":true,"unused":true,"onecase":true,"lastsemic":true,"newcap":false,"maxlen":100,"indent":2,"predef":["describe","it","before","beforeEach","after","afterEach"]},"keywords":["compiler","language","metaprogramming"],"license":"MIT","engines":{"node":">=0.8"},"gitHead":"b7ca021c091c45b93cb93a05b829755fc7c32b78","bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"homepage":"https://github.com/massimiliano-mantione/metascript#readme","_id":"meta-script@0.0.49","_shasum":"3d6100c29d2cf3b55963ca38ee06e8914cf24a6d","_from":".","_npmVersion":"2.9.0","_nodeVersion":"1.8.4","_npmUser":{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},"dist":{"shasum":"3d6100c29d2cf3b55963ca38ee06e8914cf24a6d","tarball":"https://registry.npmjs.org/meta-script/-/meta-script-0.0.49.tgz","integrity":"sha512-et0/7LfTJV4/pMSrtm7GJYwdcBPOgC+zqA+4ZCL2OwKidVaqEllJwa62ok8IGcEKioT8aXHiMOHT9giIbefDNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmS0WqOkrLso8E/3s3iz9Qj5gsuqY/YPn5kuM1J8sJqAiB5bFMCLCUKhePkaihRezLjZl0Drv5Wunb2JfnsIt2K3w=="}]},"maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},{"name":"bamboo","email":"rbo@acm.org"}]}},"readme":"Metascript\n==========\n\nThis is yet another programming language that compiles to Javascript.\nThe main goal is to have a language that can have a readable syntax, and at the same time allow lisp-style metaprogramming (macros that can manipulate the AST).\nAnother goal is to have a type system, for optionally performing static type checking (with type inference).\n\n\nProject Status\n--------------\n\n[![Build Status](https://travis-ci.org/massimiliano-mantione/metascript.svg?branch=master)](https://travis-ci.org/massimiliano-mantione/metascript)\n\nThere a library (npm module) implementing the compiler, with a script to invoke it on from the command line (as 'mjs <input.mjs>').\nEverything described below already works, and the compiler generates source maps by default.\n\n\nTo run the tests, do the following:\n- clone the repository at \"https://github.com/massimiliano-mantione/metascript\", then\n- run \"npm install\" and \"npm test\".\n\nOtherwise, if you only want to try the compiler, just do \"npm install meta-script\" and have fun running the 'mjs' script. But I'd still suggest to have a look at the tests written in Metascript to see some code samples.\n\nThere is [Gulp](http://gulpjs.com/) integration [here](http://github.com/bamboo/gulp-mjs), and a [Lighttable](http://www.lighttable.com/) plugin [here](http://github.com/bamboo/MightTable), thanks to [Bamboo](http://bamboo.github.io/).\n\nThere is a Google group (metascript@googlegroups.com), discussion about Metascript is supposed to happen there.\n\nHave a look at the TODO list at the end to see what's coming next.\n\n\nA Quick Taste of the Language\n-----------------------------\n\nOur favorite first statement:\n\n```\nconsole.log 'Hello, Metascript!'\n```\n\nAn 'if' expression:\n\n```\nrequire 'should'\n(if true 1 else 2).should.equal 1\n```\n\nA concise definition of a function that returns the factorial of its argument (note that the syntax looks like a tail recursive definition but it is compiled into a plain loop):\n\n```\nvar f = (x) ->\n  loop (var r = 1, x)\n    if (x > 0)\n      next! (r * x, x - 1)\n    else\n      give! r\nf(1).should.equal(1)\nf(2).should.equal(2)\nf(3).should.equal(6)\nf(6).should.equal(6 * 5 * 4 * 3 * 2)\n```\n\nMetascript supports real macros! Here is how we could define an '@' operator that behaves like the Coffeescript one:\n\n```\n#defmacro @\n  arity: unary\n  precedence: HIGH\n  expand: (arg) ->\n    `this . ~`arg\n\nvar obj = {\n  a: 1\n  b: 2\n  m: () -> (@a + @b)\n}\n\nobj.m().should.equal(3)\n```\n\nIn the above code '`' is the *quote* operator, and '~`' is the *unquote* one.\n\nMore generally, the core Metascript language is relatively small and every advanced construct can be implemented with macros (about metaprogramming, the only primitive is a very basic '#quote' operator, everything else is done with macros, including ` and ~`).\n\n\nMotivation\n---------------------\n\nThe fact that Javascript  is a \"problematic\" language is well known.\nSomebody takes it as it is, while others have implemented transpilers that translate arguably better languages into Javascript.\n\nI have examined several of those projects but none of them is ideal for me.\n[Coffeescript](http://coffeescript.org/) is really nice, probably the only issue I have with it is that its syntax is a bit irregular. Other than that I like how it encourages a more functional coding style, how it fixes comparison operators and in general the readability of Coffeescript code.\nThen [Typescript](http://www.typescriptlang.org/) adds a type system that can be useful for large projects. However as a language it is still plain Javascript, with all its problems.\nHaving a mix of Coffescript and Typescript would be nice but they cannot be \"merged\": one has to choose.\nAnd finally, the thing I am missing the most is language extensibility, in the form of [Metaprogramming](http://en.wikipedia.org/wiki/Metaprogramming) as you can do with Lisp and Scheme macros. There is a nice language, [Lispyscript](http://lispyscript.com/), that tries to bring this to Javascript, but it is a Lisp, with its syntax full of parenthesis which for me is not ideal...\n\nSeveral other languages have inspired me in various ways:\n - [Boo](http://boo.codehaus.org/) is simply amazing, but it is designed with a CLI runtime environment in mind and not a Javascript one.\n - [Roy](http://roy.brianmckenna.org/) is an interesting attempt at providing a [Haskell](http://www.haskell.org/haskellwiki/Haskell)-like language.\n - [Clojurescript](https://github.com/clojure/clojurescript) also provides metaprogramming and is _really_ nice, with the issue that it still has a Lisp-plagued syntax and that it feels \"closer\" to the [Clojure](http://clojure.org/) ecosystem than to the Javascript one...\n\nIn the end I decided that none of them fits my bill completely, and I implemented Metascript.\n\nThe Metascript Language\n------------\n\nThe goal is to have a language that can have a readable syntax (inspired by Coffeescript), and at the same time allow lisp-style metaprogramming (macros that can manipulate the AST).\n\nLisp-like languages have a \"clean\" syntax because, in a sense, they have no syntax at all: they explicitly use parenthesis everywhere to express the grouping of expressions.\nMetascript uses a combination of parenthesis, indentation and infix operators so that the syntax is more \"comfortable\" and similar to the one used in mainstream programming languages.\n\n### Expressions\n\nSimple expressions are intuitive to read:\n\n```\n(1 + 2 * 3).should.equal 7\n```\n\nIn Metascript there is no real distinction between expression and statement: almost every construct is an expression.\nParticularly, 'if', 'loop', 'do' (_do_ is the equivalent of code blocks) and 'try' are expressions that produce values and can be freely nested inside other expressions:\n\n```\nvar mood = if happy ':-)' else ':-('\n```\n\nIn general this reduces the need for temporary variables and encourages (or at least allows) a more 'functional' coding style.\n\n### Grouping\n\nOf course more complex expressions will need some form of grouping.\nIn general expressions can be grouped for two reasons:\n- to evaluate all of them and pass the results to another expression (like in the case of the arguments of a function call), or\n- simply to evaluate all of them sequentially discarding the values (like in a code block).\nIn both cases the developer can choose to group expression with parenthesis or indentation.\nWhen parenthesis are used the subexpressions must be separated by commas ',':\n\n```\nfunctionCall(1, 2, 3)\n```\n\nwhile when indentation is used the separators are the line breaks:\n```\nfunctionCall\n  1\n  2\n  3\n```\n\nThe idea is that indentation levels add nested parenthesized expressions to the parent expression. Every newline can do one of three things:\n- be _more_ indented: it adds a nested subexpressions as an operand of the current one,\n- be _less_ indented: it closes all the expressions (or blocks) that are more indented and resumes adding operands to the current level\n- be at the _same_ level as the previous line: it adds another subexpression to the current block\nNote that the indentation rules are simple and they do not depend on operator precedence at all. Inside each line of code, however, standard Javascript operator precedence rules are applied.\n\nSince with these rules the semicolon delimiter ';' is totally useless (commas work just fine) in Metascript it starts a comment:\n\n```\n; Here is a comment!\nconsole log 'The above line is a comment.'\n```\n\nwhich means that ending lines with semicolons is harmless but useless :-)\n\n### Control Flow Expressions\n\n#### if\n\nAn _if_ expression works mostly as expected.\nIt can have only one consequent, like here:\n\n```\nif problem\n  console.log error\n```\n\nor it can have an else branch:\n\n```\nif ok\n  activate engine\nelse\n  stop\n```\n\nIf it is complete (it has both a consequent and an else branch) it can be used as a nested expression similarly to the Javascript ternary 'c ? x : y' operator.\n\n#### do\n\nTo understand the need for _do_ blocks we should have a look at tuple assignments first.\nIn Metascript one can write\n\n```\nvar (a, b) = (1, 2)\na.should.equal 1\nb.should.equal 2\n```\n\nand even\n\n```\nvar (a, b) = if true (1, 2) else (3, 4)\na.should.equal 1\nb.should.equal 2\n(a, b) = (b, a)\na.should.equal 2\nb.should.equal 1\n```\n\nIn other words, a sequence of expressions is just that: a sequence of values (or, better, a _tuple_).\n_if_, _do_, _loop_ and all the assignment operators can deal with tuples, and technically every function invocation uses a tuple as arguments.\n\nNow consider the following two _if_ expressions:\n\n```\n; A tuple evaluation\nvar (a, b) = if condition (f 1, f 2) else (f 3, f 4)\n\n; Imperative execution of expressions, discarding their values\nif condition do\n  f 1\n  f 2\nelse do\n  f 3\n  f 4\n```\n\nIt should be clear that in the second one _f_ is invoked discarding its return value, only for its eventual side effects, and the _if_ expression executes one of the two _do_ blocks according to the value of _condition_.\n\nHowever, _do_ expression **can** return a value!\nConsider the following:\n\n```\nvar status =\n  if ok do\n    console.log 'Starting up'\n    engine.power 100\n    give! 'moving'\n  else do\n    console.log 'Stopping'\n    engine.power 0\n    give! 'stopped'\n```\n\nThe meaning should be clear: status will be either 'moving' or 'stopped', the _if_ works like an expression selecting one of the two values, and the two _do_ code blocks execute 'statements' (they evaluate expressions but discard their values) but they also 'return' values so that the _if_ expression can use them.\n\n#### Data flow considerations\n\nThe Metascript compiler performs some basic data flow analysis on the code it processes.\nParticularly, it checks the following:\n- that every assignment has an assignable expression on its left side,\n- that every expression produces the required value (or values),\n- that every variable has been declared in the current scope, and\n- that every variable is not used undefined (this is still unimplemented)\n\nEvery expression is evaluated in a context where a certain number of result values is required. For instance, consider the following assignment:\n\n```\nvar a = b + c\n```\n\nHere the expression _b + c_ needs to produce one result because the assignment requires one value. In the following example, however, the expression needs to produce two values:\n\n```\n(o.x, o.y) = (x + dx, y + dy)\n```\n\nand in fact it is a tuple of length two. And, of course, the following example will cause a compile error:\n\n```\nvar m = (x, y)\n```\n\nThe rules are simple:\n- Assignable expressions are:\n    - variables and function arguments, and\n    - the result of _member_ expressions (either _x.y_ or x[y]).\n- Assignment operators count the number of expressions on their left, check that they are assignable, and require an equal number of values on the right.\n- _if_ and _do_ expressions must produce the number of results required from their context\n    - _if_ expressions produce results by simply evaluating them\n    - since _do_ expressions already evaluate a sequence of expressions, if they must produce a value they can be terminated in two ways:\n      - with a _give!_ statement that specifies the result of the _do_, or\n      - their last expression is assumed to be the result of the _do_.\n- Function invocations are like a binary operator that requires one value on the left (the callee) and an argument on the right, which can be a tuple (the arguments).\n- Every other operator requires exactly one value for each operand.\n\nIn Metascript it is necessary to specify the _do_ keyword every time a tuple is provided in a context where values are required but it must not be evaluated as a tuple. In this case the result of the _do_ expression (which _could_ be a tuple!) must be provided by a _give!_ expression.\nOf course _give!_ expressions can be used inside conditional statements (_if_ branches), in any case when \"evaluated\" they terminate the current _do_ block and provide its result(s).\n\nTo keep the code less verbose I also made the _give!_ at the end of a _do_ optional, assuming that the last expression of the _do_ sequence will be its result (the suggestion came from [Bamboo](http://bamboo.github.io/), the desigmer of [Boo](http://boo.codehaus.org/)). Therefore the above example can also be written like this:\n\n```\nvar status =\n  if ok do\n    console.log 'Starting up'\n    engine.power 100\n    'moving'\n  else do\n    console.log 'Stopping'\n    engine.power 0\n    'stopped'\n```\n\nBut note that Metascript encourages a coding style where side effects are condensed in assignment expressions and _do_ sequences can be avoided: the above code snippet can also be written like this (with almost identical results):\n\n```\nvar (status, message, power) =\n  if ok ('moving', 'Starting up', 100)\n  else ('stopped', 'Stopping', 0)\nconsole.log message\n```\n\n#### loop\n\nMetascript has only one kind of _loop_ expression, and it tries to mimic the syntax of tail recursive invocations (but it generates plain loops in Javascript). Just like in Lisp-like languages, other looping constructs can be defined with macros.\n\nLet's write the 'factorial' computation of a number _x_ that we get from some _input_ function:\n\n```\nvar x = input()\nvar r = loop (r = 1, x)\n  if (x > 0)\n    next! (r * x, x - 1)\n  else\n    give! r\nconsole.log('The factorial of ' + x + ' is ' + r)\n```\n\nA _loop_ expression has two arguments:\n- a tuple of assignable expressions (with optional initializers), and\n- one expression which is the loop body.\nJust like a _do_, it can be terminated with a _give!_ statement which provides the result of the _loop_ expression.\nHowever it also allows the use of a _next!_ statement, which:\n- needs a tuple of values, of the same length of the _loop_ tuple,\n- provides one new value for each element of the _loop_ tuple, and\n- jumps to the beginning of the loop.\nThis final 'jump' performed by _next!_ is what makes _loop_ work like a tail recursive function, and the _loop_ tuple acts like the arguments of this imaginary function.\nThe _next!_ and _give!_ keywords are one of the few Metascript constructs that are not expressions: they cannot \"provide a value\" because they are like jump statements.\n\n_TODO_ Explain better why I choose this as the only looping primitive and how every other loop construct can be implemented as a macro (and there will be a standard library of such macros).\nNote that there are already examples of these macros in the tests.\n\n### Variable declarations\n\nMetascript, like Cofeescript, tries to shield the programmer from subtle errors that can creep into Javascript programs when an undeclared variable is assigned (which causes the creation of a new property in the global object).\n\nHowever in Metascript the rules are different: the programmer must explicitly declare every variable.\nMetascript puts every declaration at the beginning of the local \"Javascript scope\" in the generated code (which means either the beginning of the compilation unit, or the beginning of the current function), but it handles naming resolution like if the language had block scoping.\nMoreover, Metascript does not allow the declaration of a variable with a name already used in the current scope (in this case I mean _block_ scope and not _function_ scope). I made this choice because scoping (and captured variables) are really important in Javascript, and I think that redefined names cause ambiguities reading code and should be avoided. Moreover, with this rule, if one never relies on the value of undefined variables (note, _undefined_, not just _undeclared_!), for all practical purposes Metascript provides variable declarations with local scoping which IMHO is a very desirable thing to have.\nAnd since the data flow analysis performed by the Metascript compiler disallows uses of undefined variables local (this piece of analysis is still unimplemented) using an undefined variable is not possible anyway.\n\n### Function Definitions\n\nFunctions are defined as expressions using the '->' operator (the resulting value must be used or assigned somwehere), with a syntax just like the Cofeescript one:\n\n```\nsquare = (x) -> x * x\ncube = (x) -> square(x) * x\nsquare(2).should.equal 4\ncube(2).should.equal 8\n```\n\nTo remind the grouping syntax, the following definitions do the same thing as the above ones:\n\n```\nsquare = (x) ->\n  x * x\ncube = (x) ->\n  square(x) * x\n```\n\nAbout data flow analysis, in Metascript the assumption is that a function body is an expression that produces exactly one value (it is like a tuple of arity one), which is then returned by the function.\nThe only exception to this is if the body is a return statement (which is handled in the obvious way).\n\nTo clarify, all the following functions return the same value (even if the 3rd causes a side effect before returning it):\n\n```\nvar f1 = () -> 42\nvar f2 = () -> return 42\nvar f3 = () ->\n  console.log 'I am returning the answer'\n  42\n```\n\n\n### _TODO:_ switch, case\n\nTechnically, a _switch_ could be implemented with a sequence of chained _if...else_ expressions, so it could be implemented as a macro.\nThere is one special case where being able to emit a real Javascript _switch_ statement would have a small performance advantage: if the _case_ arguments are all integers, a smart virtual machine can emit a very fast jump table.\n\nMy plan is to implement a _switch_ macro that can be easily extended with various matching patterns in case statements, and eventually handle the \"switch to jump table\" optimization in the code generation of _if_ expressions.\nThis will keep the core language smaller which is important for macros that manipulate the control flow in advanced ways.\n\n### Compound Literal Values\n\nMetascript supports array and object literals exactly like Javascript, and uses roughly the same syntax to define them (_[]_ for arrays and _{}_ for objects).\nThe only difference comes from the fact that indentation rules can be used inside literals, too.\n\nThe trick is the following:\n- If, after an open _[_ or _{_, something is written on the _same_ line, the parser stays in _()_ mode and expects commas as separators for the value elements (or properties).\n- If, on the other hand, a newline is found immediately after the opening of the literal, the following block will be taken as the object content (using newlines as separators and following the indentation rules).\n\nThis is best shown with an example, in which we have two identical definitions:\n\n```\nvar obj1 = {a: 1, b: 2}\nvar obj2 = {\n  a: 1\n  b: 2\n}\n```\n\nI know that Cofeescript allows the programmer to omit _{}_ braces entirely when defining object literals, and I consciously decided to take a different route and make them mandatory. Doing otherwise would have created way too many ambiguities in the parser (and, IMHO, also in reading code). Moreover, it is really easy to write a macro that builds an object literal without requiring braces! (more about this in the _Metaprogramming_ section)\n\n### String Interpolation and \"heredoc\" Strings\n\n_TODO_: please note that this is still not implemented in the parser, I plan to do it soon.\nMetascript does not really provide string interpolation, however it allows to concatenate strings and the results of other expressions very easily.\nThe trick is the following: even with string interpolation, one usually must introduce some kind of \"delimitation character\" in the string to separate the expressions from the string literal (something like \"The distance is ${speed * time} meters\").\nWithout string interpolation, the above string would need to be written with this expression:\n\n```\nvar s = \"The distance is \" + (speed * time) + \"  meters\"\n```\n\nand what is annoying is that the programmer must write both the quotes and the _+_ operators.\nHowever, one can note that the following expression would be illegal\n\n```\nvar s = \"The name is \" name\n```\n\nbecause the parser, finding no operator, would attempt to produce a function call where the callee is the string literal, which makes no sense and would cause a runtime error.\nSince the expression would be illegal it would be nice to use that kind of construct in a useful way.\n\nTherefore Metascript supports an abbreviated form of string concatenation, like this:\n\n```\nvar s1 = \"The distance is \" (speed * time) \"  meters\"\nvar s2 = \"The full name is \" surname \" \" name\n```\n\nwhich for practical purposes works just like string interpolation, and is translated into the following code:\n\n```\nvar s1 = \"The distance is \" + (speed * time) + \"  meters\"\nvar s2 = \"The full name is \" + surname + \" \" + name\n```\n\nAlso having a string that \"calls a tuple\" (another construct that would make no sense) is translated into a repeated concatenation of the string with every element of the tuple, allowing code like this:\n\n```\nvar longString = ''\n  'One string, '\n  'another string, '\n  'one more string...'\nvar interpretedAs '' 'One string, ' 'another string, ' 'one more string...'\nvar whichMeans '' + 'One string, ' + 'another string, ' + 'one more string...'\n```\n\nFinally, Metascript supports \"heredoc\" strings, which start with three consecutive quotes followed by anything (even the empty string) and then a newline, and are closed by a line starting with exactly the same sequence of characters (including the quotes), like this:\n\n```\nvar longString = '''end\nOne line,\nanother line,\none more line...\n'''end\n```\n\nNote that _end_ in the above example can be anything, even the empty string, it is used only to make it easier for the programmer to produce long strings that contain lines that start with exactly three consecutive quotes...\n\nMetaprogramming\n---------------\n\nMetascript supports metaprogramming allowing the developer to write macros that modify the AST at compile time. This makes the language extensible because macros can define new language constructs. It is also practical because new keywords and operators can be added to make code easier to read (and less tedious to write!).\n\nLet's see, as an initial example, how to define an operator that, like Coffescript's _@_, translates into \"_this._\" in the final program:\n\n```\n#defmacro @\n  arity: unary\n  precedence: HIGH\n  expand: (member) ->\n    if (member.tag?())\n      `this . ~`member\n    else if (member.array?())\n      if (member.count == 1)\n       `this [~`member.at 0]\n      else if (member.count == 0)\n        `this\n      else do\n        member.error 'Only one member selector is allowed'\n        null\n    else do\n      member.error 'Invalid object member'\n      null\n```\n\nThis macro could be used in the following way:\n```\nvar obj = {\n  a: 1\n  b: 2\n  aaa: 42\n  m1: () -> (@a + @b)\n  m2: (x, y) -> @[x + y]\n  me: () -> @[]\n}\nobj.m1().should.equal(3)\nobj.m2('a', 'aa').should.equal(42)\nobj.me()['aaa'].should.equal(42)\n```\n\nIn Metascript the #defmacro keyword defines a new macro, and it must be followed by the symbol that is being defined and by a tuple of properties with a syntax like the one used in properties in object literals:\n- _arity_ to specify the number of arguments of the operator, it defaults to 'unary', other useful values are 'binary', 'optional' (for as keyword that might or might not have an operand), 'zero', or others that will be documented later.\n- _precedence_ defines the operator precedence (_TODO_: document the precedence table), defaults to 'KEY'.\n- _dependsFrom_ is for keywords that must work together with others to build more complex constructs (like _catch_ is related to _try_, or _else_ is related to _if_).\n- _expand_ is the only mandatory property, it provides the code that implements the macro.\n\nTechnically the macro implementation has two variables in its scope:\n- _ast_ is the root of the AST tree where the macro must be expanded (in the above example _ast_ will be _@a_, _@b_ and then _@[x + y]_).\n- _meta_ is an object that represents the compilation environment (still undocumented, will be useful in complex code generation scenarios, and can be ignored for now).\n\nHowever the #defmacro construct simplifies this, and allows the programmer to declare arguments to the _expand_ function, which will have the value of the AST children of the _ast_ argument.\n\nIn the above example the macro does the following (remember that it runs at _compile_ time, at every use of the defined symbol in the source code):\n- it extracts the argument passed to the _@_ operator and assigns it to _member_\n- it checks if it is a \"tag\" (which means an identifier) or not\n\nNow we must explain what _code quoting_ is.\nIn Metascript the _`_ operator is the _quote_ operator for parse trees, it is the one that provides the macros new pieces of code to put into the final program.\nIn the above example we have three such snippets of code:\n- _this.member_, which makes sense if _member_ is a tag,\n- _this[member]_, which must be used otherwise, or\n_ _this_ if there is no member.\n\nThen we should introduce the _unquote_ operator: it allows the programmer to put the result of an expression inside quoted code.\nNote that the expression must produce a valid AST!\n\nThe macro code selects the correct code snippet and returns it.\n\nThe Metascript compiler will then replace the _@_ occurrence with the code returned by the _expand_ function in the macro definition.\nThis will make the method definitions look like this:\n\n```\n  m1: () -> (this.a + this.b)\n  m2: (x, y) -> this[x + y]\n  me: () -> this\n```\n\nOf course this is a very simple macro.\nMore complex ones can accomplish more useful tasks.\nFor instance in the core macros there is a _while_ statement, implemented like this:\n\n```\n#keepmacro while\n  arity: binaryKeyword\n  precedence: LOW\n  expand: (condition, body) ->\n    ` loop ()\n      if (~` condition) do\n        do\n          ~` body\n        next! ()\n```\n\nAfter this macro we can write something like this:\n\n```\nvar (c = 1, r = '')\nwhile (c <= 3)\n  r += c\n  c = c + 1\nr.should.equal '123'\n```\n\nand of course the test would pass.\n\nHow the macro works should be obvious: _expand_ returns the \"skeleton\" of the code we want to emit, with _condition_ and _body_ inserted in the proper places (using the _unquote_ operator).\n\n\nAnother useful Metascript feature is the ability of producing variables with unique names when expanding macros, without forcing the programmer to explicitly call \"gensym\"-like functions (for those that know Lisp and Scheme, this means that Metascript makes it easy to write [hygienic macros](http://en.wikipedia.org/wiki/Hygienic_macro)).\nTo make use of the feature the programmer needs to use the _\\\\_ operator before identifiers that must be made unique, like this:\n\n```\nvar code = \\<- do\n  var \\condition = f(g)\n  if (\\condition) ...\n```\n\nEvery time a macro containing that quoted code will be expanded, _condition_ will get a unique identifier. Therefore multiple uses of the macro in the same scope will not cause problems with redeclarations of the same variable.\n\nThis introduction only scratches the surface of metaprogramming.\n\nI hope that it at least makes it clear why I kept the core of the Metascript language very small: everybody has his opinions about which constructs a programming language should provide, and I am pretty sure that I cannot make everyone happy. At least in this way everybody can  extend the language as he pleases.\nMoreover, this will make the implementation of \"global\" features easier. For instance, think about the introduction of a type system: since there are only a handful of base language constructs, it is easier to implement type checking for them than how it would be for a language that needs to provide more \"builtin features\" because it cannot be extended.\n\nTODO List\n---------\n\n- Organize the todo list as issues that can be tracked on Github\n- Expand the [Light Table](http://www.lighttable.com/) [plugin](http://github.com/bamboo/MightTable):\n  - at the cursor location, make it possible to inspect:\n    - the AST produced by the parser\n    - the AST after macro expansion\n    - the generated javascript code\n    - the arity of the expression as inferred by the compiler\n  - it would be nice to have a mode where the editor automatically selects the current expression (AST subtree) at the cursor location, and changes it following the cursor movement\n  - maybe implement a ternjs-like code analysis to have member autocompletion\n- Document the AST API that can be used inside macros and the existing core macros, especially the ones that implement the meta-module system (libraries of macros).\n- Document the [Masakari](https://github.com/bamboo/masakari) library of macros.\n- Add more macros, like\n    - generators\n    - small useful operators\n    - 'double arrow' functions\n- Implement the trick about string interpolation\n- Implement the type system, and expand the lighttable plugin to provide type-assisted autocompletion.\n- Finish this TODO list :-)\n","maintainers":[{"name":"mmassi","email":"massimiliano.mantione@gmail.com"},{"name":"bamboo","email":"rbo@acm.org"}],"time":{"modified":"2022-06-19T18:07:35.305Z","created":"2014-01-18T16:38:19.048Z","0.0.1":"2014-01-18T16:38:19.048Z","0.0.2":"2014-02-04T09:42:53.342Z","0.0.3":"2014-02-12T09:56:18.924Z","0.0.4":"2014-02-12T15:37:02.333Z","0.0.5":"2014-02-13T11:58:00.752Z","0.0.6":"2014-02-13T17:22:44.101Z","0.0.7":"2014-02-14T14:04:04.658Z","0.0.8":"2014-02-18T07:46:47.912Z","0.0.9":"2014-02-24T08:15:11.055Z","0.0.10":"2014-02-27T10:40:34.171Z","0.0.11":"2014-03-03T09:57:08.273Z","0.0.12":"2014-03-12T13:11:55.822Z","0.0.13":"2014-03-12T13:15:57.684Z","0.0.14":"2014-03-20T21:00:11.396Z","0.0.15":"2014-03-24T08:21:10.099Z","0.0.16":"2014-03-26T09:28:29.643Z","0.0.17":"2014-04-04T09:45:53.782Z","0.0.18":"2014-04-08T07:51:44.220Z","0.0.19":"2014-04-08T19:09:22.818Z","0.0.20":"2014-04-09T09:38:12.186Z","0.0.21":"2014-04-09T14:08:49.632Z","0.0.22":"2014-04-09T14:26:32.615Z","0.0.23":"2014-04-10T12:37:39.636Z","0.0.24":"2014-04-16T12:43:49.516Z","0.0.25":"2014-04-27T09:18:53.648Z","0.0.26":"2014-04-27T09:37:35.122Z","0.0.27":"2014-04-27T09:53:25.829Z","0.0.28":"2014-05-08T13:23:42.965Z","0.0.29":"2014-05-23T14:48:21.158Z","0.0.30":"2014-05-26T09:01:46.244Z","0.0.31":"2014-05-30T07:20:13.936Z","0.0.32":"2014-06-03T09:38:01.816Z","0.0.33":"2014-06-04T07:10:46.191Z","0.0.34":"2014-06-04T07:21:13.050Z","0.0.35":"2014-06-04T07:23:18.696Z","0.0.36":"2014-06-04T07:39:25.077Z","0.0.37":"2014-06-16T20:03:13.361Z","0.0.38":"2014-06-16T20:32:27.182Z","0.0.39":"2014-06-18T13:44:21.387Z","0.0.40":"2014-06-18T14:17:45.653Z","0.0.41":"2014-06-19T07:15:04.319Z","0.0.42":"2014-06-27T07:56:44.397Z","0.0.43":"2014-07-29T07:29:29.861Z","0.0.44":"2014-08-05T13:14:20.313Z","0.0.45":"2014-08-08T13:01:32.077Z","0.0.46":"2015-06-23T09:04:55.430Z","0.0.47":"2015-06-23T09:07:32.823Z","0.0.48":"2015-10-06T08:33:18.164Z","0.0.49":"2015-10-06T08:56:43.530Z"},"readmeFilename":"README.md","homepage":"https://github.com/massimiliano-mantione/metascript#readme","keywords":["compiler","language","metaprogramming"],"repository":{"type":"git","url":"git+https://github.com/massimiliano-mantione/metascript.git"},"author":{"name":"Massimiliano Mantione","email":"massimiliano.mantione@gmail.com"},"bugs":{"url":"https://github.com/massimiliano-mantione/metascript/issues"},"license":"MIT","users":{"goldenboy":true,"bamboo":true}}