Modula-2, C, Pascal, and Ada are all call-by-value (as opposed to
call-by-name) where Turner's combinator system (and all the following
research) are based on call-by-name. Also, you say that you are doing
a project on functional languages, and then mention a set of
imperative languages - do you really want side effects?

Bruce Duba and I are presenting a paper at MFPS on call-by-value
combinators, and Bruce has been working on combinator systems for
languages with side effects. Let me know if you want more info.