E-- 编程语言:结合 LLM 与 Python 优势,实现代码编写确定性与可复现性!
导航菜单可进行切换导航、登录、外观设置等操作。平台提供多种功能包括AI代码创作如GitHub Copilot、GitHub Copilot应用、MCP注册中心、开发者工作流如Actions、Codespaces、Issues、代码审查、应用程序安全如GitHub高级安全、代码安全、密钥保护、探索如为何选择GitHub、文档、博客、更新日志、市场等。还可查看所有功能。解决方案按公司规模划分有企业版、中小型团队版、初创企业版、非营利组织版按用例划分有应用现代化、DevSecOps、DevOps、CI/CD等可查看所有用例按行业划分有医疗保健、金融服务、制造业、政府机构等可查看所有行业。也可查看所有解决方案。资源按主题探索有AI、软件开发、DevOps、安全等可查看所有主题按类型探索有客户案例、活动与网络研讨会、电子书与报告、商业洞察、GitHub技能支持与服务方面有文档、客户支持、社区论坛、信任中心、合作伙伴。还能查看所有资源。开源社区有GitHub赞助项目包括安全实验室、维护者社区、加速器、GitHub明星项目、存档计划仓库有主题、热门项目、集合。企业版企业解决方案有企业平台可用附加组件有GitHub高级安全、面向企业的Copilot、高级支持。还有定价相关内容。搜索与反馈可进行搜索代码、仓库、用户、问题、拉取请求等操作有搜索语法提示。还可提供反馈包含邮箱地址以便联系。保存的搜索使用保存的搜索可更快筛选结果要查看所有可用限定符可参阅文档。可取消创建保存的搜索也有登录、注册、外观设置等相关提示。仓库相关有frmoded/e--仓库有通知、复刻、加星等操作选项还有代码、问题、拉取请求、操作、项目、安全与质量、洞察等导航选项。主分支可进行分支、标签操作有文件夹和文件展示包括最新提交、历史记录等还可查看所有文件有仓库文件导航。E-- 编程语言介绍E--“English--”是一种使用简洁、规范的英语编写的编程语言可确定性地编译为Python代码。它是去除了歧义的英语拥有封闭的语法和固定的词汇表每个结构都只有一种规范表达方式设计初衷是让用户像阅读和编辑英语文本一样编写代码同时能编译成可复现的Python代码。开发此语言的原因大语言模型LLM生成的代码在运行时存在不确定性不可复现每次调用成本高且难以调试。E-- 将LLM的角色与代码执行分离编写代码时LLM可选生成规范的E-- 代码再由确定性解析器将其编译为Python代码最终运行纯粹的Python代码既能借助LLM创造力又能确保代码运行的确定性。快速开始可从PyPI安装将规范的E-- 文件转换为Python代码。对于不包含 {{ }} 占位符的规范E-- 代码无需使用LLM。若要对E-- 本身进行开发可克隆仓库并以模块形式调用CLI。在自己的软件中使用E--E-- 采用Apache许可证2.0具有宽松性并明确授予专利许可可自由嵌入商业产品。需注意许可证涵盖E-- 工具E-- 生成的Python代码归用户所有LLM由用户自行提供其提供商条款与本项目无关。编程接口有 from e_minus_minus import transpile 等。工作原理E-- 采用两阶段流水线架构将不可靠的部分与确定性的部分分离。包括规范化器LLM可选将自由格式英语转换为规范的E-- 代码编译器确定性将规范的E-- 代码转换为Python代码。LLM仅在转换时运行生成的Python代码是纯粹且自包含的LLM用于填充明确界定的值占位符解析结果会被缓存。示例给出规范的E-- 代码示例及其编译后的Python代码标记符号确保代码的明确性如 [[name]] 表示函数调用单独单词表示变量等。运行E--E-- 源文件使用 .emm 扩展名已实现将规范E-- 代码转换为Python代码的核心功能可通过命令行转换并运行 .emm 文件还给出了不同操作的命令示例及输出结果同时说明了注意事项。解析 {{ }} 占位符LLM设置{{ ... }} 占位符是英语短语转换程序会用LLM将其解析为Python表达式并缓存。不包含占位符的文件无需API密钥和设置。给出了端到端运行包含占位符示例的步骤、示例代码、转换后的Python代码及输出结果。第一次运行时会调用模型解析占位符并写入 .emm_cache.json 文件后续运行是离线缓存命中。编辑占位符文本会导致缓存未命中删除缓存文件会强制全面重新解析。单行值占位符示例可在命令行中构建包含占位符的示例第一次运行时LLM返回Python表达式第二次运行从缓存读取结果。代码占位符v0.2.0版本{{ ... }} 占位符可出现在语句位置开发者编写代码结构LLM负责填充具体代码区域。转换时语句占位符会被解析为实际Python代码但解析后的Python代码中的 [[wikilinks]] 或可调用引用对下游工具不透明开发者需在代码结构委托和代码图可见性之间权衡。可运行的代码占位符示例给出 examples/code_slot_example.emm 示例转换并运行该示例代码占位符可委托导入操作与值占位符有不同特点。使用自由英语编写代码不必手动编写规范的E-- 代码转换程序第一阶段用LLM将自由英语编写的E-- 代码规范化为规范的E-- 代码再编译为Python代码。给出英语源代码示例及规范化并运行的命令这种方式安全且经济原因是解析器是规范检测器已规范的文件无需API密钥且有不动点和缓存机制。规范化和 {{ }} 占位符解析是独立的、分别缓存的LLM交互点。项目状态目前处于早期设计阶段语言规范在 docs/spec.md 中定义。将规范E-- 代码转换为Python代码的确定性核心已实现提供可运行的CLI{{ }} 占位符解析功能已实现LLM规范化器已实现全文件粒度转换下一步将优化按区域进行规范化的功能。文档包括语言规范docs/spec.md、内部开发工作流程docs/cowork-protocol.md、docs/cc-prompt-queue.md。关于未提供描述、网站或主题信息有资源README、许可证Apache 2.0许可证等相关内容还有加星数、关注者、复刻数等信息以及版本发布、包、贡献者、编程语言等相关情况最后是页脚导航信息。