@Override public ATerm make(final ATerm pattern, final List<Object> args) { return pattern.make(args); }
@Override public ATerm make(final List<Object> arguments) { final ATerm[] newargs = new ATerm[_args.length]; for (int i = 0; i < _args.length; i++) newargs[i] = _args[i].make(arguments); return getPureFactory().makeAppl(_fun, newargs); }
@Override public ATerm make(final List<Object> args) { if (_first == null) return this; final ATerm head = _first.make(args); final ATermList tail = (ATermList) _next.make(args); if (isListPlaceHolder(_first)) /* * this is to solve the make([<list>],[]) problem the result should * be [] and not [[]] to be compatible with the C version */ return head; return tail.insert(head); }