W zeszłym tygodniu wpadłem na pytanie: jak się w praktyce implementuje maszyny stanu? Szczególnie interesowało mnie podejście w tworzeniu gier. Ku mojemu zdziwieniu i udręce, kod który zobaczyłem w tutorialach na YouTubie był słaby, bo był bardzo mocno powiązany z innymi częściami systemu piszącego. Dlatego postanowiłem chwilę poeksperymentować i teraz zaprezentować moje podejście.
Czytaj dalej Maszyny stanów i łańcuchy MarkovaKategoria: C#
Algebraiczne typy w C#
Konkretnie – mamy dwa rodzaje typów algebraicznych danych, które nas interesują: produkty i sumy. Produkty mamy w C# za darmo poprzez wymienienie kilku pól (lub własności) w klasie. Za to z sumami jest trochę ciężej, ale da się!
Czytaj dalej Algebraiczne typy w C#Leniwy .NET
Półtora roku temu zadałem sobie po raz pierwszy pytanie „Czy można uruchomić program napisany w Haskellu na platformie .NET?” Sens takiego przedsięwzięcia jest taki, że programista .NET może korzystać w pewnym stopniu ze znanych mu bibliotek, jednocześnie korzystając z dobrodziejstw czystego programowania funkcyjnego. Ten post jest podstawą do poniższej prezentacji:
Wskaźniki do funkcji w C#
Od początku semestru robiłem małe kroczki w stronę mojej pracy magisterskiej, ale dopiero po zakończeniu semestru ostro wziąłem się do pracy. Próbuję skompilować Haskell na .NET, tak żeby działał efektywnie. Oznacza to wyciskanie tyle ile się da z dostępnego środowiska.
W tym poście opowiem nieco o kompilowaniu aplikacji dotnetowych do kodu maszynowego, jak tworzenie delegatu spowalnia program i o modyfikowaniu kompilatora C#.
Czytaj dalej Wskaźniki do funkcji w C#Typy wyższych rodzajów
Jednym z większych feature’ów w Great# mają być typy wyższych rodzajów - z angielskiego Higher Kinded Types (HKT). Poniżej przedstawiam co to i jak wyglądają różne podejścia do ich implementacji.
Czytaj dalej Typy wyższych rodzajów.NET Web III - Parametry GET i POST
W komunikacji HTTP występują różne czasowniki. Najbardziej popularne to GET i POST. Dzisiaj dowiemy się jak odczytywać parametry tych zapytań w naszej akcji.
Czytaj dalej .NET Web III - Parametry GET i POST.NET Web II - Filtrowanie requestów
Dzisiaj dowiemy się jak kierować zapytanie HTTP, żeby dotarło tam gdzie chcemy, czyli żeby obsłużył je właściwy kontroler. W tym celu dowiemy się jak działa Routing i filtrowanie zapytań GET/POST oraz tworzenie parametryzowanych ścieżek.
Czytaj dalej .NET Web II - Filtrowanie requestów.NET Web I - Nowy projekt
Dziś dowiemy się jak zacząć tworzenie aplikacji webowej, tworząc nowy projekt, które będziemy potem modyfikowali.
Czytaj dalej .NET Web I - Nowy projektMVC .NET web - moja prezentacja na DotnetConfPL
Tydzień temu miałem przyjemność wziąć udział jako prelegent w internetowej konferencji o tematyce dotnetowej DotnetConfPL. Poniżej możecie obejrzeć moją prezentację pod tytułem “Wzorzec projektowy MVC z porównaniem tworzenia aplikacji webowych w F# z Suave i w C# z ASP.NET”.