Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-09-16

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 polettix joined #perl6
00:05 theorbtwo joined #perl6
00:09 Lunchy joined #perl6
00:40 TimToady ryporter++
00:57 justatheory joined #perl6
01:46 justatheory joined #perl6
01:47 justatheory joined #perl6
01:51 justatheory joined #perl6
01:52 [particle] joined #perl6
01:54 daxim_ joined #perl6
01:56 lascasas joined #perl6
02:05 Schwern joined #perl6
02:07 [particle] joined #perl6
02:49 rutlov joined #perl6
02:52 weinig joined #perl6
02:58 rutlov left #perl6
03:14 jisom joined #perl6
03:23 lascasas left #perl6
03:27 jjore-w joined #perl6
04:13 c9s joined #perl6
05:47 devogon joined #perl6
06:09 pugs_svnbot r17866 | Darren_Duncan++ | ext/Muldis-DB/ : half rewrote desc of DB.pm, added small desc to Interface.pm, Example.pm
06:09 pugs_svnbot diff: http://dev.pugscode.org/changeset/17866
06:09 lambdabot Title: Changeset 17866 - Pugs - Trac
06:12 Schwern joined #perl6
06:13 Schwern Where is the definition of a "depotpath" and "depot" documented?
06:18 dduncan if you're talking about the SVK docs, I saw it mentioned in the basic docs or the tutorial
06:18 dduncan I think
06:18 dduncan on elixus.org
06:19 Schwern So not in the shipped docs?
06:20 dduncan maybe http://svk.elixus.org/view/SVKUsage is helpful
06:20 lambdabot Title: SVKUsage - SVK Wiki
06:20 dduncan if you mean the manpage, then I don't recall
06:20 Schwern I just added http://svk.bestpractical.com/view/depotpath
06:20 lambdabot Title: depotpath - SVK Wiki
06:20 Schwern It's something I recall never quite understanding for a long time.
06:20 Schwern I'm writing up an article on SVK and I'm finding myself having to write an explaination for the depotpath and depots.
06:21 dduncan I know what those, particularly "depot", mean anyway
06:21 dduncan the depot is the place that holds all the revisions for a project, and a depot path is the name of the depot
06:21 dduncan both on the local machine
06:22 Schwern I know this.
06:22 dduncan well good luck with your article
06:22 Schwern I'm wondering if I have to write all this up myself or if there's a good place I can point them.
06:22 dduncan try the elixus.org wiki, anyway
06:23 dduncan better than nothing
06:23 dduncan another url that might be useful is: http://utsl.gen.nz/talks/git-svn/intro.html
06:23 lambdabot Title: An introduction to git-svn for Subversion/SVK users and deserters
06:23 dduncan mugwump wrote that, quite detailed
06:24 dduncan while it advocates Git, it may have some good info about Svn for your questions
06:25 dduncan Schwern, that's the best I can suggest for the moment
06:33 Schwern I just wrote up depot, depotpath and depotmap on the wiki that should cover things.
06:41 Schwern Thanks for the suggestions
07:14 elmex joined #perl6
07:36 dduncan left #perl6
07:36 elmex joined #perl6
07:37 iblechbot joined #perl6
07:47 Aankhen`` joined #perl6
07:55 moritz_ good localtime() everybody ;)
08:10 kane_ joined #perl6
08:10 kane_ joined #perl6
08:30 barney joined #perl6
09:04 riffraff joined #perl6
09:06 drrho joined #perl6
09:08 chris2 joined #perl6
09:39 DarkWolf84 :)
09:40 DarkWolf84 nice greeting moritz_
09:46 mjk joined #perl6
10:03 Blwood joined #perl6
11:04 c9s joined #perl6
11:08 barney joined #perl6
11:42 zomgb00bie joined #perl6
11:57 ryporter joined #perl6
12:04 moritz_ if you look at t/builtins/lists/first.t - the last test is a 'dies_ok' for a .first that fails to match any elements
12:04 moritz_ but why? shouldN#t it just return undef;
12:06 cognominal_ joined #perl6
12:09 moritz_ pugs: my @l=1..10; if @l.first: { ($_ == 8) } { say "found" }
12:09 exp_evalbot OUTPUT[*** No such method in class Array: "&first"␤    at /tmp/YTH8W0DqFL line 1, column 17-41␤]
12:10 moritz_ ah, exp_evalbot uses an older revision
12:12 kanru joined #perl6
12:13 moritz_ pugs: say (1..10 ~~ sub { $_ == 4 })
12:13 exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 803, column 9-46␤           <prelude> line 803, column 9-46␤    at)␤␤]
12:13 moritz_ pugs: say ?(1..10 ~~ sub { $_ == 4 })
12:13 exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 803, column 9-46␤           <prelude> line 803, column 9-46␤    at)␤␤]
12:15 moritz_ pugs: say ?(1..10 ~~ sub { $_[0] == 4 })
12:15 exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 803, column 9-46␤           <prelude> line 803, column 9-46␤    at)␤␤]
12:15 moritz_ pugs: my $matcher = sub { $_[0] == 4 }; say 1..0 ~~ $matcher
12:15 exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 803, column 9-46␤           <prelude> line 803, column 9-46␤    at)␤␤]
12:16 moritz_ pugs: my $matcher = sub { $_[0] == 4 }; say 1..10 ~~ $matcher
12:16 exp_evalbot OUTPUT[pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 803, column 9-46␤           <prelude> line 803, column 9-46␤    at)␤␤]
12:18 * moritz_ is kinda confused
12:18 moritz_ on my local pugs I get Bool::True
12:18 moritz_ and empty output
12:24 moritz_ pugs: print  (1..10).first( { ($_ == 2) })
12:24 exp_evalbot OUTPUT[2]
12:24 moritz_ ryporter++
12:26 ryporter hi moritz_
12:26 ryporter I can see your point about calling first on an empty list
12:27 ryporter I figured it was like trying to access the first element of an empty array
12:28 moritz_ I'd expect .first to just return undef if no match was found
12:28 moritz_ now it fails
12:28 moritz_ is that in the spec?
12:29 ryporter the section on first didn't specify
12:33 moritz_ so where did you get it from?
12:34 ryporter a false analogy to other languages
12:34 ryporter sorry
12:35 ryporter it was a mistake
12:35 moritz_ ok ;)
12:35 ryporter should I change the test to return undef, or leave it unspecified since it's not in the spec?
12:36 moritz_ I think the analogy to grep is suficcient to assume undef is ok
12:36 pugs_svnbot r17867 | moritz++ | t/builtins/list/first.t: non-successfull match should return undef
12:36 pugs_svnbot diff: http://dev.pugscode.org/changeset/17867
12:36 lambdabot Title: Changeset 17867 - Pugs - Trac
12:36 moritz_ I changed the test ;)
12:37 ryporter okay, I'll fix the code
12:38 moritz_ thanks
12:39 moritz_ I'm not that good with haskell ;)
12:45 moritz_ hey, I think I found a fix
12:48 pugs_svnbot r17868 | moritz++ | List.hs: .first returns undef if no match was found
12:48 pugs_svnbot r17868 | moritz++ | A haskell guru should look at that code to check it ;)
12:48 pugs_svnbot diff: http://dev.pugscode.org/changeset/17868
12:48 lambdabot Title: Changeset 17868 - Pugs - Trac
12:54 ryporter I'm not one, but that looks good to me
12:54 pugs_svnbot r17869 | moritz++ | t/builtins/list/first.t: count executions of matcher closure (fails)
12:54 pugs_svnbot diff: http://dev.pugscode.org/changeset/17869
12:54 lambdabot Title: Changeset 17869 - Pugs - Trac
13:06 pugs_svnbot r17870 | ryporter++ | Fix how the range operator handles rationals
13:06 pugs_svnbot diff: http://dev.pugscode.org/changeset/17870
13:06 lambdabot Title: Changeset 17870 - Pugs - Trac
13:15 pugs_svnbot r17871 | ryporter++ | replace improper use of length() in my previous check-in, because it prevents laziness
13:15 pugs_svnbot diff: http://dev.pugscode.org/changeset/17871
13:15 lambdabot Title: Changeset 17871 - Pugs - Trac
13:42 pmurias joined #perl6
13:42 pmurias hi
13:43 pmurias what's the point of a first function?
13:43 pmurias if we have [0]
13:43 pmurias ?
13:43 pmurias sorry
13:48 ryporter I suppose it's there to make the code (somewhat) simpler
13:49 pmurias i didn't see it takes a clousure at first
13:49 pmurias s/it//
13:49 pmurias * that it
13:52 ryporter but I think you have a point, in that you can always use grep followed by [0]
13:56 pmurias (grep {$_>2} @list)[0] is less readable than first {$_>2} @list
13:57 pmurias add it's easy to figure out what first without checking it up
13:57 pmurias * first does
13:57 allbery_b first might be easier to optimize by stopping the search when the first one is found?
13:59 ryporter I believe that laziness should make them equivalent
14:00 penk joined #perl6
14:00 allbery_b hm, is grep explicitly lazy?  been a while but I recall explicit "lazy"s being needed
14:01 ryporter interesting... I don't know
14:02 ryporter the spec says that it should return a lazily evaluated list
14:02 ryporter but the test that moritz just added suggests that it's not being lazy
14:02 allbery_b ok, guess that answers that question
14:11 zamolxes joined #perl6
14:12 moritz_ perhaps my test was wrong
14:13 moritz_ wait, it isn't... since I test the return value of first() I force the execution of the closre
14:14 ryporter when I run '(1..100000).grep( { $_ > 7 } )[0]', grep is clearly not being lazy
14:14 ryporter since it takes several seconds to execute
14:15 moritz_ pmurias: btw @list.grep(..)[0] will fail if grep returns an empty list
14:15 allbery_b wouldn't be the first time pugs didn't confirm to spec
14:15 allbery_b conbform
14:15 allbery_b argh!
14:15 moritz_ conform?
14:15 * allbery_b shoots finfers
14:15 moritz_ ryporter: lazyness isn't really supported with the plain haskell backend
14:15 moritz_ only partly
14:16 moritz_ pugs: my @a=0..*;
14:16 exp_evalbot OUTPUT[pugs: out of memory (requested 1048576 bytes)␤]
14:16 moritz_ pugs: my @a := 0..*;
14:16 exp_evalbot OUTPUT[pugs: out of memory (requested 1048576 bytes)␤]
14:16 moritz_ pugs: my @a := 0..*; say @a[3];
14:16 exp_evalbot OUTPUT[3␤]
14:16 ryporter hm.  I thought that was a key benefit of implementing it in Haskell
14:17 moritz_ ryporter: no, the key benefit was that audreyt really groks haskell, and it's a neat language ;)
14:17 ryporter fair enough :)
14:17 allbery_b laziness is Hard :)
14:18 moritz_ so is implementing perl 6 ;)
14:31 zomgb00bie joined #perl6
14:40 rindolf joined #perl6
15:03 cognominal__ joined #perl6
15:05 cognominal_ joined #perl6
15:18 c9s joined #perl6
16:02 polettix joined #perl6
16:19 snearch joined #perl6
16:50 cognominal_ joined #perl6
16:50 cognominal__ joined #perl6
17:08 Psyche^ joined #perl6
17:29 amnesiac joined #perl6
17:34 cognominal_ joined #perl6
17:51 barney joined #perl6
18:12 snearch joined #perl6
18:26 riffraff joined #perl6
18:30 riffraff hi
18:37 Caelum joined #perl6
19:07 justatheory joined #perl6
19:16 ahmadz joined #perl6
19:17 ahmadz hi
19:56 pugs_svnbot r17872 | azawawi++ | [runpugs] Terminal now ignores modifier keys CTRL|SHIFT|ALT
19:56 pugs_svnbot r17872 | azawawi++ | [runpugs] HOME/END/RIGHT/LEFT/DEL/BACKSPACE keys work now as expected
19:56 pugs_svnbot r17872 | azawawi++ | [runpugs] Event Handlers are now called after the document is ready
19:56 pugs_svnbot r17872 | azawawi++ | [runpugs] html is now xhtml and now validates with less errors
19:56 pugs_svnbot r17872 | azawawi++ | [runpugs] added more documentation to JS code
19:56 pugs_svnbot diff: http://dev.pugscode.org/changeset/17872
19:56 lambdabot Title: Changeset 17872 - Pugs - Trac
20:21 cognominal_ joined #perl6
20:27 jisom joined #perl6
20:34 pelagic joined #perl6
20:46 jisom_ joined #perl6
20:56 pelagic left #perl6
20:58 willo joined #perl6
21:06 Blwood joined #perl6
21:11 [particle1 joined #perl6
21:35 pugs_svnbot r17873 | ryporter++ | Stricter pattern matching before calling mungeChainSub().  Prevents "Irrefutable pattern failed" errors that were showing up in unit tests in value-equivalence.t.
21:35 pugs_svnbot diff: http://dev.pugscode.org/changeset/17873
21:35 lambdabot Title: Changeset 17873 - Pugs - Trac
21:42 weinig joined #perl6
21:50 [particle] joined #perl6
22:13 Blwood joined #perl6
22:13 [particle1 joined #perl6
22:35 justatheory joined #perl6
22:47 Limbic_Region joined #perl6
22:51 ahmadz joined #perl6
22:51 ahmadz hi *
23:05 penk joined #perl6
23:30 weinig joined #perl6
23:37 bsb joined #perl6
23:44 rhr joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo