{ "info": { "author": "Lorenzo Clemente", "author_email": "clementelorenzo@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3" ], "description": "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lclem/agda-kernel/master)\n[![Build Status](https://travis-ci.org/lclem/agda-kernel.svg)](https://travis-ci.org/lclem/agda-kernel)\n[![codecov.io](https://codecov.io/github/lclem/agda-kernel/branch/master/graph/badge.svg)](https://codecov.io/github/lclem/agda-kernel)\n[![Jupyter Notebook](https://img.shields.io/badge/jupyter-5.7.8-blue.svg)](https://github.com/jupyter/notebook/releases/tag/5.7.8)\n[![Agda](https://img.shields.io/badge/agda-2.6.0-blue.svg)](https://github.com/agda/agda/releases/tag/v2.6.0)\n[![agda-stdlib](https://img.shields.io/badge/agda--stdlib-1.0.1-blue.svg)](https://github.com/agda/agda-stdlib/releases/tag/v1.0.1)\n\n# agda-kernel\nAn experimental Agda kernel for Jupyter.\n\nInstallation\n------------\n\n pip install agda_kernel\n python -m agda_kernel.install\n\n### Syntax highlighting\n\nSyntax highlighting is done separately by [Codemirror](https://codemirror.net/),\nbut unfortunately there is no Agda mode packaged with it.\nA rudimentary Agda mode for Codemirror can be found in ``codemirror-agda/agda.js``.\nIn order to install it, type\n\n make codemirror-install\n\n\n\nFunctionality\n-------------\n\nEach code cell must contain with a line of the form ``module A.B.C where``.\nFor instance:\n\n```agda\nmodule A.B.C where\n\nid : {A : Set} \u2192 A \u2192 A\nid x = x\n```\n\nUpon execution, the file `A/B/C.agda` is created containing the cell's contents,\nand it is fed to the Agda interpreter (via `agda --interaction`).\nThe results of typechecking the cell are then displayed.\n\nAfter a cell has been evaluated, one can\n\n- Run Agsy (auto) by putting the cursor next to a goal `?` and hitting TAB.\nThe hole `?` is replaced by the result returned by Agsy, if any,\nor by `{! !}` if no result was found.\nIf there is more than one result, the first ten of them are presented for the user to choose from.\n\n- Refine the current goal by putting the cursor next to a goal `{! !}` and hitting TAB.\nAn optional variable can be provided for case-splitting `{! m !}`.\n\n- Infer the type of a goal/literal, but putting the cursor near a goal/literal and hitting SHIFT-TAB.\n\n\nExamples\n--------\n\nYou can launch the following examples directly via the mybinder interface:\n- [examples/Lab01.ipynb](https://mybinder.org/v2/gh/lclem/agda-kernel/master?filepath=/example/Lab01.ipynb)\n\nEditing\n-------\n\nInputting common UNICODE characters is facilitated by the code-completion feature of Jupyter.\n\n- When the cursor is immediately to the right of one of the `base form` symbols\nhitting TAB will replace it by the corresponding `alternate form`.\nHitting TAB again will go back to the base form.\n\n| base form | alternate form |\n|:---------:|:----------------:|\n| -> | \u2192 |\n| \\ | \u03bb |\n| < | \u27e8 |\n| B | \ud835\udd39 |\n| > | \u27e9 |\n| = | \u2261 |\n| top | \u22a4 |\n| /= | \u2262 |\n| bot | \u22a5 |\n| alpha | \u03b1 |\n| /\\ | \u2227 |\n| e | \u03b5 |\n| \\/ | \u2228 |\n| emptyset | \u2205 |\n| neg | \u00ac |\n| qed | \u220e |\n| forall | \u2200 |\n| Sigma | \u03a3 |\n| exists | \u2203 |\n| Pi | \u03a0 |\n| \\[= | \u2291 |\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lclem/agda-kernel", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "agda-kernel", "package_url": "https://pypi.org/project/agda-kernel/", "platform": "", "project_url": "https://pypi.org/project/agda-kernel/", "project_urls": { "Homepage": "https://github.com/lclem/agda-kernel" }, "release_url": "https://pypi.org/project/agda-kernel/0.62/", "requires_dist": null, "requires_python": "", "summary": "A rudimentary Jupyter kernel for Agda", "version": "0.62" }, "last_serial": 5353978, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "c75142baf7304dfc7f4cd712290746cb", "sha256": "f26b59ed7d110325f0f229b267079a90a5f68395fa2816a816fd204440a1efbe" }, "downloads": -1, "filename": "agda_kernel-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c75142baf7304dfc7f4cd712290746cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12879, "upload_time": "2019-04-08T07:43:24", "url": "https://files.pythonhosted.org/packages/06/55/d9fa0c72aac7a49cea4b8dab3933a46f04b55110a4c7fc11a76037b55e25/agda_kernel-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1958c1dc8e7739c7b9c4d052473a6808", "sha256": "9c4cfe739305c2a95dad0d7c9426167771dcbeb524c2902cbf4191544689bf39" }, "downloads": -1, "filename": "agda_kernel-0.2.tar.gz", "has_sig": false, "md5_digest": "1958c1dc8e7739c7b9c4d052473a6808", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8253, "upload_time": "2019-04-09T07:21:39", "url": "https://files.pythonhosted.org/packages/2b/11/80a523fdaf7f9daa66775be6fad2030c292d4a968b3ef27a19f036d43d9e/agda_kernel-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a95030a29b2a41a10316892b7bb08954", "sha256": "780ea8960093d9b5dee08b91d13c39f8493fe867b17abf0f6996e9723ef09129" }, "downloads": -1, "filename": "agda_kernel-0.3.tar.gz", "has_sig": false, "md5_digest": "a95030a29b2a41a10316892b7bb08954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8274, "upload_time": "2019-04-09T13:31:05", "url": "https://files.pythonhosted.org/packages/f3/cb/04886638e6294352f33cc495f2919331933058ed0205d19e45f8480bcd4b/agda_kernel-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "cc552e6874a3d1d43f2b9ad769de171b", "sha256": "8e4b1480619b0121a5fb3ec0afb5b31379f1a5f09be5f68816324a53fe84f9de" }, "downloads": -1, "filename": "agda_kernel-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "cc552e6874a3d1d43f2b9ad769de171b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24139, "upload_time": "2019-05-07T12:07:58", "url": "https://files.pythonhosted.org/packages/cc/3f/53dedc6a25520d78b528946e892003306d61c295705026e1c4ae61fd03c1/agda_kernel-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6fb2c0a4a382ec576b48101d0ecee99", "sha256": "26f45ba2a62c0b59c6beeb22ffadfd4d62b2927ead60fc502487aff782bf3927" }, "downloads": -1, "filename": "agda_kernel-0.4.tar.gz", "has_sig": false, "md5_digest": "f6fb2c0a4a382ec576b48101d0ecee99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12502, "upload_time": "2019-05-07T12:12:03", "url": "https://files.pythonhosted.org/packages/4c/69/678ae233d44820ddacc2374a9c4dd32eefce2d3f159a59895a882c7b5035/agda_kernel-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d77c7b637abd0cd440d538cdcf100526", "sha256": "243536370576f54dedeeff48d40d82b420619b7bb1bd4f173a0a10f57dd7b284" }, "downloads": -1, "filename": "agda_kernel-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d77c7b637abd0cd440d538cdcf100526", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18900, "upload_time": "2019-05-20T20:57:35", "url": "https://files.pythonhosted.org/packages/65/c3/95206c4ffd94a7eee54d8895bac69b9bab76a639ca2c48471d66e0132290/agda_kernel-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ccae8ed25f3b7c7b36aa79c1db58fa", "sha256": "084b750fb63e29bb421db308f6c3cbbbf17e92c6acec6df93770babcb8109901" }, "downloads": -1, "filename": "agda_kernel-0.5.tar.gz", "has_sig": false, "md5_digest": "f7ccae8ed25f3b7c7b36aa79c1db58fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13539, "upload_time": "2019-05-20T21:05:19", "url": "https://files.pythonhosted.org/packages/d7/fe/ac829c3d48e5917e9033bed7d87343a2300cc05a1f989b9a2a06ba66b31a/agda_kernel-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "7150462356bf4e9db5ce09fbe7617ce5", "sha256": "9f86041eaf1575d8c6264c313a8a6a633aa5057ded1c60f5a91ad534d3b38d9a" }, "downloads": -1, "filename": "agda_kernel-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7150462356bf4e9db5ce09fbe7617ce5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20119, "upload_time": "2019-05-28T13:57:54", "url": "https://files.pythonhosted.org/packages/92/2c/1b85fe1528b8013465a3e91db01aaed56519d3449f59f78d5941bced08b0/agda_kernel-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "488f6eb7640943fc4a7b73abe77a6a46", "sha256": "be2d7ace7db183b00e06e2bce704c1ca4d2fc77b9e73e277ea6939615fb4385f" }, "downloads": -1, "filename": "agda_kernel-0.6.tar.gz", "has_sig": false, "md5_digest": "488f6eb7640943fc4a7b73abe77a6a46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13212, "upload_time": "2019-05-28T14:01:48", "url": "https://files.pythonhosted.org/packages/93/00/03baa044301e85e8ee62c281b162805f0a54c8f78d0414c51463543419b2/agda_kernel-0.6.tar.gz" } ], "0.61": [ { "comment_text": "", "digests": { "md5": "5bd1b4242fe530d58db7948a4555b323", "sha256": "f909ff7658be633f6d13eebb828c93c2ffa08d78a534dabb16643a9052f0321a" }, "downloads": -1, "filename": "agda_kernel-0.61-py3-none-any.whl", "has_sig": false, "md5_digest": "5bd1b4242fe530d58db7948a4555b323", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20799, "upload_time": "2019-06-03T18:15:21", "url": "https://files.pythonhosted.org/packages/a8/d8/c9ab951f3901a125d69f5fe4a20505c98d531e9c3f0d03045d12cd5d41f6/agda_kernel-0.61-py3-none-any.whl" } ], "0.62": [ { "comment_text": "", "digests": { "md5": "8c75746fbb2d08337135d8c0aa24ca1f", "sha256": "4315f5db50ceba41aed498f3e54893b3fc7901e26af49511f968e194a0e47581" }, "downloads": -1, "filename": "agda_kernel-0.62-py3-none-any.whl", "has_sig": false, "md5_digest": "8c75746fbb2d08337135d8c0aa24ca1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20814, "upload_time": "2019-06-03T18:37:57", "url": "https://files.pythonhosted.org/packages/3e/ba/225649bc237fb581cb527627fef58d0c70ea3401b03f5ffe864133dfb3b6/agda_kernel-0.62-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b63da69fff26ff1a595b587818779fb2", "sha256": "1d81966c5680ef89d757c9a8014c8748dd6e49d4bd4c37b6e58c48cf5215211b" }, "downloads": -1, "filename": "agda_kernel-0.62.tar.gz", "has_sig": false, "md5_digest": "b63da69fff26ff1a595b587818779fb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15512, "upload_time": "2019-06-03T18:55:01", "url": "https://files.pythonhosted.org/packages/98/70/a24b0136cc95d9bbd74b247fa7da93eaa19b98e1d7d3d5dce8c69b4134b9/agda_kernel-0.62.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c75746fbb2d08337135d8c0aa24ca1f", "sha256": "4315f5db50ceba41aed498f3e54893b3fc7901e26af49511f968e194a0e47581" }, "downloads": -1, "filename": "agda_kernel-0.62-py3-none-any.whl", "has_sig": false, "md5_digest": "8c75746fbb2d08337135d8c0aa24ca1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20814, "upload_time": "2019-06-03T18:37:57", "url": "https://files.pythonhosted.org/packages/3e/ba/225649bc237fb581cb527627fef58d0c70ea3401b03f5ffe864133dfb3b6/agda_kernel-0.62-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b63da69fff26ff1a595b587818779fb2", "sha256": "1d81966c5680ef89d757c9a8014c8748dd6e49d4bd4c37b6e58c48cf5215211b" }, "downloads": -1, "filename": "agda_kernel-0.62.tar.gz", "has_sig": false, "md5_digest": "b63da69fff26ff1a595b587818779fb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15512, "upload_time": "2019-06-03T18:55:01", "url": "https://files.pythonhosted.org/packages/98/70/a24b0136cc95d9bbd74b247fa7da93eaa19b98e1d7d3d5dce8c69b4134b9/agda_kernel-0.62.tar.gz" } ] }