1 个不稳定版本

0.1.0 2019年8月15日

#1034开发工具

AGPL-3.0 或更高版本

380KB
4K SLoC

The Language

pipeline status

位于 https://gitlab.com/the-language/the-language

名称

  • 标识 TheLanguage

文档

https://the-language.gitlab.io/the-language/

编译、运行、测试

可以使用./builder-containers/docker/run.shzaoqi/the-language-builder在Docker中编译。

Docker Hub: https://hub.docker.com/r/zaoqi/the-language-builder

  • 编译 ./make.sh
  • 测试 ./test.sh

编译、运行、测试的依赖

core/pure/README.mdbuilder-containers/docker/Dockerfile

.git/config

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	precomposeunicode = true
[remote "origin"]
	url = [email protected]:the-language/the-language.git
	fetch = +refs/heads/*:refs/remotes/origin/*
	pushurl = [email protected]:the-language/the-language.git
	pushurl = [email protected]:the-language/the-language.git
[branch "master"]
	remote = origin
	merge = refs/heads/master

实验性特性

  • 使能否实现一个总是停机的解释器成为未解决的数学问题
  • ...

使能否实现一个总是停机的解释器成为未解决的数学问题

  • 直观上还可以描述所有可计算算法。但与图灵机不等价。
  • :顶层是类似cons null等的表达式的定义同The Little Typer一书中中的定义。
  • 解释没有值:允许解释器解释一部分或全部没有值表达式为某种错误错误是一种)。要求尽可能减少(这个尽可能还没有被精确定义)被解释没有值表达式的大小。
  • 没有值解释没有值任意次之后,如果不能继续解释没有值,不能化简为任何表达式。含有有没有值无法判定的情况。
  • 一次解释没有值可以解释任意个表达式
  • 暂时没有不可判定的情况。上面的"含有有没有值无法判定的情况"暂时没有用处。
  • 每一层eval都没有判定这个eval本身一个表达式是否没有值的函数。只判定被解释的表达式在某个状态下(解释没有值任意次之后)是否没有值

可接受的结果

  • 一个表达式可能有多個合理的。比如(letrec ([x (car y)] [y (car x)]) x)

无运行时依赖