When I try to import the System.Linq namespace to Boo compiler, I get this error:
Boo.Lang.Compiler.CompilerError:
Namespace ‘System.Linq’ not found, maybe you forgot to add an assembly reference?
I use “Rhino.DSL.dll” and my DSL engine code is here:
public class MyDslEngine : DslEngine
{
protected override void CustomizeCompiler(BooCompiler compiler, CompilerPipeline pipeline, string[] urls)
{
pipeline.Insert(1, new AnonymousBaseClassCompilerStep(typeof(DslBase), "Prepare",
"System.Linq",
"Azarakhsh.Framework.Repository" //it's my repository framework
));
pipeline.Insert(2, new UseSymbolsStep());
pipeline.Insert(3, new RunScriptCompilerStep());
}
}
Why do you need System.Linq in your DSL? Sytem.Linq must be “hidden” in your framework. Besides using Linq in Boo, it’s kinda of verbose (in my opinion) and your DSL should hide this verbose stuff…
About using the System.Linq, haven’t tried but I found this link Boo Markmail, where the code above was copied…