{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# Swinging Head Language (SHL)\nSHL is a !(easy-to-write, easy-to-understand) language that is backed by LLVM.\n## Binding\n```py\nfrom swinginghead.compiler import Binder\n\nbinder = Binder()\nbinder. => your function\n\nbinder = Binder.from_file('examples/demo.shl')\nassert binder.head(3.0, 4.0) == 5.0\n```\n\n## Types\n```\n`type()?`\n`int<32>`\n`float`\n`array<`int<32>`, 4>`\n``` \n## Literals\n```\n(->)\n(`int<32>`->15)\n(`int<64>`->323443)\n(`float`->3.35)\n(`void`->0)\n(`array<`int<32>`, 4>`->@32~44~55~66@)\n```\n## Pointers\n```\n<-\n<-(`float`->3.35)\n```\n## Control Flow Graphs\n### Comparison\n```\n| expr \">\" \"<\" expr | \n\n,1 >f ordered gt< ,2\n```\n### If / Then\n```\ncomp \"=>\" {\n exprs*\n}\n\n|,1 >f ordered gt< ,2| => {\n ./ (`float`->2.0)\n}\n```\n### If / Then / Else\n```\ncomp \"=>\" {\n exprs*\n}\n\"!=>\" {\n exprs*\n}\n\n|,1 >f ordered gt< ,2| => {\n ./ (`float`->2.0)\n}\n!=> {\n ./ (`float`->5.0)\n}\n```\n# Functions\n### Func Type\n```\nswing $\u20ac....\u20ac$\nswing `float` $`float`\u20ac`float`$\n```\n### Body\n```\n {\n *\n}\nadd {\n ,1 f+ (`float`->3.35)\n res eqs ,1 f+ ,2\n ./ ,res\n}\n```\n### Local Names\n```\n,\n,1 (first argument)\n,n (nth argument)\n,xyz (xyz declared upper)\n```\n### Operations\n```\n \n,1 f+ (`float`->3.35)\n```\n### Equations\n```\n eqs \nres eqs ,1 f+ ,2\n```\n### Returning\n```\n./ \n./ ,res\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/btaskaya/swinginghead", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "shl", "package_url": "https://pypi.org/project/shl/", "platform": "", "project_url": "https://pypi.org/project/shl/", "project_urls": { "Homepage": "https://github.com/btaskaya/swinginghead" }, "release_url": "https://pypi.org/project/shl/0.2/", "requires_dist": null, "requires_python": "", "summary": "Swinging Head Language", "version": "0.2" }, "last_serial": 5165529, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "59e24929a96fcdacb331dc7666fe4853", "sha256": "5216cbbfadf0d38055d778870eb609be2450aa0203b33f48c8ec916083472dac" }, "downloads": -1, "filename": "shl-0.1.tar.gz", "has_sig": false, "md5_digest": "59e24929a96fcdacb331dc7666fe4853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1629, "upload_time": "2019-04-18T16:49:21", "url": "https://files.pythonhosted.org/packages/9a/b7/e4c292845ad071c7d6df05330062d28ec0125a89eb7bdc865b95f34fc08e/shl-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "5fa4f7dfba5c98f6648a3aa7319abd40", "sha256": "d8a49595e602eec0d7a31806a3e9b3a419ca9a0bbe0da3d93563ca7d538c7fa8" }, "downloads": -1, "filename": "shl-0.2.tar.gz", "has_sig": false, "md5_digest": "5fa4f7dfba5c98f6648a3aa7319abd40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6499, "upload_time": "2019-04-19T17:21:32", "url": "https://files.pythonhosted.org/packages/6e/ca/08e69bb2dbb9eb12d68edb821212a71c284a35c244c83de59c7b5fecb680/shl-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5fa4f7dfba5c98f6648a3aa7319abd40", "sha256": "d8a49595e602eec0d7a31806a3e9b3a419ca9a0bbe0da3d93563ca7d538c7fa8" }, "downloads": -1, "filename": "shl-0.2.tar.gz", "has_sig": false, "md5_digest": "5fa4f7dfba5c98f6648a3aa7319abd40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6499, "upload_time": "2019-04-19T17:21:32", "url": "https://files.pythonhosted.org/packages/6e/ca/08e69bb2dbb9eb12d68edb821212a71c284a35c244c83de59c7b5fecb680/shl-0.2.tar.gz" } ] }