IronScheme

{{Short description|.NET implementation of the Scheme programming language}}

{{Infobox software

| name = IronScheme

| logo =

| screenshot =

| caption =

| developer = Llewellyn Pritchard[https://www.infoq.com/news/2008/01/leppie-ironscheme/ A .NET Triumvirate: IronScheme, IronLisp, and Xacc]

| latest release version = 1.0.180

| latest release date = {{Start date and age|2019|09|19}}

| latest preview version = 1.0.239

| latest preview date = {{Start date and age|2019|12|27}}

| operating system = Microsoft Windows, macOS, Linux

| platform = .NET Framework, Mono

| genre = Programming language

| license = Ms-PL[https://www.infoq.com/news/2009/10/IronScheme/ IronScheme Nears Final Release]

| website = {{URL|https://github.com/IronScheme/IronScheme}}

}}

IronScheme is an implementation of the Scheme programming language targeting the Microsoft .NET Framework. IronScheme is a complete rewrite of IronLisp, incorporating lessons learnt while developing IronLisp.{{cite web | url = http://www.codeplex.com/IronScheme | title = IronScheme will aim to be a R6RS conforming Scheme implementation based on the Microsoft DLR. | access-date = 2009-03-21}}

IronScheme was planning to build upon the Microsoft Dynamic Language Runtime, but decided to abandon this idea because the DLR branch the project used became out of sync with the trunk, and also because the DLR, according to the developers, could not support the majority of the Scheme's requirements.{{cite web

| url = http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=55925

| archive-url = https://archive.today/20130119115406/http://ironscheme.codeplex.com/Thread/View.aspx?ThreadId=55925

| url-status = dead

| archive-date = January 19, 2013

| title = Is there any silverlight sample?

| quote = Unfortunately, my DLR branch is very out of sync with the Silverlight one. I just thought about it, perhaps I do not need the DLR perse, will investigate. The problem is that the DLR as-is, is not good enough to support the majority of the Scheme's requirements

| date = 2009-05-11

| access-date = 2009-07-26

}} IronScheme eventually made a limited use of its own version of the Microsoft's DLR, but it had to patch it to be able to implement some required Scheme features like tail call elimination.{{cite web

|url = http://ironscheme.codeplex.com/discussions/79734

|archive-url = https://archive.today/20130119133401/http://ironscheme.codeplex.com/discussions/79734

|url-status = dead

|archive-date = January 19, 2013

|title = .NET Integration with current runtime?

|quote = To make IronScheme use the current DLR, I would loose {{sic}} quite a few language requirements and important features, namely tail calls, and runtime record generation. Both these are not (and probably will never) be supported by the DLR, due to Silverlight compatibility requirements. Currently, IronScheme only lacks reifiable continuations to be 100% RnRS conforming. One could make IronScheme use the current DLR, but then it would not be Scheme anymore, as tail calls are extremely important (and required).

|date = 2010-01-05

|access-date = 2011-08-29

}}{{cite web

|url = http://ironscheme.codeplex.com/discussions/27361

|title = Plan to update to current version of DLR?

|quote = At the moment I only utilize about 15% of the DLR, and I would love to get rid of it eventually. The path they have chosen to do Python dynamically is too slow, and it lacks features that used to be present in the DLR (the new 'dynamic' features makes compilation to an assembly impossible). There are other features too that I had to build in, like tail calls and direct methods calls, that is also impossible in the latest DLR.

|date = 2008-05-14

|access-date = 2011-08-29

|archive-date = 2011-10-08

|archive-url = https://web.archive.org/web/20111008042027/http://ironscheme.codeplex.com/discussions/27361

|url-status = dead

}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist|2}}