Comments (8)
That particular version is the "command line version", which has external dependencies on Node.js
The coffee script core compiler: http://jashkenas.github.com/coffee-script/extras/coffee-script.js
Has all of the require
'd stuff built in.
Could you try the core compiler version?
from ironjs.
The two urls have the same content, the core compiler.
http://jashkenas.github.com/coffee-script/extras/coffee-script.js
https://github.com/jashkenas/coffee-script/raw/master/extras/coffee-script.js
But I made sure, same result with both versions.
from ironjs.
I'll look into this and see if I can re-produce it over the weekend, to busy with work this week to have time right now, sadly.
from ironjs.
This looks like an issue with the Function.prototype.call method. (Native.Function.fs, lines 131 though 133)
We are generating a delegate to call, based on the types of the parameters passed in.
However, we are always using the CLR value of the parameters.
The CLR Value of a JS undefined
object is null, and we are then calling TypeUtils.getType
on null, which is causing the exception.
For example (min repro):
var foo = function (a, b, c, d, e, f) { print('bleh'); };
var me = "";
foo.call(me, 1, 'a', undefined, null);
results in:
CLR Values: { 1, "a", null, null, null, null }
CLR Types: { Int32, String, error, ... }
Whereas it should probably result in:
CLR Types: { Int32, String, BoxedValue, BoxedValue, BoxedValue, BoxedValue}
from ironjs.
I'm not 100% sure what the fix should be, here.
It seems to me that the TC.ToClrObject
should maybe return the BoxedValue for anything that is not IsClr
, but I'm not sure if that is the desired semantics of this method. (i.e., I don't know whether a JS Null should return a CLR null here.)
Otherwise, we need to change line 132 to read:
let argsClr = args |> Array.map (fun i -> if not i.IsNull && i.IsClr then TC.ToClrObject i else i :> obj)
This does, in fact, allow the above example to work.
from ironjs.
I opted to use the latter definition, in order to preserve all previous usages of TC.ToClrObject.
from ironjs.
The fix lets the code run w/o errors, that said, the results aren't correct yet.
Compiling this CoffeeScript fragment foo -> 1
with IronJS gives:
var ;
foo(function() {
var ;
return 1;
});
but the correct result looks like
foo(function() {
return 1;
});
from ironjs.
from ironjs.
Related Issues (20)
- can IronJS handle Xml via parameters?
- Fails to load FSharp.Core in .NET 4.5 HOT 2
- the result of Number toString(16) isn't correct HOT 1
- can i expose c# object methods in javascript HOT 1
- classes support HOT 1
- Working with C# objects and classes HOT 2
- add ecmascript 6
- Iron JS for .NET Compact framework 3.5 for smart devices that run Windows CE OS
- Execution in memory
- Line Numbers Incorrect
- Explore the possibility to use Irony in IronJS HOT 6
- QUnit.js on IronJS
- how to return null from a CLR function exposed to Javascript HOT 2
- NuGet bug: Microsoft.Scripting.* assemblies shouldn't be referenced HOT 1
- How to parse JSON(send as string parameter) to a method in JavaScript function HOT 1
- Calling custom javascript object function with variable parameter list
- Compile CoffeeScript on Mono
- CLR type decimal not working correctly if thread CultureInfo has "," as a decimal separator HOT 4
- Issue with Integer datatype comparision using equality operators HOT 1
- mono based linux build is broken HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ironjs.