JSFiddle - React, Tailwind, and code Playground

JavaScript

let snowing = 'Snowing day';
let users = ['John', 'Jack', 'James'];


(_10 => (
	((
    _123 = (ann, snow) => 
      ((_12 = i => ann[i] ? (snow(ann[i]), _12(++i)) : 0) => _12(0))(),
    wo = ann => (w => 
      (_123(ann, an => w += 
        (an + 9)[(!0+'')[0] + 'oS' + (!0+'')[0] + (!0+'')[1] + 'ing'](36)
      ), w)
    )('')
  ) => _123(_10, _1 => 
  	window[wo([3,15,14,19,15,12,5])][wo([12,15,7])](
    	wo([8,1,16,16,25]) + ' ' + wo([14,5,23]) + ' ' + wo([25,5,1,18]) + ', ' + _1 + '!'
    )
  ))()
))(users);

// _123 - iterating function
// _12 - iter nested function
// snow - consuming function (callback)
// ann - an array
// an - an array elemen
// wo - word-creating function
// w - word-creating function accumulator of the result
// _10 - our users array
// _1 - one user in array (actually it's name)