-
Data: 2014-11-09 20:35:48
Temat: Re: Makra w jezyku Scheme
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 09.11.14 20:52 A.L.
- 09.11.14 21:51 g...@g...com
- 09.11.14 22:05 g...@g...com
- 09.11.14 22:51 Jordan Szubert
- 09.11.14 22:58 g...@g...com
- 09.11.14 23:36 firr
- 10.11.14 01:06 g...@g...com
- 10.11.14 08:53 firr
- 10.11.14 09:15 g...@g...com
- 10.11.14 09:40 firr
- 10.11.14 09:42 firr
- 10.11.14 09:53 g...@g...com
- 10.11.14 09:54 g...@g...com
- 10.11.14 10:03 firr
- 10.11.14 10:11 firr
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-10 Lublin => Programista Delphi <=
- 2025-02-10 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-10 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-10 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-10 Kraków => iOS Developer (Swift experience) <=