صفحه 1:
بسه الله الرحفن الرديم
طراحى و بياده سازى زيانهاى برنامه نويسى (زيان .8/41
8
۳
دانشگاه جامع علمی کاربری تیران.
صفحه 2:
ae
درباره ام ال
0000
انواع داده ها
عبارت ها
كك
'توابع استاندازد
0200000
[| | | |
صفحه 3:
۱
همکاران در اواخر ده ۱۹۷۰ در دانشگاه ادیتبورگ توسعه یاف
1
en Were 3 است.
Ot ete Se ee STO a Sea ae ee
eet ل ا ا لي ا ال ined
تابعی خالص مانتد هاسکل. به همین دلیل امال یک زبان برنامهتویسی چند
Rye
آمروزه زبانهلی مختافی- هر خانواده امال است هو گویش اصلی آن-ام ال
ا ار ار 1-1 so Pea Ceieorr
هدف.:1 ]۱[ شرکت.مایکروسافت بود نیز وجود دارند.
صفحه 4:
0 Trey oe
Oe Ga OL Wee ee ee eo!
مفید بودن برای مطالعه زبانهای دیگر
ان
وضوح مكانيزم تعريف انواع داده ها
1 شى كرا نيست
ل ا ا 65
>| >| >| >|
صفحه 5:
Imperative programming language
Applicative programming language
Week
۱۱۱ D
تعغصلمم ملح
Automatic garbage collection in ML
عنام :ما۳
صفحه 6:
real, int, char, string: ols claps
اوه
| 5 35 a= rece ae earmcmy err pee sey
(elt rerceny een te ree wi)
For re ا
Cpe bs en ore
oer meg oe pe rem rte BY 0) Cc
Fras on ones eo
با( ) مشخصمیشود 6
کته ۱ ۱
0 با( ] مشخصمیشود
ديقف نفك
>| >| >
۳۲ ۷ | >| >| >
صفحه 7:
ار
:Examples
Hee ea
oe ا 00
val it=[2,3,4] : int-
مثال برای IU
و
عبارت فوق یک 1151 5171110 است» که می توان بصورت زير هم نوشت:
Hee: Wor eroy Vert a aes cal ad
صفحه 8:
Pam oh
FOE Cs عبارت فوق متال برای
ید ,6 - مک مر
عبارت فوق مثال برای ۲۳۲۳۷ است.
عبارت فوق را مى توان بصورت زير نوشت:
as لع ب
صفحه 9:
۱ ا g
(قتردط) نودمح آرايه اى شامل دم عنصر با مقدار اوليه تعريف مى كند.
۳
1۱ Fi VEST CED)
00 ل ccna rT)
۱۱
صفحه 10:
۱۳ ا ل
cut Pascal
epee ra eee eet Iota targ elo
1 SS BY-HE-UA'4 01)
مثال:
datatype height = tall | medium | short
| << | < ا | << اح | حراج | | | | |
صفحه 11:
۳
عملكر هاى منطقى
عملگرهای مقایسه ای
عملگرهای انتخاب
عملگرهای جمله ای
|] ۱۱۱۱
صفحه 12:
اولویت عملگرهای ریاضی:
os :
ed وت ۱
عملگرهای منطقی:
orelse, andalso.s not,andalso,orelse Jos ۱۳
Ua morsel ta
عملگرهای جمله ای:
concatenation, = empty string = |
: عملگرهای انتخاب |
if <expression> then <statement1> else
1 <<statement2
۱
۱ Berle Sree SECC eee Cotte
۲ فکته :قسمت :۱( آذر غبارت<۱ اختیاریالیست:
عملگرهای مقایسه ای:
<< > <- -<ه
۲ Pe ed BEC at Reet Peers ed
۱ Pattern
\ -val xiixs = rev[1,2,3];
صفحه 13:
توابع به صورت زیر تعریف می شود:
fun name of function (arguments) = expression;
-fun sum (a :int , b':int) :int = a +b;
-fun sum (a, b :int ) :int =a + b;
-fun sum (a :int ,b) = a + b;
-fun sum (a,b) :int = a + b;
-fun sum (a, b) =a + b;
صفحه 14:
0
0
-fun shuffle (x) - tl(x) @ [hd(x)];
2 ا Ter rod
roy
0 ل Rar UNS
توابع در []/51 فقط داراى يك آركومان هستند:
آگر تابعی به چند آرگومان نیاز داشته باشد از یک 16لا استفاده می
۱۱۱۱۱۱۱۱۱
صفحه 15:
iy Se epee nc era Wi ©) WES Lar A
نشان دهنده ابتدای خط جدید است. ۰ *
Sy WO NEMO) OL-se Map belnes! (cyeccvente) iat ال ae ب
Rel pc orye berg Aer eee peer yer Scag
ا ل و TPO NCB
Se ere Ray olin BL cal
purities hei PUnprera-71(C MRoy Maing cr-teel@allomyolag Rec
رسيده باشيم مقدار درستى را برميكرداند.
صفحه 16:
BRC greg Rea
~(argument) : negates its argument
real , floor, ceiling, trunc
sin, cos, arctan
صفحه 17:
ee Te ae iE med
explode , implode
ord, ordof, size
substring
توابعى كه بر روى ليست ها عمل مى كتند:
hd, tl, nth, nthtail
null , length, rev
map, fold, exists
۱] | | < | <<
صفحه 18:
توابعى كه بر روى عبارت هاى منطقى عمل مى كنند:
andalso, orelse
۹
makestring
ات
Etc gepeg Pearce per pases ا SY Beary
۱۱۱۱۱
صفحه 19:
تعريف:
تام لستثن 6166711011 (تعريقلستثنا)
فراخوانى:
نام لستث ©1156 (قرلخ لني إستتظ)
پرکازش اتتحينا جا ©181101-*
پردازش استتنا 1381016 عبارت:
تا ۱ 305120
فراخوانی شده . فراخوانی شود پردازش استثنا به صورت زیر صدا زده
همست و3
صفحه 20:
handler(pattern1) => expression1
handler(patternz) => expression2
handler(patternn) => expressionn
Ee م ا ل Cy
۱ صورت زیر لست:
myerror(1) => expression1
myerror(2) => expression2
Exception divide_err ;
fun InnerDivide(a: int; b:int): real =
if b=0 then raise divide err(b)
else real(a) / real(b);
fun Divide(a,b) = InnerDivide(a,b) handle
divide_err(b) =>(print(b); “is divide errpr, 0 used”; 0.0);
صفحه 21:
برای تعریف ثابت ها بکار می رود
ee nee)
smalltalk .» forces method argument at:.
ath ge ++C 4» consty
با دستور 161 مى:توانيم 01661377811012 10621 داشته باشيم:
-let val x = 10;
ف
shh cent
}
در ۲ مقدارسدمی توانست تغیر کند ولی در م91۷1 نمی توانیم آنرا تغیر
دهم
صفحه 22:
صفحه 23:
append
anonymous
۱۱ عا سم
cons
Anonymous
functions
test for empty
115+
function
composition
infix to prefix
0
عع تتم مما
ditto with equality
تا
truncated strings
truncated lists
of type
عمقع0 1۸061
صفحه 24:
andalso
datatype -
Cana
صفحه 25:
https 3901۵ او
ل 00