මොනාඩ්ස් කියන්නේ කුමක්ද, ඒ ගැන අමුතු ගණිත පදයක් පවා නොදන්නා පරිගණක ශිෂ්යයන්ටත් තේරෙන ආකාරයක් අපි මේ ලිපියේ පෙන්වන්න යනවා. කේත ලෝකයේ “මොනාඩ්ස්” කියන වචනය ඇහුවත්, එය සරල උදාහරණයක් මඟින් පැහැදිලි කළ හැකිය.
උදාහරණයක් ලෙස, ක්රීඩාවක ඉන්වෙන්ටරි (Inventory) පාලනය කිරීමේ කාර්යයක් ගැන සිතමු. පළමුව අපි add, remove සහ display මූලික ක්රියාමාර්ග ඇති සරල Python class එකක් ලියමු. මෙය භාවිතා කිරීම ඉතා සරලයි: Inventory().add("Sword").add("Potion").remove("Potion").display() ලෙස කේතය ලිවීමෙන් ඉන්වෙන්ටරි තත්වය පෙන්වන්න පුළුවන්.
ඉන්පසු, ඉන්වෙන්ටරි සීමාවක් (capacity) එකතු කරමු. සීමාව ඉක්මවා ගිය විට අපි Exception නාමික දෝෂයක් දියත් කරනවා. එම දෝෂය try/except මඟින් හසුරුවනවා නමුත්, මෙය කේතයේ සංකීර්ණතාවය වැඩි කරයි. එක් එක් ක්රියාකාරකමකට try/catch පාවිච්චි කිරීම ඉතා “අලංකාර” නොවේ.
මෙම ගැටළුවට විසඳුමක් ලෙස, Result නමැති නව වර්ගයක් හඳුන්වා දෙනවා. Result එක Ok (සාර්ථක) හෝ Error (දෝෂ) ලෙස පෙන්වයි. එම නිසා, ක්රියාකාරකමක් සාර්ථක වුවද, දෝෂ වුවද, එකම ආකාරයෙන් (Result) ආපසු ලබා ගත හැක. මෙය මොනාඩ්ස්ගේ මූලික සංකල්පය – “function එකක් සෑම විටම value එකක් (Result) ආපසු දෙනවා” – සමීපයි.
Result භාවිතා කරමින්, add() සහ remove() ක්රියාකාරකම් දැන් Result ආකාරයෙන් ආපසු දෙයි. මෙයින් කේතයේ දෝෂ හසුරුවීම සරලයි, එකම පදනමක් මත පවත්නා පාරිභෝගික ප්රවාහය (pipeline) තවත් විකෘති නොවේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ සංවර්ධකයන්ට functional programming (FP) සංකල්පය හුරුපුරුදු කිරීම, නව තාක්ෂණික රැකියා අවස්ථා නිර්මාණය කරයි. මොනාඩ්ස් වැනි අදහස් ඉගෙනීමෙන්:
- කේතයේ දෝෂ හසුරුවීම ස්වයංක්රියව, පරීක්ෂණාත්මකව කළ හැකිය.
- පද්ධති සංවර්ධනයේ modularity වැඩිවීම නිසා, කණ්ඩායම් වැඩේ ඉක්මනින් කරගත හැක.
- ඉදිරි AI, Cloud, Data Science වැනි ක්ෂේත්රවල FP භාවිතය ඉතා ප්රයෝජනවත්.
ඒ අනුව, පාසල්, විශ්වවිද්යාල සහ පුහුණු පාඨමාලා තුළ FP සහ මොනාඩ්ස් පාඨමාලා ඇතුළත් කිරීම, ශ්රී ලංකා තාක්ෂණ කර්මාන්තයට නව ගතිකතාවක් ගෙන ආවේ.
අවසන් වශයෙන්, මොනාඩ්ස් කියන්නේ “සැලකිය යුතු දෝෂ හසුරුවීමේ සැලැස්ම” බවයි. එය සරල Python උදාහරණයක් මගින් ඔබේ කේතය වඩා විශ්වාසනීය, පවත්නා, සහ සංවර්ධන‑සහයෝගිතාවට සුදුසු කරයි.