IronScheme

IronScheme 旨在成为一个基于微软 DLR 的、符合 R6RS 标准的类方案实现。「IronScheme aims to be a R6RS conforming Scheme-like implementation based on the Microsoft DLR.」

Github星跟踪图

IronScheme

IronScheme 旨在成为一个基于微软 DLR 的、符合 R6RS 标准的类方案实现。

IronScheme 实现了超过 99% 的 R6RS 规范和指定行为。

构建

  1. 在 VS2019 中打开 IronSchemeCore.sln 文件
  2. 设置启动项目为 IronScheme.Console

或者,使用 IronScheme 目录下的 build.cmd 批处理文件。

在 Windows 上运行

运行 IronScheme.Console.exe,以获得你想要的目标运行时间和比特率。

V2 需要 .NET3.5。V4 需要的是 .NET4.0 或更高。几乎所有运行中的 Windows 都应该有其中的一个或两个。

你也可以用 .NET Core 运行它,它的编译功能有限。

在 Linux/MacOS 上运行

# get .NET Core if you dont have it already
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
dotnet-install.sh --channel Current --runtime dotnet # v2.1+
export -p PATH="$HOME/.dotnet:$PATH"


库的使用

从你的项目中引用 IronScheme.dll。

运行测试

构建完成后,你可以使用 NUnit 来运行 IronScheme.Tests.dll,它位于 IronScheme.Console bin 文件夹中。

IronScheme 目录下还有一个名为 test.cmd 的批处理文件。你可以在批处理文件中传递 /verbose,以便在失败的情况下看到完整的输出。

注意

确保 peverify 在你的 PATH 中。测试装置被设计为以特定的顺序执行。测试将不会少于6分钟完成。

Nuget feed

在 Nuget.org 和 CI-builds 上 https://ci.appveyor.com/nuget/ironscheme

问题

请在你的问题/PR 中 @leppie,否则我可能不知道。我不会主动监控 Github。如果我仍然没有答案,请在 Twitter 上唠叨我,也请 @leppie。

其他


主要指标

概览
名称与所有者IronScheme/IronScheme
主编程语言Scheme
编程语言C# (语言数: 6)
平台Linux, Mac, Windows
许可证Other
所有者活动
创建于2011-07-16 18:04:48
推送于2025-02-07 11:48:44
最后一次提交2024-11-15 20:17:08
发布数74
最新版本名称1.0.575 (发布于 )
第一版名称1.0.110 (发布于 )
用户参与
星数387
关注者数27
派生数45
提交数2k
已启用问题?
问题数106
打开的问题数21
拉请求数16
打开的拉请求数1
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

IronScheme

IronScheme aims to be a R6RS conforming Scheme-like implementation based on the Microsoft DLR.

IronScheme implements over 99% of the R6RS specification and specified behavior.

Build status

Building

  1. Open the IronSchemeCore.sln file in VS2019
  2. Set startup project as IronScheme.Console

Alternatively, using the build.cmd batchfile in the IronScheme directory.

Running on Windows

Run the IronScheme.Console.exe for the runtime and bitness you want to target.

V2 requires .NET3.5. V4 requires requires .NET4.0 or higher. Pretty much any running Windows should have one or both of those.

You can also run it with .NET Core, which has limited compilation functionality.

Running on Linux/MacOS

# get .NET Core if you dont have it already
wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
dotnet-install.sh --channel Current --runtime dotnet # v2.1+
export -p PATH="$HOME/.dotnet:$PATH"
# Download 
wget https://github.com/IronScheme/IronScheme/releases/download/<latest release>.zip
unzip <latest release>.zip
cd IronScheme
alias ironscheme="dotnet IronScheme.ConsoleCore.dll"
# if you prefer Mono
# alias ironscheme="mono IronScheme.Console-v4.exe"

ironscheme

Library usage

Reference IronScheme.dll from your project.

using IronScheme;

class Program
{
    static void Main(string[] args)
    {
        "(display 'hello-world)".Eval();
    }
} 

Running tests

After building, you can use NUnit to run IronScheme.Tests.dll in the IronScheme.Console bin folder.

There is also a batch file in the IronScheme directory called test.cmd. You can pass the /verbose to the batch file to see complete output in case of failures.

Note

Make sure that peverify is in your PATH. The test fixtures are designed to execute in a specfic order. The tests will not take less than 6 minutes to complete.

Nuget feed

On Nuget.org and CI-builds on https://ci.appveyor.com/nuget/ironscheme

Issues

Please @leppie in your issues/PR's, else I will probably not know about it. I do not actively monitor Github. If I still dont answers, nag me on Twitter, also @leppie.

Other