Nejste přihlášen/a.

Přihlásit se do poradny

 

Vysvětlení zápisu v jazyce ML

Od: herd® odpovědí: 2 změna:
avatar herd

Vysvětlil by někdo zápis fun a reverse xs : a list = List.foldl (op ::) [] xs
? v jazyce ML?

Není mi jasný vyznam apostrofu, tuším že by to mohlo být něco s ignorací datového typu.. část za rovná se chápu i když nevím, jak ta proměnná xs se tam vezme. a taky co dělá xs v hlavičce funkce. Jediné co z toho před rovná se asi dedukuji ,že funkce vrací seznam položek typu a (něco jako List<int>;)

Klíčové výrazy in, let , let ### in #, fun, |, :: chápu.

Jednodušší definici obrácení pořadí seznamu rozumím nebo definici faktoriálu:

fun reverse [] = []
| reverse (x :: xs) = (reverse xs) @ [x]
fun fac 0 acc = acc
| fac n acc = fac (n - 1) (n * acc) in
if (n < 0) then raise Domain else fac n 1
end


doplněno 15.01.22 17:22:

ach jo, smajlík tam nemá být - místo něj : ) ... tedy :: a závorka

 

 

2 odpovědi na otázku
Řazeno dle hodnocení

 

 

hodnocení

0x

Nepoznam a pripada mi to cisto akademicke a uletene, snad vam pomoze en.wikipedia.org/...

 

anon65534
hodnocení

0x

ML neznám ale apostrof se ve funkcionálních jazycích často používá pro "symboly", nevím jak je to v ML ale je to tak ve většině Lispů. Pokud o něm chceš vědět víc tak hledej klíčové slova "symbol"nebo "quote"kterými se často označují. Jinak tady je příručka která by měla být napsaná pro ML ale nevím zda je to přímo pro tvoji implementaci toho jazyka.

quote symbol je tam zmíněný ve druhé kapitole ale já z toho moc chytrý nejsem

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]