3 Rename variable
source | link

Haskell, 5555 49 bytes

[a]#b=map(a*)b
(a:b)#c=zipWith(+)([a]#c++[0,0..])$0:b#c)$map(a*)c++[]#b
_#c=0<$c

Defines an operator #.

Haskell, 55 bytes

[a]#b=map(a*)b
(a:b)#c=zipWith(+)([a]#c++[0,0..])$0:b#c

Defines an operator #.

Haskell, 55 49 bytes

(a:b)#c=zipWith(+)(0:b#c)$map(a*)c++[]#b
_#c=0<$c

Defines an operator #.

2 Flip argument order
source | link

Haskell, 55 bytes

a#[b]=map[a]#b=map(b*a*)ab
a#(ba:cb)=zipWith#c=zipWith(+)(a#[b]++[0[a]#c++[0,0..])$0:a#cb#c

Defines an operator #.

Haskell, 55 bytes

a#[b]=map(b*)a
a#(b:c)=zipWith(+)(a#[b]++[0,0..])$0:a#c

Defines an operator #.

Haskell, 55 bytes

[a]#b=map(a*)b
(a:b)#c=zipWith(+)([a]#c++[0,0..])$0:b#c

Defines an operator #.

1
source | link

Haskell, 55 bytes

a#[b]=map(b*)a
a#(b:c)=zipWith(+)(a#[b]++[0,0..])$0:a#c

Defines an operator #.