Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This aspect of the talk is a big justification for more abstraction in a lisp (namely interfaces / type classes / similar).

This decision should not actually affect written code, other than maybe a type declaration or similar to say "this is a singly linked list" or "this is a tree list". Even if you ignore performance, that car really means "get the first element of this two element cons cell" rather than "get the first element of this sequence" is one of the most obvious limitations / warts of (classical) lisp (and scheme) as compared to more modern languages designed with data abstraction in mind.

Of course, this is "modern" as in OO decades ago (Java, C++, etc). Taking it a step further you could omit the type declaration entirely and infer at compile or runtime (via profiling + JIT) which list implementation is best.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: