https://twitter.com/terrajobst/status/1562179020027965446
https://twitter.com/leppie/status/1562196732418482176
(library (foo2)
(export run ack fib tak)
(import
(except (ironscheme) define + - < = time fx+ fx- fx<? fx=?)
(ironscheme typed core)
(ironscheme syntax shorthand)
(only (ironscheme datetime) measure)
(rename (only (ironscheme typed fixnums) fx+ fx- fx<? fx=?)
(fx+ +)
(fx- -)
(fx<? <)
(fx=? =)))
(define-syntax-rule (define (name arg ...) body ...)
(define: (name (arg : fixnum) ... -> fixnum)
body ...))
(define-syntax-rule (time expr)
(measure 1000 expr))
(define (ack m n)
(cond
[(= m 0) (+ n 1)]
[(= n 0) (ack (- m 1) 1)]
[else (ack (- m 1) (ack m (- n 1)))]))
(define (fib n)
(if (< n 2)
n
(+ (fib (- n 1)) (fib (- n 2)))))
(define (tak x y z)
(if (not (< y x))
z
(tak (tak (- x 1) y z)
(tak (- y 1) z x)
(tak (- z 1) x y))))
(define (run)
(ack 3 1)
(time (ack 3 10))
(fib 10)
(time (fib 35))
(tak 18 12 6)
(time (tak 22 17 6))
0))
@prompt $G
@cls
echo (import (foo2)) (run) | IronScheme.Console32-v2.exe --logo
echo (import (foo2)) (run) | IronScheme.Console-v2.exe --logo
echo (import (foo2)) (run) | IronScheme.Console32-v4.exe --logo
echo (import (foo2)) (run) | IronScheme.Console-v4.exe --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.0.2 --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.1.28 --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 5.0.17 --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 6.0.8 --logo
echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 7.0.0-rc.1.22426.10 --logo
@prompt $P$G
> (import (ironscheme typed fixnums))
> (disassemble fx+)
Int32 fx+(Int32, Int32)
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: add
IL_0003: ret
> (disassemble fx-)
Int32 fx-(Int32, Int32)
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: sub
IL_0003: ret
> (disassemble fx<?)
Boolean fx<?(Int32, Int32)
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: clt
IL_0004: ret
> (disassemble fx=?)
Boolean fx=?(Int32, Int32)
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: ceq
IL_0004: ret
> (import (foo2))
> (disassemble ack)
Int32 foo2::ack(Int32, Int32)
.locals init (
System.Int32 (0)
System.Int32 (1)
System.Int32 (2)
System.Int32 (3)
)
IL_0000: ldarg.0
IL_0001: ldc.i4.0
IL_0002: call Boolean ironscheme.typed.fixnums::fx=?(Int32, Int32)
IL_0007: brfalse IL_0014
IL_000c: ldarg.1
IL_000d: ldc.i4.1
IL_000e: call Int32 ironscheme.typed.fixnums::fx+(Int32, Int32)
IL_0013: ret
IL_0014: ldarg.1
IL_0015: ldc.i4.0
IL_0016: call Boolean ironscheme.typed.fixnums::fx=?(Int32, Int32)
IL_001b: brfalse IL_0035
IL_0020: ldarg.0
IL_0021: ldc.i4.1
IL_0022: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0027: stloc.0
IL_0028: ldc.i4.1
IL_0029: stloc.1
IL_002a: ldloc.0
IL_002b: starg.s Int32 m
IL_002d: ldloc.1
IL_002e: starg.s Int32 n
IL_0030: br IL_0000
IL_0035: ldarg.0
IL_0036: ldc.i4.1
IL_0037: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_003c: stloc.2
IL_003d: ldarg.0
IL_003e: ldarg.1
IL_003f: ldc.i4.1
IL_0040: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0045: call Int32 foo2::ack(Int32, Int32)
IL_004a: stloc.3
IL_004b: ldloc.2
IL_004c: starg.s Int32 m
IL_004e: ldloc.3
IL_004f: starg.s Int32 n
IL_0051: br IL_0000
> (disassemble fib)
Int32 foo2::fib(Int32)
IL_0000: ldarg.0
IL_0001: ldc.i4.2
IL_0002: call Boolean ironscheme.typed.fixnums::fx<?(Int32, Int32)
IL_0007: brfalse IL_000e
IL_000c: ldarg.0
IL_000d: ret
IL_000e: ldarg.0
IL_000f: ldc.i4.1
IL_0010: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0015: call Int32 foo2::fib(Int32)
IL_001a: ldarg.0
IL_001b: ldc.i4.2
IL_001c: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0021: call Int32 foo2::fib(Int32)
IL_0026: call Int32 ironscheme.typed.fixnums::fx+(Int32, Int32)
IL_002b: ret
> (disassemble tak)
Int32 foo2::tak(Int32, Int32, Int32)
.locals init (
System.Int32 (0)
System.Int32 (1)
System.Int32 (2)
)
IL_0000: ldarg.1
IL_0001: ldarg.0
IL_0002: call Boolean ironscheme.typed.fixnums::fx<?(Int32, Int32)
IL_0007: brtrue IL_000e
IL_000c: ldarg.2
IL_000d: ret
IL_000e: ldarg.0
IL_000f: ldc.i4.1
IL_0010: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0015: ldarg.1
IL_0016: ldarg.2
IL_0017: call Int32 foo2::tak(Int32, Int32, Int32)
IL_001c: stloc.0
IL_001d: ldarg.1
IL_001e: ldc.i4.1
IL_001f: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0024: ldarg.2
IL_0025: ldarg.0
IL_0026: call Int32 foo2::tak(Int32, Int32, Int32)
IL_002b: stloc.1
IL_002c: ldarg.2
IL_002d: ldc.i4.1
IL_002e: call Int32 ironscheme.typed.fixnums::fx-(Int32, Int32)
IL_0033: ldarg.0
IL_0034: ldarg.1
IL_0035: call Int32 foo2::tak(Int32, Int32, Int32)
IL_003a: stloc.2
IL_003b: ldloc.0
IL_003c: starg.s Int32 x
IL_003e: ldloc.1
IL_003f: starg.s Int32 y
IL_0041: ldloc.2
IL_0042: starg.s Int32 z
IL_0044: br IL_0000
public static int ack(int m, int n)
{
while (!fixnums.fx=?(m, 0))
{
if (fixnums.fx=?(n, 0))
{
int num = fixnums.fx-(m, 1);
int num2 = 1;
m = num;
n = num2;
}
else
{
int num3 = fixnums.fx-(m, 1);
int num4 = ack(m, fixnums.fx-(n, 1));
m = num3;
n = num4;
}
}
return fixnums.fx+(n, 1);
}
public static int fib(int n)
{
if (fixnums.fx<?(n, 2))
{
return n;
}
return fixnums.fx+(fib(fixnums.fx-(n, 1)), fib(fixnums.fx-(n, 2)));
}
public static int tak(int x, int y, int z)
{
while (fixnums.fx<?(y, x))
{
int num = tak(fixnums.fx-(x, 1), y, z);
int num2 = tak(fixnums.fx-(y, 1), z, x);
int num3 = tak(fixnums.fx-(z, 1), x, y);
x = num;
y = num2;
z = num3;
}
return z;
}
>echo (import (foo2)) (run) | IronScheme.Console32-v2.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 32-bit)
(ack 3 10): 46ms
(fib 35): 44ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.Console-v2.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 64-bit)
(ack 3 10): 62ms
(fib 35): 61ms
(tak 22 17 6): 46ms
0
>echo (import (foo2)) (run) | IronScheme.Console32-v4.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 4.8 32-bit)
(ack 3 10): 53ms
(fib 35): 43ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.Console-v4.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 4.8 64-bit)
(ack 3 10): 49ms
(fib 35): 46ms
(tak 22 17 6): 39ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 2.1 64-bit)
(ack 3 10): 46ms
(fib 35): 45ms
(tak 22 17 6): 40ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.0.2 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 3.0 64-bit)
(ack 3 10): 39ms
(fib 35): 49ms
(tak 22 17 6): 38ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.1.28 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 3.1 64-bit)
(ack 3 10): 38ms
(fib 35): 47ms
(tak 22 17 6): 38ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 5.0.17 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 5.0 64-bit)
(ack 3 10): 47ms
(fib 35): 46ms
(tak 22 17 6): 44ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 6.0.8 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 6.0 64-bit)
(ack 3 10): 47ms
(fib 35): 47ms
(tak 22 17 6): 39ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 7.0.0-rc.1.22426.10 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 7.0 64-bit)
(ack 3 10): 46ms
(fib 35): 48ms
(tak 22 17 6): 41ms
0
> (compile)
compiling ironscheme.syntax.utils.dll
compiling ironscheme.typed.parsing-helper.dll
compiling ironscheme.typed.parsing.dll
compiling ironscheme.clr.helpers.dll
compiling ironscheme.clr.dll
compiling ironscheme.typed.core.dll
compiling ironscheme.syntax.shorthand.dll
compiling ironscheme.typed.dll
compiling ironscheme.contracts-helper.dll
compiling ironscheme.contracts.dll
compiling ironscheme.datetime.dll
compiling ironscheme.typed.fixnums.dll
compiling foo2.dll
>echo (import (foo2)) (run) | IronScheme.Console32-v2.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 32-bit)
(ack 3 10): 48ms
(fib 35): 40ms
(tak 22 17 6): 39ms
0
>echo (import (foo2)) (run) | IronScheme.Console-v2.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 64-bit)
(ack 3 10): 59ms
(fib 35): 51ms
(tak 22 17 6): 40ms
0
>echo (import (foo2)) (run) | IronScheme.Console32-v4.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 4.8 32-bit)
(ack 3 10): 42ms
(fib 35): 40ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.Console-v4.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 4.8 64-bit)
(ack 3 10): 49ms
(fib 35): 50ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 2.1 64-bit)
WARNING: library (ironscheme typed) has an inconsistent dependency on library (ironscheme typed core); file "lib/ironscheme/typed.sls" will be recompiled from source.
(ack 3 10): 43ms
(fib 35): 48ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.0.2 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 3.0 64-bit)
(ack 3 10): 110ms
(fib 35): 48ms
(tak 22 17 6): 41ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 3.1.28 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET Core 3.1 64-bit)
(ack 3 10): 107ms
(fib 35): 52ms
(tak 22 17 6): 40ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 5.0.17 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 5.0 64-bit)
(ack 3 10): 105ms
(fib 35): 46ms
(tak 22 17 6): 39ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 6.0.8 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 6.0 64-bit)
(ack 3 10): 87ms
(fib 35): 46ms
(tak 22 17 6): 40ms
0
>echo (import (foo2)) (run) | IronScheme.ConsoleCore.exe --fx-version 7.0.0-rc.1.22426.10 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 7.0 64-bit)
(ack 3 10): 45ms
(fib 35): 42ms
(tak 22 17 6): 34ms
0
- Precompiled libraries only seems to fail on .NET Core 2.1 with inconsistent dependency when loading
- Precompiled libraries fails on .NET Core 3+ when
foo2
is not precompiled, but its dependencies are (see errors at bottom) - JIT cross-assembly regression from .NET Core 3 onwards in
ack
(update: fixed in .NET 7)
>IronScheme.Console32-v2.exe
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 32-bit)
> (compile-system-libraries)
Statistics for 'total compile time':
Real Time: 4069ms
CPU Time: 3922ms
User Time: 4297ms
GC's: 158
>IronScheme.ConsoleCore.exe --fx-version 6.0.8
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 6.0 64-bit)
> (compile-system-libraries)
Statistics for 'total compile time':
Real Time: 7293ms
CPU Time: 7578ms
User Time: 7688ms
GC's: 158
>IronScheme.Console32-v2.exe
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 2.0 32-bit)
> (ironscheme-test)
3 tests failed:
Expression:
v
Result:
(out in)
Expected:
(out in out in)
Expression:
(output-port-buffer-mode p)
Result:
line
Expected:
none
Expression:
(get-line p)
Result:
"ppλe"
Expected:
"ppλe\r"
3 of 8972 tests failed.
Statistics for 'R6RS test suite':
Real Time: 6362ms
CPU Time: 5922ms
User Time: 6094ms
GC's: 262
>IronScheme.ConsoleCore.exe --fx-version 6.0.8
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 6.0 64-bit)
> (ironscheme-test)
4 tests failed:
Expression:
(char-lower-case? #\ª)
Result:
#f
Expected:
#t
Expression:
v
Result:
(out in)
Expected:
(out in out in)
Expression:
(output-port-buffer-mode p)
Result:
line
Expected:
none
Expression:
(get-line p)
Result:
"ppλe"
Expected:
"ppλe\r"
4 of 8972 tests failed.
Statistics for 'R6RS test suite':
Real Time: 4422ms
CPU Time: 4484ms
User Time: 4547ms
GC's: 278
>IronScheme.ConsoleCore.exe --fx-version 7.0.0-rc.1.22426.10 --logo
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 7.0 64-bit)
> (ironscheme-test)
4 tests failed:
Expression:
(char-lower-case? #\ª)
Result:
#f
Expected:
#t
Expression:
v
Result:
(out in)
Expected:
(out in out in)
Expression:
(output-port-buffer-mode p)
Result:
line
Expected:
none
Expression:
(get-line p)
Result:
"ppλe"
Expected:
"ppλe\r"
4 of 8972 tests failed.
Statistics for 'R6RS test suite':
Real Time: 5727ms
CPU Time: 5984ms
User Time: 6094ms
GC's: 278
>echo (import (foo2)) | IronScheme.ConsoleCore.exe --fx-version 6.0.8 --logo --show-loaded-libraries
IronScheme 1.0.282-7e9f16c github.com/IronScheme © 2007-2021 Llewellyn Pritchard (.NET 6.0 64-bit)
ironscheme.typed.core.dll
ironscheme.syntax.utils.dll
ironscheme.clr.dll
ironscheme.clr.helpers.dll
ironscheme.typed.parsing.dll
ironscheme.typed.parsing-helper.dll
ironscheme.syntax.shorthand.dll
ironscheme.datetime.dll
ironscheme.contracts.dll
ironscheme.contracts-helper.dll
ironscheme.typed.dll
ironscheme.typed.fixnums.dll
Unhandled CLR exception during evaluation:
CLR Exception: System.NullReferenceException
System.NullReferenceException: Object reference not set to an instance of an object.
at IronScheme.Scripting.ModuleGlobalWrapper.get_CurrentValue() in C:\projects\ironscheme\IronScheme\Microsoft.Scripting\ModuleGlobalWrapper.cs:line 62
at ironscheme.syntax.utils.syntax-format+(Object fmt, Object loc, Object args)
at ironscheme.typed.core.anon#700##get-spec$4918(CodeContext $context, Object id, Object lookup)
at ironscheme.typed.core.anon#700##anon#1#2#3$4920(CodeContext $context, Object lookup)
at #.psyntax.expander::do-macro-call(Object transformer, Object expr, Object r, Object rib) in psyntax\expander.sls:line 2783
at #.psyntax.expander::chi-global-macro(Object p, Object e, Object r, Object rib) in psyntax\expander.sls:line 2837
at #.psyntax.expander::chi-body*(CodeContext $context, Object e*, Object r, Object mr, Object lex*, Object rhs*, Object mod**, Object kwd*, Object exp*, Object rib, Object mix?, Object sd?) in psyntax\expander.sls:line 1001
at #.psyntax.expander::chi-body*(CodeContext , Object[] ) in :line 0
at #.psyntax.expander::chi-library-internal(Object e*, Object rib, Object mix?) in psyntax\expander.sls:line 3704
at #.psyntax.expander::library-body-expander##anon#1#2#3#4#5##anon#1#2#3$2620(CodeContext $context) in psyntax\expander.sls:line 3738
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.expander::library-body-expander##anon#1#2$2538(CodeContext $context) in psyntax\expander.sls:line 161
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.expander::library-body-expander(Object name, Object main-exp*, Object imp*, Object b*, Object mix?) in psyntax\expander.sls:line 161
at #.psyntax.expander::core-library-expander#anon#1#2#3#4#5#6#7#8$2536(CodeContext $context) in psyntax\expander.sls:line 3820
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.expander::core-library-expander(Object e, Object verify-name) in psyntax\expander.sls:line 3816
at #.psyntax.expander::library-expander(Object x, Object filename, Object verify-name) in psyntax\expander.sls:line 3978
at #.psyntax.library-manager::find-external-library#1#anon#1$2060(CodeContext $context) in psyntax\library-manager.sls:line 365
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.library-manager::find-external-library(Object name) in psyntax\library-manager.sls:line 161
at #.psyntax.library-manager::find-library-by-name(Object name) in psyntax\library-manager.sls:line 377
at #.psyntax.expander::parse-import-spec*##import-library$2597(CodeContext $context, Object spec*) in psyntax\expander.sls:line 3569
at #.psyntax.expander::parse-import-spec*##add-imports!$2615(CodeContext $context, Object imp, Object h) in psyntax\expander.sls:line 3628
at #.psyntax.expander::parse-import-spec*(Object imp*) in psyntax\expander.sls:line 3643
at #.psyntax.expander::chi-body*#1#anon#1#2#3#4#5##library-import#anon#1#2$2642(CodeContext $context, Object ctxt, Object imp*) in psyntax\expander.sls:line 3343
at #.psyntax.expander::chi-body*(CodeContext $context, Object e*, Object r, Object mr, Object lex*, Object rhs*, Object mod**, Object kwd*, Object exp*, Object rib, Object mix?, Object sd?) in psyntax\expander.sls:line 3221
at #.psyntax.expander::chi-body*(CodeContext , Object[] ) in :line 0
at #.psyntax.expander::chi-interaction-expr(Object e, Object rib, Object r) in psyntax\expander.sls:line 3712
at #.psyntax.expander::core-expand#anon#1#2#3#4#5$2663(CodeContext $context) in psyntax\expander.sls:line 3939
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.expander::core-expand(Object x, Object env) in psyntax\expander.sls:line 3938
at #.psyntax.expander::eval(Object x, Object env) in psyntax\expander.sls:line 3951
at #.psyntax.main::eval-top-level#anon#1#2#3#4#5$2698(CodeContext $context) in psyntax\main.sls:line 142
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.psyntax.main::eval-top-level#anon#1#2$2696(CodeContext $context) in psyntax\main.sls:line 161
at #.ironscheme.exceptions::dynamic-wind(Object in, Object proc, Object out) in build\exceptions.sls:line 53
at #.ironscheme.exceptions::with-exception-handlers(Object new-handlers, Object thunk) in build\exceptions.sls:line 67
at #.ironscheme.exceptions::with-exception-handler(Object handler, Object thunk) in build\exceptions.sls:line 64
at #.psyntax.main::eval-top-level#anon#1$2692(CodeContext $context, Object k) in psyntax\main.sls:line 141
at IronScheme.Runtime.Builtins.CallWithCurrentContinuation(Object fc1) in C:\projects\ironscheme\IronScheme\IronScheme\Runtime\Control.cs:line 183
at IronScheme.Runtime.R6RS.Exceptions.WithClrExceptionHandler(Object handler, Object thunk) in C:\projects\ironscheme\IronScheme\IronScheme\Runtime\R6RS\Exceptions.cs:line 24