FLP
Z Varhoo
(Rozdíly mezi verzemi)
| Řádka 10: | Řádka 10: | ||
Znovunačtení souboru |
Znovunačtení souboru |
||
>> :r |
>> :r |
||
| + | |||
| + | |||
| + | === Příklady === |
||
| + | Struktura pro lambda kalkul |
||
| + | |||
| + | data Lam = Var String |
||
| + | | Abs ( Lam ) ( Lam ) |
||
| + | | App ( String ) ( Lam ) |
||
| + | deriving (Show, Eq) |
||
| + | |||
| + | Nalezení všech volných proměnných, pokud nemůžeme použít elem, tak si jej nadefinujeme. |
||
| + | |||
| + | my_elem it ll = (filter (==it) ll ) /= [] |
||
| + | |||
| + | get_free lam = eval lam [] |
||
| + | where |
||
| + | eval (Var a) ll = if my_elem a ll then [] else [a] |
||
| + | eval (Abs b c) ll = (eval b ll) ++ (eval c ll) |
||
| + | eval (App a b) ll = eval b (a:ll) |
||
| + | |||
== Prolog == |
== Prolog == |
||
Verze z 13. 5. 2012, 13:34
Haskell
Stránka o programování v jazyce haskell.
Základní funkce
- init - vrátí sezname kromě posledního prvku
- last - vrátí seznam kromě prvního prvku
- head - vrátí první prvek ze seznamu
- last - vrátí poslední prvek seznamu
Znovunačtení souboru
>> :r
Příklady
Struktura pro lambda kalkul
data Lam = Var String | Abs ( Lam ) ( Lam ) | App ( String ) ( Lam ) deriving (Show, Eq)
Nalezení všech volných proměnných, pokud nemůžeme použít elem, tak si jej nadefinujeme.
my_elem it ll = (filter (==it) ll ) /= []
get_free lam = eval lam []
where
eval (Var a) ll = if my_elem a ll then [] else [a]
eval (Abs b c) ll = (eval b ll) ++ (eval c ll)
eval (App a b) ll = eval b (a:ll)
Prolog
Stránka o programování v jazyce prolog.
Načtení souboru pro wsi-prolog
>> compile('filename.pl')
- nonvar a var testuje zda se jedná o proměnou nebo hodnotu. Funkce var vrací true pokud se jedná o proměnou např. X, _ , kdežto nonvar vrací true v případě že se jedná o hodnotu např. 'jana', 1.
var(1). -> false.
var('jana'). -> false.
var(_). - > true.
var(X). - > true.
nonvar(1). -> true.
nonvar('jana'). -> true.
nonvar(_). - > false.
nonvar(X). - > false.