Uživatelské nástroje

Nástroje pro tento web


trash_code:tc46

Trashcode 46

  • Navrhnout funkcionální jazyk s integrovanou noSQL databází
  • Databáze má tvar klíč - hodnota. Klíč je string. Hodnota je funkce.
  • Na začátku
  • Základní integrované funkce:
    • zavolat buňku EVAL(KEY): vrátí hodnotu vyhodnocené funkce v zadané buňce
    • na počátku existuje nekonečné množství buněk s hodnotou NIL
    • operace zapsat novou buňku INSERT(EXPR): vytvoří novou buňku se zadanou hodnotou a vrátí klíč, který dostala
    • operace přepsat existující buňku UPDATE(KEY,EXPR): upraví buňku (pokud existuje), jinak ji vytvoří
    • operace mazání: UPDATE(KEY,NIL)
    • operace najdi všechny: COLLECT() - přijímá funkci jako argument, která na základě hodnoty buňky rozhodne, zda ji do výsledku zahrne či nikoliv, funkce může sbírat jen klíče, nemusí načítat hodnoty
    • operace načti: FETCH(KEY) - vrátí hodnotu buňky dle klíče
    • atd…
  • Koncept:
    • chci MAX(1,5) - zavolá se EVAL(MAX,1,5)
      • 1. najde se buňka s klíčem MAX
      • 2. načte se funkce v této buňce
      • 3. tato funkce se vyhodnotí s parametry 1 a 5
      • 4. vrátí se výsledek operace
/htdocs/trashwiki.cz/data/pages/trash_code/tc46.txt · Poslední úprava: 2013/03/01 08:41 (upraveno mimo DokuWiki)