Процедура получит список, содержащий списки разных типов, но однородные (различные типы элементов). Цель состоит в том, чтобы возвращать список, содержащий те же списки, отсортированные по типу с помощью следующей иерархии:Заказать список по типу в Racket?
1.Booleans
2.Numbers
3.Simbols
4.Funcitions
5.Strings
Например, это будет вход:
> (define (list (list (list (list (list (list (list (list (list (list
list
"z" "y" "x")
1 2 3)
"w" "v" "u") (lambda(x) x))
'a 'b 'c)
4 5 6)
#f #t)
(lambda(x) (+ x x))) #f #t)
'd 'e 'f)))
выход:
(порядка по-типа список) ((#f #t) (#f #t) (1 2 3) (4 5 6) (ABC) (DEF) (#) (#) (ZYX) (WVU))
Любая идея о том, как ПОДХОД эту задачу?