eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingMakra w jezyku Scheme › Re: Makra w jezyku Scheme
  • X-Received: by 10.140.94.81 with SMTP id f75mr420635qge.5.1415561748282; Sun, 09 Nov
    2014 11:35:48 -0800 (PST)
    X-Received: by 10.140.94.81 with SMTP id f75mr420635qge.5.1415561748282; Sun, 09 Nov
    2014 11:35:48 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    h15no1138455igd.0!news-out.google.com!u1ni1qah.0!nntp.google.com!i13no397897qae
    .0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 9 Nov 2014 11:35:48 -0800 (PST)
    In-Reply-To: <3...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=37.209.130.67;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 37.209.130.67
    References: <c...@g...com>
    <f...@g...com>
    <0...@g...com>
    <3...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <5...@g...com>
    Subject: Re: Makra w jezyku Scheme
    From: firr <p...@g...com>
    Injection-Date: Sun, 09 Nov 2014 19:35:48 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:206877
    [ ukryj nagłówki ]

    W dniu niedziela, 9 listopada 2014 20:28:15 UTC+1 użytkownik g...@g...com
    napisał:
    > W dniu niedziela, 9 listopada 2014 19:52:10 UTC+1 użytkownik firr napisał:
    >
    > > spoko, chcesz to mozna troche jeszcze o tym pogadac - co do tego wyzej to jako
    tako rozumiem drzewkową składnie (ktora jest fajna)
    > > - jako tako tez ta węzową formę - głowa i argumenty (zawsze tak jest? czy zcasem
    sa jakies inne wariacje?)
    >
    > jezeli idzie o reprezentacje list/drzew, to to jest w ogolnosci bardzo
    > ciekawe zagadnienie. pare lat temu Guy Steele mial wyklad na ten
    > temat w kontekscie paralelizacji obliczen: http://vimeo.com/6624203
    >
    > z cala pewnoscia z operatywnego punktu widzenia podzial na glowe i ogon
    > jest bardzo wygodny, choc uzywanie list laczonych jest w ogolnosci dosc
    > niewydajne (np. ze wzgledu na liniowy czas dostepu do elementow)
    >
    > w przypadku makr nie ma to zazwyczaj szczegolnego znaczenia, bo one sa i tak
    > wykonywane w trakcie kompilacji wyrazenia (choc oczywiscie ktos moglby stworzyc
    > jakies makro, ktore dzialaloby skrajnie niewydajnie)
    >
    > > - nie bardzo kojarze jednak to quote, po co to sie moze przydac jesli w miejscu
    programu gdzie mial byc kod pojawia sie takie nieinterpretowalne symbole to nie bedze
    syntax error?
    >
    > nie. symbole sa w lispie jednym z podstawowych typow danych, podobnie jak
    > np. stringi w javascripcie.
    >
    > dlatego kiedy piszesz
    >
    > : x
    >
    > to ewaluator probuje podstawic wartosc zwiazana z symbolem (albo zglasza
    > blad, jezeli symbol jest niezwiazany), za to jesli piszesz
    >
    > : (quote x)
    >
    > czy tez
    >
    > : 'x
    >
    > to otrzymujesz symbol "x"
    >
    > podobnie, kiedy piszesz
    >
    > (+ 2 3)
    >
    > to interpreter ewaluuje to wyrazenie do liczby 5, ale jesli napiszesz
    >
    > '(+ 2 3)
    >
    > to wartoscia tego wyrazenia bedzie lista, ktorej pierwszym
    > elementem jest symbol "+", drugim liczba 2, a trzecim liczba 3
    >
    >
    > przy okazji ciekawostka: o ile wyrazenia '2 i '3 dadza w wyniku
    > liczby 2 i 3 (czyli zachowaja sie tak samo, ja wyrazenia 2 i 3),
    > o tyle ''2 i ''3 dadza w wyniku listy
    >
    > (quote 2)
    >
    > i
    >
    > (quote 3)
    >
    > (czyli listy, ktorych pierwszym elementem jest symbol "quote", a drugim
    > liczba)
    >
    > Analogicznie, ''x da w wyniku liste
    >
    > (quote x)

    mimo twojej zauwazalnie ponadprzecietnej inteligencji powiem ci ze tutor to z ciebie
    jest slaby - mozesz odpowiedziec mi na jedno pytanie zwiazane z quote? - rozumiem ze
    to co jest produkowane przez quote (co moze byc pojedyncza lista czy moze byc cala
    wielka galezia kodu?) dalej jest konsumowane przez jakis tam pozostaly kod, bo bez
    tej wlasnie konsumpcji bylby syntaz error?
    -?
    tak pytam zeby zrozumiec jak to dziala

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: