-
Data: 2014-11-10 09:40:54
Temat: Re: Makra w jezyku Scheme
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 10 listopada 2014 09:15:04 UTC+1 użytkownik g...@g...com
napisał:
> W dniu poniedziałek, 10 listopada 2014 08:53:33 UTC+1 użytkownik firr napisał:
>
> > > zachecam zebys sprawdzil tego repla, bo wtedy bedziesz mogl
> > > na biezaco testowac rozne hipotezy
> >
> > chyba nie mam sily (ostatnio na nic nie mam sily) bo scheme sie interesuje tylko
przygodnie - aczkolwiek i w ten sposob tanim kosztem mozna sie troche wdrożyc w
temat, bo np teraz mi sie troche rozjasnilo
>
> to jak juz uznasz, ze wszystko rozumiesz, to bym Cie jeszcze poprosil,
> zebys opowiedzial o tym w taki sposob, dzieki ktoremu Twoim zdaniem
> zrozumialbys to szybciej, bo moze wtedy i ja sie czegos naucze odnosnie
> tego, jak nalezy wyjasniac takie rzeczy :)
>
> > mozesz powiedziec mmi moze jeszcze
> >
> > > (append '(+ 1 2 3) '(+ 1 2 3 4))
> >
> > > (+ 1 2 3 + 1 2 3 4)
> >
> >
> > 1) tutaj dodajemy dwa cytaty czy wynik nie powinien byc tez cytatem, czy tu na
pewno to jest nie cytat tylko takie wyrazenie?
>
> nie
> cytat to jest pewne wyrazenie, natomiast wynik cytowania to w tym
> przypadku po prostu lista. Ewaluator albo zjada jednego quote'a
> i wypuwa dane, albo dokonuje ewaluacji wyrazenia zgodnie z normalnymi
> regulami, jesli nie ma quote'a.
>
> funkcja poniekad komplementarna jest funkcja "eval". w pewnym uproszczeniu
> zapis (eval '(+ 1 2)) jest rownowazny zapisowi (+ 1 2). eval to funkcja
> ktora interpretuje swoj argument jako kod w lispie.
>
> analogicznie, zapis (eval ''(+ 1 2)) odpowiada zapisowi '(+ 1 2)
>
> (podobna funkcja "eval" jest np. w javascripcie, tylko ze tam
> ewaluuje sie stringi, natomiast w lispie -- struktury danych,
> tj. drzewa symboli. dlatego funkcja "eval" w javascripcie musi
> dodatkowo przeparsowac kod, a w lispie nie)
>
> > 2) co dalej mozna zrobic z czyms takim
> >
> > > (+ 1 2 3 + 1 2 3 4)
> >
> > ? to jak rozumiem sie chyba nie moze wykonac?
>
> nie moze, bo nie mozna dodac funkcji do liczby.
> mozna z tym robic to wszystko, co mozna zrobic
> z kazda inna lista, np.
>
> (filter number? '(+ 1 2 3 + 1 2 3 4))
> ===> (1 2 3 1 2 3 4)
>
> (filter symbol? '(+ 1 2 3 + 1 2 3 4))
> ===> (+ +)
>
> oczywiscie przyklad jest bardzo abstrakcyjny
ciezko mi dokladniej powiedziec jak nalezy tlumaczyc, przede wszystkim nalezy: pisac
o kluczowych sprawach w jasy sposob, uzywac silnych twierdzeń,
(tj ogolnych takich ktore sa prawdziwe w szerokim zakresie)nie mieszac roznych
nieprecyzyjnych twierdzen w jednym akapicie itp
(sporo ksiazek o programowaniu jest napisana dosyc slabo niestety, ale tez chyba
wlasnie jezyki sa raczej trudne do uczenia)
(kiedys jak bylem mlodszy nawet znajdowalem pewne wyzwanie w czytanie zle napisanych
ksiazek o kodowaniu ;/ teraz to sam nie
wiem - jestem ciagle zmeczony i malo co
robie - choc jesli juz cos robieto raczej ma to sens)
jak pojme owo scheme nieco bardziej to moge powiedziec pare uwag itp (juz troche
bardziej lapie niz kiedys ale ciagle duzo dziur w podstawach np taka kwestia
(+ 1 2 3 4 5 6)
(* 1 2 3 4 5 6)
(- 1 2 3 4 5 6)
(/ 1 2 3 4 5 6)
czy te operatory sa zdefniowane tylko dla dwu argumentow czy tez sa jakos naturalnie
zdefiniowane dla wielu? (o ile plus i * dzialaja w oczywisty sposób to dzialanie - i
/
nie jest symetryczne bo to jest pewnie niesymetryczne 1/2/3/4/5/6 a nie symetryczne
/1/2/3/4/5/6 - jak to z tym jest?)
Następne wpisy z tego wątku
- 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
- 10.11.14 10:12 g...@g...com
- 10.11.14 11:38 firr
- 10.11.14 11:44 g...@g...com
- 10.11.14 12:01 g...@g...com
- 10.11.14 12:30 firr
- 11.11.14 01:48 g...@g...com
- 11.11.14 10:43 firr
- 11.11.14 11:47 firr
- 11.11.14 12:24 firr
- 11.11.14 12:57 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) <=