pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~315 days 'til Xmas Set by mncharity on 8 February 2009. |
|||
00:12
Limbic_Region joined
00:24
Exodist left
00:34
r0bby joined
|
|||
literal | hm, + is no longer a sigil? | 00:40 | |
00:48
DemoFreak left
|
|||
avar | literal: twigil | 00:50 | |
literal | yeah, meant that | ||
00:53
FurnaceBoy joined
|
|||
meppl | good night | 01:03 | |
01:05
meppl left
01:41
stephenlb left
01:48
justatheory left
01:49
felipe left
|
|||
frew | anyone here? | 02:05 | |
02:06
mj41 left
|
|||
mikehh | frew: a few I'm sure | 02:09 | |
frew | I was curious if any of the developers here have opinions about quad core procs | 02:14 | |
I plan on doing lots of web dev, so would it even matter? (database, web server, tests, firefox, editing files, etc) | |||
it might make recompiling parrot and perl6 nicer of course :-) | 02:15 | ||
02:16
japhb joined
|
|||
mikehh | Quad core works very well with multiple applications running (with plenty of memory) | 02:17 | |
frew | Are you running linux? | ||
mikehh | How well it works with a single app depends on if it is threaded properly | ||
02:18
wknight8111 left
|
|||
frew | yeah, I am not expecting most apps to written that way | 02:18 | |
mikehh | Kubuntu Intrepid at the moment | ||
frew | have you noticed apps that aren't yet compiled for the64 bit? | ||
mikehh | I actually have separate root partitions for Ubuntu i386 & AMD64 and Kubuntu i386 & AMD64 | 02:20 | |
frew | uhh | 02:21 | |
so you have apt set up that way or something like that? | |||
so that it will install 32 bit stuff in the other partition? | |||
mikehh | same /home partition with different logins but all accessible to each other | ||
frew | do you compile them yourself or what? | 02:22 | |
because if that's the case I was considering using gentoo for a while because of that | |||
02:22
alc joined
|
|||
mikehh | depends - with parrot and Rakudo yes others mostly from the Ubuntu repositories | 02:23 | |
frew | why do you have both available? Just in case or something? | 02:24 | |
mikehh | I originally set it up for testing things - used to have Suse too but could not get it to work with my wireless network | 02:27 | |
02:31
s1n joined,
FurnaceBoy left
02:32
eternaleye joined
02:34
hercynium joined
|
|||
frew | ok, so in general though, you don't really have issues running apps compiled for 64 bit procs? | 02:34 | |
mikehh | most are ok | 02:35 | |
frew | cool | ||
mikehh | In general it depends on how much memory you have available | 02:36 | |
frew | how much do you have? I am planning on having 4 gigs | ||
mikehh | 32 bit apps are usually slightly faster for smaller mem requirements but have problems with more than 4 gigs | 02:37 | |
In fact Windozw 32 bit can't address mor than 3 | 02:38 | ||
frew | right | ||
but in general I think that I won't notice that speed since I am upgrading from 1.2 Ghz to at least 2.33 Ghz | 02:39 | ||
mikehh | In general with up to 4 gigs youare probably better off with 32 bit apps | ||
frew | so do you think I should get a dual core with a higher clock speed for my usage? | ||
DB + dev webserver + regular dev apps? | 02:40 | ||
mikehh | It is only with more than 4 gigs that 63bit really starts to shine | ||
64 | |||
frew | well, I was planning on getting 4 gigs of ram | 02:41 | |
I just don't know if it's necesary | |||
the only thing that will take up a ton of ram is KDE and firefox | |||
ok | |||
I take that back | |||
when I help a friend do web dev it *is* with rails | |||
which is kindav a hog | 02:42 | ||
mikehh | It probably won't make much difference although 64bit apps are usually a bit larger | 02:43 | |
pugs_svn | r25301 | chrisdolan++ | Add tests for 'make' builtin using S05 examples | ||
frew | understandably | 02:44 | |
what is your clock speed? | |||
mikehh | this system is 3Ghz | 02:45 | |
frew | wow | ||
yeah, that was the max I was looking at | |||
it adds ~$200 to the price of the computer as a whole | 02:46 | ||
but I was thinking that it could be worth it | |||
mikehh | It doesn'make that much difference unless you are running a lot of processor intensive apps lije games and such and doing a serious amount of complies | 02:49 | |
frew | ok | 02:50 | |
then I probably won't get the higher clock rate | |||
If ubuntu works I won't do much compiling | |||
and I won't do any games | |||
mikehh | I would suggest spending on memory and storage | 02:52 | |
frew | well, I am planning on a 1T drive and 4G ram | ||
mikehh | that's good for most things - make sure of backup though | 02:53 | |
frew | yeah | ||
my roommate takes care of the backup at work and we were thinking we'd do some kind of weekly or monthly tape backup deal | |||
mikehh | you can get a USB hard drive for reasonable prices (or preferably two) | 02:54 | |
s1n | frew: i've got a 64bit gentoo desktop with 4 gigs of memory and i've never noticed myself using more than maybe 1 gig at any given moment | 02:55 | |
frew | s1n: your firefox doesn't go crazy after being open for a day or so? | ||
s1n | it's slightly helpful when compiling updates, but processor speed helps more | ||
frew | well, I think the tapes are way cheaper | ||
s1n | frew: i don't use firefox for that reason | ||
i use epiphany, which is still relatively lightweight | |||
frew | s1n: I believe it, but as a web developer I kinda need it | 02:56 | |
s1n | i use xfce4 too | ||
no you don't just use a VM :) | |||
frew | on my desktop I use fvwm | ||
?? | |||
s1n | i do everything that annoys me in a VM | ||
frew | oooooh | 02:57 | |
gotcha | |||
s1n | this way i can shut it down and return to reality | ||
break it? host the VM and start over :) | |||
frew | right | ||
s1n | i consider using firefox one of those annoying tasks | ||
frew | hahaha | ||
02:58
eternaleye left,
hercynium left
|
|||
s1n | frew: | 03:00 | |
bleh, stupid focus | |||
frew | s1n: I'm gonna try out using epiphany for a while | 03:02 | |
s1n | frew: i recommend it | 03:03 | |
i'm eager to try out the new webkit backend | |||
frew | It could use some UI work though... | 03:04 | |
s1n | at least it's consistant with gtk desktops | ||
frew | well yeah, but I'm not on gnome or xfce | 03:05 | |
s1n | well, sure on fvwm everything looks bad :) | ||
frew | it's true! | ||
but I don't care! | |||
s1n | frew: even if you don't have the resources, at least switch to fluxbox | 03:06 | |
frew | phone& | ||
s1n: nope | 03:11 | ||
I switched from FB | |||
I went: afterstep->windommaker->BB->FB->OB->FVWM | 03:12 | ||
can you set it up so that I can run an arbitrary command when I right click the desktop in fluxbox? | |||
and make it so that maximization doesn't maximize the window entirely so that I can easily click said desktop? | 03:13 | ||
03:13
eternaleye joined
|
|||
frew | because if so I'll switch, but otherwise I am happy with what I've got in FVWM | 03:13 | |
03:18
Limbic_Region left,
felipe joined
|
|||
frew | alright, enough of that. Anyone in here have some tasks that I might be able to do in the tests? | 03:20 | |
I did a bunch of stuff last week but it was all pretty simple | |||
rakudo: 5.rand | 03:23 | ||
p6eval | rakudo b2e7ac: OUTPUT«sh: ./parrot: No such file or directory» | ||
frew | rakudo: my $f = 5; $f.rand | ||
p6eval | rakudo b2e7ac: OUTPUT«sh: ./parrot: No such file or directory» | ||
frew | oh that's not good | ||
pugs: 5.rand | |||
p6eval | pugs: RESULT«2.9161854240615352» | ||
frew | pugs: 5.rand | ||
p6eval | pugs: RESULT«4.604899697495834» | ||
frew | pugs: 5.rand | 03:24 | |
p6eval | pugs: RESULT«0.6840856287591359» | ||
frew | pugs: 5.rand | ||
p6eval | pugs: RESULT«2.1694070460902077» | ||
frew | pugs: 5.rand.floor | ||
p6eval | pugs: RESULT«3» | ||
frew | pugs: 5.rand.floor | ||
p6eval | pugs: RESULT«0» | ||
frew | gnarly | ||
03:26
icwiener left
|
|||
frew | pugs: for 0..3 { say $_.rand } | 03:27 | |
p6eval | pugs: OUTPUT«0.38001205513254090.293694691684491641.67519841591715780.8486970053866266» | ||
s1n | frew: mouse clicks are for chumps :) i have hotkeys for the things i want | 03:31 | |
frew | s1n: actually, I do to really | ||
but when I am using my mouse I'd like to only use my mouse | 03:32 | ||
and when I use my keyboard I want to only do that | |||
that's all | |||
I kinda want to do some kind of tiling, but I don't wanna do something that makes me tile, just something that will let me tile | 03:33 | ||
so I can do something like, "Put X window in Y location in the grid I have predefined" | |||
so I am doing an empirical test for $num.rand | 03:36 | ||
I don't see any other way to do it with a test | |||
if anyone has a better idea, let me know | |||
anyone know why I shouldn't use chained operators in a test? | 03:44 | ||
pugs_svn | r25302 | frew++ | [t] Added .rand | 03:47 | |
04:00
SamB left
|
|||
s1n | frew: what do you mean by "empirical test? | 04:20 | |
frew | I mean that I just run it a bunch of times and test it every time | 04:21 | |
s1n | for what? bounds? | ||
frew | yep | ||
10 times for each bound | |||
s1n | well, if rand works the way it's supposed to, you could run that indefinitely | ||
frew | yeah | ||
s1n | does 10 prove anything statistically sound? i'm guessing no | ||
frew | but no one wants to do make spectest and get an infinite loop... | ||
well | |||
it's 10 for each bound and 10 different bounds | |||
should I do 100 per bound? | 04:22 | ||
s1n | heh okay, does 20 show anything statistically? | ||
does 100? | |||
frew | I don't know | ||
I hate stats | |||
s1n | can you prove that >X tests will prove anything sound? | ||
frew | well | ||
it's statistics | |||
nothing is proven right? | |||
it's all just probably probably valid | 04:23 | ||
s1n | these aren't discrete random variables (outside the sense that they are compute "numbers"), so nothing is ever really proven | ||
all 20 tests prove is 20 tests didn't find a problem, not that it works | |||
frew | yeah, but it's a random number generator | 04:24 | |
how can you prove anything with a test at all? | |||
the only real way to is to look at the algorithm | |||
s1n | not true | ||
by doing a loop with a rand variable, you're taking a random sample | |||
frew | which is what I am doing | 04:25 | |
s1n | the assumption is that random sample is independent | ||
frew | right... | ||
s1n | if you know your stats well enough, you'd have to take a significant number of samples enough before the test set can be assumed to be representative | ||
that means i might let you get away with doing.... (insert arbitrarily large number here) 1 million samples | 04:26 | ||
frew | hahaha | ||
s1n | otherwise, 20 tests only prove 20 tests worked | ||
not that rand works | |||
frew | I am talking to my stats friend who is planning on being one of those actuary guys | 04:27 | |
s1n | i've studied stats for 3 years at the graduate level, it's called machine learning | ||
frew | haha | 04:28 | |
then why did *I* write the $num.rand test? | |||
04:28
[particle]1 left
|
|||
s1n | because i'm busy enough as it is :) | 04:28 | |
frew | haha | 04:29 | |
well, what if I just had it do 1 minute of sampling per range? | 04:30 | ||
that way if the computer is fast enough it does more samples | |||
but if someone has a bad computer it won't make the thing too slow | |||
do we have a way to check the time in rakudo yet? | |||
04:35
nacho_ left
04:36
[particle] joined
|
|||
s1n | frew: my recommendation is to not try to statistically sample things and just see if you can invent a scenario that would give a bad rand number | 04:37 | |
frew | s1n: I am not that good at perl6/rakudo | ||
s1n | frew: regardless, there should be a decent way to check the bounds in O(1) | 04:38 | |
frew | this is going to give me weird dreams tonight | 04:39 | |
s1n | my best dreams are in either numbers or code :) | 04:40 | |
frew | my best dream was when I stayed up really late in college working on making a red black tree for data structures | ||
and the smartest guy in class (in my dream) told me that everything would be ok and that I should just curl up with a data structure | |||
s1n: What if I did a monte carlo-ish test | 04:41 | ||
generate a bunch of random numbers, throw away the ones that aren't in this circle, figure out the area of the circle from the points, see if its within a certain range | 04:42 | ||
is that ok? | |||
er sufficient? | |||
s1n | sounds like that already is monte carlo | ||
i mean, what's the point of the circle? | 04:43 | ||
are you trying to estimate something, such as the seed? | |||
frew | I guess it doesn't help anything | ||
no | |||
we already have seed tests | |||
s1n | i would say, stick to an O(1) test | ||
its late though | |||
bedtime& | |||
frew | ok | ||
thanks anyway :-) | 04:44 | ||
night | |||
frew just decides to merge perl6 and excel and consider it good | 04:47 | ||
05:32
simcop2387 left
06:01
simcop2387 joined
06:17
magnarjg left
06:20
magnarjg joined
06:22
frew left
06:47
ashizawa joined
06:58
magnarjg left
|
|||
moritz_ | rakudo: class A { }; say undef ~~ A; | 07:02 | |
p6eval | rakudo b2e7ac: OUTPUT«sh: ./parrot: No such file or directory» | ||
moritz_ | rakudo: class A { }; say undef ~~ A; | 07:04 | |
p6eval | rakudo b2e7ac: OUTPUT«sh: ./parrot: No such file or directory» | ||
moritz_ | rakudo: class A { }; say undef ~~ A; | 07:07 | |
p6eval | rakudo b2e7ac: OUTPUT«sh: ./parrot: No such file or directory» | ||
07:07
DemoFreak joined
07:10
magnarjg joined
07:13
magnarjg left
|
|||
moritz_ | working copy locked, some svn process hung up | 07:18 | |
in cron jobs I should pass the --non-interactive option to svn... | 07:21 | ||
07:42
iblechbot joined
07:44
magnarjg1 joined
07:45
magnarjg1 left,
magnarjg joined
|
|||
moritz_ | ar: compilers/imcc/imcparser.o: No such file or directory | 07:47 | |
make: *** [blib/lib/libparrot.a] Error 1 | |||
07:59
alc left
08:24
mj41 joined
08:31
PZt left
08:32
iblechbot_ joined,
iblechbot left
08:36
mberends joined
08:55
masak joined
|
|||
mberends | hi masak, I was offline for ever (~48 hours), must backlog before I say anything silly | 08:57 | |
masak | mberends: aye | ||
09:02
Ehtyar joined
09:15
jferrero left
09:17
iblechbot_ left
09:55
jeremiah left
09:56
jeremiah joined
|
|||
masak | 48 hours, that's like three internet months. | 09:56 | |
bacek | perl6: my @a=<foo bar>; say @a[all(0,1)] | 09:57 | |
masak | p6eval? hello? | ||
mberends | aye, and the nicest event: moritz_++ # www.perl6.ru/articles/5to6/ | 09:58 | |
moritz_ | my traceroute to p6eval shows too many stars :( | ||
masak | translation to Russian of anything Perl6-related is good news. translation of stuff moritz_++ wrote especially so. | 09:59 | |
bacek | perl6: say "O HI" | ||
jnthn sees Rakudo translit'd into Russian for the first time | |||
mberends | transliterated? | 10:00 | |
jnthn | aye | ||
jnthn isn't going to try spelling long words before his morning coffee | 10:01 | ||
masak | I only see it in its original form. | ||
10:01
pugs_svn left,
pugs_svn joined
|
|||
jnthn | www.perl6.ru/, second paragraph in first story | 10:01 | |
bacek | yak. | ||
10:01
p6eval left
10:02
p6eval joined
|
|||
bacek | How you pronounce "Michaud"? | 10:02 | |
p6eval | ..elf 25302, pugs: OUTPUT«O HI» | ||
masak | ah. Ракудо. :) | ||
mberends | for non Russian readers like me: uk.babelfish.yahoo.com/translate_ur...=Translate | 10:03 | |
masak | so... faux Japanese transliterated to Cyrillic. :) | ||
that's very 2009. | |||
moritz_ | mberends: for non-russion readers there's an English versioin on my blog :-) | ||
mberends | yes, this round trip trick sometimes drops a few stitches ;) | 10:04 | |
masak | perl6.ru might actually be the nicest Perl 6 resource out there, in terms of design and up-to-date information. | ||
jnthn | Aye. Now I just need to learn more Russian. ;-) | 10:05 | |
masak | it doesn't carry all the technical stuff about Parrot and Rakudo development. | ||
but it does have a lot of good stuff. | |||
10:06
mberends left
|
|||
bacek | jnthn: (side question) What about lazylists in rakudo? | 10:06 | |
10:08
ejs joined
|
|||
masak | if I want to get a hierarchical structure representing a Perl 6 source file, I suppose I should start building from Syntax::Highlight::Perl6? | 10:08 | |
bacek personally dislike github.com/rakudo/rakudo/commit/45c...24385ce3a1 | |||
moritz_ | bacek: what's wrong with it? | 10:09 | |
bacek | moritz_: it's not very optimal. | 10:10 | |
postfix ops supposed to be in-place. | 10:11 | ||
masak | but it does correct #60380. | ||
bacek | And I like my version more :) github.com/bacek/rakudo/commit/0b68...89e9029a5f | ||
Which corrects #60380 as well | |||
masak | aye. | 10:12 | |
I saw that one. | |||
jnthn | bacek: Your version doesn't solve the fact we need to also do type-checking on the result, e.g. there may be a refinement type. | ||
bacek | jnthn: when postfix:++ can change type? | ||
jnthn | my EvenInt $x = 2; $x++; | 10:13 | |
bacek | oh. And what is expected result in this case? | ||
jnthn | Exception. | ||
bacek | good point... | 10:14 | |
10:14
kane_ left
|
|||
bacek | But in 99% cases cloning is very-very suboptimal. | 10:15 | |
Especially when EvenInt.succ declared. | |||
About 4 "clone" calls | |||
jnthn | bacek: Let's get it correct, get good test coverage, *then* optimize. | 10:16 | |
bacek | jnthn: premature pessimisation :) | ||
bacek got very strong C++ background... | 10:18 | ||
masak | I'm increasingly suffering from slow Rakudo and Parrot. but I agree with jnthn. | ||
even though the danger might be that we paint ourselves into a corner, I believe that danger is small, from what I've seen of pmichaud++'s and jnthn++'s work so far. | 10:19 | ||
moritz_ | didn't the parrot folks decided to do something about that? killing PCCINVOKE or so? | ||
jnthn | moritz_: I think allison is looking at that, since there's a performance issue there. | 10:21 | |
bacek | perl6: say +* | 10:23 | |
std: say +* | 10:24 | ||
p6eval | elf 25302: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 120) line 3. at ./elf_h line 4346» | ||
..rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | |||
..pugs: OUTPUT«Inf» | |||
std 25302: OUTPUT«ok 00:02 33m» | |||
10:24
iblechbot joined
10:37
kane_ joined
10:50
hanekomu joined
11:09
ejs left
11:15
ejs joined
|
|||
masak | rakudo: 'still not there?' | 11:17 | |
p6eval | rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | ||
masak fixes | |||
jeremiah | Hej masak! | 11:24 | |
Still have the "Perl 6 bag O Candy" work in my head. | 11:25 | ||
Right now I have a blocker - writing an article for the Perl Review | |||
But I really want to do it, so maybe I can pick your brain later on what we should include? | |||
Matt-W | oooh an article | 11:27 | |
(good morning) | |||
masak | jeremiah: sounds very good. | ||
I'll be here all afternoon. | |||
good luck with the article. | 11:28 | ||
jnthn | bag O candy? | 11:30 | |
Sounds...tasty. | 11:31 | ||
Matt-W | chocolate! chocolate!!!!!! | 11:34 | |
masak | Perl 6 is sweet. Try Perl 6 today! | 11:35 | |
literal | moritz_: I noticed this in ilbot's source: " mncharity aka putter has an IRC client that prepends some lines with a BOM" | 11:37 | |
which client does that? | |||
11:38
meppl joined
|
|||
jeremiah | jnthn: The goal is to have a live debian CD with a perl 6 environment installed so you can just boot from the disk and start developing. | 11:41 | |
jnthn | Sweet! | 11:43 | |
masak | exactly. | ||
jnthn | ;-) | 11:44 | |
masak | jnthn: p6eval b0rken because Parrot build b0rken. :( | 11:46 | |
Matt-W | nooooo | ||
call the vet | 11:47 | ||
masak | already did, at #parrot. | ||
haven't gotten any response yet. | |||
Matt-W warily watches the results of a giant branch merge land in one of the work SVN repositories | 11:51 | ||
moritz_ | literal: no idea, ask mncharity :/ | 12:03 | |
masak | moritz_: I'm struggling with getting Parrot to build on timtowtdi.org right now. | 12:04 | |
(see #parrot) | |||
I guess downgrading and rebuilding is not a viable option? | |||
[particle] rebuilds parrot | 12:05 | ||
moritz_ | masak: I thought about keeping a working build around, and trigger the regular build in a different location | ||
masak | moritz_: that's a great idea. | 12:06 | |
moritz_ | masak: problem is, we can't just move it, because parrot hard-codes some pathes I think | ||
masak | aye. | ||
moritz_ | maybe we need parrot1 and parrot2 dirs, and a file that tells us which one to us | 12:07 | |
s/us/use | |||
masak | sounds sufficient. | 12:08 | |
moritz_ | maybe I'll find some tuits tonight | ||
[particle] | build broken on win32, also | 12:15 | |
12:22
SamB joined
12:37
pmurias joined
|
|||
s1n | pmichaud: don't forget, tonight at 7 | 12:41 | |
12:47
mberends joined,
ashizawa left
12:52
sahadev left
|
|||
mikehh | build broken on win32 also - as in what else | 13:11 | |
[particle] | as well as on linux | 13:12 | |
masak | today is obviously Sad Parrot Day. | ||
mikehh | I built on linux ok am spectesting now | ||
[particle] | seems the build breaks on windows only sometimes, working again now at same revision | ||
i'm building from fresh checkout on feather now | 13:13 | ||
masak | Polly Does Not Want A Cookie. | ||
jnthn | Try a cracker. | ||
masak | nope, didn't work. | 13:15 | |
mberends | parrot likes hackers more than crackers | ||
Matt-W | try threatening to wring polly's neck | ||
13:19
c9s_mv joined
|
|||
mikehh | rakudo spectest passes on parrot r36628 - smolder - smolder.plusthree.com/app/public_pr...ails/17955 | 13:21 | |
13:24
kane__ joined,
kane_ left
13:31
skids left
13:39
drbean_ joined
13:51
drbean left
13:54
aindilis` joined
|
|||
literal | moritz_: I'm using your ilbot and I get an error when trying to search, indicating that the db table doesn't support fulltext search. I've googled it a bit and tried to create the index but mysql keeps telling me "RROR 1214 (HY000): The used table type doesn't support FULLTEXT indexes" | 13:55 | |
ah, had to do "ALTER TABLE irclog ENGINE = MYISAM;" first | 13:57 | ||
masak | history question: which perl version was the first one where 'my @a' meant the same as 'my @a = ()' ? | 14:00 | |
Matt-W | I thought it meant the same as "my @a = undef" | 14:01 | |
masak | in current Perl 5, you get an empty list, no? | 14:03 | |
s/empty list/empty array/ | |||
14:04
icwiener joined
|
|||
mberends | perl5 -e'my @a; print scalar @a;' # prints 0 | 14:04 | |
masak | indeed. | 14:05 | |
[particle] | >perl -E "say length (my @a)" | ||
1 | |||
masak | hunh? | ||
[particle] | oops | ||
Matt-W | but if @a was undef, it'd come out as 0 when you tried to print it too | 14:06 | |
[particle] | >perl -E "say length (undef)" | ||
0 | |||
Matt-W | interesting | 14:08 | |
it seems that if you assign () to @a, it comes up as undefined | |||
I didn't know that | |||
14:08
aindilis left
|
|||
Matt-W | I thought () and undef were distinct | 14:08 | |
[particle] | it's about context | ||
literal | "@a = undef" makes it consist of one element | ||
[particle] | () is undef in scalar context | 14:09 | |
Matt-W | but if you're assigning to @a, surely it's a defined list which has nothing in it | ||
literal | "undef @a" is more like @a = () | ||
Matt-W | maybe my understanding of lists in perl 5 has always been wrong | ||
[particle] | right @a = () should be list context | ||
literal | @a is true in all contexts after you do "@a = undef" since it has an element | 14:10 | |
lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | ||
masak | lambdabot: <3 | ||
but has it always been like that? | |||
was there a time when you had to explicitly initialize @a? | |||
14:10
pmurias left
|
|||
literal is too young to know | 14:10 | ||
Matt-W | I've only used perl since 5.005 | ||
and you didn't have to then | 14:11 | ||
[particle] | meetoo | ||
Matt-W | it would be a very unperlish requirement | ||
at least as the modern principles of perl stand | |||
they may have been different :) | |||
14:32
ejs left
14:37
rindolf joined
14:38
skids joined
|
|||
literal | moritz_: another thing, non-ascii chars get mangled when the logs are viewed as plain text (e.g. see irclog.perlgeek.de/text.pl?channel=...009-02-12) | 14:57 | |
changing the browser's character encoding setting doesn't elp | |||
help* | |||
15:10
hercynium joined
|
|||
avar | literal: try to change the use line for IrcLog::WWW to use IrcLog::WWW qw(my_encode my_decode); and add my_decode() around $row->{line} on line 53 | 15:15 | |
in text.pl | 15:17 | ||
literal | ah | 15:19 | |
so it's not actually plain text, but html with a <pre> | |||
avar | that doesn't matter as far as the encoding problems are concerned | 15:20 | |
15:21
Exodist joined
|
|||
literal | that does indeed fix it | 15:22 | |
pugs_svn | r25303 | avar++ | The raw text log had broken UTF-8: Needed to call my_decode() like the HTML one | 15:23 | |
avar | literal: *5* | ||
mberends | moritz_, did you know that the text version of irclog.perlgeek is *bigger* than the html? Every text line is right padded with spaces to 305 characters! | ||
literal | *5²* | 15:24 | |
masak | those spaces have been known to annoy me when I'm cut-n-pasting. | 15:26 | |
avar | mberends: it looks like it's actually padded to whatever the longest line is | ||
or maybe not? | 15:27 | ||
literal | even longer than the longest line, it seems | ||
no, wait, it's the same as the longest one | |||
mberends | It's terribly inefficient, whatever the reason. We're not on punched cards any more. | ||
avar | It's something Text::Table is doing automatically | 15:28 | |
literal | silly | ||
mberends | Text::Table-- | ||
avar | If anyone actually knew how to use format() that could be used instead:) | 15:31 | |
15:31
lisppaste3 left
|
|||
avar | cpansearch.perl.org/src/ANNO/Text-T...t/Table.pm | 15:34 | |
can't find how to disable it | |||
mberends | avar: could it be patched in ilbot? | 15:35 | |
avar | oh sure, you could just do $text =~ s/ +$/gm; | 15:37 | |
it's just nicer to use the interface for text::table if it exists | |||
15:38
szabgab left
15:40
lisppaste3 joined
|
|||
avar | that's some of the ugliest code I've ever had the misfortune to debug | 15:43 | |
15:47
ruoso joined
|
|||
ruoso | Hello! | 15:47 | |
avar | It's like reading damian's code | 15:48 | |
mberends | which code are you debugging now? | 15:49 | |
15:52
szabgab joined
|
|||
avar | Text::Table, finding out where it adds trailing spaces | 15:52 | |
mberends | there is no Text::Table in Debian system afaict | 15:53 | |
adding spaces makes sense for vertical column alignment, except for the last column | 15:55 | ||
avar | yes | 15:58 | |
mberends | could you nopaste Text/Table.pm ? | 15:59 | |
literal | mberends: search.cpan.org/src/ANNO/Text-Table...t/Table.pm | ||
mberends | ah, thanks. wearing Debian blinkers here... | ||
16:02
eternaleye left
|
|||
pugs_svn | r25304 | ruoso++ | [mildew] removing unecessary list copy... | 16:02 | |
r25305 | avar++ | Text::Table will add trailing whitespace to pad messages to the longest message. I (avar) wasn't able to find out how to make it stop doing that so I'm hacking around it with regex! | 16:03 | ||
avar | meanwhile, a HACK | ||
mberends | yes! | 16:04 | |
avar | It's probably Text::Align whith Text::Table calls | ||
but fuckit, this works for me:) | |||
mberends | I get your drift about the code. The POD looked all right though. | 16:06 | |
avar | until you read the contents:) | ||
the pugs svn has never been one to shy away from a dirty hack:) | 16:08 | ||
[particle] | $fuck_it->just_hack is perl culture, for better or worse | 16:09 | |
mberends | Text::Table: "$tb->width returns the width (in characters) of the table. All table lines have this length." It's specced, so if you *did* improve it, you'd break someone's app. | 16:11 | |
s/improve/trim/ # remove subjective bias | 16:13 | ||
avar | This is why modules are bad, you always end up dealing with someone's crazy CPAN shit | ||
Rewrite everything, in every program you write | |||
mberends | I wrote my own VGA driver once. It's a bit time consuming. | 16:14 | |
16:16
stephenlb joined
16:21
icwiener_ joined
|
|||
moritz_ | mberends: uhm, that seems to be an artifact of Text::Table... | 16:23 | |
mberends | yes, it's a standard behaviour of that module, so if you don't like it, you would have to alter it externally, the way avar++ is doing now. | 16:27 | |
16:36
icwiener left
|
|||
moritz_ | or just s/[ \t]*$//gm; | 16:38 | |
literal | which is what he did, I believe | ||
masak misses h in Perl 5 | 16:40 | ||
moritz_ | it's in 5.10.0 I believe | 16:41 | |
buubot: eval: "\t" ~~ /\v/ | |||
ENOBUUBOT | 16:42 | ||
masak | moritz_: \v ? did you really mean that? | ||
16:44
ruoso left
|
|||
moritz_ | masak: both | 16:45 | |
masak: both \v and \h, I meant | |||
masak | yes, naturally. | ||
but \t won't match \v, right? | |||
moritz_ | of course not | ||
masak | *phew* | 16:46 | |
though the thought of a vertical tab character is strangely intriguing. | |||
16:47
aindilis` left,
aindilis` joined
|
|||
avar | mberends: I did s/ +$//gm | 16:49 | |
mberends | avar++ # it looks nicer in the browser too | 16:52 | |
avar | has the pugs one been updated? | 16:53 | |
ah, yes | |||
moritz_ | the plain text view was a failed attempt to bring the logs to fglock++'s mobile | ||
16:54
c9s_mv left,
pmurias joined
|
|||
moritz_ | and that device wanted to download stuff sent as text/plain, which is why I currently still serve text/html and pre tags | 16:54 | |
avar | doing a rss/atom feed for it:) | ||
moritz_ | avar: now you're exaggerating | ||
16:56
jan_ left
|
|||
moritz_ | rakudo: say "alive" | 16:59 | |
p6eval | rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | 17:00 | |
pugs_svn | r25306 | lwall++ | [S10] updates to package policies | 17:04 | |
17:06
justatheory joined
17:15
Khisanth left
17:18
hanekomu left
17:24
hanekomu joined
17:30
Khisanth joined
|
|||
pugs_svn | r25307 | pmurias++ | [mildew] partialy updated to work with the newest STD.pm | 17:47 | |
17:47
ruoso joined
|
|||
ruoso | TimToady, I'm now unsure about one thing in package loading | 17:48 | |
one the file starts with a package declaration, it does not belong to GLOBAL or main anymore | 17:49 | ||
but considerint it is still "our" | |||
it seems to imply it will belong to the package that required it | |||
but does that mean that it should be private to that package? I mean... if someone changes a symbol in that package, does it affect other places where that module was loaded? | 17:50 | ||
pugs_svn | r25308 | lwall++ | some cleanup suggested by Jonathan "Dataweaver" Lang++ | ||
r25308 | lwall++ | detangling of metaoperators from metatokens | |||
r25308 | lwall++ | "metatokens" are composed of metaoperators plus ordinary operators | |||
r25308 | lwall++ | we shouldn't use "metaoperator" to refer to the generated operator | |||
TimToady | no, everything starts in GLOBAL | 17:53 | |
ruoso | hmm... I'll re-read your last commit | ||
TimToady | will be glad to clarify if something is misleading | ||
ruoso | TimToady, "but may switch to some other package scope depending on the first package-ish declaration." | 17:54 | |
pmurias | ruoso: hi | ||
ruoso | this seems to imply that "first package-ish declaration" is handled specially | 17:55 | |
17:55
masak left
|
|||
ruoso | hi pmurias | 17:55 | |
TimToady | every package-ish declaration switch packages, so it's not special in that way | ||
*switches | |||
ruoso | maybe that entire paragraph could be written as "Perl 6 code begins being parsed in GLOBAL." | 17:56 | |
TimToady | the only thing special about the first one is that we allow the semicolon form, and if you use the semicolon form on "package" itself you're in Perl 5 | ||
ruoso | TimToady, maybe just write it that way then ;) it's clearer than that text | ||
pmurias | ruoso: we need the .variants in Multi to be an Array of Array because there might be a few variants of equal priority | 17:57 | |
TimToady | well, but p5's main in special too | ||
ruoso | pmurias, "equal priority" | ||
? | |||
TimToady | but that's because it's p5 | ||
ruoso | and it's up to the p5 parser, | ||
not the P6 parser | |||
in SMOP, for instance, I would simply hand the file to the p5 parser directly | 17:58 | ||
TimToady | well, it remains to be seen whether P6 will include a P5 parser :/ | ||
already has the p5 regex parser | |||
ruoso | TimToady, I think that should be implementation specific | ||
TimToady | and I don't know how to handle "use v5;" otherwise | ||
ruoso | because I doubt SMOP would reimplement it | ||
pmurias | multi foo($a,Foo $b) {say 1};multi foo(Bar $a,$b) {say 2} | 17:59 | |
ruoso | pmurias, the compiler should be able to sort that out in a plain array | ||
TimToady | you doubt SMOP would implement what? | ||
pmurias | ruoso: if you pass foo Foo,Bar you get an ambiguity error | 18:00 | |
jnthn | pmurias: Arrya of arrays would do it, or in Rakuod we have one array with nulls separating the bits | ||
ruoso | TimToady, a p5 parser... most probably I'll have p5 alongside with SMOP and just delegate that code to it... | ||
TimToady | yes, well, we'll have to have a version of the p5 parser that can interleave with the p6 parser somehow, if we don't want two-pass parsing, which is evil | 18:01 | |
ruoso | pmurias, you can get that as compile-time error | ||
TimToady, I guess it shouldn't be hard to make an optional "if you think code has ended, call this" | |||
TimToady, I'm already considering a modified p5 | |||
pmurias | ruoso: that foo declaration was legal | ||
ruoso | pmurias, it's ambiguous at compile-time already | 18:02 | |
pmurias | TimToady: is the foo declaration legal? | ||
TimToady | the linkage will be tricky, if you want the p5 parser to see all the context it wants to see | 18:03 | |
what foo declaration? | |||
ruoso | multi foo($a,Foo $b) {say 1};multi foo(Bar $a,$b) {say 2} | ||
TimToady | std: multi foo($a,Foo $b) {say 1};multi foo(Bar $a,$b) {say 2} | 18:04 | |
p6eval | std 25308: OUTPUT«############# PARSE FAILED #############Malformed "multi" definitionMalformed routine definitionUnable to parse multisig; couldn't find final ')' at /tmp/XbR5VuMhCY line 1:------> multi foo($a,Foo $b) {say 1};multi foo(Bar $a,$b) {sa expecting any of: | ||
..param... | |||
TimToady | hmm | 18:05 | |
I'd've called it legal | |||
ruoso | I'm aware that it is syntatically legal, the question is wether that should raise a compile-time error about ambiguity... | ||
TimToady | if it is known that something must throw an exception at run time, the compiler is allowed to complain | 18:06 | |
ruoso | "you should provide a :(Bar $a, Foo $b) variant to disambiguate" | ||
TimToady | that is official policy | ||
pmurias | TimToady: it *might* throw an exception | ||
TimToady | in which case you could warn, but it should compile | 18:07 | |
jnthn | It's only ambiguous for a given set of args. | ||
TimToady | maybe that combination is known never to occur for other reasons | ||
18:08
aindilis` left
|
|||
ruoso | so the compiler could warn "choosing ambiguous variant :(Bar $a, $b) to have a higher priority in multi foo" | 18:08 | |
and we get a flat list of variants | 18:09 | ||
but then we won't get an runtime exception | |||
pmurias | calling with a Bar,Foo should result in a ambiguous dispatch exception | ||
jnthn | Ugh, no. | ||
pmurias: Right, agree. | |||
TimToady | I think warping the run-time semantics like that would be evil | 18:10 | |
ruoso | I'm trying to get the list of variants to be completely resolved at compile-time | ||
pmurias | ruoso: we could do it either with an Array of Array or way jnthn suggest only with undef/false instead of a nasty NULL | ||
TimToady | however, if there's some indication that missing generics should be autogenerated, that'd be different | ||
ruoso | the compiler could then "generating :(Bar $a, Foo $b) variant as Ambiguous Dispatch Exception" | 18:11 | |
s/could/could generate a warn/ | |||
TimToady | ruoso: it is complete resolved--you know at compile time that some of them fail | ||
ruoso | so the compiler can generate the list of failing candidates | ||
TimToady | to get Lisp-like semantics, we could have "use multi :bias<left>" or some such | 18:12 | |
pugs_svn | r25309 | pmurias++ | [mildew] unbroke mildew a bit more | 18:13 | |
jnthn | pmurias: NULL is just a C representation of undef ;-) | ||
TimToady | but I'd rather the standard language keep multis symmetrical | ||
NULL is not C. C really only knows about 0 | |||
:) | |||
pmurias | ruoso: we might have to generate quite a lot of variants in the worst case | ||
jnthn | No, no, that was BCPL :-P | ||
jnthn votes to leave multi-dispatch as it is specified, at least for Perl 6.0.0. | 18:14 | ||
It's quite enough. | |||
And we know it's implementable. :-) | |||
ruoso | ok ok ok... | ||
moritz_ | jnthn: we know it's implementable without lazy lists. With lazyness we can't be sure yet :/ | 18:15 | |
jnthn | I don't see how lazy lists come into it? | 18:16 | |
ruoso | I was actually just trying to make the multi dispatch as static as possible | ||
moritz_ | jnthn: you might have to dispatch not-yet-evaluated argument lists as lazy as possible | ||
ruoso | since almost everything is a multi in Perl 6 | ||
pmurias | ruoso: most of the multiness should be optimised out | 18:17 | |
ruoso | pmurias, so do you plan to have an AoA, and when find a viable candidate, check if this sub-section has another valid candidate, is it? | 18:18 | |
and in that case, it's an ambiguous dispatch | |||
I think that might be static enough | 18:19 | ||
literal | www.lostechies.com/cfs-filesystemfi...BB5162.jpg | ||
pmurias | ruoso: yes | 18:20 | |
ruoso: and i'm thinking of using a c-style-for like loop instead of a destructive list iteration with .shift | 18:22 | ||
ruoso | does a c-style-for have the same semantics as the regular for? | ||
pmurias | for (int i=0;i<10;i++) {...} | 18:23 | |
pugs_svn | r25310 | lwall++ | failure of parallelism in headings | ||
pmurias | loop (my $i=0;$i<@foo.elems;$i++) {...} in perl6 | ||
literal | why not for (0..@foo.end) { } ? | 18:24 | |
pmurias | infix:<..> is a multi | 18:25 | |
when implementing Multi we need to use lowlevel stuff | |||
ruoso | and for (...) has lazy semantics | ||
literal | I see | ||
ruoso | pmurias, oh... I wasn't aware of that... that should be absolutely fine | 18:26 | |
pugs_svn | r25311 | lwall++ | [t] smartlink unbreakage | ||
pmurias | it would be loop (my $i=0;$i.infix:<< < >>(10);$i = $i.infix:<+>(1)) {...} actually | 18:28 | |
ruoso | ugly, but not incorrect | 18:29 | |
18:29
aindilis joined
|
|||
TimToady | loop (my $i = 0; CORE::infix:«<»($i,10); $i = CORE::infix:<+>($i)) maybe | 18:31 | |
pmurias | TimToady: int's don't have an .infix:<+> method? | 18:32 | |
moritz_ | infix ops are subs | 18:33 | |
TimToady | the method syntax would simply be translated to the sub call | ||
you might want an explicit sig to select a particular multivar | |||
18:34
Psyche^ joined
|
|||
pmurias | TimToady: how should selecting a particular multivar look like? | 18:34 | |
TimToady | loop (my $i = 0; &CORE::infix:«<»:(Int,Int).($i,10); $i = &CORE::infix:<+>:(Int).($i)) maybe | 18:35 | |
18:35
legis joined
|
|||
TimToady | and, of course, for those you might just make handy aliases | 18:36 | |
18:36
Patterner left,
Psyche^ is now known as Patterner
|
|||
TimToady | loop (my $i = 0; intlt($i,10); $i = intinc($i)) or whatever | 18:36 | |
hmm, missing an arg in the previous infix:<+>... | 18:37 | ||
18:37
mikehh left
|
|||
ruoso | TimToady, I was assuming infix:«<»(int, int) was defined as a multi method with is export | 18:39 | |
not as a plain sub | |||
18:40
jan_ joined
18:41
schmalbe joined
|
|||
TimToady | well, an only sub is fundamentally faster to call than a method | 18:42 | |
ruoso | not on SMOP ;) | ||
is"&infix:«<»:(Int,Int)" the actual name of the variable in the | 18:44 | ||
s/in the/ | |||
18:45
Casan joined
|
|||
ruoso | meaning... does declaring a multi variant always additionally declares this longer name "as string"? | 18:45 | |
ruoso coffee& | 18:46 | ||
std: multi foo(Int $i) {...}; foo:(Int).(1); | 18:47 | ||
p6eval | std 25311: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/4RLUlqlXoq line 1:------> multi foo(Int $i) {...}; foo:(Int).(1); expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop | ||
..terminator w... | |||
ruoso | hmm... I guess this form requires the & | ||
std: multi foo(Int $i) {...}; &foo:(Int).(1); | |||
TimToady | don't know why that would work any better :) | 18:48 | |
p6eval | std 25311: OUTPUT«ok 00:03 45m» | ||
TimToady | I guess I don't know everything :) | ||
ruoso | std: multi foo(Int $i) {...}; foo:(Int)(1); | 18:49 | |
p6eval | std 25311: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/xOCfcXJ8ug line 1:------> multi foo(Int $i) {...}; foo:(Int)(1); expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop | ||
..terminator wh... | |||
diakopter | not yet, anyway | ||
TimToady | std: multi foo(Int $i) {...}; &foo:(Int)(1); | ||
p6eval | std 25311: OUTPUT«ok 00:03 45m» | ||
TimToady | yeah, I think the :() sig modifier is only defined on & | ||
ruoso | is that expected? | ||
TimToady | it's modifying a routine name as a noun | 18:50 | |
ruoso | I mean... is it expected for it to have it defined only in & | ||
TimToady | when the parser sees bare foo, it's already thinking of it more as a verb | ||
ruoso | oh right | ||
makes sense | |||
anyway... | |||
is SomePackace:<&foo:(Int)> valid? | 18:51 | ||
sorry | |||
SomePackace::<&foo:(Int)> | |||
meaning... id '&foo:(Int)' the string name of the variable containing the multi variant? | |||
TimToady | gotta have some name for the individual variant, so probably | 18:52 | |
otherwise it'd be a run-time operator | |||
and that would really like to be static, I think | |||
ruoso | cool... that's an important bootstrapping mechanism | ||
TimToady | and a poor man's &foo just greps out the keys with the appropriate prefix | 18:53 | |
though there needs to be a <&foo> as a key too | 18:54 | ||
ruoso | sure, that is the Multi | ||
TimToady | well, something more to do to STD... | ||
ruoso | but while defining Multi, it's important to be able call an individual variant | 18:55 | |
TimToady | ETOOMUCHCOFFEE & | ||
ruoso | so we can have '&infix:<+>:(int,int)' defined at very low level | ||
araujo | haha | ||
ETOOMUCHTEA & | 18:56 | ||
ruoso | and we can use them where we know we have ints | ||
ruoso coffee for real & | |||
19:01
mikehh joined
|
|||
pmurias | ruoso: is t/return_function.t failing expected? | 19:06 | |
19:08
Casan left
|
|||
moritz_ | rakudo: say 'alive?' | 19:10 | |
p6eval | rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | 19:11 | |
moritz_ | at least parrot built... | ||
rakudo: 1 | 19:13 | ||
p6eval | rakudo b2e7ac: RESULT«1» | ||
TimToady | ruoso: an implementation can define &::('@#$!^%!#$%') if it wants to, so I don't see any problem with your (int,int) form living in the symbol table | 19:14 | |
the question of whether all implementations should do it that way is another matter | |||
19:19
AzureStone left
|
|||
araujo intimidated by that definition | 19:40 | ||
pugs_svn | r25312 | pmurias++ | [mildew] more fixes to work with HEAD STD.pm | ||
19:44
pmurias left
19:46
rodi joined
19:58
schmalbe left
20:16
zostay left
20:17
zostay joined
20:34
hercynium left
20:35
Southen left
|
|||
bacek | perl6: class List is also { method a {}; }; <a b c>.a; | 20:41 | |
p6eval | pugs: No output (you need to produce output to STDOUT) | 20:42 | |
..rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | |||
..elf 25312: RESULT«undef» | |||
bacek | perl6: class List is also { method a { say "HI" }; }; <a b c>.a; | ||
p6eval | pugs: No output (you need to produce output to STDOUT) | ||
..elf 25312: OUTPUT«HI» | |||
..rakudo b2e7ac: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.main: Packfile loading failed» | |||
bacek | rakudo: class List is also { method a { say "HI" }; }; <a b c>.a; | 20:44 | |
p6eval | rakudo b2e7ac: OUTPUT«HI» | ||
moritz_ is amazed that elf does monkeypatching | 20:45 | ||
20:46
rindolf left
21:05
DemoPhreak joined
|
|||
rodi | + | 21:10 | |
ruoso | @tell pmurias return_function.t was supposed to be working... | 21:16 | |
lambdabot | Consider it noted. | ||
21:21
DemoFreak left
21:23
DemoPhreak is now known as DemoFreak
21:33
[particle]1 joined,
ludan joined
21:34
wilx joined
21:36
mberends left
21:38
mj41_ joined
21:45
[particle] left
21:47
mj41 left
|
|||
pmichaud | s1n: tonight at 7, see you there. | 21:48 | |
21:52
Whiteknight joined
22:04
ft left
22:05
ft joined
22:19
frobnitz joined
22:22
legis left
|
|||
pugs_svn | r25313 | moritz++ | [evalbot] change some paths | 22:32 | |
22:34
p6eval left,
p6eval joined
|
|||
moritz_ | rakudo: say 'test' | 22:35 | |
p6eval | rakudo b2e7ac: OUTPUT«test» | ||
moritz_ | @tell masak I've changed the evalbot setup a bit; parrot and rakudo are built in ~/parrot and is rsync'ed to ~/built-parrot if successful | ||
lambdabot | Consider it noted. | ||
22:46
Whiteknight left
|
|||
jnthn | moritz_++ | 22:46 | |
22:48
aindilis` joined
22:52
ejs1 joined
22:53
ludan left
22:55
hanekomu_ joined
23:02
aindilis left
23:12
hanekomu left
23:15
cognominal left
23:18
idemal left
23:20
cognominal joined
23:21
idemal joined,
icwiener_ left
23:24
iblechbot left
23:25
Limbic_Region joined
23:30
mberends joined
23:33
ejs1 left
23:34
skids left
23:46
Tene joined
23:49
Exodist left
|