Strumienie mogą być używane do "leniwej oceny" w OCaml, szczególnie, że OCaml jest językiem gorliwym, są zdecydowanie użyteczne przypadki, w których pożądana jest leniwość (jak w Haskell).
Cytując lecture in Cornell on streams,
Strumienie są rzeczywiście przydatne w prawdziwym życiu. Niektóre aplikacje:
- kompilatory odczytu pliku źródłowego z tekstem
- gniazd sieciowych
- przetwarzanie dźwięku oraz sygnału wideo
- rozpoznawania głosu
- zbliżanie rozwiązań równań stosując szereg zbieżny
Podane odniesienie wykorzystuje również strumienie do obliczania p leniwie lansuje, co jest bardzo szybkie w porównaniu do normalnego sposobu obliczania dużych liczb pierwszych przy użyciu sita Eratostenesa. Dlatego uważam, że strumienie zdecydowanie mają swoje miejsce w języku, ponieważ pozwala na leniwą ocenę w OCaml.
Strumienie zostały wykorzystane przez mojego Profesora do wyjaśnienia pojęcia leniwego oceniania w gorliwym języku, ponieważ nie jest on wymieniony w świecie rzeczywistym. OCaml może być, że sam język jest chętny, a strumienie nie są równoległe do tego koncepcja, a strumienie nie mogą być zminimalizowane. (jest to jednak spekulacja)
To pytanie wymaga zbyt wielkiej wszechwiedzy, aby skromny praktyk mógł odpowiedzieć :-) Użyłem wcześniej strumieni w małych projektach; są eleganckie. Lwt wydaje się ortogonalny; Core może mieć ładniejszą implementację strumienia. –
@GaintSquid, aby być pewnym, że nie szukasz aplikacji lub strumieni, ale raczej dlaczego nie są one "naprawdę" używane? Jeśli to drugie, nie wiem dlaczego, ale jeśli to ten pierwszy, odpowiem! – matrixanomaly
@matrixanomaly Zgadza się. Ale chciałbym również zobaczyć aplikacje strumieni w prawdziwym oprogramowaniu. – GiantSquid