একই ক্রিয়াকলাপটি প্রকাশের তিনটি উপায় দেওয়া f(a) := a + 1:
val f1 = (a:Int) => a + 1
def f2 = (a:Int) => a + 1
def f3:(Int => Int) = a => a + 1
এই সংজ্ঞাগুলি কীভাবে আলাদা? আরপিএল কোনও সুস্পষ্ট পার্থক্য নির্দেশ করে না:
scala> f1
res38: (Int) => Int = <function1>
scala> f2
res39: (Int) => Int = <function1>
scala> f3
res40: (Int) => Int = <function1>
f1আরপিএলেf1মূল্যায়ন করার সময় মূল্যায়ন করার সময় স্থিতিশীলভাবে আবদ্ধ মানটি দেখানো হয়f2এবং সেই পদ্ধতিগুলি আহ্বানেরf3ফলাফল প্রদর্শন করে । বিশেষত, প্রতিবারই একটি নতুন উদাহরণ তৈরি হয় বা হয়, তবে চিরকাল একই থাকে isFunction1[Int, Int]f2f3f1Function1[Int, Int]