Project Description

IronScheme will aim to be a R6RS conforming Scheme implementation based on the Microsoft DLR.

Roadmap (updated 9 July 2009)
SVN Access

 xacc.ide » IronScheme News Feed 
Monday, November 16, 2009  |  From xacc.ide » IronScheme

Hi
A 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 [...]

Tuesday, October 27, 2009  |  From xacc.ide » IronScheme

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;
[...]

Saturday, October 24, 2009  |  From xacc.ide » IronScheme

Hi
After just over 1 year in beta phase, IronScheme has moved into release candidate phase.
Download IronScheme 1.0 RC 1.
Cheers
leppie

Tuesday, October 13, 2009  |  From xacc.ide » IronScheme

Hi
I 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 [...]

Tuesday, September 22, 2009  |  From xacc.ide » IronScheme

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 [...]

Friday, August 21, 2009  |  From xacc.ide » IronScheme

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 [...]

Wednesday, August 19, 2009  |  From xacc.ide » IronScheme

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))

Sunday, August 16, 2009  |  From xacc.ide » IronScheme

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()
[...]

Monday, August 03, 2009  |  From xacc.ide » IronScheme

The Scheme Programming Language – Fourth Edition
The 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 [...]

Sunday, August 02, 2009  |  From xacc.ide » IronScheme

Just saw this on Reddit.
The Scheme Programming Language – Fourth Edition

Thursday, July 23, 2009  |  From xacc.ide » IronScheme

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.
Cheers
leppie

Sunday, July 05, 2009  |  From xacc.ide » IronScheme

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 [...]

Tuesday, June 02, 2009  |  From xacc.ide » IronScheme

Hi
To show the new debugging features of IronScheme, I have made a little screencast of it in action
IronScheme Debugging
To 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.

Friday, May 08, 2009  |  From xacc.ide » IronScheme

Yay!
So they are good for use, and will be included in the next release.

Saturday, May 02, 2009  |  From xacc.ide » IronScheme

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

Monday, April 27, 2009  |  From xacc.ide » IronScheme

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 [...]

Friday, April 03, 2009  |  From xacc.ide » IronScheme

Hi
Recently 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 [...]

Sunday, February 01, 2009  |  From xacc.ide » IronScheme

IronScheme 1.0 beta 2 is now available for download.
http://www.codeplex.com/IronScheme/Release/ProjectReleases.aspx?ReleaseId=21079
Enjoy

Sunday, January 25, 2009  |  From xacc.ide » IronScheme



> (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 [...]

Wednesday, January 21, 2009  |  From xacc.ide » IronScheme



> (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"))
> lib
2000748544
> (define proc (dlsym lib "malloc"))
> proc
2000788909
> (define malloc (malloc-sig proc))
> malloc
#<procedure ffi-callout>
> (define mem (malloc 8))
> mem
1905864
>

 xacc.ide » IronScheme News Feed 
Last edited Oct 17 at 2:36 PM by leppie, version 42

 

Want to leave feedback?
Please use Discussions or Reviews instead.

Archived page comments (7)

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2009.10.27.15987