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 (發布於 )
用户参与
星數390
關注者數27
派生數44
提交數2k
已啟用問題?
問題數107
打開的問題數22
拉請求數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