-
X-Received: by 2002:a37:ad4:: with SMTP id 203mr107880qkk.3.1542828726246; Wed, 21
Nov 2018 11:32:06 -0800 (PST)
X-Received: by 2002:a37:ad4:: with SMTP id 203mr107880qkk.3.1542828726246; Wed, 21
Nov 2018 11:32:06 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!ne
ws.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net
!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
iganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!v55no1537999qtk.0!
news-out.google.com!h3ni4940qtk.1!nntp.google.com!v55no1537990qtk.0!postnews.go
ogle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 21 Nov 2018 11:32:06 -0800 (PST)
In-Reply-To: <1...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.186.71.6;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 46.186.71.6
References: <8...@g...com>
<7...@g...com>
<d...@g...com>
<psp6q7$97o$1@node2.news.atman.pl>
<6...@g...com>
<pss4d0$14n$1@node2.news.atman.pl>
<3...@g...com>
<8...@g...com>
<1...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8...@g...com>
Subject: Re: Niezmienniki pętli
From: g...@g...com
Injection-Date: Wed, 21 Nov 2018 19:32:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 44
Xref: news-archive.icm.edu.pl pl.comp.programming:212964
[ ukryj nagłówki ]W dniu wtorek, 20 listopada 2018 14:38:53 UTC+1 użytkownik Maciej Sobczak napisał:
> > Warto przyjrzeć się językowi Idris i typom zależnym.
>
> Nie przekonują mnie. Jeśli je rozumiem, to typy zależne pozwalają związać warunki
między parametrami i wartością zwracaną z funkcji. Fajnie, ale to nie wyczerpuje
tematu, bo jest jeszcze stan (również globalny), który też mogę chcieć związać takimi
warunkami.
Nie wiem, czy to wyczerpuje temat, ale na pewno jest
przykładem czegoś, co zwiększa ilość rzeczy, które możemy
statycznie powiedzieć o naszym programie.
Tutaj jest prezentacja o tym, w jaki sposób typy zależne
umożliwiają wyrażanie błędów w programach (na przykładzie
Heartbleed, przy użyciu Liquid Haskell):
https://www.youtube.com/watch?v=YByOdE-YUwY
> Co więcej, takie warunki nie muszą mieć związku z typami - np. jedna metoda w
obiekcie może "obiecać" inne warunki końcowe, niż inna metoda, a przecież nie jest
tak, że typ obiektu jest różny w różnych metodach. Takie ograniczenie już na poziomie
terminologii wskazuje, że typy zależne to domena jakiejś niszy językowej (w
szczególności języków funkcjonalnych), więc od razu ma dla mnie ograniczoną
stosowalność.
Ja nie jestem co do tego przekonany. Tzn. mnie się to też
nie wydaje naturalne, ale często "naturalność" to po prostu
kwestia przyzwyczajenia.
> Potrzebny jest inny formalizm. Pre- i post-conditions wydają się być bardziej
niekonfliktowym mechanizmem, tzn. możliwym do zastosowania bez niepotrzebnych
ograniczeń.
Jest też język ATS (trochę protoplasta Rusta), który
ma system "typów liniowych" służących do wyrażania twierdzeń
o poprawności korzystania z zasobów. Ale wydaje się raczej
trudny do używania:
https://www.youtube.com/watch?v=zt0OQb1DBko
Następne wpisy z tego wątku
- 21.11.18 20:35 g...@g...com
- 21.11.18 22:10 Queequeg
- 21.11.18 22:28 Maciej Sobczak
- 21.11.18 22:48 Maciej Sobczak
- 21.11.18 23:04 g...@g...com
- 22.11.18 11:31 Maciej Sobczak
- 22.11.18 15:22 fir
- 22.11.18 16:08 AK
- 22.11.18 18:50 Sebastian Biały
- 22.11.18 18:53 Sebastian Biały
- 22.11.18 22:53 Wojciech Muła
- 22.11.18 23:25 AK
- 23.11.18 00:41 AK
- 23.11.18 00:43 AK
- 23.11.18 07:33 s...@g...com
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=