/// <summary>
        ///     Factory method that creates instance of the <see cref="ModuleBinding"/>.
        /// </summary>
        private ModuleBinding CreateFun(string name, InvokeAmbient body, CallSignature signature)
        {
            var atomName  = Symbol(name);
            var statistic = new FunctionStatistic(AmbientName, atomName, signature, StringTable);

            return(ModuleBinding.CreateFun(atomName, body, signature, statistic));
        }
Beispiel #2
0
        private List <NamespaceFunctionDefinition> GetGlobalFunctionDefinitions()
        {
            var globRecursivelyBinding = ModuleBinding.CreateFun(Symbol(Constants.Names.GlobRFunction), GlobRecursively, GlobSignature, StringTable);

            return(new List <NamespaceFunctionDefinition>
            {
                Function(Constants.Names.GlobFunction, this.Glob, GlobSignature),
                Function(Constants.Names.GlobRFunction, globRecursivelyBinding),
                Function(Constants.Names.GlobRecursivelyFunction, globRecursivelyBinding),
                Function(Constants.Names.GlobFoldersFunction, this.GlobFolders, GlobFoldersSignature),
                Function("addIf", AddIf, AddIfSignature),
                Function("addIfLazy", AddIfLazy, AddIfLazySignature),
                Function("sign", Sign, SignSignature),
            });
        }