项目作者: the-language

项目描述 :
visit https://github.com/the-language/the-language-jit
高级语言: TypeScript
项目地址: git://github.com/the-language/the-language.git
创建时间: 2019-08-07T16:12:18Z
项目社区:https://github.com/the-language/the-language

开源协议:GNU Affero General Public License v3.0

下载


The Language

pipeline status

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

名称

  • 标识 TheLanguage

文檔

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

編譯,運行,測試

可以用./builder-containers/docker/run.sh或者zaoqi/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

  1. [core]
  2. repositoryformatversion = 0
  3. filemode = true
  4. bare = false
  5. logallrefupdates = true
  6. precomposeunicode = true
  7. [remote "origin"]
  8. url = git@gitlab.com:the-language/the-language.git
  9. fetch = +refs/heads/*:refs/remotes/origin/*
  10. pushurl = git@gitlab.com:the-language/the-language.git
  11. pushurl = git@github.com:the-language/the-language.git
  12. [branch "master"]
  13. remote = origin
  14. merge = refs/heads/master

實驗性特性

  • 使能否實現一個總是停機的解釋器成為未解決的數學問題
  • ...

使能否實現一個總是停機的解釋器成為未解決的數學問題

  • 直覺上還能描述所有可计算算法。但和Turing机不等价。
  • :頂層是類似cons null等東西的表達式的定義同The Little Typer一書中的定義。
  • 解釋沒有值:允許解釋器解釋一部分或全部沒有值表達式爲某種錯誤錯誤是一種)。要求儘量減小(這個儘量還沒被精確定義)被解釋沒有值表達式的大小。
  • 沒有值解釋沒有值任意次以後,如果不繼續解釋沒有值,不能化簡爲任何表達式。含有有沒有值無法判定的情況。
  • 一次解釋沒有值可以解釋任意個表達式
  • 暫時沒有不可判定的情況。上面的”含有有沒有值無法判定的情況。”暫時沒有用處。
  • 每一層eval都沒有判定這個eval本身一個表達式是否沒有值的函數。只判定被解釋的表達式在某個狀態下(解釋沒有值任意次以後)是否沒有值

可以接受的後果

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