Стоило переформулировать вопрос -- и ответ нашелся. Проблема не в интерполяции вообще, а использовании переменной внутри функции calc.
Тут необходимо применить такой синтаксис
-- саму функцию calc взять в кавычки как строку, а вместо переменных подставлять знак %s, с последующей расшифровкой в скобках.
миксин работает. уже проверил
выглядит так
adaptive-value(property, startSize, minSize, type)
addSize= startSize - minSize;
if type== 1
{property}: startSize px;
@media(max-width: $maxWidthContainer px)
{property}: "calc(%spx + %s * ((100vw - 320px) / (%s - 320)))" % (minSize addSize $maxWidthContainer)
else if type== 2
{property}: startSize px;
@media(min-width: $maxWidthContainer px)
{property}: "calc(%spx + %s * ((100vw - 320px) / (%s - 320)))" % (minSize addSize $maxWidth)
else
{property}: "calc(%spx + %s * ((100vw - 320px) / (%s - 320)))" % (minSize addSize $maxWidth)