FLP

Z Varhoo
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Řá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, 14: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.
Osobní nástroje