{"_id":"whip","_rev":"35-740ad8167e5cd42095db93472f3b3f1d","name":"whip","description":"The Haskellish LISP dialect.","dist-tags":{"latest":"0.1.7"},"versions":{"0.0.1":{"name":"whip","version":"0.0.1","description":"An interpreter for a LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"engines":{"node":">=0.8.0"},"readme":"Whip: A Haskellish LISP\n=======================\n\nInstall\n-------\nUntil I post this to the npm registry, you can install whip by doing:\n``` bash\ngit clone https://github.com/L8D/Whip.git && cd Whip && sudo npm install\n```\n\nSemantics\n---------\n\nSee goal.md for details on how the language will eventually be.\nFor now, this README will be what I have implemented so far.\n\n``` lisp\n; literals\n1 ; 1.0\n1.1 ; 1.0\n\"a string\" ; \"a string\"\n\n; lists\n(1 2) ; [1, 2]\n(\"foo\" 5 \"bar\")\n\n; lambdas\n(lambda (arg1 arg2) (reduce + \"part of return value\" arg1 arg2))\n; syntactic alternative is '->'\n((-> (name, item)\n  (reduce + (name \" hates \" item)))\n    \"Bob\" \"duct tape\") ; \"Bob hates duct tape\"\n\n; variables\n(let ((x 5) (y 10)) (\n  (x) ; 5\n  (+ x y)) ; 15\nx ; undefined error\n\n; standard functions\n(+ 36 6) ; 36 + 6 => 42\n(- 50 8) ; 50 - 8 => 42\n(* 7 6) ; 7 * 6   => 42\n(/ 84 2) ; 84 / 2 => 42\n\n; comparatives\n(equal 10 10) ; true\n(greater 10 5) ; true\n(lesser 5 10) ; true\n(not (equal 5 10)) ; true\n(either (equal 10 10) (equal 5 10)) ; true\n(both (equal 10 10) (equal 5 10)) ; false\n; syntax alternatives\n; =: equal\n; >: greater\n; <: lesser\n; !: not\n; ^: either\n; &: both\n(= 10 10) ; true\n(> 10 5) ; true\n(< 5 10) ; true\n(! (= 5 10)) ; true\n(^ (= 10 10) (= 5 10)) ; true\n(& (= 10 10) (= 5 10)) ; false\n\n; conditionals\n(if true \"true was true\" \"true was false\")\n; syntactic alternative\n(? (= 10 11) \"if true\" \"if false\") ; false\n\n; comprehensions\n(reduce + (1 2 3))\n; same as\n(+ (+ 1 2) 3)\n(map (lambda (x) (+ x 1)) (1 2 3)) ; [2, 3, 4]\n\n; get value at index of list\n(at 1 (1 2)) ; 1\n; syntactic alternative\n(: 2 (3 4)) ; 4\n\n; append to array\n(append 5 (1 2 3 4)) ; [1, 2, 3, 4, 5]\n; syntactic alternative\n(<< \"bar\" (\"foo\")) ; [\"foo\", \"bar\"]\n\n; length of an array\n(length (1 2)) ; 2\n; syntactic alternative\n(_ (1 2 3 4 5)) ; 5\n\n; printing...\n(print \"foo\")\n\n; additionally there are a plethora of haskell functions\n```\n","readmeFilename":"README.md","_id":"whip@0.0.1","dist":{"shasum":"ff1b877e3b3b7b208a70191ef5caa9bd7bdfe447","tarball":"https://registry.npmjs.org/whip/-/whip-0.0.1.tgz","integrity":"sha512-HEdv4YDemVAzFfrvbaKu3BxWqzw+wV97GAOCofGYMc10hm8ym8+s5pzPL68FBLyUPHHMsDPrVwmU6XkYOhfSbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHRb3h4K02tLvhm7yL8ItjKj/zJjBrN5uX3C9ZI2rD+ZAiBWsvwQzr5UK34ftJnokAUG7lRqc0P1LMhh/dLHrk+FLw=="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.0.2":{"name":"whip","version":"0.0.2","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"engines":{"node":">=0.8.0"},"readme":"Whip: A Haskellish LISP\n=======================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ echo '(print \"Hello, world!\")' > hello.whp\n$ whip hello.whp\nHello, world!\n```\n\nSemantics\n---------\n\nSee goal.md for details on how the language will eventually be.\nFor now, this README will be what I have implemented so far.\n\n``` lisp\n; literals\n1 ; 1.0\n1.1 ; 1.0\n\"a string\" ; \"a string\"\n\n; lists\n(1 2) ; [1, 2]\n(\"foo\" 5 \"bar\")\n\n; lambdas\n(lambda (arg1 arg2) (reduce + \"part of return value\" arg1 arg2))\n; syntactic alternative is '->'\n((-> (name, item)\n  (reduce + (name \" hates \" item)))\n    \"Bob\" \"duct tape\") ; \"Bob hates duct tape\"\n\n; variables\n(let ((x 5) (y 10)) (\n  (x) ; 5\n  (+ x y)) ; 15\nx ; undefined error\n\n; standard functions\n(+ 36 6) ; 36 + 6 => 42\n(- 50 8) ; 50 - 8 => 42\n(* 7 6) ; 7 * 6   => 42\n(/ 84 2) ; 84 / 2 => 42\n\n; comparatives\n(equal 10 10) ; true\n(greater 10 5) ; true\n(lesser 5 10) ; true\n(not (equal 5 10)) ; true\n(either (equal 10 10) (equal 5 10)) ; true\n(both (equal 10 10) (equal 5 10)) ; false\n; syntax alternatives\n; =: equal\n; >: greater\n; <: lesser\n; !: not\n; ^: either\n; &: both\n(= 10 10) ; true\n(> 10 5) ; true\n(< 5 10) ; true\n(! (= 5 10)) ; true\n(^ (= 10 10) (= 5 10)) ; true\n(& (= 10 10) (= 5 10)) ; false\n\n; conditionals\n(if true \"true was true\" \"true was false\")\n; syntactic alternative\n(? (= 10 11) \"if true\" \"if false\") ; false\n\n; comprehensions\n(reduce + (1 2 3))\n; same as\n(+ (+ 1 2) 3)\n(map (lambda (x) (+ x 1)) (1 2 3)) ; [2, 3, 4]\n\n; get value at index of list\n(at 1 (1 2)) ; 1\n; syntactic alternative\n(: 2 (3 4)) ; 4\n\n; append to array\n(append 5 (1 2 3 4)) ; [1, 2, 3, 4, 5]\n; syntactic alternative\n(<< \"bar\" (\"foo\")) ; [\"foo\", \"bar\"]\n\n; length of an array\n(length (1 2)) ; 2\n; syntactic alternative\n(_ (1 2 3 4 5)) ; 5\n\n; printing...\n(print \"foo\")\n\n; additionally there are a plethora of haskell functions\n```\n","readmeFilename":"README.md","_id":"whip@0.0.2","dist":{"shasum":"173aefb2cbb740390bebd254dfc0f5fc3c24a479","tarball":"https://registry.npmjs.org/whip/-/whip-0.0.2.tgz","integrity":"sha512-U4ExxwNjkD7DRhsMJ7Dmvdd39qo4gsX4ToOFq/tAfeu2zdjfLjXVGrE5T+Rk3tHRifG5VEHZ+0A20z5XDZLwsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMJ4J5A45+ReK5RoA2sOIc+phK7rrJeNr3WoCQ0LtX2AiEAyLTiQzkpwUyDAbL2RfRtf4QWI7ATsV8JBVpSzrN+h/c="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.0":{"name":"whip","version":"0.1.0","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ echo '(print \"Hello, world!\")' > hello.whp\n$ whip hello.whp\nHello, world!\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.0","dist":{"shasum":"55bca71620ad88668b65644685d1807515b05f01","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.0.tgz","integrity":"sha512-qRHR087+IsYRd4C+eBiqJlmp7R1lvnpHQ1OMgGnDf9qcCSkfLEVuD1kaJs632QJQFD0RE8rkjqVDd4ULAZu/Kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDNESU7BrPDgBo7GlsUAHMz0GACSor0FjZhSgw9Ox0qGAiEAtYCRPlnEFLQ/k0+FFxT46rgV4eT/o9D2ARp3ttv27rE="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.1":{"name":"whip","version":"0.1.1","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ echo '(print \"Hello, world!\")' > hello.whp\n$ whip hello.whp\nHello, world!\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.1","dist":{"shasum":"4534de1c12c9eb1cc2bd7067cf160a627b9af2de","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.1.tgz","integrity":"sha512-Z35HcwKVxrPpKCiw/Ka8LjcWIIEwSdeid7E9kVRs+nGouQ9nJUUewxtjXVUNPXUefJhWHC82XU0mmdYExUIKKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJ6Q/LkKJJXiB31N7/pMuqCxAGNiIOkNQCU9Kfbr2Q0QIhAMAbOKdb36DRv4rO9NqpqPqR1XsaHN7rAn9lw0Rq1ub/"}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.2":{"name":"whip","version":"0.1.2","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](https://github.com/L8D/Whip/blob/master/doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.2","dist":{"shasum":"4b8989b4983212e0f1b709b045eb8b24d090a41c","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.2.tgz","integrity":"sha512-WnDuoHq6G5/54GL51qPpEOG+lF1Szq515ieLkxz+I4yEfFwkjGXts0kf+JMbZZrWLnou3wG5gtQTfNZBBdzTYw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID+Flcx52tMa9tfSTpFmoEHKFF0Jkvo+1ezJAueClHEyAiEA3LYHKByREf2G1MtiBdU3TjCySIq4OdK/eDdxasT1pf8="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.3":{"name":"whip","version":"0.1.3","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](https://github.com/L8D/Whip/blob/master/doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.3","dist":{"shasum":"671c852e6f264c6c6bd84e1c53d19822bda52f8e","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.3.tgz","integrity":"sha512-KOginqs7eh/I7VmtyRh8ifpoLP+qY9o7By4aIicKaUVIL8WHM8NwJOnA+sg60Auk0qrzg+Vyly/lckuZ4V98VA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyw5bm0KSs+cxb9u7qf4vnKjrE3hX0iqFAu+5L2rv2TQIgGgB/9GzCsfHjssLeH83qWuDRNcVPXqAM3ziRkeQQD8U="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.4":{"name":"whip","version":"0.1.4","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"bin/whip"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](https://github.com/L8D/Whip/blob/master/doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.4","dist":{"shasum":"ac39d3d36095d20e57d2d7fbe592b47636f0da1c","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.4.tgz","integrity":"sha512-zXIb4fZsKSfBQzUNJeQv5dFJA14n/MxZd3h4W7rmMbikYq5LmKWsNH4v+JSqXQUMh17PJA5Bk1PileGBJZKNHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBI9IVjgnw3SokEdzNxYjjd+04KOm/a5lK1u6QZViFlQIhANXyMwVLFaNqQVpWDsTQInPL26lg3xkwqujssyFk4KFQ"}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.5":{"name":"whip","version":"0.1.5","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"src/bin.js"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n# Global\n$ npm install whip -g\n# Local\n$ npm install whip -l\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nSee [`doc/whip.lisp`](https://github.com/L8D/Whip/blob/master/doc/whip.lisp)\n","readmeFilename":"README.md","_id":"whip@0.1.5","dist":{"shasum":"fc9e69ab6a5e2b8d8b21524b87a8320406dff7ca","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.5.tgz","integrity":"sha512-XeSOSnEq5FdEkuxCgGmoV/REUcW8ktAIB7YtWgVXyoeYcsyTaMpJqN+FM4tJza6NFM1wSqefBXQNOV3O+25/Sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5C+J/LaZUFxQCETOyDPZwXI1ohvDUKlwRMD6fGaw++AiAvc33OqVwVOMw6z7OdohsNPM+Trzb4jJtT4h7yg9wqzA=="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"directories":{}},"0.1.6":{"name":"whip","version":"0.1.6","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"src/bin.js"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"devDependencies":{"coffee-script":"latest","mocha":"latest","should":"latest"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"scripts":{"test":"cake test"},"readme":"Whip - The Haskellish LISP\n==========================\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n$ npm install whip -g\n```\nIf you want to get the most up-to-date build, then clone this directory and build from source.\n``` bash\n$ git clone https://github.com/L8D/Whip.git\n# ...\n$ cd Whip\n$ cake build\n:)\n$ sudo npm install -g\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nOfficial documentation at [https://L8D.github.io/Whip](https://L8D.github.io/Whip) with [source files](https://L8D.github.io/Whip/docs/whip).\nFor a whirlwind tour, see [this](http://learnxinyminutes.com/docs/whip/) great learnXinYminutes.com post.\n","readmeFilename":"README.md","_id":"whip@0.1.6","dist":{"shasum":"2b5032306b69ec25dae1a05c63f307d082f615eb","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.6.tgz","integrity":"sha512-Pyq64pbuNFquRQKqJ2AxIM2JPvS9LntVGHRUUtkwPsfTJbiyA5NcT3709ce9W3WZQngL2FaEUTuPoewH0ZzY2A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF2WVb3+p5XwaTxFb3DGZUu0tUA/LqWDA8Nv3FWQnu+QAiBou8V0CMbeWQVMQLfG76qalmpwDdmcQvPIE7EUKDplpg=="}]},"_from":".","_npmVersion":"1.3.6","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}]},"0.1.7":{"name":"whip","version":"0.1.7","description":"The Haskellish LISP dialect.","keywords":["lisp","interpreter","language"],"homepage":"http://github.com/L8D/Whip","bugs":{"url":"http://github.com/L8D/Whip/issues"},"author":{"name":"Tenor Biel"},"main":"lib","bin":{"whip":"src/bin.js"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"},"devDependencies":{"coffee-script":"latest","mocha":"latest","should":"latest","execSync":"latest"},"dependencies":{"optimist":"0.6.x"},"engines":{"node":">=0.8.0"},"scripts":{"test":"cake test"},"readme":"Whip\n====\n[![NPM version](https://badge.fury.io/js/whip.png)](http://badge.fury.io/js/whip) [![Build Status](https://travis-ci.org/L8D/whip.png?branch=master)](https://travis-ci.org/L8D/whip)\n\nHaskellish LISP dialect.\n\nInstall\n-------\nYou'll need to install node first.\n``` bash\n$ npm install whip -g\n```\nIf you want to get the most up-to-date build, then clone this directory and build from source.\n``` bash\n$ git clone https://github.com/L8D/whip.git\n# ...\n$ cd whip\n$ cake build\n:)\n$ sudo npm install -g\n```\n\nUsage\n-----\nRunning the `whip` command with no arguments will start the REPL interpreter. Otherwise use `whip <filename>` on `.whp` files to execute them.\n``` bash\n$ whip -h\nUsage: whip [option] [filename]\n\nOptions:\n  -p  print parsed code and exit\n  -v  print version and exit\n  -h  print this help and exit\n$ whip\n> (print \"Hello, world!\")\nHello, world!\n=> \"Hello, world!\"\n>\n```\n\nDocumentation\n-------------\nOfficial documentation at [https://L8D.github.io/whip](https://L8D.github.io/whip) with [source files](https://L8D.github.io/whip/docs/whip).\n\nFor a whirlwind tour, see [this](http://learnxinyminutes.com/docs/whip/) great learnXinYminutes.com post.\n","readmeFilename":"README.md","_id":"whip@0.1.7","dist":{"shasum":"36d39adfcc3a36f4fe511c69cfdf290a3c8517c2","tarball":"https://registry.npmjs.org/whip/-/whip-0.1.7.tgz","integrity":"sha512-N80sAKn1tLxtiJ1GAGkd9KWlsY0wU9QbBj0CmB0E8aP4eadL1eOZE5I2tdcrvbe3GeoOg7aeEc8ZN4l5IAnoWQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBy3fBs7Gr3VBJTb6v7Ydd+eVqozp6bsWUkzKp7uTZXDAiBtfi2/7T72gwJAJ/6u+516pk/IfXS3J+eTBxgSpNPTMA=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"l8d","email":"tenorbiel@gmail.com"},"maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}]}},"readme":"Whip: A Haskellish LISP\n=======================\n\nInstall\n-------\nUntil I post this to the npm registry, you can install whip by doing:\n``` bash\ngit clone https://github.com/L8D/Whip.git && cd Whip && sudo npm install\n```\n\nSemantics\n---------\n\nSee goal.md for details on how the language will eventually be.\nFor now, this README will be what I have implemented so far.\n\n``` lisp\n; literals\n1 ; 1.0\n1.1 ; 1.0\n\"a string\" ; \"a string\"\n\n; lists\n(1 2) ; [1, 2]\n(\"foo\" 5 \"bar\")\n\n; lambdas\n(lambda (arg1 arg2) (reduce + \"part of return value\" arg1 arg2))\n; syntactic alternative is '->'\n((-> (name, item)\n  (reduce + (name \" hates \" item)))\n    \"Bob\" \"duct tape\") ; \"Bob hates duct tape\"\n\n; variables\n(let ((x 5) (y 10)) (\n  (x) ; 5\n  (+ x y)) ; 15\nx ; undefined error\n\n; standard functions\n(+ 36 6) ; 36 + 6 => 42\n(- 50 8) ; 50 - 8 => 42\n(* 7 6) ; 7 * 6   => 42\n(/ 84 2) ; 84 / 2 => 42\n\n; comparatives\n(equal 10 10) ; true\n(greater 10 5) ; true\n(lesser 5 10) ; true\n(not (equal 5 10)) ; true\n(either (equal 10 10) (equal 5 10)) ; true\n(both (equal 10 10) (equal 5 10)) ; false\n; syntax alternatives\n; =: equal\n; >: greater\n; <: lesser\n; !: not\n; ^: either\n; &: both\n(= 10 10) ; true\n(> 10 5) ; true\n(< 5 10) ; true\n(! (= 5 10)) ; true\n(^ (= 10 10) (= 5 10)) ; true\n(& (= 10 10) (= 5 10)) ; false\n\n; conditionals\n(if true \"true was true\" \"true was false\")\n; syntactic alternative\n(? (= 10 11) \"if true\" \"if false\") ; false\n\n; comprehensions\n(reduce + (1 2 3))\n; same as\n(+ (+ 1 2) 3)\n(map (lambda (x) (+ x 1)) (1 2 3)) ; [2, 3, 4]\n\n; get value at index of list\n(at 1 (1 2)) ; 1\n; syntactic alternative\n(: 2 (3 4)) ; 4\n\n; append to array\n(append 5 (1 2 3 4)) ; [1, 2, 3, 4, 5]\n; syntactic alternative\n(<< \"bar\" (\"foo\")) ; [\"foo\", \"bar\"]\n\n; length of an array\n(length (1 2)) ; 2\n; syntactic alternative\n(_ (1 2 3 4 5)) ; 5\n\n; printing...\n(print \"foo\")\n\n; additionally there are a plethora of haskell functions\n```\n","maintainers":[{"name":"l8d","email":"tenorbiel@gmail.com"}],"time":{"modified":"2022-06-29T01:30:08.721Z","created":"2013-07-30T06:44:45.999Z","0.0.1":"2013-07-30T06:44:47.660Z","0.0.2":"2013-07-30T06:52:22.794Z","0.1.0":"2013-07-30T10:23:15.413Z","0.1.1":"2013-07-30T11:51:33.380Z","0.1.2":"2013-07-31T03:22:09.700Z","0.1.3":"2013-07-31T06:47:10.663Z","0.1.4":"2013-07-31T07:14:16.067Z","0.1.5":"2013-08-02T04:38:00.204Z","0.1.6":"2013-08-04T06:42:35.673Z","0.1.7":"2013-08-18T15:13:56.120Z"},"author":{"name":"Tenor Biel"},"repository":{"type":"git","url":"git://github.com/L8D/Whip.git"}}