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