HiA common request is to have some form of compiled libraries to run a Scheme program, and not relying on source files for the program to run.This is already provided in IronScheme via precompiled/serialized libraries, but still results in a ‘binary’ format for every library file, which in turn can end up being quite a [...]
So everyone (well all the IronXXX people) is doing it, so I might well too I present using IronScheme in C# 4:class Program{ static dynamic Scheme = new SchemeEnvironment(); static void Main(string[] args) { var list = Scheme.list; var map = Scheme.map; [...]
HiAfter just over 1 year in beta phase, IronScheme has moved into release candidate phase.Download IronScheme 1.0 RC 1.Cheersleppie
HiI have recently checked in code that completely removes the usage (and in fact removes it from existence) of the DLR’s BigInteger implementation and replaces it with the IntX big number implementation.The new code provides much better performance in terms of multiplication of very big numbers. Although I have not benchmarked it, I suspect the [...]
As per the R6RS, I have now partially exploited compile time information to define record types at compile time if possible. Currently, it is only possible in the bootfile and only defines the ’shape’ of the record (iow fields).Further work will include making direct constructor (if possible), predicate, accessor and mutator references. This should provide [...]
I have moved with-clr-type and friends to the (ironscheme clr shorthand) library.clr-call, clr-field-get and clr-field-set! have been modified to infer the type based on the instance argument. This is good news, as it allows me to apply with-clr-type’s shorthand syntax fluidly (or recursively). To utilize this feature, you simply have to pass #f as the [...]
This one looks like a normal ‘let’ form, but binds to CLR constructed objects instead.Usage:(let-clr-type ((obj (TestClass "foo))) ; same as 'clr-new', but without 'clr-new' identifier (obj : Message))
I have added a new macro called ‘with-clr-type’, that tags an identifier with a CLR type, and this allows to write shorter syntax.Given the following class: public class TestClass { public string Source; public string Message { get; set; } public TestClass() [...]
The Scheme Programming Language – Fourth EditionThe new edition focuses on R6RS, which is the latest version of the Scheme language, and the one that IronScheme supports.Great reading! Thanks to Reddit (and the authors).Update:The site seems to have been taken down for unknown reasons. Let’s hope it reappears soon!Update 2:The site is now [...]
Just saw this on Reddit.The Scheme Programming Language – Fourth Edition
IronScheme 1.0 beta 4 is now available here.Please see the release notes for changes/fixes. This will also be the last beta before a possible release candidate, and the final 1.0 version.Cheersleppie
Over the last week or so, I have after some inspiration (and help from Fufie), added a bunch of documentation to the codeplex site.You can have a look here.As an added bonus, I wrote a little commandline webserver, that show cases another extension to the documentation (think library browser). The webserver is included in [...]
HiTo show the new debugging features of IronScheme, I have made a little screencast of it in action IronScheme DebuggingTo enable debugging of scripts, simply execute (debug-mode? #t) and attach a debugger to IronScheme.Console, and set a breakpoint in the scripts source file.
Yay! So they are good for use, and will be included in the next release.
Over the last week I have found a few annoying bugs related to printing of exception, especially during read time.I have now updated the release to beta 3a.Also included is a bug fix for parameter handling.Download from here.Thanks leppie
The new beta is out now.I have tried to recreate the 64-bit issue with no luck, but I have a hunch it could be a version issue. Let’s see where the release takes us If the bug persist, please log a bug at the project page for IronScheme.Download from here.UPDATE:I have managed to get [...]
HiRecently I have been converting a lot of procedures from their C# implementation to Scheme. This has proved to be rather successful as the compiler has matured to such a point that it is within 50% of writing the code in C#. While doing this, I have identified several optimizations that can be applied [...]
IronScheme 1.0 beta 2 is now available for download.http://www.codeplex.com/IronScheme/Release/ProjectReleases.aspx?ReleaseId=21079Enjoy
> (import (ironscheme ffi))> (define dlload (pinvoke-call kernel32 LoadLibrary intptr (string)))> (define dlsym (pinvoke-call kernel32 GetProcAddress intptr (intptr string)))> (define ffitestlib (dlload "ffitest"))> (define cb (dlsym ffitestlib "fnfficallback"))> (define cb-sig (ffi-callout int32 (intptr)))> (define fnfficallback (cb-sig cb))> (define fxplus ((ffi-callback int32 (int32 int32)). (lambda (x y). (printf [...]
> (import (ironscheme clr))> (define dlload (pinvoke-call kernel32 LoadLibrary intptr (string)))> (define dlsym (pinvoke-call kernel32 GetProcAddress intptr (intptr string)))> (define malloc-sig (ffi-callout void* (uint32)))> (define lib (dlload "msvcrt"))> lib2000748544> (define proc (dlsym lib "malloc"))> proc2000788909> (define malloc (malloc-sig proc))> malloc#<procedure ffi-callout>> (define mem (malloc 8))> mem1905864>
Want to leave feedback?Please use Discussions or Reviews instead.
Archived page comments (7)
Ads by The Lounge