# Macros & Streams

With the basics of Scheme under our belt, let’s see what this language is truly known for. The ability to create your own expression types using macros and the ability to have virtually infinite lists without needing infinite amounts of memory make Scheme ideal for processing large chunks of data, so let’s dive in and see what this is all about.