Thread View: pl.comp.lang.funkcyjne
11 messages
11 total messages
Started by Arek Paterek
Tue, 07 Sep 2004 18:52
jujuML
Author: Arek Paterek
Date: Tue, 07 Sep 2004 18:52
Date: Tue, 07 Sep 2004 18:52
16 lines
1233 bytes
1233 bytes
Cześć, napisałem na zaliczenie jednego przedmiotu kompilator języka programowania jujuML. Język jest próbą przerobienia OCamla na wersję ułatwiającą programowanie w stylu imperatywnym. Kompilator jest napisany w OCamlu, język kompilowany jest do bajtkodu OCamla. http://rainbow.mimuw.edu.pl/~ap181283/src/studia/8mrjp/ Jestem ciekaw Waszego zdania na temat tego języka. Pozdrowienia -- Arek Paterek
Re: jujuML
Author: WoJciech
Date: Thu, 09 Sep 2004 13:49
Date: Thu, 09 Sep 2004 13:49
6 lines
1052 bytes
1052 bytes
> http://rainbow.mimuw.edu.pl/~ap181283/src/studia/8mrjp/ > > Jestem ciekaw Waszego zdania na temat tego języka. Rewolucji twój język nie robi, ale poczekaj na mój. WoJciech
Re: jujuML
Author: Arek Paterek
Date: Thu, 09 Sep 2004 18:20
Date: Thu, 09 Sep 2004 18:20
10 lines
1191 bytes
1191 bytes
WoJciech <wodud@gazeta.pl> wrote: >> http://rainbow.mimuw.edu.pl/~ap181283/src/studia/8mrjp/ >> >> Jestem ciekaw Waszego zdania na temat tego języka. > Rewolucji twój język nie robi, ale poczekaj na mój. Ile jeszcze każesz nam na niego czekać, Wojtku?! -- Arek Paterek
Re: jujuML
Author: Marcin Stefaniak
Date: Thu, 25 Nov 2004 22:45
Date: Thu, 25 Nov 2004 22:45
18 lines
1413 bytes
1413 bytes
Arek Paterek <a.paterek.nospam@students.mimuw.edu.pl> napisał(a): > napisałem na zaliczenie jednego przedmiotu kompilator języka programowania > jujuML. Język jest próbą przerobienia OCamla na wersję ułatwiającą > programowanie w stylu imperatywnym. Jakie konkretnie ułatwienia w stosunku do OCamla tam wprowadziłeś? Na stronie projektu dokumentacja jest raczej skąpa... Ja konkretnie to nie programowałem w OCamlu, ale wydaje mi się że ten język nie stawia przeszkód względem stylu imperatywnego. pozdrawiam, Marcin Stefaniak -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: jujuML
Author: Arek Paterek
Date: Fri, 26 Nov 2004 13:55
Date: Fri, 26 Nov 2004 13:55
29 lines
1752 bytes
1752 bytes
Marcin Stefaniak <matmis@wytnij.gazeta.pl> wrote: >> napisałem na zaliczenie jednego przedmiotu kompilator języka programowania >> jujuML. Język jest próbą przerobienia OCamla na wersję ułatwiającą >> programowanie w stylu imperatywnym. > > Jakie konkretnie ułatwienia w stosunku do OCamla tam wprowadziłeś? Na stronie > projektu dokumentacja jest raczej skąpa... Ja konkretnie to nie programowałem > w OCamlu, ale wydaje mi się że ten język nie stawia przeszkód względem stylu > imperatywnego. Cześć, chodzi głównie o ułatwienia składniowe, np. deklaracje w miejscu przypisania. Żeby napisać w OCamlu prosty program w stylu imperatywnym, trzeba często korzystać z konstrukcji tego typu: let z = 5 in ( let x = ref 0; let y = ref 0; x := !z; y := !x + 3; ) W moim języku wystarczy: z = 5 x = z y = x + 3 -- Arek Paterek
Re: jujuML
Author: Tomasz Zielonka
Date: Fri, 26 Nov 2004 19:29
Date: Fri, 26 Nov 2004 19:29
36 lines
1578 bytes
1578 bytes
Arek Paterek wrote: > chodzi głównie o ułatwienia składniowe, np. deklaracje w miejscu przypisania. > Żeby napisać w OCamlu prosty program w stylu imperatywnym, trzeba często > korzystać z konstrukcji tego typu: > let z = 5 in ( > let x = ref 0; > let y = ref 0; > x := !z; > y := !x + 3; > ) > > W moim języku wystarczy: > z = 5 > x = z > y = x + 3 W ocamlu mogłeś po prostu napisać: let z = 5 in let x = z in let y = x + 3 in Domyślam się, że przykład jest zbyt prosty - nie potrzebuje programowania imperatywnego. BTW. co będzie zawierał y po tych instrukcjach? x = 0 y = x x = x + 1 Pozdrawiam, Tomek -- .signature: Too many levels of symbolic links
Re: jujuML
Author: Arek Paterek
Date: Sat, 27 Nov 2004 18:58
Date: Sat, 27 Nov 2004 18:58
34 lines
2019 bytes
2019 bytes
Tomasz Zielonka <tomasz.zielonka@gmail.com> wrote: > W ocamlu mogłeś po prostu napisać: > > let z = 5 in > let x = z in > let y = x + 3 in > > Domyślam się, że przykład jest zbyt prosty - nie potrzebuje > programowania imperatywnego. Tak. Chciałem zademonstrować, jak wygląda kawałek kodu napisany w OCamlu w stylu imperatywnym. Składnia OCamla niezbyt sprzyja takiemu stylowi programowania. To najlepiej widać, jeśli przetłumaczy się mechanicznie kawałek kodu z C++ na OCamla. Sporo programuję w C++ i brakuje mi wielu rzeczy w tym języku. Najbardziej denerwująca jest konieczność pisania nazw typów przy deklaracji zmiennych. W g++ można sobie radzić, używając __typeof(), ale np. dla MS VC++ nie znam sposobu na uniknięcie niepotrzebnej pisaniny. A w OCamlu jest tyle fajnych mechanizmów: wnioskowanie typów, polimorfizm funkcji... tylko ta niewygodna składnia... > BTW. co będzie zawierał y po tych instrukcjach? > > x = 0 > y = x > x = x + 1 y == 0 -- Arek Paterek
Re: jujuML
Author: Tomasz Zielonka
Date: Sat, 27 Nov 2004 22:03
Date: Sat, 27 Nov 2004 22:03
21 lines
1700 bytes
1700 bytes
Arek Paterek wrote: > Tak. Chciałem zademonstrować, jak wygląda kawałek kodu napisany > w OCamlu w stylu imperatywnym. Składnia OCamla niezbyt sprzyja > takiemu stylowi programowania. To najlepiej widać, jeśli > przetłumaczy się mechanicznie kawałek kodu z C++ na OCamla. Mechaniczne tłumaczenie kodu z C++ na OCamla nie jest najlepszym pomysłem. > A w OCamlu jest tyle fajnych mechanizmów: wnioskowanie typów, > polimorfizm funkcji... tylko ta niewygodna składnia... Próbowałeś Haskella? Składnia dla programowania imperatywnego też nie jest cukierkowa, ale znacznie rzadziej potrzebujesz programować imperatywnie. Pozdrawiam, Tomek -- .signature: Too many levels of symbolic links
Re: jujuML
Author: Arek Paterek
Date: Sun, 28 Nov 2004 02:19
Date: Sun, 28 Nov 2004 02:19
23 lines
1974 bytes
1974 bytes
Tomasz Zielonka <tomasz.zielonka@gmail.com> wrote: >> Tak. Chciałem zademonstrować, jak wygląda kawałek kodu napisany >> w OCamlu w stylu imperatywnym. Składnia OCamla niezbyt sprzyja >> takiemu stylowi programowania. To najlepiej widać, jeśli >> przetłumaczy się mechanicznie kawałek kodu z C++ na OCamla. > > Mechaniczne tłumaczenie kodu z C++ na OCamla nie jest najlepszym > pomysłem. > >> A w OCamlu jest tyle fajnych mechanizmów: wnioskowanie typów, >> polimorfizm funkcji... tylko ta niewygodna składnia... > > Próbowałeś Haskella? Składnia dla programowania imperatywnego też nie > jest cukierkowa, ale znacznie rzadziej potrzebujesz programować > imperatywnie. Ale ja lubię programowanie imperatywne :) Funkcyjne jest za trudne. Za dużo trzeba kombinować. Haskella nie znam, na pewno kiedyś spróbuję, kiedy znajdę czas... -- Arek Paterek
Re: jujuML
Author: Tomasz Zielonka
Date: Sun, 28 Nov 2004 08:33
Date: Sun, 28 Nov 2004 08:33
28 lines
2305 bytes
2305 bytes
Arek Paterek wrote: > Ale ja lubię programowanie imperatywne :) > Funkcyjne jest za trudne. Za dużo trzeba kombinować. Bo ja wiem... mnie częściej głowa boli od programowania imperatywnego :) Tak przy okazji, OCaml jest trochę dziwny jako język funkcyjny. Jak na mój gust biblioteki standardowe wykorzystują imperatywność zbyt często. Przecież nawet w takim Pythonie, który raczej nie jest językiem funkcyjnym, typ napisowy nie posiada operacji modyfikujących. Takie języki jak OCaml mogą powodować błędne przekonanie o umiejętności programowania funkcyjnego / deklaratywnego. Spójrz np. na stronę http://tygrysek.wpk.p.lodz.pl/sknauk/prj.pl Jest tam ogłoszenie o zamieszczeniu zestawu przykładów w języku Scheme zapisanych deklaratywnie. Same przykłady znajdują się w "Worek" / "Projekty" / "Wojciech Polak" / "Scheme". Jak popatrzę na te programy, to już nie wiem co oznacza deklaratywność, np. czym to się różni od typowego programu w C++? W każdym przykładzie używane są mechanizmy imperatywne (set!, set-car!). Może chodzi o użycie wbudowanego typu listy i dużą liczbę nawiasów? :) Pozdrawiam, Tomek -- .signature: Too many levels of symbolic links
Re: jujuML
Author: Marcin Stefaniak
Date: Tue, 30 Nov 2004 20:44
Date: Tue, 30 Nov 2004 20:44
19 lines
1801 bytes
1801 bytes
Arek Paterek <a.paterek.nospam@students.mimuw.edu.pl> napisał(a): > A w OCamlu jest tyle fajnych mechanizmów: wnioskowanie typów, > polimorfizm funkcji... tylko ta niewygodna składnia... Skoro o językach i składni mowa, co sądzicie o Nemerle? Z dokumentacji wygląda ładnie, ale osobiście go nie używałem, więc nie wypowiem się. Zresztą, od składni bardziej dla mnie liczy się wygoda IDE, więc pewnie jak bym chciał rozwijać własny język programowania to na zasadzie ewolucji już istniejącego języka z IDE. Ale może pojawi się jakiś dobry plugin eclipsowy do jakiegoś miłego języka i nie będzie to mi opłacalne. Czy do jakiegoś nowoczesnego języka funkcyjnego możecie polecić jakieś dobre IDE (takie jak Eclipse/JDT powiedzmy)? Marcin Stefaniak -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads