Article View: pl.comp.programming
Article #215822Re: "Najbardziej imponujący kod, jaki widziałem"
From: godek.maciek
Date: Tue, 06 Aug 2019 13:45
Date: Tue, 06 Aug 2019 13:45
29 lines
3379 bytes
3379 bytes
W dniu wtorek, 6 sierpnia 2019 15:32:26 UTC+2 użytkownik Borneq napisał: > > gdyby ktoś był zainteresowany, to ostatnio opublikowałem na Quorze nieco przydługawy artykuł (czy może raczej "małą książkę"?) objaśniający technikę Friedmana i Byrda "uruchamiania ewaluatora od tyłu". > > > > https://www.quora.com/Can-you-explain-to-non-coders-the-most-impressive-code-youve-seen/answer/Panicz-Godek > > > > W ogólności pytanie "jaki jest najbardziej imponujący kod, jaki widziałeś" wydaje mi się ciekawe, więc jeśli ktoś tu ma jakieś swoje obserwacje na ten temat, z chęcią bym się dowiedział. > > > > Pozdrawiam > > > Daję namiar: > https://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf > > "Relational Programming in miniKanren:Techniques, Applications, > andImplementations" Posiłkowałem się tym, zwłaszcza przy obsłudze więzów. Inne źródło to artykuł Friedmanna i Hemanna o minimalistycznej wersji minikanrena zwanej "microkanren" (albo uKanren): http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf Ale jeśli ktoś ma za małą motywację do czytania, to jest też film warsztatowy: https://www.youtube.com/watch?v=0FwIwewHC3o Przyznam też, że pomocna była dla mnie lektura źródeł microkanrena w Haskellu (dzięki systemowi typów rozumiało mi się to dużo lepiej, niż implementację w Scheme): https://gist.github.com/msullivan/4223fd47991acbe045ec ale moja implementacja różni się na kilka istotnych sposobów od miniKanrena, bo mieliśmy inne priorytety - im zależało na przenośności i integrowalności ich języka w różnych środowiskach (i w pewnej mierze na wydajności), a mnie na czytelności języka i łatwości prezentacji
Technical Details
Message-ID:
<cf14e2d6-7daf-4132-b025-e9a472a54499@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-1.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b26no6337434qtq.0!news-out.google.com!a5ni1392qtd.0!nntp.google.com!b26no6337429qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<edc55064-0038-4844-a994-4cddd7d77d76@googlegroups.com> <5d498144$0$530$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
X-Received: by 2002:aed:37e7:: with SMTP id j94mr2999865qtb.75.1565099160194; Tue, 06 Aug 2019 06:46:00 -0700 (PDT) X-Received: by 2002:a37:7a84:: with SMTP id v126mr3109711qkc.439.1565099159995; Tue, 06 Aug 2019 06:45:59 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news-1.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b26no6337434qtq.0!news-out.google.com!a5ni1392qtd.0!nntp.google.com!b26no6337429qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Tue, 6 Aug 2019 06:45:59 -0700 (PDT) In-Reply-To: <5d498144$0$530$65785112@news.neostrada.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 213.192.68.153 References: <edc55064-0038-4844-a994-4cddd7d77d76@googlegroups.com> <5d498144$0$530$65785112@news.neostrada.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <cf14e2d6-7daf-4132-b025-e9a472a54499@googlegroups.com> Subject: Re: "Najbardziej imponujący kod, jaki widziałem" From: godek.maciek@gmail.com Injection-Date: Tue, 06 Aug 2019 13:46:00 +0000 X-Received-Bytes: 3572 X-Received-Body-CRC: 2974801469 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit