| Not to be negative, but I have to say...
Too many inconsistencies... I understand all the reasons for why they exist, but surely these are not good for language adoption as they are counter intiutive. These could be fixed - correct? examples: 1. >(= x (string ...))
>(type x) = 'string
where as:
>(= x (list ...))
>(type x) = 'cons
why does this not return type "list"?
2. >(obj first "p" last "g")
'first and 'last result in type symbols...
Shouldn't it be:
>(obj 'first "p" 'last "g") ?
They are symbols.
"deftem" has the same problem.
Correct me if I am wrong, but this is a simliar situation
as point 4 below, where the ' is not put in
because in macro expansion "it" is not evaluated,
which also sux, ~ shouldn't we be able to have "it"
evaluate so we can pass in functions to obj & case options?
3. >(= name (list "p" "g"))
>(last name) = "g"
>(car name) = "p"
shouldn't this be >(first name) not car; as last does?
and shouldn't "cdr" should be "rest"?
4. >(let x 'y (case x y (pr "YES")))
Shouldn't this be
>(let x 'y (case x 'y (pr "YES")))
y is a type symbol after all...
5. Why can't we use the same syntax to access and change association list as we do tables?
* being able to use "pull"
* being able to use special syntax like alist!key or alist.key
They are just key/value pairs only ordered unlike tables....
shouldn't an association list be a type of it's own more like tables?
~ not just extra methods applied to list structures.
6. Why is it named "deftem" and not just "tem" or "tmpl"
- we're not defining a template anymore so than we're
defining a table using "obj". "defobj?" - which notes
- why doesn't the name "obj" liken tables when the name
deftem likens template?
As I said - not to be negative, but I just don't get why these are not dealt with.Regards.
T. |