Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-06-07

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:00 Limbic_Region salutations all
00:01 Coke yes, but TGE has me boxed in a corner here, and if I could cheat, I was gonna. =-)
00:01 pbuetow joined #perl6
00:02 TimToady to do it within the rule you'd have to find some way of $<signature> := something that isn't there
00:02 Coke right!
00:02 TimToady and that current requires a closure
00:02 Coke but I don't think that works. =-)
00:02 TimToady *currently
00:02 Coke at least not in PGE.
00:02 [particle] sure, you can do closures in pge
00:02 Coke Ok, back to the drawing board.
00:02 [particle] {{ pir here }}
00:02 [particle] there's examples in the test suite
00:03 Coke ... I don't want to run PIR - what would i run?
00:03 [particle] you have access to the match object inside the closure
00:04 [particle] see t/compilers/pge/p6regex/closure.t
00:12 Coke If I'm going to much directly with the Match object, I can do that from PGE. I was hoping for something cleaner.
00:12 Coke s/much/muck/
00:16 * dduncan now starting smoke of r16641
00:24 avarab joined #perl6
00:26 * Coke wanders back into #parrot.
00:27 avarab joined #perl6
00:46 weinigLap joined #perl6
00:48 amnesiac joined #perl6
00:56 nipotaway changed the nick to nipotan
00:57 unobe joined #perl6
00:59 unobe changed the nick to unobe_away
01:00 amnesiac joined #perl6
01:11 mjk joined #perl6
01:19 japhb joined #perl6
01:29 justatheory joined #perl6
01:30 agentzh joined #perl6
01:30 topic for #perl6 is: http://pugscode.org/ | http://sial.org/pbot/perl6
01:31 agentzh unobe++ seems to have fixed it :)
01:31 lambdabot agentzh: You have 2 new messages. '/msg lambdabot @messages' to read them.
01:31 agentzh @messages
01:31 lambdabot Aankhen`` said 22d 19h 2m 33s ago: I'm not seeing the load handler run more than once on Firefox; a profiling session shows that it runs once, calling addEvent 83 times (or more, or less, depending
01:31 lambdabot on the number of smartlink snippets). Which browser did you see this behaviour under?
01:31 lambdabot perlDreamer said 21d 21h 14m 18s ago: I think that the closure work is done in t/TASKS, but I'd like to double check with you since you added it. What specific things were you thinking of?
01:31 agentzh lambdabot is insane now?
01:33 agentzh yay, autosmoking is working again :)
01:53 weinigLap joined #perl6
01:56 agentzh left #perl6
01:59 REPLeffect joined #perl6
02:10 BooK joined #perl6
02:15 dolmans joined #perl6
02:16 meppl good night
02:20 sunnavy joined #perl6
02:36 audreyt_ joined #perl6
02:41 audreyt__ joined #perl6
02:50 Alias_ joined #perl6
03:02 Limbic_Region salutations audreyt
03:05 amnesiac saludaciones!
03:07 unobe_away changed the nick to unobe
03:29 daxim_ joined #perl6
03:41 dduncan so it looks like my smoke finished in 97 min
03:42 Limbic_Region last time I ran one - less than a week ago, it took under about 33 min
03:42 dduncan so that's the first smoke post the rename of my dbms project
03:43 dduncan my machine's almost 5 years old ... though probably one of the better ones of its time
03:44 * Limbic_Region wasn't attempting to brag
03:44 Limbic_Region what version of ghc are you using and how much memory free
03:44 dduncan don't worry about it
03:44 Limbic_Region those are usually the 2 factors that dictate how fast a smoke goes
03:45 dduncan my machine has usually over 1GB of RAM free, and it is GHC 6.6.0 on Power PC G4 dual-1Ghz, using concurrent=4
03:45 dduncan that is, the smoke is concurrent=4, on 2 cpus
03:46 dduncan I think the bottleneck is the relatively slow cpu
03:46 Limbic_Region could be
03:47 dduncan as for ram ... I found that compiling pugs tended to use a lot more than actually running pugs
03:47 dduncan and the smoke times are just for runs
03:48 dduncan back when I had 0.75GB RAM total (I now have 1.75GB), compiling eg Pugs.Parser sometimes started to use the swap ... under GHC 6.4 anyway
03:48 Limbic_Region come to think of it, I haven't profiled memory usage during smoke
03:48 dduncan I didn't do anything formal ... just observed what "top" said while it ran
03:49 Limbic_Region I have dual 1.73 Ghz with 1GB total physical memory on winbugs
03:49 Limbic_Region and concurrent=1 because there is a bug in Parallel::ForkManager I haven't been able to track down
03:49 TimToady mine usually runs in ~30 minutes, but now it's taking 80 because something's wrong on fedora...
03:49 dduncan perhaps the cpu architecture has a role to play ... if that is a single core cpu
03:50 * Limbic_Region hacked in support for concurren > 1 on Win32 using Parallel::ForkManager but it intermittently loses track of one of its forks
03:50 Limbic_Region so I don't use it
03:50 Limbic_Region dual core
03:51 dduncan in the older days, concurrent > 1 didn't work on mac os x even when it was supposed to ... that combined with an older ghc and/or less ram made Pugs smokes take about 5 hours on otherwise the same machine
03:51 dduncan getting the concurrent working brought it down to about 2.5 hours
03:51 dduncan and the rest may have been due to better ghc or more optimized pugs
03:53 dduncan actually, I don't think my ram amount ever affected smoke speed, just compile speed
03:53 LimbicRegion joined #perl6
03:53 bpalmer` left #perl6
03:54 LimbicRegion changed the nick to Limbic_Region
03:54 dduncan we now have a core-2-duo 2.1 ghz iMac in the house, so some point I'll have to try running pugs on that (I haven't yet, as its not my machine)
03:56 dduncan does anyone here think that Pugs will be next released during the month of june, or would july or later be more likely?
03:56 Limbic_Region IIRC, audreyt's plan was for the next release to be 6.28
03:56 dduncan yes
03:57 dduncan I mean that one
03:57 japhb dduncan: he's joking
03:57 Limbic_Region was getting to that
03:57 japhb :-)
03:57 Limbic_Region no I am not
03:57 japhb Limbic_Region: ... and I'm pulling your leg
03:57 Limbic_Region oh, wait
03:57 dduncan I recall that 6.28.0 was going to be the next one for awhile
03:57 Limbic_Region 6.28 could be interpreted as June 28
03:57 Limbic_Region in any case
03:57 * japhb smiles barely innocently
03:58 dduncan oh that's what you meant
03:58 Limbic_Region the major hurdle for 6.28 was the pad refactor IIRC, which went in a couple of weeks ago
03:58 japhb Limbic_Region: in all seriousness, I think we're waiting for the MO merge
03:58 Limbic_Region unfortunately, audreyt hasn't had a lot of time to devote to pugs recently
03:58 japhb Pad refactor was item 1, MO was item 2
03:58 Limbic_Region right
03:58 japhb And somewhere in the middle was the "minor" O(1) pad item, which I've been waiting on
03:58 Limbic_Region but the MO merge wasn't expected to be difficult from my understanding
03:58 dduncan anyway, for any release after june 29th, we'll want to include a copy of the GPL-3 in the licenses folder rather than or in addition to the GPL-2
03:59 Limbic_Region dduncan - 2007-06-28 is not a scheduled release date
03:59 japhb Limbic_Region: I recall something like her needing 8 hours or so to do the MO merge
03:59 Limbic_Region but it would be nice if 6.28 was released on 6.28
03:59 dduncan june 29th is the GPLv3 release date, and is scheduled
04:07 Alias_ WE'RE ALL GUNNA DIE!!!
04:08 Alias_ Sorry about that, but the drama levels on this whole GPL3 thing were getting critically low
04:12 SamB Alias_: what GPL3 thing?
04:12 SamB was there a problem with GPL2
04:12 Alias_ yeah, apparently
04:13 japhb SamB: Several things.  I haven't followed it all in detail, but IIRC: some internationalization issues, changes in the patent landscape to handle, license compatibility improvements, suchlike
04:26 lidden http://gplv3.fsf.org/rms-why.html
04:26 lambdabot Title: Why Upgrade to GPL Version 3 &mdash; GPLv3
04:30 vel joined #perl6
04:32 vel joined #perl6
04:37 unobe changed the nick to unobe_away
04:51 hcchien joined #perl6
04:54 vel joined #perl6
04:58 unobe_away changed the nick to unobe
05:08 BooK joined #perl6
05:14 SubStack_ joined #perl6
05:15 justatheory joined #perl6
05:22 sunnavy joined #perl6
05:23 justatheory joined #perl6
05:23 justatheory joined #perl6
05:31 devogon joined #perl6
05:38 SubStack_ changed the nick to SubStack
05:50 Jmax joined #perl6
05:57 elmex joined #perl6
05:58 sparvu joined #perl6
06:00 kanru joined #perl6
06:00 Gothmog_ joined #perl6
06:28 Averell joined #perl6
06:30 franck__ joined #perl6
06:33 araujo joined #perl6
06:38 franck___ joined #perl6
06:45 felipe joined #perl6
07:08 aukjan|gone changed the nick to aukjan
07:09 dduncan left #perl6
07:13 franck__ joined #perl6
07:34 hcchien joined #perl6
07:36 riffraff joined #perl6
07:36 sunnavy_ joined #perl6
07:38 riffraff hi everyone
07:40 Tene Hi!
07:47 unobe changed the nick to unobe_away
07:48 renormalist joined #perl6
08:03 cognominal_ joined #perl6
08:08 rho joined #perl6
08:11 jisom joined #perl6
08:26 iblechbot joined #perl6
08:42 b_jonas joined #perl6
09:11 buetow joined #perl6
09:14 Maddingu1 changed the nick to Maddingue
09:17 moritz good morning ;)
09:20 BooK_ joined #perl6
09:22 trunix joined #perl6
09:32 xern joined #perl6
09:47 Tene Hmm.  It's not just pugs that's segfaulting for me.  Even ldd is segfaulting on this box.
09:50 Tene oh, nevermind, that's an application segfault, not an ldd segfault.
10:11 IllvilJa joined #perl6
10:14 Southen_ joined #perl6
10:14 Southen joined #perl6
10:14 jmlin joined #perl6
10:28 sunnavy joined #perl6
10:29 rindolf joined #perl6
10:34 laye joined #perl6
11:01 meppl good morning
11:02 moritz good morning meppl ;)
11:07 mj41 joined #perl6
11:09 b_jonas joined #perl6
11:13 Aankhen`` joined #perl6
11:15 moritz did anybody fix "make install"?
11:15 trunix left #perl6
11:18 lumi 04:28 < agentzh> unobe++ seems to have fixed it :)
11:18 meppl good morning moritz
11:19 moritz lumi: thanks ;)
11:29 cognominal__ joined #perl6
11:38 the_dormant joined #perl6
11:39 pnu joined #perl6
11:44 aukjan changed the nick to aukjan|gone
11:51 scw joined #perl6
11:51 elmex joined #perl6
11:52 nipotan changed the nick to nipotaway
12:01 REPLeffect joined #perl6
12:07 chris2 joined #perl6
12:09 iblechbot joined #perl6
12:55 avarab changed the nick to avar
13:10 araujo joined #perl6
13:20 penk joined #perl6
13:21 penk left #perl6
13:39 isaacd joined #perl6
13:46 gaal what revision was the make install fix? svk log -l 100 doesn't show anything to suggest it; I think unobe just reported it worked for him.
13:47 moritz I don't know, but it might have a different log entry than "fixed 'make install'" ;-)
13:48 gaal I did actually read the log entries. :)
13:49 gaal it *might* have been r15831, but only accidentally if so.
13:49 moritz is it right that my (@a, @b) = .. generates slice context for the RHS?
13:50 * gaal doesn't know
13:53 REPLeffect joined #perl6
14:00 japhb joined #perl6
14:18 amnesiac joined #perl6
14:45 rindolf Hi gaal
14:48 penk joined #perl6
14:55 cognominal__ left #perl6
14:59 cognominal joined #perl6
15:01 TimToady moritz: no, ()= generates list context
15:02 TimToady and the first @ would slurp up all the arguments as in P5
15:02 moritz TimToady: so how would I achieve something like my (@a, @b) = my_function(); sub my_function { return @a, @b } ?
15:02 TimToady and a ; would likely terminate the statement anywa
15:03 TimToady use binding
15:03 TimToady not assignment
15:03 moritz no way with slice context?
15:04 TimToady my ($a, $b) = @@ my_function()
15:04 TimToady or my (*@@ab) := my_function()
15:05 moritz is something like my(\@a, \@b) = @@ my_function() possible?
15:05 [particle] or my ($a, $b) = slice my_function()
15:08 moritz backslash are not references anymore, right?
15:09 moritz so my (\@a, \@b) wouldn't do what I wanted
15:17 TimToady we've never made \ mean anything in an lvalue, though the thought is ancient.  but I don't think we should encourage people to use assignment where they probably should be using binding
15:17 TimToady the closest we got to \ in assignment is the \@ prototype in Perl 5
15:19 rhr something like my :(@a is copy, @b is copy) := \(my_function()) ?
15:20 iblechbot joined #perl6
15:26 TimToady the \() around my_function is redundant; functions always return captures
15:26 TimToady unsless you want a capture of a capture...
15:27 TimToady wait, didn't see the colon
15:28 TimToady but I don't think that changes anything, it just makes the sig more explicit
15:29 TimToady and it really should be my_function's responsibility not to return the same arrays repeatedly
15:29 Aankhen`` I thought Perl 6 was going to be family-safe!
15:29 Aankhen`` Family friendly?
15:29 Aankhen`` It's too early for me to think coherently.
15:30 TimToady I have the advantage of never thinking coherently, so I'm used to it...
15:30 Aankhen`` I can see where that would be a major evolutionary step up.
15:32 kanru joined #perl6
15:32 Aankhen`` Hmm, properly formatted HTML mail s actually quite nice to look at.
15:33 Aankhen`` s/s/is/
15:33 Aankhen`` Is /<( ... )>/ == / $0 := (...) /?
15:34 TimToady no
15:34 rhr ok, I thought one or both of : and \ were probably redundant.  my always takes a signature?
15:34 TimToady essentially
15:34 Aankhen`` Okey.
15:35 Aankhen`` I shall figure out whether I asked the right question, as well as ask more, when I'm back from college and reasonably awake.
15:35 * Aankhen`` wanders off.
15:35 TimToady <(...)> sets the return value of $$/, not @$/[0]
15:37 TimToady actally, <( just sets $/.from, and )> just sets $/.to, and that string is what $/ returns in scalar context by default, but you can change it with an explicit {return $this}
15:38 rhr do any of eq === eqv imply unicode normalization on strings?
15:42 TimToady it's a good question, to which I haven't got a coherent answer yet.
15:42 TimToady I think certainly eqv is defined in terms of canonicalization, so probably yes
15:42 TimToady not so sure about the others
15:43 TimToady don't want to slow everything down if we know everything was canonicalized coming in
15:43 rhr ok.  expect a lot of unicode questions in the near future, I'm reading the spec in preparation for parsing UCD etc.
15:43 TimToady btw, CRLF is not a grapheme
15:43 TimToady those are both base characters in unicode
15:44 rhr I was assuming "grapheme" was a unicode "extended grapheme cluster", and they explicitly include CRLF
15:44 TimToady that would be a cluster of graphemes...
15:45 TimToady but I haven't seen that term used yet, so I must be behind the times
15:45 rhr I'm looking at 5.0
15:46 rhr CRLF is the only instance of two base chars in an extended grapheme cluster AFAICS
15:46 rhr but I'm not done reading the spec...
15:47 TimToady sounds like a hack
15:47 TimToady but the question is, what semantics do they imply by calling it that...
15:47 rhr yup, kinda makes sense though.  I can remove it.
15:48 TimToady we have a similar hack in making \n match CRLF, but \n interpolates to a native newline
15:48 rhr I was wondering about that, S02 says it's LF
15:50 TimToady where?
15:51 TimToady I don't find "LF" or "linefeed" anywhere in the synopses
15:51 rhr S02:2352
15:51 rhr "LINE FEED" :)
15:52 avar What do you mean by native newline? Something determined at configure time to be the \n on the system?
15:52 jedai joined #perl6
15:52 avar I'm considering the case where I build on windows and have a grammar with \n parse a unix-formatted file
15:52 TimToady hmm
15:52 TimToady avar: that should work fine
15:53 rhr if \n is logical, should we have \l to go with \r?
15:53 avar Not if the \n means the C-string "\r\n" and the rest of the grammar doesn't grok that
15:53 avar like token { ^^ \n $$ }
15:54 TimToady \n as a patterm match always matches all customary line endings
15:54 moritz why not just use \v
15:54 TimToady regardless of the native meaning of \n
15:54 TimToady and in windows \n doesn't mean CRLF anyway
15:54 moritz are there any vertical spaces that are not line ends?
15:54 TimToady it still means LF, and you get the CR when the text file is written out
15:54 avar So where does this kick in? At the IO level like in perl5?
15:54 avar moritz: Yes, vertical tabs?
15:55 moritz avar: ok, good point (I'm not very familiar with unicode)
15:55 avar it's in ascii:)
15:55 moritz so it's unicode as well ;)
15:55 avar It's very frequent in GNU source code since emacs inserts it automatically in some cases (I think)
15:56 TimToady the only machines that mix up the meaning of \n and \r are old Macs, and EBCDICish machines
15:56 TimToady and S02 is more or less ignoring them
15:56 avar Yeah, luckily diversity is dying:)
15:57 TimToady now if we could only settle on / as universal path separator...
15:57 prism joined #perl6
15:57 avar TimToady: But if you really mean that this should do the equivalent of p5 perlio that should probably be spelled out, I always thought my Str $str = "\n"; would give me the C str { '\r', '\n' } on windows and { '\n' } on *nix
15:58 avar or maybe it has been fixed and I just haven't read them in a while:)
15:58 rhr TimToady: so should we declare that CRLF isn't a Perl grapheme?  or should we stick to some particular unicode definition of grapheme?
15:59 TimToady I need to figure out what Unicode 5.0 is up to with "grapheme clusters"
15:59 TimToady but for now, CRLF is not a grapheme
16:00 rhr http://www.unicode.org/reports/tr29/tr29-11.html
16:00 lambdabot Title: UAX #29: Text Boundaries
16:01 weinigLap joined #perl6
16:01 TimToady since they're talking about "user perceived boundaries", maybe that's just a minimal language level rather than a grapheme level
16:02 TimToady though if it's universal, it sounds graphemish
16:02 weinigLap joined #perl6
16:05 rhr that's not the document I was reading yesterday, and now I can't find it...
16:07 TimToady well, perhaps there's a "use cluster" level between graphemes and languages
16:08 rhr hmm.  would anybody use it?  how would it be different from graphs other than CRLF?
16:09 TimToady but it's really just a "default universal language", I think
16:10 TimToady since "use CharMyLanguage" overrides it
16:10 TimToady so I think we should just treat it as a generic language
16:11 TimToady when you set a language level, it doesn't undo the underlying codepoints or graphemes, so those levels are different
16:12 TimToady Note: As with the other default specifications, implementations may override (tailor) the results to meet the requirements of different environments or particular languages.
16:13 TimToady since the emphasis there is on override, not tailor, I think it's a destructive replacement of a generic language with a specific language
16:13 moritz well, the generic language is perl ;)
16:13 rhr I'm still figuring out what all is affected by changing the default language...
16:14 rhr btw, what I was reading yesterday was p.32 of http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf
16:15 lisppaste3 joined #perl6
16:19 TimToady okay, I see that they've made CRLF a special grapheme cluster, but an "extended grapheme cluster" is something else
16:20 TimToady I hate Unicode's naming conventions...
16:20 rhr "grapheme cluster" doesn't include control chars, extended does
16:21 TimToady grapheme cluster now include (a) CRLF
16:22 TimToady the only ramification I can think of is that under "use graphs" we can make . match CRLF as a unit
16:23 rhr right
16:24 TimToady unless we say that all files on Windows are opened by default in binary, in which case we would have to make "\n" or something else produce CRLF
16:24 TimToady but that seems wrong to me
16:24 TimToady Perl should be biased towards text files
16:26 TimToady and I think the CRLF decision of Windows should be pushed out of the language, except for the conciliatory \n matching
16:27 TimToady and now maybe . matching
16:27 TimToady this also means that \h can refuse to match CRLF while continuing to match CR!
16:28 TimToady since those are now different graphemes
16:28 TimToady and \v should match CRLF and LF but not CR
16:29 TimToady (under the default grapheme level)
16:29 rhr so are you leaning toward going with "extended grapheme cluster"?
16:30 TimToady what do you mean "going with"?
16:30 TimToady it's an allowable language
16:30 rhr define Perl grapheme as?
16:30 TimToady it's not the default
16:30 TimToady as defined on your p.32
16:31 TimToady Grapheme cluster: A maximal character sequence consisting of a grapheme base fol-
16:31 TimToady lowed by zero or more grapheme extenders or, alternatively, the sequence <CR, LF>.
16:32 TimToady CRLF is a "grapheme cluster" under use graphs
16:32 rhr right, but a lot of chars aren't included in the plain "grapheme base", so e.g. DEL isn't counted as a grapheme
16:32 TimToady but use graphs is agnostic towards "extended grapheme clusters"
16:32 TimToady it's a base character
16:32 TimToady as far as Perl is concerned
16:35 rhr Cc - Cf - Cs - Co - Cn - Zl - Zp aren't included in "grapheme base", I think that's what "extended" is about, otherwise you'd count sequences of those as 0 graphs, no?
16:35 unobe_away changed the nick to unobe
16:36 TimToady Perl defines a grapheme as <!M> <M>* or some such
16:37 TimToady and maybe now with CRLF mixed in
16:37 rhr ok (that's what the current .graphs does, more or less)
16:38 TimToady in which case your current \r\n test is probably okay
16:39 unobe gaal, lumi, moritz : I fixed the make install back when agentzh first mentioned it, so quite a few revisions ago
16:39 rhr but aside from spacing marks (which I don't understand) I think that's very close to "extended grapheme cluster"
16:39 unobe i just didn't have time to try it out
16:39 rhr whoops, I just reverted the CRLF stuff
16:46 unobe gaal, moritz: r16249
16:48 unobe changed the nick to unobe_away
16:48 moritz unobe_away: thanks
16:50 moritz r(16248 to 16850) only modify util/smartlinks.pl
16:50 moritz is that really involved in the build process?
16:51 rindolf joined #perl6
16:54 dwave joined #perl6
16:58 chris2 joined #perl6
17:04 bonesss joined #perl6
17:10 penk joined #perl6
17:12 amnesiac joined #perl6
17:14 larsen_ joined #perl6
17:15 Psyche^ joined #perl6
17:16 justatheory joined #perl6
17:32 Psyche^ changed the nick to Patterner
17:34 weinigLap joined #perl6
17:40 awwaiid joined #perl6
17:53 gaal unobe++ # r16205 :-)
17:53 gaal clkao++ # svk desc r$upsream@ on svk 2.x
17:56 dduncan joined #perl6
18:06 penk joined #perl6
18:11 ssotka joined #perl6
18:31 thoughtpolice joined #perl6
18:31 macli joined #perl6
18:39 thoughtpolice afternoon
18:40 dduncan in about 20 minutes it will be here
18:47 thoughtpolice s'already here for me.
18:47 thoughtpolice you people and your time zones and stuff.
18:50 rindolf Hi thoughtpolice
18:52 thoughtpolice hey rindolf
18:52 rindolf Man! I cannot figure out Eclipse.
18:52 thoughtpolice :/ just being difficult (usability)?
18:53 thoughtpolice because that happens to me all the time
18:53 thoughtpolice (i only use eclipse for radrails but it has issues like freezes frequently.)
18:53 rindolf thoughtpolice: Eclipse doesn't freeze.
18:53 moritz eclipse? the Java OS? *g*
18:53 rindolf thoughtpolice: not at the moment at least?
18:54 rindolf moritz: it's not an IDE - it's an operating system.
18:54 rindolf I'm trying to work on FOP.
18:54 rindolf And Eclipse is DOA.
18:54 rindolf I don't seem to have an existing Eclipse project.
18:54 ssotka joined #perl6
18:54 rindolf And the README does not mention it.
18:54 thoughtpolice hm eclipse pulls stuff like that on me all the time
18:54 rindolf And I have no idea how to import an Ant file.
18:54 thoughtpolice then again at any given time, a lot of my memory is used up
18:54 thoughtpolice so ymmv :p
18:54 rindolf And no one on #eclipse is any help.
18:55 rindolf Someone told me "Import Project".
18:55 rindolf But there isn't anything like that.
18:57 takanori joined #perl6
18:57 sparvu hey all
18:57 rindolf Hi sparvu
18:58 thoughtpolice g'day
18:58 sparvu I have reported my problem about pugs on Solaris 10
18:58 thoughtpolice ever get your solaris build worked out?
18:58 thoughtpolice ah
18:58 sparvu well looked a problem with ghc ditribution and a static libray wrong build
18:58 sparvu Im working with Sun and the maintainer of ghc for Solaris 10 to get this sorted out
18:58 thoughtpolice ah. at least you're getting somewhere. :)
18:59 sparvu when I will have a working pugs, Im planning to make a Solaris 10 package
18:59 sparvu Lets see
18:59 sparvu One question: Im a bit confused about parrot and pugs
18:59 sparvu So is pugs a temporary step towards parrot ?
19:00 thoughtpolice it's a method to bootstrap perl 6.
19:00 sparvu or is it to stay here even when parrot is ready ?
19:00 moritz sparvu: parrot is "Just" a virtual maschine
19:00 moritz sparvu: and pugs is a perl 6 compiler
19:01 moritz sparvu: so the question is "is pugs going to stay when 6-in-6 is ready?"
19:01 thoughtpolice the plan is if it's needed, once pugs milestones are 'done' it'll be rewritten in perl 6 so you have a fully bootstrapped compiler.
19:01 sparvu moritz: correct
19:01 sparvu got the point.
19:02 [particle] sparvu: there will probably be more than one implementation of perl 6
19:02 po_boy joined #perl6
19:02 [particle] sparvu: no "official" implementation
19:02 moritz everything that passes the test cases is considered to "official"
19:02 sparvu right, thanks. So we have to wait until Parrot is ready
19:03 sparvu Yeah, so it is important to get pugs running on Solaris :)
19:03 thoughtpolice parrot is already looking interesting
19:03 * moritz planned to write a toy interpreter that just read the "plan $n" statements and print n times "okn", so it would pass the test suite ;)
19:03 thoughtpolice I have a build on my openbsd box now iirc
19:03 thoughtpolice moritz: sneaky
19:03 moritz thoughtpolice: it is indeed
19:04 sparvu parrot build 100% ok on Solaris 10 x86 and SPARC
19:04 moritz cool
19:04 moritz parrot++
19:04 sparvu pugs is a bit more triky because of ghc
19:04 moritz thoughtpolice: would have been a nice april fool joke ;)
19:04 TimToady so we'll have to put in an obfuscated test that prints 0..1 some other way...
19:04 thoughtpolice moritz: :)
19:04 lidden joined #perl6
19:04 * [particle] is currently getting parrot to build on x64
19:05 * sparvu curious: can you run any Perl 6 now in parrot ?
19:05 moritz TimToady: a BEGIN { $a = 2 }; plan $a; would be a good start ;)
19:05 thoughtpolice parrot is a virtual machine.
19:05 moritz sparvu: there is a perl 6 implementation in languagues/perl6/ in the parrot svn...
19:05 thoughtpolice it's only 1/2 the equation in the case of your question; the compiler is the other.
19:06 thoughtpolice i've been meaning to give a shot to the parrot toolchain
19:06 thoughtpolice it looks pretty interesting
19:06 moritz sparvu: so there is some kind of "6-on-parrot"
19:06 moritz sparvu: and pugs has a parrot backend, which needs brave souls to unbreak ;)
19:06 thoughtpolice yes, most def.
19:07 moritz and iirc mp6 has an experimental PIR emitter as well
19:07 moritz fglock++
19:07 moritz anyway, gotta go, learing :( &
19:07 thoughtpolice later
19:07 sparvu moritz: cheers. I will try to build a parrot Solaris package for x86 and sparc
19:07 sparvu cya
19:07 moritz sparvu: btw there is #parrot in irc.perl.org
19:08 sparvu aha. Thx.
19:08 moritz & # (now for real ;)
19:15 the_dormant joined #perl6
19:21 lvh joined #perl6
19:21 lvh hi
19:21 sparvu Here you can see the original report about pugs and ghc: http://www.opensolaris.org/jive/thread.jspa?threadID=32325&amp;tstart=0
19:21 lambdabot Title: OpenSolaris Forums: Perl 6 on snv_55b x86 ..., http://tinyurl.com/2hu8oy
19:22 lvh could anyone point me to a page where the rationale is explained for moving to @foo[3] from $foo[3]?
19:22 bonesss joined #perl6
19:23 Tene lvh: one of the apocalypses, probably.
19:24 Tene lvh: the main reason is basically "People are regularly confused by this, and it doesn't seem to offer any concrete advantage." as I recall.
19:25 spinclad lvh: ambiguity, for one: in Perl 5, if you have $foo holding an arrayref and @foo as an array, which does $foo[3] mean?
19:26 Tene spinclad: is $arrayref[0] valid?  Is -> not required?
19:26 spinclad (sorry, that's a rationale, not a page)
19:27 TimToady Tene: that is correct
19:27 spinclad you may be right.  i seem to recall the Perl 6 designers wanting to drop the ->/. though.
19:27 lvh spinclad: indeed, i was wondering if that was even valid
19:27 PerlJam spinclad: in perl 5 it's not a problem because you need the ->
19:27 Tene PerlJam++
19:27 TimToady $array.[0] and $array[0] are equivalent
19:27 lvh anything with a @ in front of it is an array, with a $ in front of it its a scalar. alway.s
19:28 Tene but perl5 $array[0] and $array->[0] are not equivalent.
19:28 lvh $array[0] seems strange to me
19:28 lvh err
19:28 lvh nvm :P
19:28 lvh i was quoting the wrong thing
19:28 Tene lvh: also, you *can* store arrays and hashes in scalars in Perl 6.
19:28 PerlJam lvh: now the rules is a little different but still very consistent.
19:28 PerlJam s/rules/rule/
19:28 lvh $arrayref[0]
19:28 Tene ?eval my $a = 1..10; $a[0]
19:28 lvh what does that mean?
19:28 evalbot_r16637 changed the nick to evalbot_r16643
19:28 evalbot_r16643 \1
19:28 lvh unless arrayref is secretly an array
19:29 PerlJam lvh: in perl 6 "arrayrefs" are transparent
19:29 TimToady there are no refs in Perl 6, officially
19:29 Tene lvh: that's what I was saying.  i was refuting spinclad's claim of ambiguity.
19:29 lvh Tene: ah.
19:29 lvh awww.
19:29 lvh ok
19:29 lvh seems confusing, but ok
19:29 lvh the interpreter figures out what it needs by itself internally?
19:29 TimToady it's very easy to get used to, and you don't have to match an early @ with a later slice subscript
19:30 PerlJam lvh: it's not confusing at all.  Anytime you see @, you know you're dealing with an array in some fashion.
19:30 TimToady using the sigil to indicate slice was a vestige of when Perl only handled flat data structures
19:30 PerlJam lvh: same thing with % for hashes.
19:30 lvh PerlJam: even if its secretly not an array but an element of i?
19:30 lvh PerlJam: it*
19:31 lvh meh, maybe. i'm not convinced but i'll give it a try
19:31 PerlJam lvh: @foo[0]  # you're still doing something with the @foo array.
19:31 TimToady in P5 you have to do @{much stuff}[0] to get a slice
19:31 TimToady in P6 it's just much stuff[0]
19:31 PerlJam lvh: @foo[1,2,3]   # more mucking with @foo
19:31 lvh PerlJam: $foo[0] # this is a scalar
19:32 TimToady sliceness is now entirely determined by the subscript
19:32 PerlJam lvh; the sigil no longer describes what you get back, but what data structure you're using.
19:32 TimToady so you only have to look in one place to know
19:32 lvh i suppose. i got use to $this_is_a_scalar_no_matter_what['moo'] syntax fast enough
19:33 lvh PerlJam: i suppose its easier in the sense that in perl5 i have to remember if $ref is a hashref or an array ref
19:33 TimToady indeed
19:33 PerlJam lvh: And now you can do things like (@a,@b) = (@c,@d) and it makes more sense to more people  :)
19:33 TimToady hmm, you probably want := there
19:33 PerlJam yeah, I mistyped
19:33 lvh that new syntax too?
19:34 lvh is there a compendium of everything shiny and new a perl5 addict needs to know before he can write perl6?
19:34 TimToady yes, binding instead of assignment.  It's just the same as what happens between actual arguments and formal parameters
19:34 lvh like, what is this := thing
19:35 TimToady depends on whether you want rationale
19:35 spinclad lvh: that would be the synopses, i think
19:35 TimToady apocalypses for rationale, synopses for bare facts
19:35 lvh TimToady: whats the difference between (@a,@b) = (@c,@d) and (@a,@b) := (@c,@d) for @a,@b,@c,@d?
19:36 lvh but i can have a hash of hashes of arrays of hashes in perl6 without using any references?
19:40 TimToady someone else will have to explain, gotta run &
19:42 Tene ?eval {foo => { bar => ({baz => 1, qux => 2},{fl => 3, bn => 4})}}
19:42 evalbot_r16643 ("foo" => {("bar" => ({("baz" => 1), ("qux" => 2)}, {("bn" => 4), ("fl" => 3)})),})
19:42 [particle] lvh: evalbot evaluates perl 6 using pugs
19:42 [particle] the _rXXXXX is the pugs subversion revision number
19:44 Tene ?eval (:foo(:bar( (:baz<1>, :frotz<2>), (:w<3>,:b<4>) )))
19:44 evalbot_r16643 ("foo" => ("bar" => (("baz" => "1"), ("frotz" => "2"), ("w" => "3"), ("b" => "4"))))
19:47 [particle] ?eval my %hash = 'foo' => 'bar'; my @array = <<1 2 3>>; @array.push(%hash); print @array.perl
19:47 evalbot_r16643 OUTPUT[["1", "2", "3", ("foo" => "bar")]] Bool::True
19:47 [particle] see, no messy backslashes... no references.
19:48 [particle] ?eval my %hash = 'foo' => 'bar'; my @array = <<1 2 3>>; @array.push(%hash); print @array[-1]{'foo'}
19:48 evalbot_r16643 OUTPUT[bar] Bool::True
19:48 * Tene used the wrong brackets.
19:49 lvh so, what state is perl6 in?
19:49 [particle] the spec is under development, and so is the implementation
19:49 lvh I know its going to be released when its ready, but if you'd have to make an educated guess, would it be in the order of magnitude of months or years?
19:50 [particle] you should check out the docs at http://spec.pugscode.org
19:50 lambdabot Title: Official Perl 6 Documentation
19:50 [particle] it will show you what state the docs are in, and what state the implementation is in (spec test coverage)
19:52 [particle] lvh: maybe sometime in 2008 there will be a beta... that's my guess
19:52 [particle] we need your help. want to join us?
19:54 lvh [particle]: im quite sure i don't know enough perl to be a candidate
19:54 lvh [particle]: but, meh, why not
19:54 lvh [particle]: i have too much time on my hands as it is
19:54 [particle] you can help in many ways, not just perl code
19:54 [particle] however, writing perl 6 is fun :)
19:55 [particle] msg me your email address, and i'll give you a pugs commit bit
19:56 lvh [particle]: done, check your privmsgs
19:56 lvh [particle]: where do i get the tshirt? :-P
19:57 spinclad 'my folks went off to code Perl 6 and all they sent back was this damn shirt'
20:02 [particle] lvh: commit bit invite sent. expect an email whenever the server gets around to it
20:17 Aankh|Clone joined #perl6
20:20 conradvermeule1 joined #perl6
20:21 lvh [particle]: got it, thanks.
20:21 [particle] it's customary to modify the AUTHORS file to make sure your commit bit works
20:23 conradvermeule1 left #perl6
20:26 lvh [particle]: ill get right at it
20:27 lvh [particle]: commitbit works? you mean, not over subversion?
20:27 [particle] use subversion, check out a working copy of pugs
20:27 [particle] modify AUTHORS, commit
20:27 lvh [particle]: ok, thats what i was doing :-)
20:31 lvh djeez, my wifis practically dead out here
20:32 gilby joined #perl6
20:34 weinigLap joined #perl6
20:35 rindolf joined #perl6
20:37 elmex joined #perl6
20:48 weinigLap joined #perl6
20:54 rhr another way to phrase my previous question: are two Grapheme objects === if they're canonically equivalent?
20:54 rhr if so, eqv might compare Strs as arrays of Graphs (or Codes or ...) so it would get normalization "for free" at the appropriate unicode levels (graphs or higher)
21:12 weinigLap_ joined #perl6
21:22 |Jedai| joined #perl6
21:33 devogon_ joined #perl6
21:43 polettix joined #perl6
21:51 offby1 left #perl6
22:28 weinigLap joined #perl6
22:29 polettix changed the nick to polemix
22:30 polemix changed the nick to polettix
22:30 polettix changed the nick to polemix
22:31 polemix left #perl6
22:36 iblechbot joined #perl6
23:02 TimToady rhr: I think in general grapheme level should pretend that everything is normalized, and codepoint level should probably not
23:04 larsen_ joined #perl6
23:09 polemix joined #perl6
23:11 falesca joined #perl6
23:20 weinigLap_ joined #perl6
23:21 weinigLap joined #perl6
23:45 rhr TimToady: sounds good.  Is there a way to get an array view into a Str other than by doing e.g. $s ~~ m:codes/ @<codes> := (.)* / ?
23:45 polemix changed the nick to polettix
23:46 polettix changed the nick to poletti
23:46 poletti changed the nick to polemix
23:50 TimToady can probably eventually convert to Buf32
23:50 TimToady presuming codes and not graphs, which wouldn't fit
23:52 TimToady but that would be a conversion, not a view
23:53 TimToady I suppose one could have a magical Buf32ish type that did a view
23:54 TimToady 'course, substr et al are supposed to give you most of that if you're at "use codes" level.
23:58 rhr my concern is that substr could turn an O(n) scanning algorithm into O(n**2), e.g. my implementation of Str.graphs
23:58 rhr and how is substr itself implemented?
23:59 TimToady would be nice to have some way of telling a string "analyze yourself for indexing"
23:59 rhr right
23:59 TimToady equiv to your (.)*

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

Perl 6 | Reference Documentation | Rakudo