Spis treści
14.2.2. Implementacja drzew w SML-u................... 250
14.2.3. Drzewa binarne o etykietowanych wierzchołkach.......... 253
14.2.4. Binarne drzewa poszukiwań..................... 253
14.2.5. Sterty................................. 258
14.3. Abstrakcyjne drzewa rozbioru w SML-u................... 261
14.4. Zadania.................................... 264
15.1. Oddzielenie specyfikacji i implementacji: Modula 2............. 265
15.2. Rodzajowość w Adzie ............................ 265
15.3. Moduły w SML-u............................... 265
15.3.1. Motywacja.............................. 265
15.3.2. Struktury, sygnatury i funktory................... 267
15.3.3. Dodatkowa składnia parametru funktora.............. 272
15.3.4. Deklaracje typów w strukturach................... 274
15.3.5. Przezroczystość sygnatur...................... 277
15.3.6. Specyfikacja exception ....................... 279
15.3.7. Specyfikacja typu równościowego.................. 279
15.3.8. Replikacja typów i wyjątków.................... 281
15.3.9. Modularyzacja programu a przezroczystość sygnatur........ 283
15.3.10. Specyfikacja sharing......................... 285
15.3.11. Wyrażenie with type......................... 286
15.3.12. Zasada zamkniętości sygnatur.................... 287
15.3.13. Dyrektywa open........................... 289
15.3.14. Dyrektywa include.......................... 290
15.3.15. Dyrektywa infix w strukturach ................... 291
15.3.16. Polimorfizm w modułach...................... 293
15.3.17. Precyzyjna kontrola polimorfizmu.................. 293
16. Abstrakcyjne typy danych 295
17. Programowanie obiektowe 297
18. Programowanie współbieżne 299
18.1. Modele współbieżności............................ 299
18.1.1. Procesy, zdarzenia i przeplot .................... 299
18.1.2. Temporalny rachunek zdań z czasem liniowym........... 299
18.2. Programowanie współbieżne......................... 301
18.2.1. Semafory............................... 301
18.2.2. Monitory............................... 301
18.2.3. Warunkowe rejony krytyczne.................... 301
18.3. Programowanie rozproszone......................... 301
18.3.1. Ada.................................. 301
18.3.2. Concurrent ML ........................... 301