- There is no 1st-class citizen besides a string, and all else is a hack.
- How do you pass things? you have to use pass by name and even then maybe
play horrid scoping games. this an evil that all users of algol68 have
long since repented of.
- Why are associative arrays broken?
set array("some string value") "another string value"
because the idiot lexer passes the wrong thing to set.
- Why is everything wrapped in catch/throw?
- Why is eval so dangerously prevalent?
- Why can't you distinguish between strings and numbers?
- Why are numbers broken? Why when i read in east
coast zip codes do the leading 0's screw me up?
- Why can't you say:
func_taking_list [ func_returning_list ]
because things don't really return lists. they return strings.
you have to say
eval func_taking_list [ func_returning_list ]
- Why isn't it 8-bit clean?
- Why don't you have proper namespace protection? Why don't
you have closures and lexical variables and dynamic variables?
- Why don't you have proper function pointers?
- What's so horribly wrong with
set $$something "value"
- Why can't i comment out code intuitively:
while { $old_test } {
#while { $new_test } {
func
}
- Why can't i put braces where i want to?
if { [ condition
"that's very long"
"with any args
]
} {
}
- Why can't you access arrays intuitively? Why must you use
lappend?
- Why is there order(n) access time on lists? Why must all
O(n) algorithm thus turn into O(n2) and O(n2) thus
become O(n3)?
- Why are you forced to pass strings instead of real functions?
- Why do runtime errors popup so late rather than
compile times errors much earlier?