{"id":22018813,"url":"https://github.com/thautwarm/rem","last_synced_at":"2025-10-27T13:11:26.654Z","repository":{"id":57461056,"uuid":"115775280","full_name":"thautwarm/Rem","owner":"thautwarm","description":"(Deprecated)Rem Programming Language: a playful dynamic language with all modern syntax sugars.","archived":false,"fork":false,"pushed_at":"2018-05-23T15:09:55.000Z","size":1264,"stargazers_count":25,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"ebnfparser2.0","last_synced_at":"2025-04-15T13:50:24.814Z","etag":null,"topics":["langauge","syntax-sugar"],"latest_commit_sha":null,"homepage":"","language":"Python","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/thautwarm.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}},"created_at":"2017-12-30T05:09:19.000Z","updated_at":"2023-12-20T17:40:18.000Z","dependencies_parsed_at":"2022-09-09T02:32:23.926Z","dependency_job_id":null,"html_url":"https://github.com/thautwarm/Rem","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/thautwarm%2FRem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thautwarm%2FRem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thautwarm%2FRem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thautwarm%2FRem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thautwarm","download_url":"https://codeload.github.com/thautwarm/Rem/tar.gz/refs/heads/ebnfparser2.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252806108,"owners_count":21807156,"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":["langauge","syntax-sugar"],"created_at":"2024-11-30T05:14:15.056Z","updated_at":"2025-10-27T13:11:21.599Z","avatar_url":"https://github.com/thautwarm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://img.shields.io/pypi/v/remlang.svg)](https://pypi.python.org/pypi/remlang)\n[![Intro](https://img.shields.io/badge/intro-remlang-red.svg)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md)\n[![MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/LICENSE)\n\n\n# Rem Language\n\nJust use **PyPI**. Recommend to install `cytoolz` before installing Rem to speed up function invocations.  \n```shell\npip install remlang\n```  \n\n[![Overview](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview++.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview++.png)\n\n\n## Some Supported Features\n\nSee all features at [Inrtoduction](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md).  \n\n\n- [Pattern Matching](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#pattern-matching)  \n    Currently support `case` syntax.  \n    ```\n    case expr \n        as destruction \n        [when condition]\n        =\u003e statements\n    end\n    ```\n    \n    - Dictionary Pattern Matching\n    \n    ```\n    case %{a: b}\n        as {a : \u0026b+1} =\u003e 1\n        as {a : \u0026b }  =\u003e 2\n    end \n    ```\n\n    - Function Parameter Destruction\n    ```\n    \u003e\u003e {|(1, 2, c)| c*2} (1, 2, 3)\n    =\u003e 6\n    ```\n- [**Inverted Syntax**](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#inverted-syntax) (see the priority table in the linked page)  \n    ```\n    file . open . write some_text\n    ```\n    \n    `.` has a high priority while `then` has a lower one.  \n\n    [![Inverted](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/inverted.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/inverted.png)  \n\n    [![$](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/$.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/$.png)\n\n\n\n- [Into Statement](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#into-statement)(just like `goto`)  \n\n    [![Into](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/into.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/into.png)\n\n\n- [Currying Function](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#functionlambda)   \n\n    [![Lambda](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/lambda.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/lambda.png) \n\n\n- [Scope](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#scope)  \n\n- [Where Syntax and Block Expression](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#where-syntax)  \n    [![Where](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/where.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/for.png)\n\n\n- [For Comprehension and For Loop](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/intro.md#for-comprehension)  \n    [![For](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/for.png)](https://github.com/thautwarm/Rem/blob/ebnfparser2.0/overview-figs/for.png)\n\n\n\n## 关于中文编程\n\nRem 支持中文编程, 因为它的tokenizer可以被动态操控，在任意一个Rem模块里，均有一个`__compiler__`对象， 负责处理输入语句到`ast`的转换。当下内置了一个无参函数`中文编程`， 便可以使用中文关键字。  \n\n```\n\u003e\u003e call 中文编程\n\u003e\u003e 对于 [3, 2] 作为 [甲, 乙] =\u003e 甲 * 乙 结束\n# 等价于 =\u003e\n# case [3, 2] as [甲, 乙] =\u003e 甲 * 乙 end\n=\u003e 6\n```\n\n中英文token对照  \n\n| English           | 中文   |\n| -------           | ---    |\n| then              | 然后   |\n| when              | 当     |\n| and               | 并且   |\n| or                | 或者   |\n| in                | 含于   |\n| not               | 非     |\n| case              | 对于   |\n| as                | 作为   |\n| end               | 结束   |\n| where             | 其中   |\n| from              | 从     |\n| import            | 导入   |\n| yield             | 生成   |\n| into              | 跳跃到 |\n| let               | 使/让  |\n| True              | 真     |\n| False             | 假     |\n| None              | 空     |\n| is                | 是     |\n| `.`               | 之     |\n| `它`              | 它     |\n| =                 | 等于   |\n\n\n\n    \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthautwarm%2Frem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthautwarm%2Frem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthautwarm%2Frem/lists"}