• Kevin Modzelewski's avatar
    Implement defaults, keywords, varargs and kwargs · 6acfb996
    Kevin Modzelewski authored
    Not all exposed to python code yet
    
    This commit is pretty large because it contains two separate but interrelated changes:
    - Rewrite the function argument handling code (callCompiledFunction and resolveCLFunc)
      into a single callFunc that does its own rewriting, and support the new features.
    -- this required a change of data representations, so instead of having each function
       consist of variants with unrelated signatures, we can only have a single signature,
       but multiple type specializations of that signature
    - To do that, had to rewrite all of the stdlib functions that used signature-variation
      (ex range1 + range2 + range3) to be a single function that took default arguments, and
      then took action appropriately.
    6acfb996
defaults_test.py 1.44 KB