python gripes survey

Ryan Lowe ryanlowe0 at
Sun Aug 24 17:42:29 CEST 2003

"Andrew Dalke" <adalke at> wrote in message
news:MOX1b.1042$Jh2.797 at
> Ryan Lowe:
> > i was actually more impressed with the union/intersection of lists and
> > dictionaries. why the hell cant you join two dictionaries like you can
> > list? the len thing is a pretty minor issue in my mind.
> Mostly because there isn't a good reason for what
> a = {1: "a"} + {1: "b"}
> should be.  The most likely solution is
> a = {1: "a"}
> a.update({1:"b"})

works for me, but i dont want to argue about it when there is another thread
about this.
> However, there is something tricky even here.  Watch this:
> >>> d = {1: "a"}
> >>> d.update({True: "b"})
> >>> d
> {1: 'b'}

that is weird; i thought 2.3 made bool its own type? but i guess its still a
subtype of int. though, i cant imagine when this would come up in a real
situation anyway.

> Missing language functionality is not the same as missing Python
> functionality.  What you're asking is - why do other languages
> exist?  Python lacks native support for:

yea, this is what im talking about. maybe you could explain a couple of
these a bit?

>   code blocks (like Smalltalk)

is this what it sounds like? do you name a block of code and call it like an
inline function with no parameters?

>   macros (like Lisp)
>   lazy evaluation (like .. Haskell? One of the functional languages)

i learned and forgot what lazy evaluation was. does it buy you anything
other than speed in certain cases

>   rich N-dimensional operators (like APL)

python could do the same with functions or named operators

>   symbolic math manipulation (like Mathematica)

this is approaching the limited domain area. plus mathematica spent a LOT of
money and time writing that software. its not something your average
open-sourcer would probably wish to tackle in their spare time. of course,
it would be nice to have a symbolic module :)

>   color as part of syntax (like ColorForth)

color meaning built-in? this i have never heard of. how does it work?

>   predicate logic (like Prolog)
>   literate programming (like WEB -> Pascal/TeX)
>   aspect-oriented programming (like AspectJ)
>   stack nature (like Postscript (I had Forth here but didn't want a dup
>   programming by contract (like Eiffel)

can any of these be explained quickly?

>   support for high-performance multiprocessor computing (like Fortran90)
>   fixed-point data types, as for money (like REXX)
>   control over the memory arenas use by an object (like C++)
>   direct access to memory, eg, as for I/O to periphials  (like C)

> (some are available as external modules, like FixedPoint, but are
> not native.)
> There's easily more - just look at how many languages have
> been invented over the last few decades.
>                     Andrew
>                     dalke at

More information about the Python-list mailing list