eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › [Haskell] branie od tyłu ;)
Ilość wypowiedzi w tym wątku: 40

  • 1. Data: 2009-09-20 17:29:22
    Temat: [Haskell] branie od tyłu ;)
    Od: Michal <n...@d...com>

    Czy jest w haskellu jakis wzorzec(pattern) na wziecie ostatniego
    elementu z listy oraz doklejanie elementu do tylu listy. Chodzi mi o
    konstrukcje analogiczne do (x:xs) np. w wyrazeniu

    fun (x:xs) = x:5:xs

    Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    (1)?



    --


  • 2. Data: 2009-09-20 21:35:23
    Temat: Re: branie od tyłu ;)
    Od: "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl>

    On Sep 20, 7:29 pm, Michal <n...@d...com> wrote:
    > Czy jest w haskellu jakis wzorzec(pattern) na wziecie ostatniego
    > elementu z listy oraz doklejanie elementu do tylu listy. Chodzi mi o
    > konstrukcje analogiczne do (x:xs) np. w wyrazeniu
    >
    > fun (x:xs) = x:5:xs

    Nie. Reprezentacja listy jest asymetryczna. Gdyby nie lukier
    składniowy, to definicja typu listowego wyglądałaby tak:
    data List a = Nil | Cons a (List a)
    i jedyną metodą dostania się do ostatniego elementu jest
    przeiterowanie po liście.

    > Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    > (1)?

    Nie. Jeśli potrzebujesz dostępu do dalszych elementów w czasie stałym,
    to zamiast listy trzeba użyć czegoś innego, np. typu Array albo
    którejś z imperatywnych wersji tablic (STArray, IOArray).

    Często można obyć się bez potrzeby dostępu do dalszych elementów w
    czasie stałym. Na przykład kolejkę można zrobić z dwóch list: logiczna
    zawartość kolejki to pierwsza lista skonkatenowana z odwróconą drugą.
    Operacje mają amortyzowany koszt stały.


  • 3. Data: 2009-09-21 16:02:56
    Temat: Re: branie od tyłu ;)
    Od: Michal <n...@d...com>

    On Sun, 20 Sep 2009 14:35:23 -0700 (PDT)
    "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl> wrote:

    > > Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    > > (1)?
    >
    > Nie. Jeśli potrzebujesz dostępu do dalszych elementów w czasie stałym,
    > to zamiast listy trzeba użyć czegoś innego, np. typu Array albo
    > którejś z imperatywnych wersji tablic (STArray, IOArray).

    a moze wiesz czym kierowali sie tworcy nie udostepniajac tej operacji?
    Rozumiem, ze elementy listy sa czesto obliczane w sposob leniwy ale to
    chyba nie jest wielka przeszkoda, jezeli lista ma stkonczony rozmiar i
    jest znana w czasie kompilacji np.: a = [1, 2, 3]
    --


  • 4. Data: 2009-09-21 17:42:21
    Temat: Re: branie od tyłu ;)
    Od: "Mariusz Marszałkowski" <b...@g...SKASUJ-TO.pl>

    Michal <n...@d...com> napisał(a):

    > On Sun, 20 Sep 2009 14:35:23 -0700 (PDT)
    > "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl> wrote:
    >
    > > > Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    > > > (1)?
    > >=20
    > > Nie. Je=B6li potrzebujesz dost=EApu do dalszych element=F3w w czasie sta=
    > =B3ym,
    > > to zamiast listy trzeba u=BFy=E6 czego=B6 innego, np. typu Array albo
    > > kt=F3rej=B6 z imperatywnych wersji tablic (STArray, IOArray).
    >
    > a moze wiesz czym kierowali sie tworcy nie udostepniajac tej operacji?
    > Rozumiem, ze elementy listy sa czesto obliczane w sposob leniwy ale to
    > chyba nie jest wielka przeszkoda, jezeli lista ma stkonczony rozmiar i
    > jest znana w czasie kompilacji np.: a =3D [1, 2, 3]

    Do jakich zadan najlepiej nadaje sie ten jezyk?

    Pozdrawiam



    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 5. Data: 2009-09-21 18:13:05
    Temat: Re: branie od tyłu ;)
    Od: A.L. <a...@a...com>

    On Mon, 21 Sep 2009 17:42:21 +0000 (UTC), "Mariusz Marszałkowski"
    <b...@g...SKASUJ-TO.pl> wrote:

    >Michal <n...@d...com> napisał(a):
    >
    >> On Sun, 20 Sep 2009 14:35:23 -0700 (PDT)
    >> "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl> wrote:
    >>
    >> > > Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    >> > > (1)?
    >> >=20
    >> > Nie. Je=B6li potrzebujesz dost=EApu do dalszych element=F3w w czasie sta=
    >> =B3ym,
    >> > to zamiast listy trzeba u=BFy=E6 czego=B6 innego, np. typu Array albo
    >> > kt=F3rej=B6 z imperatywnych wersji tablic (STArray, IOArray).
    >>
    >> a moze wiesz czym kierowali sie tworcy nie udostepniajac tej operacji?
    >> Rozumiem, ze elementy listy sa czesto obliczane w sposob leniwy ale to
    >> chyba nie jest wielka przeszkoda, jezeli lista ma stkonczony rozmiar i
    >> jest znana w czasie kompilacji np.: a =3D [1, 2, 3]
    >
    >Do jakich zadan najlepiej nadaje sie ten jezyk?
    >

    Do wszystkich

    A.L.


  • 6. Data: 2009-09-21 18:25:08
    Temat: Re: branie od tyłu ;)
    Od: Michal <n...@d...com>

    On Mon, 21 Sep 2009 17:42:21 +0000 (UTC)
    "Mariusz Marszałkowski" <b...@g...SKASUJ-TO.pl> wrote:

    >
    > Do jakich zadan najlepiej nadaje sie ten jezyk?
    >

    Jest to jezyk ogolnego przeznaczenia. Jednak zapewne, jak ze wszystkimi
    narzedziami, pewne zadania realiuje sie w sposob funkcyjny prosciej niz
    imperatywny i vice-versa.


  • 7. Data: 2009-09-22 07:27:18
    Temat: Re: branie od tyłu ;)
    Od: Roman Werpachowski <r...@g...com>

    On 21 Sep, 20:13, A.L. <a...@a...com> wrote:
    > On Mon, 21 Sep 2009 17:42:21 +0000 (UTC), "Mariusz Marszałkowski"
    >
    >
    >
    >
    >
    > <b...@g...SKASUJ-TO.pl> wrote:
    > >Michal <n...@d...com> napisał(a):
    >
    > >> On Sun, 20 Sep 2009 14:35:23 -0700 (PDT)
    > >> "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl> wrote:
    >
    > >> > > Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    > >> > > (1)?
    > >> >=20
    > >> > Nie. Je=B6li potrzebujesz dost=EApu do dalszych element=F3w w czasie sta=
    > >> =B3ym,
    > >> > to zamiast listy trzeba u=BFy=E6 czego=B6 innego, np. typu Array albo
    > >> > kt=F3rej=B6 z imperatywnych wersji tablic (STArray, IOArray).
    >
    > >> a moze wiesz czym kierowali sie tworcy nie udostepniajac tej operacji?
    > >> Rozumiem, ze elementy listy sa czesto obliczane w sposob leniwy ale to
    > >> chyba nie jest wielka przeszkoda, jezeli lista ma stkonczony rozmiar i
    > >> jest znana w czasie kompilacji np.: a =3D [1, 2, 3]
    >
    > >Do jakich zadan najlepiej nadaje sie ten jezyk?
    >
    > Do wszystkich
    >

    W praktyce mało kto go używa, więc głównie do marnowania czasu i
    tworzenia publikacji naukowych.

    RW


  • 8. Data: 2009-09-22 07:58:24
    Temat: Re: branie od tyłu ;)
    Od: Krzysiek Kowaliczek <k...@g...com>

    Użytkownik Michal napisał:
    > On Sun, 20 Sep 2009 14:35:23 -0700 (PDT)
    > "Marcin 'Qrczak' Kowalczyk" <q...@k...org.pl> wrote:
    >
    >>> Czy jest rowniez jakas operacja bioraca n-ty element z listy w czasie O
    >>> (1)?
    > a moze wiesz czym kierowali sie tworcy nie udostepniajac tej operacji?
    > Rozumiem, ze elementy listy sa czesto obliczane w sposob leniwy ale to
    > chyba nie jest wielka przeszkoda, jezeli lista ma stkonczony rozmiar i
    > jest znana w czasie kompilacji np.: a = [1, 2, 3]


    W jakim to języku masz listę o dostępie O(1)?

    Pozdrawiam
    KK


  • 9. Data: 2009-09-22 08:01:36
    Temat: Re: branie od tyłu ;)
    Od: Krzysiek Kowaliczek <k...@g...com>

    Użytkownik Roman Werpachowski napisał:
    >
    > W praktyce mało kto go używa, więc głównie do marnowania czasu i
    > tworzenia publikacji naukowych.

    Uczenie się nowych rzeczy *nie jest stratą czasu*.

    Pozdrawiam
    KK


  • 10. Data: 2009-09-22 11:19:55
    Temat: Re: branie od tyłu ;)
    Od: Roman Werpachowski <r...@g...com>

    On Sep 22, 10:01 am, Krzysiek Kowaliczek
    <k...@g...com> wrote:
    > Użytkownik Roman Werpachowski napisał:
    >
    >
    >
    > > W praktyce mało kto go używa, więc głównie do marnowania czasu i
    > > tworzenia publikacji naukowych.
    >
    > Uczenie się nowych rzeczy *nie jest stratą czasu*.

    OK, to jest również używany do uczenia się Haskella.

    RW

strony : [ 1 ] . 2 ... 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: