{"id":24083316,"url":"https://github.com/mitranim/jisp","last_synced_at":"2025-03-17T10:07:37.647Z","repository":{"id":18088643,"uuid":"21154070","full_name":"mitranim/jisp","owner":"mitranim","description":"Lisp-style language that compiles to JavaScript","archived":false,"fork":false,"pushed_at":"2024-05-23T11:10:20.000Z","size":2327,"stargazers_count":128,"open_issues_count":30,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-14T23:42:59.868Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mitranim.com/jisp/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitranim.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-24T06:07:27.000Z","updated_at":"2025-01-24T07:42:17.000Z","dependencies_parsed_at":"2024-01-31T00:24:41.165Z","dependency_job_id":"82022fc5-0910-4ecf-8341-df81e1e409f2","html_url":"https://github.com/mitranim/jisp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitranim%2Fjisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitranim%2Fjisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitranim%2Fjisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitranim%2Fjisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitranim","download_url":"https://codeload.github.com/mitranim/jisp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244014136,"owners_count":20383715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-09T23:56:21.440Z","updated_at":"2025-03-17T10:07:37.613Z","avatar_url":"https://github.com/mitranim.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e Note: I apologise for the lack of updates. I've been preparing [0.4.0](https://github.com/Mitranim/jisp/tree/0.4.0), which is a complete rewrite of the compiler with a bunch of breaking changes. It revises some parts of the language, dropping dead end ideas and focusing on the core features. Unfortunately I'm busy with some other projects right now.\n\n## Description\n\nJisp is [the modern JavaScript for the modern developer](http://jisp.io). Its macro system lets you treat code as data and write functions that write code for you. Reuse code without runtime limitations, make your code more abstract and shorter, reprogram the language itself.\n\nJisp's extremely simple syntax protects against common JS pitfalls, and it builds some common coding patterns right into the language, helping keep your code short.\n\nSee the [interactive online documentation](http://jisp.io). You can contribute to the documentation by sending pull requests to the [gh-pages](https://github.com/Mitranim/jisp/tree/gh-pages) branch of this repo.\n\n## Installation and Usage\n\nGet [Node.js](http://nodejs.org). This will give you the local `node` runtime and the `npm` package manager. Install jisp with `npm`:\n\n    $ npm install -g jisp\n\nAlternatively, download the source, run `npm install` to get the dependencies, and use `./bin/jisp` and `./jisp/jisp.js` as entry points.\n\nRequire in Node, registering the file extension:\n\n    require('jisp/register');\n\nThis allows you to `require` jisp scripts directly from your code, like so:\n\n    require('./app.jisp');\n\nLaunch an interactive REPL:\n\n    $ jisp\n    jisp\u003e\n\nCompile a file or directory:\n\n    $ jisp -c \u003cfile\u003e\n\nStream-compile with [gulp-jisp](https://github.com/Mitranim/gulp-jisp).\n\nWhile not recommended for production, jisp can be directly used in the browser. Include the `browser/jisp.js` file with your webpage. It registers the `text/jisp` script type to automatically compile and run jisp scripts loaded with `src` or included in script tags. It also exposes a global object with the `compile` and `eval` methods for jisp code. This is how the [documentation](http://jisp.io) is implemented.\n\nWhen hacking at the compiler, use the following commands in the project dir:\n\n    npm test                 -- recompiles dev from src twice, using the dev compiler\n    npm run reset            -- disaster recovery: recompiles dev with lib (stable)\n    npm run build            -- recompiles lib with dev (prepublish)\n\nSuper basic Sublime Text build system (OS X):\n* `sudo npm install -g jisp`\n* `Tools \u003e Build System \u003e New Build System`\n* put lines:\n\n        {\n          \"cmd\": [\"jisp\", \"$file\"],\n          \"path\": \"/usr/local/bin/\"\n        }\n\n* save to: `~/Library/Application Support/Sublime Text 3/Packages/User`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitranim%2Fjisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitranim%2Fjisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitranim%2Fjisp/lists"}