{ "info": { "author": "Niels G. W. Serup", "author_email": "ngws@metanohi.name", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: DFSG approved", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Other/Nonlisted Topic", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "========================================\nHalf-Broken Car in Heavy Traffic (HBCHT)\n========================================\n\nHalf-Broken Car in Heavy Traffic is a difficult programming language with only\n5 combined operators and direction \"signs\" for 2D grids.\n\nhbcht is a Python 3.1+ combined compiler/interpreter for the language.\n\nLicense\n=======\n\nmege is free software under the terms of the Do What The Fuck You Want To Public\nLicense (WTFPL); see the file COPYING.txt. The author of mege is Niels G. W. Serup,\ncontactable at ngws@metanohi.name.\n\nContact\n=======\n\nThe author of hbcht is Niels G. W. Serup. Bug reports and suggestions should be sent\nto ngws@metanohi.name for the time being.\n\n\nInstallation\n============\n\nWay #1\n------\nGet the newest version of hbcht at\nhttp://metanohi.name/projects/hbcht/ or at\nhttp://pypi.python.org/pypi/hbcht\n\nExtract hbcht from the downloaded file, cd into it and run this in a\nterminal::\n\n # python3 setup.py install\n\nExamples are available in the ``examples`` directory.\n\nWay #2\n------\nJust run something like this::\n\n # pip-3 install hbcht\n\nNote that this will not make any examples available.\n\n\nLanguage documentation\n======================\n\nThis is the official documentation of HBCHT.\n\nHBCHT is a 2D grid-based programming language. You are a car fighting to get to\nthe exit of a very chaotic highway. You have to follow the signs, but whenever\nyou do that, you also change your memory. The value of your current memory cell\ncan be incremented or decremented and your memory cell index can change. You\ncan also find signs that tell you to turn either right or not turn at all,\ndepending on your memory.\n\nThe car can drive in four directions: up, right, down, and left. Because of the\nchaos, you never know which direction the car is headed when the program\nstarts. This makes it easy to randomize the output.\n\nTo make things worse (actually, it's to make programming in HBCHT possible),\nyou cannot turn left because your car is half-broken. You can drive straight\nahead, you can turn right, and you can reverse.\n\nMarkers\n-------\n\n::\n\n o car\n # exit, return/print\n\n\nOperations\n----------\n\n::\n\n > go right, next memory cell\n < go left, previous memory cell\n ^ go up, increment\n v go down, decrement\n / go right if the current memory cell has the same value as the previous\n memory cell, else continue (if the previous memory cell does not exist,\n its value is zero)\n\nRules\n-----\n+ There can be only one car and only one exit\n+ The car cannot turn left; any relative left turns will be ignored along with\n their memory effects\n+ The program always starts at memory cell #0\n+ All memory cells have the value 0 by default\n+ Input values cannot be negative, but values returned by a program can\n+ The car cannot go out of bound; if it exits to the right, it reenters to the\n left, etc.\n+ Values cannot be input to memory cells below memory cell #0, but the program\n can set values in these\n+ Values can be arbitrarily large. An interpreter or compiler without this\n feature is valid, but not perfect (note that hbcht's C translator uses\n 32-bit ints and is thereby not perfect).\n\nA semicolon denotes a comment. Anything from the semicolon to the end of the\nline is ignored.\n\nIf a program file contains a line that starts with ``@intext``, it will see\ninput as text and convert the text to ordinals before running the core\nfunction.\n\nIf a program file contains a line that starts with ``@outtext``, it will show\noutput as a text string instead of a list of numbers.\n\n\nUse\n===\n\nAs a command-line tool\n----------------------\n\nRun ``hbcht`` to use it. Run ``hbcht --help`` to see how to use it.\n\nAs a module\n-----------\n\nTo find out how to use it, run::\n\n $ pydoc3 hbcht\n\n\nExamples\n--------\n\nThere are a few examples in the ``examples`` directory.\n\n\nDevelopment\n===========\n\nhbcht uses Git for code management. The newest (and sometimes unstable) code\nis available at::\n\n $ git clone git://gitorious.org/hbcht/hbcht.git", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://metanohi.name/projects/hbcht/", "keywords": null, "license": "WTFPL", "maintainer": null, "maintainer_email": null, "name": "hbcht", "package_url": "https://pypi.org/project/hbcht/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/hbcht/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://metanohi.name/projects/hbcht/" }, "release_url": "https://pypi.org/project/hbcht/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "A combined interpreter and compiler for the Half-Broken Car in Heavy Traffic programming language", "version": "0.1.1" }, "last_serial": 560614, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6c51e9a3718226fd63e7b5ccb5938b52", "sha256": "ff87dd193eeb9c8936e4e68df81a15fd0095180ccbbce0f52cb97ad2817a23ff" }, "downloads": -1, "filename": "hbcht-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6c51e9a3718226fd63e7b5ccb5938b52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25676, "upload_time": "2011-08-25T01:00:08", "url": "https://files.pythonhosted.org/packages/c6/1b/ecee2fc55743989037b94a49bd9b24ecfa901c7b5c4d3750ea868e743b22/hbcht-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "14447e7d11dcc2f8da8be543b1de9ffe", "sha256": "17a257d5f8b73697e61da73e3b6dc6c925a6a1379df9dc59f084111f1e03e9f6" }, "downloads": -1, "filename": "hbcht-0.1.1.tar.gz", "has_sig": false, "md5_digest": "14447e7d11dcc2f8da8be543b1de9ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14714, "upload_time": "2013-02-08T16:21:39", "url": "https://files.pythonhosted.org/packages/9d/6e/34a72c4b23c7903b678fa4f8bb6f1fde63bc6b68f2c92f5d47b5d5be1ac2/hbcht-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14447e7d11dcc2f8da8be543b1de9ffe", "sha256": "17a257d5f8b73697e61da73e3b6dc6c925a6a1379df9dc59f084111f1e03e9f6" }, "downloads": -1, "filename": "hbcht-0.1.1.tar.gz", "has_sig": false, "md5_digest": "14447e7d11dcc2f8da8be543b1de9ffe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14714, "upload_time": "2013-02-08T16:21:39", "url": "https://files.pythonhosted.org/packages/9d/6e/34a72c4b23c7903b678fa4f8bb6f1fde63bc6b68f2c92f5d47b5d5be1ac2/hbcht-0.1.1.tar.gz" } ] }