{"id":13780328,"url":"https://github.com/ignorabimus/minischeme","last_synced_at":"2026-02-03T21:33:37.664Z","repository":{"id":77752437,"uuid":"45117495","full_name":"ignorabimus/minischeme","owner":"ignorabimus","description":"Mini-Scheme Interpreter with Copying GC","archived":false,"fork":false,"pushed_at":"2020-01-30T09:42:27.000Z","size":446,"stargazers_count":24,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-03T18:15:00.533Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/ignorabimus.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":"2015-10-28T14:21:30.000Z","updated_at":"2024-06-14T07:07:43.000Z","dependencies_parsed_at":"2023-04-23T16:09:33.636Z","dependency_job_id":null,"html_url":"https://github.com/ignorabimus/minischeme","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignorabimus%2Fminischeme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignorabimus%2Fminischeme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignorabimus%2Fminischeme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignorabimus%2Fminischeme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ignorabimus","download_url":"https://codeload.github.com/ignorabimus/minischeme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225056802,"owners_count":17414212,"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":"2024-08-03T18:01:14.588Z","updated_at":"2026-02-03T21:33:37.650Z","avatar_url":"https://github.com/ignorabimus.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"minischeme\n==========\n\nMini-Scheme Interpreter with Copying GC\n\n\nFeatures\n--------\n\n* based on Mini-Scheme 0.85k4-a\n* bignum (multi-precision integer) operations supported\n* continuations support without using 'SCHEME STACK' (#undef USE_SCHEME_STACK)\n* implemented a Copying GC using the Cheney's algorithm (#define USE_COPYING_GC)\n* implemented Hygienic macro 'syntax-rules' (supports SRFI 46)\n* implemented Legacy macro 'define-macro' ('gensym' also implemented)\n* supports UTF-8 multibyte characters (limitations: NO normalization nor toupper/tolower, ...)\n* reinventing the [tinyscheme](https://github.com/ignorabimus/tinyscheme \"Experimental fork of TinyScheme and extensions TSX, RE.\") :)\n\n\nBuild (with MSVC)\n-----------------\n\nInstall \"Visual C++ 2015\" or later.\n\n* I compiled using \"Microsoft Visual C++ 2015\", but \"2013\" or earlier maybe OK.\n\n### Setting up environemt\n\nOpen the Visual Studio command prompt, or open Normal command prompt then run\n\n    \u003e (Visual Studio installed path)\\VC\\vcvarsall.bat\n\nand change directory to unpacking source files.\n\n    \u003e cd src\n\n### Build an executable\n\nTo build an executable, just run\n\n    \u003e msvcbuild.bat\n\nand you'll get\n\n    \u003e bin\\minischeme.exe\n\n### Build a static library\n\nTo build as a static library, run with \"static\" option\n\n    \u003e msvcbuild.bat static\n\nand you'll get\n\n    \u003e lib\\minischeme.lib\n\n\n[R5RS standard](http://www.schemers.org/Documents/Standards/R5RS/ \"schemers.org: Documents: Standards: R5RS\") compatibility\n------------------\n\n* [x] +\n* [x] *\n* [x] -\n* [x] /\n* [x] =\n* [x] \u003c\n* [x] \u003e\n* [x] \u003c=\n* [x] \u003e=\n* [x] abs\n* [x] acos\n* [x] and\n* [ ] angle\n* [x] append\n* [x] apply\n* [x] asin\n* [x] assoc\n* [x] assq\n* [x] assv\n* [x] atan\n* [x] begin\n* [x] boolean?\n* [x] caaaar\n* [x] caaadr\n* [x] caaar\n* [x] caadr\n* [x] caadar\n* [x] caaddr\n* [x] caar\n* [x] cadaar\n* [x] cadadr\n* [x] cadar\n* [x] caddr\n* [x] caddar\n* [x] cadddr\n* [x] cadr\n* [x] call-with-current-continuation\n* [x] call-with-input-file\n* [x] call-with-output-file\n* [x] call-with-values\n* [x] car\n* [x] case\n* [x] cdar\n* [x] cdaar\n* [x] cdaaar\n* [x] cdaadr\n* [x] cdadar\n* [x] cdaddr\n* [x] cdadr\n* [x] cddr\n* [x] cddar\n* [x] cddaar\n* [x] cddadr\n* [x] cdddr\n* [x] cdddar\n* [x] cddddr\n* [x] cdr\n* [x] ceiling\n* [x] char-\u003einteger\n* [x] char-alphabetic?\n* [x] char-ci\u003c=?\n* [x] char-ci\u003c?\n* [x] char-ci=?\n* [x] char-ci\u003e=?\n* [x] char-ci\u003e?\n* [x] char-downcase\n* [x] char-lower-case?\n* [x] char-numeric?\n* [x] char-ready?\n* [x] char-upcase\n* [x] char-upper-case?\n* [x] char-whitespace?\n* [x] char\u003c=?\n* [x] char\u003c?\n* [x] char=?\n* [x] char\u003e=?\n* [x] char\u003e?\n* [x] char?\n* [x] close-input-port\n* [x] close-output-port\n* [ ] complex?\n* [x] cond\n* [x] cons\n* [x] cos\n* [x] current-input-port\n* [x] current-output-port\n* [x] define\n* [x] define-syntax\n* [x] delay\n* [ ] denominator\n* [x] display\n* [x] do\n* [x] dynamic-wind\n* [x] else\n* [x] eof-object?\n* [x] eq?\n* [x] equal?\n* [x] eqv?\n* [x] eval\n* [x] even?\n* [x] exact-\u003einexact\n* [x] exact?\n* [x] exp\n* [x] expt\n* [x] floor\n* [x] for-each\n* [x] force\n* [x] gcd\n* [x] if\n* [ ] imag-part\n* [x] inexact-\u003eexact\n* [x] inexact?\n* [x] input-port?\n* [x] integer-\u003echar\n* [x] integer?\n* [x] interaction-environment\n* [x] lambda\n* [x] lcm\n* [x] length\n* [x] let\n* [x] let*\n* [x] let-syntax\n* [x] letrec\n* [x] letrec-syntax\n* [x] list\n* [x] list-\u003estring\n* [x] list-\u003evector\n* [x] list-ref\n* [x] list-tail\n* [x] list?\n* [x] load\n* [x] log\n* [ ] magnitude\n* [ ] make-polar\n* [ ] make-rectangular\n* [x] make-string\n* [x] make-vector\n* [x] map\n* [x] max\n* [x] member\n* [x] memq\n* [x] memv\n* [x] min\n* [x] modulo\n* [x] negative?\n* [x] newline\n* [x] not\n* [ ] null-environment\n* [x] null?\n* [x] number-\u003estring\n* [x] number?\n* [ ] numerator\n* [x] odd?\n* [x] open-input-file\n* [x] open-output-file\n* [x] or\n* [x] output-port?\n* [x] pair?\n* [x] peek-char?\n* [x] port?\n* [x] positive?\n* [x] procedure?\n* [x] quasiquote\n* [x] quote\n* [x] quotient\n* [ ] rational?\n* [ ] rationalize\n* [x] read\n* [x] read-char\n* [ ] real-part\n* [x] real?\n* [x] remainder\n* [x] reverse\n* [x] round\n* [ ] scheme-report-environment\n* [x] set!\n* [x] set-car!\n* [x] set-cdr!\n* [x] sin\n* [x] sqrt\n* [x] string\n* [x] string-\u003elist\n* [x] string-\u003enumber\n* [x] string-\u003esymbol\n* [x] string-append\n* [x] string-ci\u003c=?\n* [x] string-ci\u003c?\n* [x] string-ci=?\n* [x] string-ci\u003e=?\n* [x] string-ci\u003e?\n* [x] string-copy\n* [x] string-fill!\n* [x] string-length\n* [x] string-ref\n* [x] string-set!\n* [x] string\u003c=?\n* [x] string\u003c?\n* [x] string=?\n* [x] string\u003e=?\n* [x] string\u003e?\n* [x] string?\n* [x] substring\n* [x] symbol-\u003estring\n* [x] symbol?\n* [x] syntax-rules\n* [x] tan\n* [ ] transcript-off\n* [ ] transcript-on\n* [x] truncate\n* [x] values\n* [x] vector\n* [x] vector-\u003elist\n* [x] vector-fill!\n* [x] vector-length\n* [x] vector-ref\n* [x] vector-set!\n* [x] vector?\n* [x] with-input-from-file\n* [x] with-output-to-file\n* [x] write\n* [x] write-char\n* [x] zero?\n\n\nLinks\n-----\n\n[D. Souflis, J. Shapiro - TinyScheme Home](http://tinyscheme.sourceforge.net/home.html)\n\n[Visual Studio Downloads](http://www.visualstudio.com/downloads/)\n\n\nLicense\n-------\n\nCopyright (c) 2015 Tatsuya Watanabe. See the LICENSE file for license rights and limitations (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignorabimus%2Fminischeme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fignorabimus%2Fminischeme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignorabimus%2Fminischeme/lists"}