Article View: pl.comp.lang.funkcyjne
Article #693ocaml, listy leniwe
From: Maciej Mrozowski
Date: Sat, 02 Apr 2005 22:24
Date: Sat, 02 Apr 2005 22:24
35 lines
2069 bytes
2069 bytes
Witam
(btw, z tego co widzę, jest to pierwszy merytoryczny wątek od pewnego czasu
na tej grupie :)
mam problem - fundamentalny jak dla mnie - jestem real newbie jeżeli chodzi
o ten sposób myślenia, znam co prawda pewne podstawy OCamla (w sumie to bez
"O" so far), niby wiem, że listy leniwe to takie struktury generowane
ad-hoc, mogą być nieskończone itd
kazano mi (tak tak, laborka na studiach) napisać funkcję przekształcającą
listę leniwą [x1,x2,x3,...] tak, by elementy x1, x2 itd powielić na tej
liście zadaną liczbę razy, a więc otrzymując listę [x1,x1,x2,x2,...] dla
powielenia razy 2.
Powielanie pojedynczego elementu wydaję się proste:
type 'a llist = Null | NewLazy of 'a * ( unit -> 'a llist );;
let rec makelist = function
( 0, _ ) -> Null
| ( n, el ) -> NewLazy( el, function() -> makelist( n-1, el ) )
;;
nie mam pomysłu jak zintegrować to z tworzeniem wynikowej listy -
konkatenacja list leniwych
jeżeli ktoś potrafi mi dać jakieś wskazówki na temat wgólnie posługiwania
się leniwymi listami (lub drzewami, znajdę analogię), to bardzo proszę
regards
Maciej Mrozowski
--
The difference between theory and practice is that in theory, there is no
difference between theory and practice, but in practice, there is.
Technical Details
Message-ID:
<d2n62p$j0g$1@panorama.wcss.wroc.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!pwr.wroc.pl!panorama.wcss.wroc.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!pwr.wroc.pl!panorama.wcss.wroc.pl!not-for-mail From: Maciej Mrozowski <reavertm@poczta.fm> Newsgroups: pl.comp.lang.funkcyjne Subject: ocaml, listy leniwe Date: Sun, 03 Apr 2005 00:24:34 +0200 Organization: Politechnika Wroclawska Lines: 36 Message-ID: <d2n62p$j0g$1@panorama.wcss.wroc.pl> Reply-To: reavertm@poczta.fm NNTP-Posting-Host: reaver.t17.ds.pwr.wroc.pl Mime-Version: 1.0 X-Trace: panorama.wcss.wroc.pl 1112480665 19472 156.17.234.17 (2 Apr 2005 22:24:25 GMT) X-Complaints-To: abuse@news.pwr.wroc.pl NNTP-Posting-Date: Sat, 2 Apr 2005 22:24:25 +0000 (UTC) User-Agent: KNode/0.9.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit