🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #693

ocaml, listy leniwe

#693
From: Maciej Mrozowski
Date: Sat, 02 Apr 2005 22:24
35 lines
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-mail

Show 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