#!/usr/bin/env python """ ask.py - Pluvo Standard Library: ask Author: Joe Geldart, durham.ac.uk Author: Sean B. Palmer, inamidst.com Cf. http://paste.lisp.org/display/21936 Note, Joe wants to use "--" for this function; how does this interact with -- being end of flags, a la its normal unix command line use? """ try: from basics import dot from datatypes import Table, Symbol except ImportError: from pluvo.basics import dot from pluvo.datatypes import Table, Symbol def ask(env, obj, *args): """@ask obj param1: arg1 param2: arg2""" if len(args) < 2: raise ValueError("Must ask an object to do something") # Predicate execution if len(args) == 2: return dot(env, obj, args[0]) #print obj # Compile message name and arguments symname = "" argspec = Table() while args: (var, colon, arg), args = args[:3], args[3:] symname += var.name argspec.append(arg) actsym = Symbol(symname) #print actsym finalargs = [a for a in argspec] return dot(env, obj, actsym, *finalargs) main = ask if __name__ == '__main__': print __doc__