Wszystko
Najnowsze
Archiwum
- 2
#programowanie #programowaniefunkcyjne #fsharp #dotnet
Jakiś czas temu napisałem post, że nie lubię gdy metody w klasach mają side-effect i najlepiej jakby były "pure" (wiadomo - publiczne mogą zmieniać stan, ale najlepiej jakby jedna metoda zmieniał stan w możliwie-minimalnym stopniu).
Jakiś Mirek wtedy napisał o programowaniu funkcyjnym i dodam, że wcześniej kojarzyłem, że coś takiego istnieje, ale nie wiedziałem dokładnie z czym to się je, bo się
Jakiś czas temu napisałem post, że nie lubię gdy metody w klasach mają side-effect i najlepiej jakby były "pure" (wiadomo - publiczne mogą zmieniać stan, ale najlepiej jakby jedna metoda zmieniał stan w możliwie-minimalnym stopniu).
Jakiś Mirek wtedy napisał o programowaniu funkcyjnym i dodam, że wcześniej kojarzyłem, że coś takiego istnieje, ale nie wiedziałem dokładnie z czym to się je, bo się
- 3
@LeopoldStuff: Przynajmniej jedna firma w Gdańsku eksperymentuje z F#, aczkolwiek nie wiem czy mają już jakiś produkcyjny kod. Ja z kolei piszę prawie wyłącznie w Scali i mam z tuzin produkcyjnych aplikacji w niej napisanych i jest bardzo dużo firm które jej używają. Także programowanie funkcyjne jak najbardziej istnieje również w praktyce :)
Komentarz usunięty przez autora
- 8
Widzę, że nuda w tagu, ciągle tylko "czy warto uczyć się tego?", "mam problem z tym".
A ja nie będę o nic pytał, tylko coś wam pokażę. Napisałem sobie dwie wersje drzewa binarnego z podstawowymi funkcjami - jedną w F#, drugą w C# i powiem jedno - z każdym dniem zaczynam się coraz bardziej przekonywać do zdania haskelowych freaków, że programowanie funkcyjne jest zajebiste. Nie dość, że kod w
A ja nie będę o nic pytał, tylko coś wam pokażę. Napisałem sobie dwie wersje drzewa binarnego z podstawowymi funkcjami - jedną w F#, drugą w C# i powiem jedno - z każdym dniem zaczynam się coraz bardziej przekonywać do zdania haskelowych freaków, że programowanie funkcyjne jest zajebiste. Nie dość, że kod w
- 5
@o-o_i: Wiesz, no... Ameryki nie odkryłeś że w językach funkcyjnych łatwiej, szybciej i przyjemniej pisze się wszelkie rozwiązania związane ze strukturami danych i ich przetwarzaniem :P Każdy paradygmat ma swoje zastosowania.
- 1
Niby tak, ale zastanawia mnie jedna rzecz - czy za tę łatwość, szybkość i przyjemność nie trzeba czasem płacić dodatkową złożonością obliczeniową.
@o-o_i: Powiedziałbym że jest to kwestia implementacji. Programując w F# bardzo często korzysta się z innego rodzaju danych (np. o wiele więcej immutable'i), a przede wszystkim korzysta się z paradygmatu funkcyjnego, gdzie naturalnie występuje więcej rekursji i złożonych wywołań. Z drugiej strony należy pamiętać, że zarówno pod C#
#fsharp #programowanie #naukaprogramowania
Niby taka prosta rzecz, a utknąłem.
Chcę zawrzeć warunek w tym czymś co się nazywa pipe operator:
Niby taka prosta rzecz, a utknąłem.
Chcę zawrzeć warunek w tym czymś co się nazywa pipe operator:
member this.messageObjects:seq =- 1
@SwordPL: Dobra, znalazłem rozwiązanie. Próbowałem tego, ale podkreślało mi na czerwono. Już nie podkreśla ( ͡° ʖ̯ ͡°)
- 0
@SwordPL: Testowałem, nawet jeśli liczba jest większa niż ilość elementów w sekwencji, to kod działa. Pytanie dlaczego zwraca w moim przypadku nic.
Jest tu ktoś od #fsharp?
Mam sekwencję , nazwijmy ją "x". Chcę w jednej linijce pobrać pierwszy obiekt (tzw. head) a potem zwrócić pewną wartość z obiektu.
Mam coś takiego:
Mam sekwencję , nazwijmy ją "x". Chcę w jednej linijce pobrać pierwszy obiekt (tzw. head) a potem zwrócić pewną wartość z obiektu.
Mam coś takiego:
let wartoscX = x |> Seq.head |>@Wunderwafel: let wartoscX = x |> Seq.head |> fun y -> y.costam
nie wiem, czy zadaiala, to moja pierwsza linijka w f# :P
nie wiem, czy zadaiala, to moja pierwsza linijka w f# :P
@Wunderwafel @Yahoo_: ale jeśli był by to seq, i w T było by:
a) pole costam : () -> string (zwraca lambde, a nie wartość),
b) costam to funkcja
to trzeba napisać fun y -> y.costam()
a) pole costam : () -> string (zwraca lambde, a nie wartość),
b) costam to funkcja
to trzeba napisać fun y -> y.costam()
Mam pytanie odnośnie F#:
W ramach zapoznawania się z tym językiem chciałbym utworzyć sobie prostą aplikację, która przetworzy dane z pliku XML i wyświetli dane w postaci wykresów. Doinstalowałem sobie wszystkie potrzebne narzędzia F# do Visual Studio 2015, z tym że nie bardzo teraz wiem jak taki projekt utworzyć.
Z projektów do utworzenia mam do wyboru tylko "Console Application" (w którym podejrzewam że nie będzie jak wyrenderować wykresów) oraz Library (które z
W ramach zapoznawania się z tym językiem chciałbym utworzyć sobie prostą aplikację, która przetworzy dane z pliku XML i wyświetli dane w postaci wykresów. Doinstalowałem sobie wszystkie potrzebne narzędzia F# do Visual Studio 2015, z tym że nie bardzo teraz wiem jak taki projekt utworzyć.
Z projektów do utworzenia mam do wyboru tylko "Console Application" (w którym podejrzewam że nie będzie jak wyrenderować wykresów) oraz Library (które z
- 2
@Wunderwafel:
1. Stwórz "Console Application"
2. Dodaj bibliotekę System.Windows.Forms
3. Podmień kod w pliku Program.fs na:
1. Stwórz "Console Application"
2. Dodaj bibliotekę System.Windows.Forms
3. Podmień kod w pliku Program.fs na:
- 0
@SystemHalted: Oczywiście że nie, ale jest duże prawdopodobieństwo że ludzie z #csharp będą wiedzieć o co chodzi
Poczynilem mini blog posta. Chetnie przyjme review kodu na klate ( link w poscie ).
http://www.mfranc.com/blog/simulating-microservices-using-f-and-suave/
#programowanie #fsharp
http://www.mfranc.com/blog/simulating-microservices-using-f-and-suave/
#programowanie #fsharp
- 1
#programowanie
Mirki mam problem, otoz chcialbym sobie troche we F# podłubać ale bez tego molocha jakim jest visual studio, chcialem uzyc atoma +ionide , lub vs code + ionide, aczkolwiek za cholery nie potrafie w jednym i w drugim skompilowac projektu (repl tj linijkowiec dziala ale chcialbym caly projekt zbudowac :< )
Mirki mam problem, otoz chcialbym sobie troche we F# podłubać ale bez tego molocha jakim jest visual studio, chcialem uzyc atoma +ionide , lub vs code + ionide, aczkolwiek za cholery nie potrafie w jednym i w drugim skompilowac projektu (repl tj linijkowiec dziala ale chcialbym caly projekt zbudowac :< )
Popełniłem dość toporny kod w f#:
http://pastebin.com/k3miPUuE
Który ma zadanie odczytywać xmla:
http://pastebin.com/g5MxDE8s
Głównie
http://pastebin.com/k3miPUuE
Który ma zadanie odczytywać xmla:
http://pastebin.com/g5MxDE8s
Głównie
@Hoff:
ref i := sa nie 'funkcyjne' ^^ . Twoj kod jest spoko, nie musisz na sile szukac rozwiazan funkcyjnych.
Natomiast sprobojmy to zmienic uzywajac rekurencji i operatora with ktory fajnie wspolgra jesli chodzi o tworzenie nowego recordu na bazie starego z nowa zmieniona wartoscia. Dzieki temu nie masz przypisani i mutacji stanu obiektu ale generowany ciagle nowy obiekt.
Inna ciekawostka, miast loopa uzylem rekurencji z matchem po kolekcji ( head::tail )
ref i := sa nie 'funkcyjne' ^^ . Twoj kod jest spoko, nie musisz na sile szukac rozwiazan funkcyjnych.
Natomiast sprobojmy to zmienic uzywajac rekurencji i operatora with ktory fajnie wspolgra jesli chodzi o tworzenie nowego recordu na bazie starego z nowa zmieniona wartoscia. Dzieki temu nie masz przypisani i mutacji stanu obiektu ale generowany ciagle nowy obiekt.
Inna ciekawostka, miast loopa uzylem rekurencji z matchem po kolekcji ( head::tail )
@Hoff: Mam jedynie doswiadczenie w laczeniu F# jako mniejsze techniczne moduliki do robienia np migracji danych. Nigdy nie robilem czegos co corowo byloby oparte na F#.
Problemem F# jest :
- learning curve - jest to inne podejscie i wymaga nowego rodzaju wiedzy i doswiadczenia.
- dostepnosc programistow - F# nie jest popularny i ciezej o programmera
- stawki dla programisty - F# owiec w LND zarabia 20-30% wiecej
Problemem F# jest :
- learning curve - jest to inne podejscie i wymaga nowego rodzaju wiedzy i doswiadczenia.
- dostepnosc programistow - F# nie jest popularny i ciezej o programmera
- stawki dla programisty - F# owiec w LND zarabia 20-30% wiecej
Można jakoś ustawić w visualstudio w czasie programowania w fsharpie, aby po zmianie nazwy elementu automatycznie poprawił wszystkie występujące w kodzie stare nazwy na nowe? Tak jak w csharpie jest.
#visualstudio #programowanie #fsharp
#visualstudio #programowanie #fsharp
@Hoff: jest jakiś resharper dla f#. W sensie wtyczka darmowa.
@Hoff: https://visualstudiogallery.msdn.microsoft.com/136b942e-9f2c-4c0b-8bac-86d774189cff może ktoś potomny potrzebować xD
Macie jakieś pomysły na program, aby się nauczyć f sharpa? Pierwsza piedziesiątka z project euler już rozwalona, ale kompletnie nie mam pojęcia jak zrobić krok do przodu i szukam pomysłu na przykładowy projekt.
#programowanie #fsharp #dotnet
#programowanie #fsharp #dotnet
- 2
@Hoff: Sztandarowym przykładem, który pokazuje Luca Bolognese (jeden z twórców F#) na swoich wykładach jest program pobierający kursy giełdowe z zewnętrznej witryny i pokazujący je na wykresach. Sam program jest całkiem krótki, ale jeśli nie widziałeś jego realizacji nigdzie w necie to możesz spróbować sobie coś takiego stworzyć.
@Hoff: Była taka książka, Functional Programming in F# bodajże, masa zadań
- 2
Korzystał ktoś? Jak się sprawdzało? Wygląda fajnie:
http://fsharp.github.io/FAKE/
#fsharp #csharp #programowanie
http://fsharp.github.io/FAKE/
#fsharp #csharp #programowanie
- 1
@SwordPL: No właśnie pomysł jest o tyle ciekawy, że najpotrzebniejsze rzeczy są zrobione (build, nuget, testy), a jak czegoś brakuje to masz właściwie całego .NETa dostępnego, więc można cudować
- 1
Mogę podesłać linka do tej prelekcji o 'literate programming'.
Przyznam szczerze, że jak zobaczyłem jak przyjemnie to wygląda, to pisanie takiego kodu jest całkiem niegłupim pomysłem (zwłaszcza w F#, który jest idealny do statystyki).
Przyznam szczerze, że jak zobaczyłem jak przyjemnie to wygląda, to pisanie takiego kodu jest całkiem niegłupim pomysłem (zwłaszcza w F#, który jest idealny do statystyki).
No duma mnie rozpiera, gdy zaczynam rozumiec #fsharp szkoda ze przed sama sesja...
- 12
ARM vs x86: Pathfinding benchmark of C++, D, Go, Nim, Ocaml, Common Lisp, Racket, C#, Java, Haskell, F#, Rust and Dart
Porównanie wydajności róƶnych języków programowania i ich implementacji na platformach x86 i ARM przy pomocy algorytmu wyszukiwania najdłuƶszej ścieƶki. Pomiędzy językami są lekkie zmiany w algorytmie, więc nawet pomijając QoI cięƶko je porównywać (chociaƶ C++ i D w ścisłej czołówce mnie cieszą)
Porównanie wydajności róƶnych języków programowania i ich implementacji na platformach x86 i ARM przy pomocy algorytmu wyszukiwania najdłuƶszej ścieƶki. Pomiędzy językami są lekkie zmiany w algorytmie, więc nawet pomijając QoI cięƶko je porównywać (chociaƶ C++ i D w ścisłej czołówce mnie cieszą)
- 3
@KrzaQ2: Mi podoba się, że Java dość dobrze wypadła. To tylko pokazuje, że z wersji na wersję następuje progres w wydajności.
Mi podoba się, że Java dość dobrze wypadła.
@zebatykocur: To był komentarz tego zdania. Plus to co wyżej.
Mono for Unreal Engine
Today I am happy to introduce Mono for Unreal Engine
This is a project that allows Unreal Engine users to build their game code in C# or F#
http://tirania.org/blog/archive/2014/Oct-23.html
Today I am happy to introduce Mono for Unreal Engine
This is a project that allows Unreal Engine users to build their game code in C# or F#
http://tirania.org/blog/archive/2014/Oct-23.html

#fsharp #programowanie
Przerabiam tutorial z F# i pojawiło się właśnie coś takiego jak "tuples". Wygląda jak tablice, tylko zamiast kanciastych klamerek, są nawiasy ( ͡º ͜ʖ͡º)
Nigdy nie widziałem czegoś takiego wcześniej w innych językach (albo o tym nie wiem ;P). Co to jest i czym się różni od tablic bądź list?
Przerabiam tutorial z F# i pojawiło się właśnie coś takiego jak "tuples". Wygląda jak tablice, tylko zamiast kanciastych klamerek, są nawiasy ( ͡º ͜ʖ͡º)
Nigdy nie widziałem czegoś takiego wcześniej w innych językach (albo o tym nie wiem ;P). Co to jest i czym się różni od tablic bądź list?
- 3
@Pietrek558: coś jak krotka chyba?
@Pietrek558: tuple to krotka, w pythonie można spotkać. W nim to niezmienna lista(nie możesz zmienić, albo tworzysz nowe albo kopiujesz)
FunScript is a lightweight F# library that lets you rapidly develop single-page applications. You can connect to external data sources and call REST APIs with intellisense, produce dashboards using JavaScript visualization libraries and write asynchronous computations easily without explicit callbacks.
http://funscript.info/
#webdev #javascript #fsharp
http://funscript.info/
#webdev #javascript #fsharp
@msq: brrr... Ale dziwoląg
- 2

















[1] https://redmonk.com/sogrady/2017/03/17/language-rankings-1-17/
[2] https://www.indeed.com/jobtrends/q-Clojure-q-Erlang-q-F%23-q-Haskell-q-Scala-q-Elm-q-Lisp-q-Rust.html
[3] http://appliedscala.com/blog/2016/scala-popularity/