alike. Partitioned SCL [@PSCL-ICASSP] and its evolutions [@PSCL-GLOBECOM; @PSCL-JETCAS] consider different list sizes at different stages of the SC tree, reducing the memory requirements at higher stages. SC-Stack decoding [@Stack:Original] expands only the most probable candidate thanks to a priority queue. Adaptive SCL decoding [@Adaptive] foresees increasing list sizes in case of failed decoding, while a hardware decoder with flexible list size has been proposed in [@BlindDetHW].

Rate matching
-------------

By definition, the polar code length $N$ is limited to powers of two, while any number $K$ of bit-channels can be included in the information set. This code length constraint represents a limitation for typical 5G applications, where the amount of information $A$ is fixed and a codeword of length $E$ is needed to achieve the desired rate $R=A/E$. Rate matching for polar codes becomes thus a length matching problem, and has been solved for 5G through classical coding theory techniques as puncturing, shortening and extending [@RiU08].

Both puncturing and shortening reduce the length of a mother code by not transmitting code bits in a predetermined pattern, called *matching pattern*; the difference lies in the meaning of the code bits belonging to the matching pattern. In puncturing, the untransmitted code 