Custom Microsoft.Scripting.dll?

Dec 20, 2011 at 6:04 AM

It appears IronScheme is using a cusom Microsoft.Scripting.Dll, possibly to allow IntX instead of Microsofts BigInt implementation.

This is a big problem for me, since it makes it incompatible with just about everything else on the DLR. How much does your Microsoft.Scripting.dll differ from the one used by the other IronLanguages? Could it be removed if one didn't care about the bigint performance? While performance is great, having a customized version of a shared Microsoft dll is just a very horrible idea.

Assuming you've made heavy modifications and depend on those, can you please rename it/change public keys etc at least, so that it can be used side-by-side with the real one?

Dec 20, 2011 at 6:13 AM


I dont understand the problem. 

My version of Microsoft.Scripting.dll is not shared, neither is it signed. I dont know how this causes a conflict for you.

Can you perhaps explain the scenario, so I can investigate?



Dec 20, 2011 at 6:19 AM

I have a library using IronPython meaning I reference the official Microsoft.Scripting.Dll. This is for a scripting language library for my engine. I want to include Scheme support as well and IronScheme seems to be perfect, however, a project can only reference one version of it meaning the IronPython one takes preference which makes it impossible to use IronScheme and IronPython/IronRuby together.

Dec 20, 2011 at 6:26 AM

OK, I understand. 

Will rename it, or merge it with IronScheme.dll if possible.

Dec 20, 2011 at 6:27 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.
Dec 20, 2011 at 6:30 AM

That would be great! The best would be to merge your customizations with IronScheme.dll or another dll and reference the official Microsoft.Scripting.dll instead. That way you would benefit from all the work the others are performing on the official one (bugfixes etc) as well as making it easier to work with for lots of people.

Dec 20, 2011 at 12:17 PM

My version of Microsoft.Scripting, is a very old fork, that has been heavily tweaked. Not possible to merge the additions :(

In the future, ideally I would like to remove Microsoft.Scripting.dll completely and replace it with a Scheme written compiler/assembler.

For now renaming will just have to do, but it might be tricky due to wacky stuff (hello circular dependency!) I do to hook into ironscheme.boot.dll.

Dec 20, 2011 at 12:21 PM

Any suggestions on what to rename it?

  • IronScheme.Scripting
  • MSScripting
  • Scripting
  • MS.Scripting
  • Microsoft.Scripting2
  • Microsoft.Scripting.Old

I kinda like the first one, but then people would think I wrote it. Also, that library is under a less permissive license than the rest of IronScheme which is BSD.

I realised that the DLR is under Apache now, but with my discussions with an author, it is clear to change the currently license, would be too much effort. It does not bother me, but may influence others.

Dec 20, 2011 at 8:24 PM

I tried to make a renamed version myself but failed due to the ironscheme.boot.dll, I called it Microsoft.Scripting.IronScheme.dll. I don't really care what it's called as long as it's not something that is very likely to collide with something, but would preferr if it contained IronScheme somewhere.

Dec 22, 2011 at 8:33 AM

Fixed in changeset 84121 

Dec 22, 2011 at 12:23 PM

Thanks alot, I can confirm that it now works in my engine together with IronPython.

Dec 22, 2011 at 12:25 PM

No problem :)