I can see that my syntax will conflict with optionally parametrized types. An 
approach (but I'll admit ot is getting a bit convoluted):

- numpy.ndarray(numpy.uint8, 2, arr) converts arr to the given type. Ie mix 
xompile-time and runtime params (but only the Cython developers need to care, 
an UnsupportedAtRuntimeError will be customary anyway...)

- if missing the value parameter, a constructor os returned instead, so

def foo(a : ndarray(uint8, 2))

has the same meaning as the (also legal)

def foo(a):
  tmptype = ndarray(uint8, 2)
  a = tmptype(a)

BTW, there's my suggestion for a Pythonic typedef as well.

- The auto-converted argument  mechanism can always pass "value" by name for 
extra safety.

This really make it feel like a Python library and has no learning curve for 
experienced Python users?  C library writers can keep the old syntax of course.

Dag Sverre




_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to