public static IExpression GetValue(string name) { var rpnGuid = new Guid(_rpnStoGuid); var nameLookups = rpnGuid.Load<Dictionary<string, Guid>>(); if (nameLookups == null) return null; return !nameLookups.ContainsKey(name) ? null : nameLookups[name].Load<IExpression>(); }
public IExpression Eval(IEnumerable<IExpression> args) { var name = args.First().ToString(); var guid = Guid.NewGuid(); var rpnGuid = new Guid(_rpnStoGuid); _nameLookups = rpnGuid.Load<Dictionary<string, Guid>>() ?? new Dictionary<string, Guid>(); if (!_nameLookups.ContainsKey(name)) { _nameLookups[args.First().ToString()] = guid; _nameLookups.Persist(rpnGuid); } else guid = _nameLookups[name]; args.Last().Persist(guid); return null; }