-
X-Received: by 10.140.83.212 with SMTP id j78mr293081qgd.3.1390093345813; Sat, 18 Jan
2014 17:02:25 -0800 (PST)
X-Received: by 10.140.83.212 with SMTP id j78mr293081qgd.3.1390093345813; Sat, 18 Jan
2014 17:02:25 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!p15no21838946qaj.0!news-out.
google.com!fv6ni4421qab.1!nntp.google.com!6no17509780qao.1!postnews.google.com!
glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 18 Jan 2014 17:02:25 -0800 (PST)
In-Reply-To: <3...@4...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.67.189.218;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 89.67.189.218
References: <4...@g...com>
<p...@4...com>
<1...@g...com>
<2...@g...com>
<3...@4...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1...@g...com>
Subject: Re: generowanie programow
From: g...@g...com
Injection-Date: Sun, 19 Jan 2014 01:02:25 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:204988
[ ukryj nagłówki ]W dniu sobota, 18 stycznia 2014 23:36:27 UTC+1 użytkownik A. L. napisał:
> >Mam nadzieje, ze to odpowiada na Twoje pytanie.
>
> Tak.
>
> To co napiales pozyzej to komplenta bzdura
W jakim sensie jest to kompletna bzdura?
Albo: co z tego, co napisalem, jest kompletna bzdura
i dlaczego?
Rzecz w tym, ze odpowiedzi w rodzaju takich, ktore
mi udzielasz (np. "to jest kompletna bzdura", albo
"Gosciu, czy ty kiedys programwoales profesjonalnie,
czy tylk oze sluchu?") nie sa dla mnie szczegolnie
informatywne, i jezeli masz odpowiadac w taki sposob,
to rownie dobrze mozesz darowac sobie wypowiedz.
Nie interesuja mnie stwierdzenia, za ktorymi nie
stoja jakies wyjasnienia czy argumenty, poniewaz
cel wypowiadania takich stwierdzen raczej nie jest
merytoryczny, tylko erystyczny.
Dla mnie sens tego, co napisalem, wydaje sie
dosc oczywisty. Moze warto by to bylo zilustrowac
przykladem. Zeby nie szukac daleko, posluze sie tym
pochodzacym od autorow prezentacji.
Funkcyjna, rekurencyjna definicja funkcji "append"
w lispie, sklejajaca ze soba dwie listy, wyglada
nastepujaco
(define (append l s)
(cond
((null? l) s)
(else (cons (car l) (append (cdr l) s)))))
na przyklad
(append '(1 2 3) '(4 5)) zwroci (1 2 3 4 5)
Funkcje te mozna przepisac do systemu programowania
w logice "kanren" wedlug zarysowanej powyzej metody,
uzyskujac nastepujacy kod:
(define (appendo l s out)
(conde
((== '() l) (== s out))
((fresh (a d res)
(== `(,a . ,d) l)
(== `(,a . ,res) out)
(appendo d s res)))))
gdzie == jest operatorem unifikacji, fresh sluzy
do wprowadzania nowych zmiennych, zas conde jest
kanrenowym odpowiednikiem operatora cond.
Nie przedstawiam tutaj szczegolowo semantyki
kanrena, bo po pierwsze sam jej dobrze nie znam,
a po drugie caly proces jest wyjasniony w prezentacji.
Istotne jest to, ze majac tak zdefiniowana funkcje,
mozna uruchomic ja w kanrenowym unifikatorze, w
nastepujace sposoby:
(run* (q) (appendo '(a b c) '(d e) q))
zwroci
(a b c d e)
ale rowniez mozna unifikowac "od tylu":
(run* (q) (appendo '(a b c) q '(a b c d e)))
da nam
(d e)
itd.
Skladnia moze nie jest tak elegancka, jak
w prologu, poniewaz unifikacja jest dokonywana
w jawny sposob, ale dla osoby znajacej podstawy
lispa sens powinien byc mniej wiecej do
uchwycenia, nawet jesli moze miec klopot
ze szczegolami.
[...] przepisac program napisany
> > >w stylu funkcyjnym na "program w logice"
> > >(poprzez dopisanie dodatkowego argumentu,
> > >majacego reprezentowac wynik),
>
> Chodzi o to w jaki sposob "dopisanie argumentu"
> nagle powoduje ze mamy "program w logice"
OK, rozumiem, o co chodzi. Jezeli idzie o to
wyjasnienie, to oczywiscie dopisanie dodatkowego
argumentu nie jest warunkiem dostatecznym, ale jest
(dla przyjetej przez autorow metody) warunkiem
koniecznym. Nie opisywalem tego procesu w calosci,
poniewaz to jest zawarte w prezentacji, zas moim
celem bylo jedynie zarysowanie tego, co tam sie
dzieje, zeby grupowicze mogli ocenic, czy temat
jest dla nich interesujacy, i ewentualnie obejrzec.
Jezeli dla Ciebie nie jest, to ja nie mam z tym
problemu.
Następne wpisy z tego wątku
- 19.01.14 02:45 g...@g...com
- 19.01.14 10:25 firr
- 19.01.14 10:44 firr
- 19.01.14 10:48 firr
- 22.01.14 10:35 firr
- 22.01.14 11:27 g...@g...com
- 22.01.14 11:29 g...@g...com
- 22.01.14 11:40 firr
- 22.01.14 12:10 firr
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 ROG
- 2025-07-03 OZE dały Polsce więcej prądu niż elektrownie węglowe
- 2025-07-03 Dlaczego nikt nie powiadamia służb!
- 2025-07-02 Jaka ładowarka sieciowa do Iphona?
- 2025-07-02 ,,The Plot to Get RFK" (,,Spisek, by pozbyć się RFK")
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Rozkaz 16-2025: 2025-06-19 Apelacja Do Wyroku Sądu Rej. w Sprawie IVRNs 295-23
- 2025-07-02 Rozkaz 17-2025: O Zaprzestaniu Zaciągania Kredytów
- 2025-07-02 Inżynierowie... inżynierzy...
- 2025-07-02 Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- 2025-07-02 Kto potrafi sprawdzić aku BMW 48V 10Ah Li-Ion do mini hybrydy, czy sprawny ?
- 2025-07-02 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-02 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-02 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-02 Warszawa => Inżynier oprogramowania .Net <=