pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~340 days 'til Xmas Set by mncharity on 16 January 2009. |
|||
froele | is there a perl channel for MUD discussions | 00:00 | |
00:05
_jedai_ left
00:06
|jedai| joined
00:16
ST47 left
00:18
Whiteknight joined
00:22
mtnviewmark joined
|
|||
mtnviewmark | std: [X>>*<<X]<< @a | 00:23 | |
p6eval | std 24953: OUTPUT«############# PARSE FAILED #############Obsolete use of >> to do right shift; in Perl 6 please use +> or ~> instead at /tmp/l8wjqyMqiF line 1:------> [X>>*<<X]<< @a00:05 82m» | ||
mtnviewmark | std: [X>>*<<X] @a | ||
p6eval | std 24953: OUTPUT«############# PARSE FAILED #############Obsolete use of >> to do right shift; in Perl 6 please use +> or ~> instead at /tmp/zLzWsTdPq9 line 1:------> [X>>*<<X] @a00:05 82m» | ||
mtnviewmark | std: [X*X] $a | ||
p6eval | std 24953: OUTPUT«00:07 124m» | 00:24 | |
mtnviewmark | std: [X«*»X] $a | ||
p6eval | std 24953: OUTPUT«Can't locate object method "infix_curcumfix_meta_operator" via package "STD" at STD.pm line 12085.00:05 82m» | ||
mtnviewmark | erk - misspelling! | ||
diakopter | mtnviewmark: do you have an svn account? | 00:27 | |
mtnviewmark | nope | ||
diakopter | want one? | ||
mtnviewmark | would you trust checkins from the likes of me? :-) | ||
diakopter | commit bits are available for the asking | ||
mtnviewmark | hmmm... we'll I'd probably feel better about submitting patches | 00:28 | |
actually - I'd feel better if I got it to build on my machine first! | |||
diakopter | you'll get over that hesitation/reluctance quickly :D | ||
STD.pm is in svn.pugscode.org | |||
(different from where parrot is, and soon also from where rakudo will be) | 00:29 | ||
mtnviewmark | right - i've got that giant checkout | 00:30 | |
00:30
kisu_ left
|
|||
mtnviewmark | if one is working on STD.pm - what is the preferred way to 'check' it? via pugs? | 00:30 | |
mtnviewmark (supposes this is all in the wiki and he should look there...) | |||
diakopter | eh.. | ||
diakopter looks around for TimToady or pmurias or mncharity or ruoso | 00:31 | ||
mtnviewmark | heh | ||
00:33
shinobi-cl left
|
|||
diakopter | mtnviewmark: what userid do you want for svn.pugscode.org; privmsg me your email address | 00:34 | |
froele | Anyone know of performance gains i/o wise perl vs c | 00:43 | |
00:43
kisu joined
00:47
mtnviewmark left
00:48
shinobi-cl joined
00:53
DemoFreak left,
DemoFreak joined
|
|||
shinobi-cl | hi all | 01:01 | |
does anyone knows a resource where i can learn about reading binary files (i.e. a file object reference guide)? | |||
01:04
icwiener left
01:10
DemoFreak left
01:11
DemoFreak joined
01:15
|jedai| left,
|jedai| joined
01:20
Eulalia joined
01:21
Eulalia left
01:22
[particle] joined
01:27
DemoFreak left
01:29
c9s_ is now known as c9s
01:38
[particle]1 left
01:39
kst```` left,
kst```` joined
01:41
|jedai| left
01:42
|jedai| joined
01:54
hercynium joined
02:00
|jedai| left,
|jedai| joined
02:04
km2 left
02:07
alc joined
|
|||
shinobi-cl | does anyone knows a resource where i can learn about reading binary files (i.e. a file object reference guide)? | 02:08 | |
02:12
mtnviewmark joined
02:16
|jedai| left
02:17
|jedai| joined
|
|||
mtnviewmark | ping moritz and/or rhr | 02:19 | |
or really, anyone who knows what the right method for testing changes to STD.pm is | 02:20 | ||
02:21
shinobi-cl left
02:23
aindilis` left
02:24
km2 joined
|
|||
mtnviewmark | ping pmichaud? | 02:28 | |
02:33
jhuni left
02:35
mtnviewmark left
02:37
Infinoid joined,
froele left
02:51
|jedai| left
02:52
|jedai| joined
02:58
Whiteknight left
03:00
|jedai| left,
|jedai| joined
03:06
kisu left
03:21
athenot left
03:22
shinobi-cl joined
03:26
kst```` left
03:33
meppl joined,
kisu joined
03:43
[particle]1 joined
03:46
kst joined
03:47
|jedai| left,
|jedai| joined
04:01
[particle] left
04:03
mtnviewmark joined
04:05
aindilis joined
|
|||
mtnviewmark | anyone here have experience getting the perl5 impl. of perl6 running on Mac OS X? | 04:13 | |
04:19
justatheory left
|
|||
shinobi-cl | just a friendly reminder... New perl6 wiki, at perl6.wikia.com ... BTW, ...dont worry, today is my last day of spamming, i'm just spreading the news :) | 04:21 | |
04:22
shinobi-cl left
04:24
shinobi-cl joined
04:25
_jedai_ joined,
|jedai| left
04:39
sepheebear joined
04:51
|jedai| joined
04:52
_jedai_ left
04:53
kisu left
04:54
araujo left
|
|||
mtnviewmark | oy vey | 04:56 | |
I suppose there isn't going to be any perl5 implementation of perl6 running on my Mac tonight... | |||
04:57
alester joined
05:09
|jedai| left
05:10
|jedai| joined
05:16
shinobi-cl left
|
|||
diakopter | mtnviewmark: I bet tomorrow more will be around | 05:28 | |
mtnviewmark | ah well... actually - I just figured out how to get the evil module that perl6 needs installed | ||
re::engine::TRE -- got it to compile on my mac -- that module has a busted link line! | 05:29 | ||
and have it installed in AcitvePerl's 5.10 installation | |||
COOOL and tryfile just passed STD.pm! | |||
05:37
_jedai_ joined
05:38
|jedai| left
|
|||
mtnviewmark | tada - my first patch: [X»*«X] is now the legal operator it should be | 05:38 | |
05:58
gravity left
06:03
[particle] joined
06:09
[particle]1 left
|
|||
moritz_ | mtnviewmark: test changes with 'make test' | 06:14 | |
mtnviewmark | oh - hey! | 06:15 | |
excellent - diakopter was pushing me to fix the stuff I find, not just report it! :-) | |||
moritz_ | good morning btw ;-) | ||
'make test' just checks if it parses all of the files in t/spec/, not *how* it parses them | 06:16 | ||
mtnviewmark | well - *if* I were to be so bold as to create fixes to STD.pm - is that a sufficient test? | 06:17 | |
moritz_ | not quite, I think | 06:18 | |
btw I saw your mail about .:x and stuff | |||
mtnviewmark | excellent... another one is in the works about metaoperators | 06:19 | |
moritz_ | there used to be methods whose names started with : | ||
mtnviewmark | hope you don't mind my muck raking | ||
moritz_ | like %hash.:exists and .:delete | ||
but I think theses things are now gone | |||
and :exists and :delete are now adverbs on the subscript operator | |||
and file tests like $filename ~~ :e are just ordinary methods like Str.e | 06:20 | ||
mtnviewmark | hmmm... okay, as is the odd .:~^ meaning the dotted version of the prefix operator | ||
06:26
_jedai_ left
06:27
|jedai| joined
|
|||
mtnviewmark | wow, make test is kinda slow.... | 06:30 | |
and yes, I was warned! | |||
std: ~^<<<< $a | 06:31 | ||
p6eval | std 24953: OUTPUT«00:08 126m» | 06:32 | |
mtnviewmark | woot! | ||
06:37
kisu joined
06:40
tmaesaka joined
06:44
ashizawa joined
06:49
hercynium left
06:51
|jedai| left
06:52
|jedai| joined
06:54
namenlos joined
06:57
jhuni joined
|
|||
mtnviewmark | ridiculous missive on spelunking metaops mailed to the list | 06:58 | |
07:04
justatheory joined
07:06
aindilis left
07:07
justatheory left
07:10
namenlos left,
namenlos joined
07:28
km2 left
07:52
alester left
08:09
pbuetow joined,
mtnviewmark left
08:13
tux300181 joined
|
|||
moritz_ | literal: blog.nix.is/tag/perl is a 500 internal server error (found via www.perlfoundation.org/perl5/index.cgi?blogs) | 08:17 | |
08:21
iblechbot joined
08:24
[particle]1 joined
08:25
DemoFreak joined
08:36
pbuetow left
08:42
[particle] left
08:48
jhuni left
09:17
ejs joined
09:49
|jedai| left,
|jedai| joined
10:34
cai joined
10:36
schmalbe joined
10:44
[particle] joined
|
|||
Matt-W | Good morning, #perl6 | 10:46 | |
jnthn | morning Matt-W | ||
moritz_ | Mahlzeit! | ||
jnthn is trying to get auto-threading working | 10:48 | ||
Matt-W | I tried to find out what was going on with the x86_64 miniparrot segfault, but it looked like something you need a pretty intimate knowledge of the code to figure out | 10:49 | |
moritz_ | aye | ||
jnthn | Someone posted a bizzare workaround on the list this morning. | 10:50 | |
Oh no, on the ticket, which got cc'd to the list | |||
Matt-W looks | |||
jnthn | Oh, but he doesn't say which PMC he did that to... :-) | 10:51 | |
Ugh. | |||
moritz_: ping | 10:52 | ||
moritz_ | jnthn: pong | ||
jnthn | hi | ||
10:52
pjcj left,
ruoso left
|
|||
jnthn | I've just (locally) made sub foo($x) { ... } really enforce that $x is an Any | 10:52 | |
And get some failures in spectest in calls to e.g. proclaim now | |||
moritz_ | jnthn: that means test errors | 10:53 | |
jnthn | Should we update the test harness and sprinkle Object in a few places, or what was the test strategy for junctions? | ||
(By that I mean, should junctions ever make it through to Test.pm?) | 10:55 | ||
10:55
masak joined
|
|||
masak | lambdabot: don't tell me about those messages again. | 10:55 | |
Matt-W | Is it still doing that? | ||
jnthn | morning masak :-) | ||
masak | Matt-W: seems not :) | ||
jnthn: ahoj! | 10:56 | ||
Matt-W | masak: not yet, anyway... | ||
moritz_ | jnthn: I'd do the following: in Test.pm use Object, coerce to Bool, and warn if a junction is passed | ||
jnthn | masak: O! Ucil si slovencinu! ;-) | ||
masak | jnthn: well, not enough to answer you, it seems :P | ||
jnthn | It's OK, I feel that way much of the time on #slovakia.pm still. ;-) | 10:57 | |
masak | :) | ||
jnthn | moritz_: OK, will give that a go. | ||
Matt-W | jnthn: so there are things that aren't derived from Any? | ||
jnthn | Matt-W: Namely, Junction. | 10:58 | |
Object is a the top. | |||
Any and Junction derive from that. | |||
Any is the default paramter type, and the default thing any class you write inherits from. | |||
You can of course inherit from Object...if you want to be awkward. :-) | |||
Which is exactly what Junctions are. | |||
masak | class Gumption is Object { ... } | 10:59 | |
Matt-W | Is that because if you pass a Junction to something that's not explicitly expecting one, the autothreading magic is supposed to kick in? | 11:00 | |
jnthn | Right. | ||
masak | aye, | ||
Matt-W | Cool | 11:01 | |
Oh and while I think of it, if I say method foo(Bar|Baz $param) { ... }, does that mean "$param must be either a Bar or a Baz"? | 11:02 | ||
moritz_ | yes | ||
jnthn | Yeah. I'm not sure that we're parsing that in Rakudo yet. | ||
Matt-W | Excellent | ||
it seems to work | |||
I was just checking I was using it right | |||
doesn't work on attributes | |||
11:03
[particle]1 left
|
|||
Matt-W | not sure if it's supposed to | 11:03 | |
jnthn | rakudo: sub foo(Int|Str $x) { say 'ok' }; foo(1); foo("HI"); foo(4.2) | ||
p6eval | rakudo 35740: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "|Str $x) {"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | rakudo: sub f(Int|Str $x) { say $x }; f(1); f("a"); f({ .say}) | ||
Matt-W | hmm | ||
p6eval | rakudo 35740: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 1, near "|Str $x) {"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
Matt-W | maybe it doesn't then :) | ||
jnthn | Yeah, I didn't remember it doing so. | ||
But it should work. | |||
Matt-W | I'm sure I had it working in a method once | ||
I'll check on that when I have a working Parrot again though | 11:04 | ||
jnthn | It's a bit awkward though if you're writing multi-methods. | ||
Matt-W | & | ||
jnthn | Because if you write something like that it's too complex to supply a type for the candidate sorter... | ||
Still gotta work out what to do with the sigil-implied roles in the candidate sorter, mind... Pondering it may all just fall neatly out of parametric roles, or if not can just be an admissibility criteria to consider a candidate or something... | 11:06 | ||
masak | how can it no longer work, if the test suite still passes? | 11:09 | |
11:10
alc left,
ejs left,
ejs joined
|
|||
jnthn | masak: I wasn't aware of it ever working. | 11:10 | |
masak | ah | 11:11 | |
moritz_ | rakudo: multi f($x) { say "Any"}; multi f(&x) { say "code" }; f(-> $y { $y } ); | ||
p6eval | rakudo 35740: OUTPUT«Ambiguous dispatch to multi 'f'. Ambiguous candidates had signatures::(Any $x):(Any x)current instr.: '_block14' pc 80 (EVAL_16:46)» | ||
moritz_ | jnthn: that's what you mean, right? | ||
jnthn | moritz_: Indeed. | ||
spectests welcome. | |||
But I'm still working out how to handle it. | 11:12 | ||
moritz_ | the case with & isn't different from other type constraints, no? | ||
jnthn | You'll get the same with $x vs @x | 11:13 | |
masak | I'd guess it means Callable or something. | ||
jnthn | masak: Yeah, we should be checking for the Callable role. | ||
moritz_ | and if you have sub f(Sub &code), you can make it a junction Sub & Callable | ||
jnthn | No, it's not that easy. | ||
masak | ...which means the same as Sub, no? | ||
moritz_ | masak: in this case yes. In the general ccase no | 11:14 | |
jnthn | Sub &code means &code does Callable and when you call it then it returns a Sub. | ||
masak | moritz_: right. | ||
jnthn | &code is Sub would do what you just suggested. | ||
It's just like Int @array doesn't mean we have something that does Positional and isa Int. | |||
It means it does Positional[Int] | 11:15 | ||
masak 's head spins slightly | |||
jnthn | So I suspect Callable may want to be parametric | ||
masak: Yeah, and it's not on your plate to implement this fun. :-P | |||
Thing is, we *really* need to switch to a Perl 6 prelude. | 11:16 | ||
moritz_ | jnthn: but a sigil without an additional type constraint should be easy, right? | ||
masak | jnthn: that just means I can allow my head to spin while reading this. :) | ||
jnthn | moritz_: it's just a does Positional or does Callable, yes. | ||
Which is why I want all of these to just be parametric. | 11:17 | ||
Because then we just still have one type slot. | |||
As pmichaud pointed out though, Rakudo has to deal somewhat with language inter-op. | 11:18 | ||
Which means that the 'does Callable' check needs to be a bit more special. | |||
The other thing that I'm really running into now, is that we haven't got a Perl 6 prelude yet. | |||
I really, really do not want to write, say, role Array[::T] { ... } in PIR | 11:19 | ||
And, worse, the junction dispatch I'm doing now isn't going to fly for non-built-ins. | 11:20 | ||
erm | 11:21 | ||
I mean, isn't going to work for built-ins that don't have a Perl 6 signature. | |||
Which is something else the Perl 6 prelude would fix. | |||
jnthn stops waffling and gets back to writing code. | |||
11:22
ruoso joined
11:23
ashizawa left
|
|||
pugs_svn | r24954 | moritz++ | [t/spec] simple multi dispatch tests for sigil-implied type constraints | 11:27 | |
11:29
shinobi-cl joined
|
|||
shinobi-cl | hi, just a friendly reminder... | 11:29 | |
new perl6 wiki.. perl6.wikia.com | |||
11:29
shinobi-cl left
|
|||
jnthn | OH HAI UNFRIENDLY REMINDER THAT WE ALL ALREADY KNOW | 11:30 | |
moritz_ | @tell shinobi-cl we appreciate your effort, but please don't spam #perl6. If you want to gain contributors, send a mail to [email@hidden.address] describing your vision | 11:31 | |
lambdabot | Consider it noted. | ||
jnthn | moritz_++ # dimplomatic skills | ||
Matt-W | moritz_: smooth | 11:32 | |
ruoso | Hello! | 11:33 | |
schmalbe | mauke.ath.cx/stuff/poly.html with Perl 6 | ||
Matt-W | Hello ruoso | 11:35 | |
ruoso | jnthn, it sure looks like a bot, I would try to ban him instead of shouting ;) | 11:37 | |
moritz_ | and I lost my op this night :/ | 11:38 | |
jnthn | ruoso: I've not had enough coffee to think that clearly yet. ;-) | 11:40 | |
Matt-W calls the emergency coffee service's helicopter unit | 11:47 | ||
12:12
literal left
12:13
literal joined
12:14
|jedai| left
12:15
literal left,
|jedai| joined
12:20
literal joined
12:26
alc joined
12:30
pmurias joined
|
|||
pmurias | diakopter: ping | 12:31 | |
12:33
orafu left
|
|||
ruoso | hi pmurias | 12:36 | |
pmurias | ruoso: hi | 12:37 | |
12:38
maerzhase joined
|
|||
pmurias | ruoso: re loading the already compilable prelude i think it's a good idea | 12:40 | |
ruoso | pmurias, have you seen that we support named arguments now? | 12:44 | |
:) | |||
we already can load Multi.pm | 12:45 | ||
then we can add a trait_auxiliary:<is> multi in the prelude and install the "is export" variant | 12:46 | ||
then we can compile Return.pm | |||
pmurias | ruoso: does Multi work or only compiles? | 12:48 | |
ruoso | If it doesn't work, it misses only a few things | 12:49 | |
12:50
|jedai| left,
|jedai| joined
|
|||
pmurias | ruoso: do you think just loading Prelude.pm which would in turn load everything else would work | 12:58 | |
ruoso | I'm not sure that will work for everything... but it is certainly an easy way of doing it | 12:59 | |
13:05
[particle]1 joined
13:10
meppl left
13:14
araujo joined
13:15
|jedai| left,
|jedai| joined
|
|||
jnthn | moritz_: proclaim warning when it's passed a junction is going to be rather...noisy. :-) | 13:17 | |
moritz_ | jnthn: rough estimate, how many tests or test files? | 13:22 | |
13:22
orafu joined
|
|||
jnthn | 3-4 test files, maybe 25-30 tests spit it out. | 13:23 | |
so not so bad I guess. | |||
But a bit noisy. | |||
moritz_ | I can take care of it later today or tomorrow | ||
but only if I know which tests complain, which is why I need the warnings | |||
jnthn | OK, cool. | 13:24 | |
I'll leave them warning then. :-) | |||
13:24
[particle] left
|
|||
jnthn | heh | 13:26 | |
ok( $answer == "1 + 9 = 10", "found right answer"); | |||
methinks that should be eq :-) | |||
moritz_ | aye | ||
jnthn | And then autothreading.t passes. | 13:27 | |
moritz_ | jnthn++ | ||
jnthn | Though I rather thing it needs more than two tests. ;-) | 13:28 | |
13:28
masak left
|
|||
jnthn wonders if we have more anywhere else. | 13:28 | ||
moritz_ | jnthn: you can look into the pugs repo, in t/junctions/ or similar, but I doubt that we have many more | 13:29 | |
jnthn | IIRC, it was decided that .pick doesn't exist on Junctions, right? | 13:31 | |
moritz_ | I think os | 13:32 | |
s/os/so/ | |||
pugs_svn | r24955 | jnthn++ | [t/spec] .pick method on Junctions doesn't exist, so get rid of tests for it. | 13:34 | |
13:35
bahaa2008 joined
|
|||
bahaa2008 | hi guys | 13:35 | |
pugs_svn | r24956 | jnthn++ | [t/spec] Correct autho-threading test (did wrong kind of comparrison). | ||
jnthn | oops, typo | ||
hi bahaa2008 | |||
bahaa2008 | i need the ircbot which use perlpugs | ||
#perl6 | 13:36 | ||
moritz.faui2k3.org/en/ilbot | |||
i can't get it from snv | |||
svn ** | |||
moritz_ | why not? | ||
bahaa2008 | jnthn, | 13:37 | |
jnthn | bahaa2008: Why can't you get it from svn? | 13:40 | |
bahaa2008 | [root@server irclog]# svn co svn.pugscode.org/pugs/misc/irclog/ | 13:41 | |
svn: Unrecognized URL scheme for 'svn.pugscode.org/pugs/misc/irclog' | |||
moritz_ | that's weird | ||
bahaa2008: can you checkout other svn repositories? | |||
bahaa2008 | wait a sec | 13:42 | |
jnthn | rakudo: sub foo(::T $x, T $y) { say "ok" }; foo(42, 4.2) | 13:43 | |
p6eval | rakudo 35749: OUTPUT«Parameter type check failed for $y in call to foocurrent instr.: 'die' pc 16088 (src/builtins/control.pir:204)» | ||
bahaa2008 | moritz_, no | ||
moritz_, can you checkout this svn.pugscode.org/pugs/misc/irclog/ | 13:44 | ||
moritz_ | bahaa2008: yes | ||
bahaa2008 | ok i'll check my problem | 13:45 | |
thanks | |||
works now :) | 13:47 | ||
thanks | |||
moritz_ | what did you do to fix it? | 13:48 | |
jnthn | ah, geck, why've I managed to break generic routines... | 13:51 | |
Matt-W | jnthn: did it decide that T should be Int? | 13:52 | |
jnthn | Matt-W: Yes | 13:53 | |
I've broken it in local :-( | |||
Matt-W | Ah | ||
jnthn | Just wanted to make sure current in svn wasn't broken. | ||
Matt-W | So that's correct? Good. I like that. | ||
13:56
|jedai| left,
|jedai| joined
|
|||
jnthn | Yeah | 13:56 | |
Oh, hmm. | |||
14:03
pjcj joined
14:05
|jedai| left
14:06
|jedai| joined
14:09
ZuLuuuuuu joined
14:10
bahaa2008 left
14:19
meppl joined
|
|||
pugs_svn | r24957 | jnthn++ | [t/spec] Few more tests for auto-threading, these ones covering auto-threading of methods. | 14:29 | |
rakudo_svn | r35753 | jonathan++ | [rakudo] Make proclaim accept a junction rather than thread over it, but give a warning; moritz++ for input on how to handle this. | 14:30 | |
14:33
masak joined
|
|||
rakudo_svn | r35754 | jonathan++ | [rakudo] Handling of junction auto-threading for the single dispatch case with positional arguments. Note that it won't work for built-ins written in PIR; those will start working when we switch to a PIR prelude. | 14:40 | |
r35755 | jonathan++ | [rakudo] Add S03-junctions/autothreading.t to the spectests list. | |||
Matt-W | jnthn: did you mean switch to a Perl 6 prelude? | 14:42 | |
masak | maybe a PIR prelude is a precursor to a Perl 6 prelude. | 14:43 | |
moritz_ | 15:32 <@jonathan> gah! | 14:44 | |
15:32 <@jonathan> a Perl 6 prelude!! | |||
from #parrot | |||
masak | :) | 14:45 | |
jnthn | Matt-W: Yes ;-) | 14:46 | |
Fingers moving faster than brain. | |||
14:48
ZuLuuuuuu left
14:51
cai left
|
|||
ruoso | masak, jnthn, I'm about to find out that the "prelude in Perl 6" starts with Multi.pm ;) | 14:53 | |
jnthn | ruoso: Doubt we'll have a Multi.pm. | ||
moritz_ | ruoso: Rakudo implements multi dispatch in C | ||
jnthn is making the multi-dispatcher clueful about junctions at the moment | 14:54 | ||
ruoso | cool.. | ||
Matt-W | jnthn: that's okay, I just wanted to check since I thought we already had a PIR prelude :) | ||
jnthn | Matt-W: Yeah, we do. That's the problem. | ||
masak | in what way is it a problem? | ||
Matt-W | Where are we with the ability to start writing a Perl 6 prelude? | ||
Presumably some ops always have to be PIR or C | |||
else you have nothing to build on | |||
ruoso | jnthn, but does the multi support lexically scoped variants already? | ||
jnthn | ruoso: Not yet. | 14:55 | |
ruoso | that was the reason I wrote it in Perl instead of C | ||
jnthn | Still deciding exactly how to handle that. | ||
masak | Matt-W: tell that to the Scheme programmers. | ||
ruoso | jnthn, you might want to take a look at smop/src-s1p/Multi.pm | ||
14:55
riffraff joined
|
|||
jnthn | ruoso: I could have not written it in C too, but I'm working within the Parrot way of doing stuff, with a view to language inter-op. | 14:56 | |
ruoso: Multi.pm - neat, but doesn't do the candidate sorting etc yet. :-) | 14:58 | ||
But certainly should get you enough to do Test.pm etc. | |||
riffraff | hi | ||
jnthn | hi riffraff | 14:59 | |
masak | hello riffraff | 15:00 | |
15:01
|jedai| left
15:03
|jedai| joined,
alester joined
|
|||
ruoso | I see... | 15:03 | |
although I don't see much how multi can interop with other languages | |||
jnthn, one thing I'm doing that I'm not sure is reasonable is to provide a "perfect match" control exception when calling ACCEPTS on the signatures... | 15:04 | ||
once a signature say "this is a perfect match" it stops looking for candidates and use it | |||
moritz_ | ruoso: does that work with tie-breaking subset types? | ||
ruoso | jnthn, yeah... I'm thinking about callign a &+MultiDisambiguate | 15:05 | |
jnthn | ruoso: It's reasonable as a first cut, if you don't want to implement the type narrowness analysis and so topological sort. | ||
ruoso: You need to sort the candidates first, then go through them in that order checking for matches. | 15:06 | ||
ruoso | couldn't I just sort the ones that matched? | ||
jnthn | Maybe, but "does it match" is the wrong thing to consider first. | ||
ruoso | any particular reason? | 15:07 | |
moritz_ | rakudo: subset Small of Int where { 0 <= $_ <= 10 }; multi f(Small $x) { "small" }; multi f(Int $x) { "Int"}; say f(34), f(4) | ||
p6eval | rakudo 35755: OUTPUT«Intsmall» | ||
jnthn | Hmm...maybe you could do it that way... | ||
moritz_ | ruoso: when is a match "perfect"? | ||
ruoso | I'm guessing sorting is harder then matching | ||
jnthn | Yes. | ||
ruoso | (int,int) | ||
jnthn | But the nice thing aobut the Perl 6 algorithm, is that you can sort the candidates once. | 15:08 | |
moritz_ | ruoso: that's a case where perfect isn't good enough | ||
jnthn | And then use that ordering for every match. | ||
*every invocation | |||
ruoso | jnthn, that is certainly a good optimization | ||
jnthn | Which is a good thing since to do the topological sort, you need to do c^2 comparssions. | ||
e.g. compare every sig with every other | |||
To build a DAG. | 15:09 | ||
ruoso | but it requires cache invalidation and stuff | ||
jnthn | And then you topological-sort the DAG. | ||
ruoso | moritz_, why? | ||
jnthn | Yes. | ||
We do invalidate it in Parrot if new candidates come into existence. | |||
Matt-W | A disadvantage of being able to add new candidates at runtime | ||
ruoso | jnthn, considering I'm doing no optimizations at this point... | 15:10 | |
it looks easier to sort later ;) | |||
moritz_ | ruoso: because a matching subset of int is a better match than int itself | ||
ruoso | moritz_, indeed... haven't thought about that... | ||
jnthn | ruoso: I'm not saying the way I've done it in Rakudo is the _only_ way, far from it. | ||
ruoso | and (int,int) vs (Int,Int)? | 15:11 | |
jnthn, sure sure... | |||
jnthn | It's just a way that I am pretty sure will get the right answers (apart from in the one case I know it doesn't...) | ||
But for sure the sorting and the order you consider candidates, and that you only take those of equal narrowness forward to consider against any subtypes, would seem to be important. | 15:12 | ||
I would imagine that in smop your signatures are introspectable though. | |||
So I doubt it'll be too hard. | |||
You only need arity-based dispatch to run Test.pm. | |||
And from what I understand of what you have now, it'll handle that fine. | 15:13 | ||
pmurias | ruoso: we need sorting in order for multis to work properly so (Foo) will be used instead of (Object) | 15:15 | |
but i wouldn't care about adding new candidates at runtime | |||
15:18
masak left,
donaldh joined,
ejs left
|
|||
ruoso lunch & | 15:19 | ||
jnthn | Whee. Auto-threading on multis. | ||
Oooh, and we can stick it in the dispatch cache... | 15:21 | ||
15:21
icwiener joined
15:25
[particle] joined
15:29
simcop2387 left,
masak joined
15:31
simcop2387 joined
15:32
[particle]1 left
15:34
runnerup joined,
runnerup left
15:36
|jedai| left,
|jedai| joined
15:41
ruoso left
15:43
pmurias left
|
|||
rakudo_svn | r35759 | jonathan++ | [rakudo] Make auto-threading work in the multi-dispatch case. | 15:50 | |
moritz_ | rakudo: multi f(Int $x) { say "Int $x" }; muti f(Str $s) { say "Str $x" }; f(1|"a") | ||
p6eval | rakudo 35758: OUTPUT«Statement not terminated properly at line 1, near "(Str $s) {"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | rakudo: multi f(Int $x) { say "Int $x" }; multi f(Str $x) { say "Str $x" }; f(1|"a") | ||
p6eval | rakudo 35758: OUTPUT«No applicable candidates found to dispatch to for 'f'current instr.: '_block14' pc 94 (EVAL_17:47)» | ||
jnthn | moritz_: Think bot is not updated yet. | 15:51 | |
Locally that lives | |||
Int 1 | |||
Str a | |||
15:51
bahaa2008 joined
|
|||
moritz_ | I CAN HAZ UPDATE? | 15:52 | |
rakudo: multi f(Int $x) { say "Int $x" }; multi f(Str $x) { say "Str $x" }; f(1|"a") | |||
p6eval | rakudo 35759: OUTPUT«Int 1Str a» | ||
moritz_ | jnthn++ | ||
bahaa2008 | moritz_, where i can get ibot dependencies ? | ||
15:52
jhorwitz joined
|
|||
moritz_ | bahaa2008: from search.cpan.org | 15:53 | |
there are a few ones that are not yet listed | |||
Bot::BasicBot, Text::Table for example | 15:54 | ||
15:56
|jedai| left
15:57
|jedai| joined,
ruoso joined
|
|||
pugs_svn | r24958 | jnthn++ | [t/spec] A bunch of tests for junctional dispatch with multi-subs (with the end result that it's now way more tested than single dispatch...) | 15:59 | |
rakudo_svn | r35760 | pmichaud++ | [rakudo]: spectest-progress.csv update: 290 files, 6352 passing, 0 failing | 16:00 | |
16:02
alc left,
km2 joined
|
|||
jnthn | pmichaud: ping | 16:02 | |
16:07
riffraff left
16:10
vixey joined
16:16
stephenlb joined
16:17
bahaa2008_ joined
16:21
|jedai| left
16:22
|jedai| joined
16:26
rindolf joined
16:31
|jedai| left,
schmalbe left,
|jedai| joined
16:34
bahaa2008 left
16:36
Casan joined
|
|||
pugs_svn | r24959 | jnthn++ | [t/spec] Tests for junction auto-threading and named parameters - fudged those in the multi dispatch case since we're failing them at the moment. | 16:38 | |
moritz_ | perlbot: karma jnthn | ||
perlbot | Karma for jnthn: 120 | ||
moritz_ | perlbot: karma jonathan | ||
perlbot | Karma for jonathan: 300 | ||
rakudo_svn | r35762 | jonathan++ | [rakudo] When we had a multi foo() rather than a multi sub foo() we didn't call !SIGNATURE_BIND nor did we set the block type to Sub. Fix that. | 16:40 | |
16:50
shinobi-cl joined
|
|||
shinobi-cl | hi | 16:51 | |
lambdabot | shinobi-cl: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
16:52
shinobi-cl left
|
|||
jnthn | moritz_++ | 16:53 | |
moritz_ | :) | ||
lambdabot++ | |||
16:55
mtnviewmark joined
|
|||
bahaa2008_ | moritz_, what is this error irclog.bahaa.biz/cgi/ ?? | 17:01 | |
Can't locate IrcLog.pm in @INC (@INC contains: lib /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl .) at index.pl line 8. | 17:02 | ||
BEGIN failed--compilation aborted at index.pl line 8. | |||
moritz_ | bahaa2008_: it means that you haven't copied IrcLog.pm to somewhere where Perl can find it | ||
afk & | |||
17:03
Infinoid left
|
|||
bahaa2008_ | this line contains | 17:03 | |
use IrcLog qw(get_dbh); | |||
mtnviewmark | morning, moritz_ | 17:04 | |
masak | mtnviewmark: good evening, mtnviewmark. | 17:05 | |
mtnviewmark | I was wondering - does raduko or pugs make use of STD.pm? | ||
masak | no. | ||
Rakudo chases it, though. | |||
mtnviewmark | okay - so really, if propose changes to STD.pm then there isn't much more to do besides run the parse tests | 17:06 | |
so -- I should prepare a patch, run those tests, then perhaps e-mail them to? | |||
the mailing list? | |||
masak | sounds good to me. | 17:07 | |
mtnviewmark | (sorry, I just want to be sure of the protocol) | ||
masak | of course. | ||
mtnviewmark | thanks - later | ||
masak | no-one has ever proposed patches to STD.pm before, AFAIK. | ||
mtnviewmark | oh? there are other committers | ||
bahaa2008_ | moritz_, it this also debendicy Can't locate Cache/FileCache.pm ? | 17:08 | |
mtnviewmark | does that just mean I'm mentally warped beyond all hope? | ||
masak | mtnviewmark: no, just that you have something you can contribute. :) | 17:09 | |
mtnviewmark | thanks! | ||
okay - must run to a haircut! laters for real this time | |||
17:09
mtnviewmark left
|
|||
masak | :) | 17:10 | |
17:14
ZuLuuuuuu joined
17:15
pbuetow joined
|
|||
moritz_ | bahaa2008_: yes | 17:16 | |
bahaa2008_ | fixed first one | 17:18 | |
comes to second :) | |||
moritz_ | well, you need to install all those dependencies about which it complains | 17:19 | |
bahaa2008_ | moritz_, where it sould be perl5/site_perl or per5/5.8.8 ?? | 17:20 | |
should make test come with no errors ? | 17:22 | ||
moritz_ | bahaa2008_: I just create a dir lib/ on the same level as where the scripts are, and put it there | ||
bahaa2008_ | ok | ||
moritz_ | oh wait, what are you talking about? | ||
bahaa2008_ | u mean in cgi ? | 17:23 | |
or level above | |||
sorry for all this questions | |||
i'm a newbi :( | |||
moritz_ | maybe my irclogs aren't the best for you, then | 17:24 | |
since I have only one installation, I never really cared about installation routines or so | |||
bahaa2008_ | ok | ||
no problems | |||
moritz_ | rakudo: my @numbers = [9, 23, 88]; say @numbers.elems | ||
p6eval | rakudo 35762: OUTPUT«1» | ||
bahaa2008_ | i'll solve my problems | ||
moritz_ | rakudo: my @numbers = [9, 23, 88]; say @numbers.last | 17:25 | |
p6eval | rakudo 35762: OUTPUT«Method 'last' not found for invocant of class 'Perl6Array'current instr.: 'parrot;P6metaclass;dispatch' pc 119 (src/classes/ClassHOW.pir:95)» | ||
bahaa2008_ | and back with results :) | ||
pugs_svn | r24960 | jnthn++ | [t/spec] Unfudge now-passing tests for module export. | ||
17:27
PZt joined
|
|||
pugs_svn | r24961 | jnthn++ | [t/spec] Unfudge result of collateral fixage of the A::b() calling problem. | 17:28 | |
rakudo_svn | r35763 | jonathan++ | [rakudo] Fix say A::b() to actually call A::b. | 17:30 | |
17:31
icwiener left
17:36
|jedai| left
17:37
|jedai| joined
17:41
broquaint left,
ruoso_ joined
17:43
ZuLuuuuuu left
17:44
rindolf left
17:45
[particle]1 joined
17:51
ruoso left
17:52
ruoso_ is now known as ruoso
|
|||
bahaa2008_ | moritz_, i almost get it work | 17:53 | |
small error | |||
17:53
rindolf joined
|
|||
bahaa2008_ | Can't read configuration in database.conf: No such file or directory | 17:54 | |
where it should be | |||
put | |||
ruoso | jnthn, at which point do you autothread? is it in the signature binding? or in the capture creation? | 17:55 | |
jnthn | ruoso: In the signature binding. | ||
I don't see how you could do it in the capture creation, since the signature you're binding against may have a parameter of type Junction or Object. | 17:56 | ||
Unless we mean different things by "in the capture creation" :-) | |||
bahaa2008_ | moritz_, done :) | 17:57 | |
installed :) | |||
ruoso | so, inside Signature.ACCEPTS | ||
sorry | |||
Signature.BIND | |||
or isn't that delegated to the signature yet? | |||
I'm trying to figure out a sane way of implementing that in SMOP, but still haven't found much | |||
jnthn | We have a signature binding routine. | 17:59 | |
I do it in there. | |||
17:59
|jedai| left
|
|||
jnthn | It's pretty much equivalent to calling a Signature.BIND though. | 17:59 | |
18:00
donaldh left,
|jedai| joined,
donaldh joined
|
|||
ruoso | jnthn, so the binding is not done by the signature object... | 18:00 | |
18:01
sepheebear left
|
|||
jnthn | jnthn: Yes. | 18:01 | |
ish :-) | |||
(Partly, in co-operation with Parrot's calling conventions.) | 18:02 | ||
18:02
[particle] left
|
|||
ruoso | (sorry, I'm having huge lag around here) | 18:02 | |
jnthn | All of the type-related data is contained in the Signature object. | ||
And we use that to do all of the checks etc. | |||
ruoso | ok... that gives you a bit more control about it | ||
jnthn | Yes. | 18:03 | |
moritz_ | perl6: my @a = [1, 2, 3]; say @a.elems | ||
p6eval | pugs, rakudo 35764: OUTPUT«1» | ||
..elf 24961: OUTPUT«3» | |||
ruoso | in SMOP, in order to help bootstrapping, the binding is made inside the Signature object | ||
I was planning for it to autothread... but I'm still unsure on how to make them join | |||
later | |||
18:04
ryanc joined
|
|||
jnthn | We run a junction dispatcher, which in takes care of building up the return junction. | 18:05 | |
And it hands back the value, and the signature binder does a return, to hand that back. | |||
(Since the binder is written in PIR, we then just fall back out of the original sub that was called.) | |||
(As in, Perl 6 level sub.) | 18:06 | ||
ruoso | jnthn, right, so the binding calls the actual sub... | 18:09 | |
bahaa2008_ | is cgi module for perl make cache | ||
if so how to clear this | |||
jnthn | ruoso: Right. | ||
Since we need its lexical scope. | |||
ruoso | ok... | 18:10 | |
jnthn | (At least, it's easier that way.) | ||
ruoso | in SMOP the BIND call receives the scope where it populates the data | ||
then BIND returns | |||
jnthn | A scope exists before it's entered in SMOP? | ||
ruoso | and the sub is called | 18:11 | |
yes... it's a regular object | |||
jnthn | OK | ||
Thing is, the BIND call is going to fail to bind. | 18:13 | ||
So you can catch that and try auto-threading there? | |||
ruoso | you can create as many as you like ;) | ||
jnthn, hmmm... a control exception... | 18:15 | ||
that might help | |||
ControlExeptionJunctionBind | |||
that indeed solves the problem... | 18:16 | ||
jnthn++ | |||
because it then can extract the members of the Junction, and call BIND again for each possible value... | |||
jnthn | Aye. | 18:17 | |
So long as these various non-spec control exceptions don't leak out, should be fine. | |||
(Because Rakudo does it differently, so one wouldn't exist.) | |||
ruoso | the question is: Which is the API for the Signature object/ | 18:18 | |
? | |||
18:18
ryanc left
|
|||
jnthn | So far ours just has a .perl and a .params. | 18:19 | |
Where .params hands back and array of hashes | |||
Each hash describing the parameter. | |||
But that's non-spec yet. | |||
And maybe isn't really what we'd want to spec. | |||
e.g. a Parameter object may be cleaner... | |||
18:19
|jedai| left
|
|||
jnthn | I expect we'll have a .of/.returns/.as too. | 18:20 | |
ruoso | SMOP currently works with BIND(\$capture,$scope) | ||
18:20
|jedai| joined
|
|||
jnthn | $sig.BIND(...) | 18:20 | |
I suspect that doesn't want to be spec. | |||
Maybe make it a private. | |||
(That's the path we've followed in Rakudo.) | 18:21 | ||
ruoso | and the Signature knows how to bind itself... | ||
we have a S1P AdHocSignature type | |||
where we compile the signature to the equivalent perl code that would populate that lexical scope | |||
jnthn | We should probably extra the commonalities betwen that and the Rakudo one and get something into the spec. | ||
*extract | 18:22 | ||
ruoso | there's a fundamental question here, which is: | 18:23 | |
is the binding code internal to the signature object or external to it? | |||
SMOP makes it internal, Rakudo seems to make it external | 18:24 | ||
jnthn | I think we can leave that as something for implementations to choose. | ||
ruoso | but you realize that is mostly incompatible | ||
jnthn | We only have a compability problem with the stuff that goes in the spec. | 18:25 | |
And that is visible. | |||
We can quite easily declare that signature objects don't have a public BIND method. | |||
moritz_ | $lhs := $rhs # works for me independently on how it's implemented | 18:27 | |
jnthn | Right. | ||
ruoso | that means that implementing custom Signature objects will always be implementation-specific | 18:29 | |
considering "Signature" is just a role, as every other built-in type | 18:30 | ||
custom Signature objects looks like something tempting to be done... | |||
jnthn | I think - certainly for Perl 6.0.0 - that's quite managable. | ||
The easy things should be easy. The hard things should be possible. | |||
ruoso | I'm fine with that, as long as we make it clear ;) | 18:31 | |
jnthn | Works for me. | ||
ruoso | and maybe we can even detail that a bit more... | 18:32 | |
like... | |||
the implementation is free to choose this path or this path... this path should look like this | |||
and that path should look like that | |||
jnthn | Perhaps. | 18:33 | |
But since Rakudo's path is at least somewhat innevitably going to be tied up with Parrot's calling conventions, I fear that path may end up impractical for anything that's not a Perl 6 implementation on a very Parrot-ish VM. :-) | 18:34 | ||
ruoso | and maybe having a $scope object available independently of the scope being entered yet is too much SMOP specific | 18:35 | |
jnthn | I think so. | ||
I'm not quite sure, how we'd (easily) handle that on Parrot. | 18:36 | ||
18:38
kisu_ joined
18:44
kisu left
18:45
Psyche^ joined,
_jedai_ joined
18:46
|jedai| left
18:54
bahaa2008_ is now known as bahaa2008
19:02
Patterner left,
Psyche^ is now known as Patterner
|
|||
diakopter | ruoso: around? | 19:03 | |
ruoso | diakopter, hi | ||
diakopter | I got tools/ri to work on windows by commenting out the use IO::* and switching it to use IPC::Run3 instead of IPC::Open3 | 19:04 | |
so, past that step | |||
ruoso | cool | 19:05 | |
diakopter | also, setting it to use filenames from the command line instead of using shell redirection | ||
though I don't know if that was a necessary part of the solution | |||
so, now, on to diagnosing why scons thinks I have cl | 19:07 | ||
19:09
rindolf left
19:10
bahaa2008 left
19:11
|jedai| joined
19:12
_jedai_ left
|
|||
diakopter | chromium uses scons? okay. | 19:12 | |
ruoso | diakopter, I'm not sure I'll be able to help you much... I don't even know what "cl" is ;) | 19:16 | |
moritz_ | "common lisp"? | 19:17 | |
19:18
bahaa2008 joined
|
|||
ruoso | moritz_, I doubt, considering he's trying to compile a c file | 19:18 | |
19:19
jrockway left
19:20
jrockway joined
|
|||
meppl | good night | 19:27 | |
diakopter | yeah, it's odd... considering 'cl' is in none of the c_compilers arrays in Scons/Tool/__init__.py | 19:28 | |
19:29
meppl left
19:30
|jedai| left,
|jedai| joined
19:31
VieQ joined
|
|||
VieQ | hello moritz_ | 19:31 | |
I just wanted to ask you , are you running your bot through irssi | |||
or what? | |||
moritz_ | VieQ: no | 19:32 | |
just plain 'perl ilbot2.pl bot.conf' | |||
VieQ | checking | ||
19:34
bahaa2008 left
19:36
VieQ left
|
|||
diakopter | ruoso: got further with: env = Environment(tools = [ 'gcc' ], ENV = os.environ) | 19:42 | |
ruoso | cool | ||
can you compile it? | 19:43 | ||
diakopter | now it can't find pthread.h | ||
hmm, where did I put that | |||
ruoso | inside "program files"? ;) | 19:44 | |
ruoso hides... | |||
diakopter | :) | 19:45 | |
19:48
jhuni joined
|
|||
diakopter | ruoso: okay, now it can't find dlfcn.h | 19:57 | |
ruoso | hmm... | ||
who is including that? | |||
moritz_ | on Debian that's in pacakge libc6-dev | 19:58 | |
diakopter | build\loader.c:8:19: dlfcn.h: No such file or directory | 19:59 | |
ruoso | ohkay | 20:00 | |
that's dlopen | |||
what's the equivalent for dlopen in windows? | |||
I think you're going to need ifdefs there | 20:01 | ||
diakopter | found one | 20:02 | |
www.texmacs.org/cgi-bin/cvsweb.cgi/...web-markup | |||
ruoso | ouch | 20:03 | |
20:05
|jedai| left
20:06
|jedai| joined,
[particle] joined
|
|||
diakopter | ruoso: ouch? | 20:07 | |
ruoso | having to put all those pieces together sounds painfull | 20:08 | |
diakopter | #include <windows.h> | 20:12 | |
#define DLOPEN_MODE LOAD_WITH_ALTERED_SEARCH_PATH | |||
#define dlopen (path, mode) (void *)LoadLibraryExA (path, NULL, DLOPEN_MODE) | |||
#define dlsym (handle, name) (void *)GetProcAddressA ((HINSTANCE)handle, name) | |||
#define dlclose (handle) FreeLibraryA (handle) | |||
diakopter downloads the 1335MB Vista/2008 Platform SDK | 20:14 | ||
ruoso | wow | ||
jnthn | Welcome to the wonderful world on Win32 development. | ||
pugs_svn | r24962 | jnthn++ | [t/spec] Unfudge auto-threading of named arguments in multiple dispatch tests, which now pass. | 20:15 | |
jnthn | OK, that's 50+ passing spectests won today, and junction auto-threading working for both single and multiple dispatch, with positional and named arguments. | 20:17 | |
jnthn goes to deal with $REALLIFE tasks for a bit. | |||
moritz_ | jnthn++ | 20:18 | |
rakudo_svn | r35771 | jonathan++ | [rakudo] Handle auto-threading of named arguments correctly. (The named ones that passed in the single dispatch case seem to have done so as a result of a Parrot bug; this gets them passing for real and also handles the multi-dispatch case.) | 20:20 | |
20:20
maerzhase left
20:21
nihiliad joined
20:23
[particle]1 left
20:37
jhuni left
|
|||
ruoso | diakopter, I should warn you that you need libpcl also | 20:39 | |
and libperl | |||
pugs_svn | r24963 | moritz++ | [t/spec] avoid autohreading through ok() | ||
20:41
|jedai| left
20:42
|jedai| joined
|
|||
moritz_ | jnthn: you're my hero. Yesterday I talked with a journalist about writing a Perl 6 tutorial, focusing on subs and Junctions - it would have been a pity not to demonstrate autothreading ;-) | 20:42 | |
20:42
bahaa2008 joined
20:46
ruoso left
|
|||
pugs_svn | r24964 | moritz++ | [t/spec] avoid autothreading through ok() in three test files | 20:50 | |
jnthn | moritz_: Welcome. :-) | ||
moritz_: Just remember that built-ins won't auto-thread yet. | |||
(built in subs and methods, that is) | |||
moritz_ | jnthn: I know | ||
jnthn | But hopefully that's not far off. | 20:51 | |
21:01
|jedai| left,
|jedai| joined
21:09
bahaa2008 left
21:18
justatheory joined
21:24
Juerd joined
|
|||
Juerd | Hi. I'm looking for a sysadmin for feather. Someone who knows their stuff and wants to work with users. (No BOFH.) | 21:25 | |
I estimate that doing a good job would involve at least two days to fix the current mess, and then half a day every fortnight. | 21:26 | ||
diakopter | current mess? | 21:27 | |
Juerd | Yes | ||
diakopter doesn't dare ask for more details | |||
moritz_ | things like incredible_ugly_hack_to_restart_apache? | ||
Juerd | There's no documentation of what runs on feather, who maintains that part, etc. | ||
At least no complete info. | 21:28 | ||
Updates and upgrades are done highly irregularly | |||
diakopter | or all the user-compiled apaches and such listening on tons of ports | ||
Juerd | Mail has been broken for ages. | ||
diakopter: Every user-specific thing is okay :) | |||
diakopter | oh | ||
Juerd | There's things on feather1 that should run on feather2 because they're important. | ||
diakopter | I send a SIGHUP to commitbit every so often; that seems to make it responsive again | 21:29 | |
while we're naming things | |||
Juerd | My list of things to name isn't even complete. | ||
I've neglected feather for so long. | 21:30 | ||
I've only done incident recovery | |||
diakopter | well, don't blow it away yet... there are some local code customizations that Infinoid and I need to retrieve | ||
Juerd | And the occasional dist-upgrade | ||
Oh, no, feather needs to continue to exist | |||
It's used and it runs several useful services | 21:31 | ||
21:31
Chillance joined
|
|||
diakopter wonders when runpugs was utilized last | 21:31 | ||
Juerd | 10 irssis run on feather right now. | ||
diakopter | dalek and SVN::Web are good to have, but I'd be glad to host them elsewhere (if even temporarily) | 21:32 | |
Juerd | feather is making IRC easier for at least 10 people. Don't underestimate the importance of good irc access. | ||
moritz_ | svn info misc/runpugs/ | ||
Last Changed Date: 2007-10-21 | |||
Juerd | diakopter: You don't have to worry that feather goes away. It won't. | ||
diakopter | Juerd: I just mean in case you need to migrate stuff, or have downtime | ||
Juerd | I intend to keep feather for at least another year, and probably longer. | 21:33 | |
diakopter: There's no immediate problem | |||
diakopter: I'm just looking for someone to take over my job because I can't do it properly. | |||
I love Perl 6 and want my company to keep supporting it. But I myself just lack tuits of every shape. | 21:34 | ||
So if anyone has a bag of round tuits, please let me know if you want to do sysadminning :) | |||
diakopter | the problem with my round tuits is that they're arranged on Hanoi posts, and the small ones seem to get a lot more attention than the big ones. | 21:38 | |
Matt-W | my tuits are all triangular | ||
masak | my tuits are very small and too short. :/ | 21:40 | |
moritz_ | masak: glad that I see you... S29 has the nice List.classify method... which says it returns a lazy list | 21:41 | |
do you see any sense in that? | |||
21:41
|jedai| left
|
|||
masak | moritz_: in the laziness? | 21:41 | |
moritz_ | right | ||
masak | infinite lists? | ||
maybe not... | 21:42 | ||
masak goes to read S29 | |||
Matt-W | wooo | 21:43 | |
21:43
|jedai| joined
|
|||
Matt-W | miniparrot didn't segfault!! | 21:43 | |
moritz_ | well, it *could* have a lazy gatherer for each classification result | ||
masak | moritz_: I don't see any other way to interpret it. | 21:44 | |
that .classify method (and the examples that come with it) has always seemed highly magical to me. | |||
it's one of those cases where you ask for a banana and Perl 6 gives you a high-powered laser gun. | 21:45 | ||
moritz_ | if not for the lazyness, it'd be very easy actually | ||
masak | aye. | ||
jnthn | I didn't ever ponder how it handled laziness. | 21:46 | |
It did seem rather cool though. | |||
masak | I've never had the need for it yet. | ||
(at least not that I know of) | |||
jnthn | I once implemented something similar in C# 3 as a demonstration of various new features. It wasn't as clean as the Perl 6 one though. ;-) | ||
pasteling | "moritz_" at 91.10.148.145 pasted "non-lazy List.classify" (10 lines, 176B) at sial.org/pbot/34583 | 21:47 | |
masak | moritz_++ # actual code! | 21:48 | |
masak scratches head | |||
Matt-W tries to get his head around what .classify actually does | |||
moritz_ | that doesn't work right now, because it relies on autovivification of arrays | ||
masak | moritz_: a smartmatch inside a hash key? | ||
moritz_ | masak: why not? | 21:49 | |
masak | moritz_: sure, why not... but what does it do? :) | ||
sets the key to a Match object? | |||
moritz_ | masak: in the common case, $matcher is just a sub | ||
masak: so it will just use the return value as hash key | |||
masak | $matcher? | ||
oh, in S29. | 21:50 | ||
moritz_ | erm, $test | ||
masak | aye. | ||
nice. | |||
moritz_ | but it also works for Regexes, and boolean operators (where it classifies by True/False) | ||
masak | do gather and hashes work together? | ||
moritz_ | don't think so | 21:51 | |
masak | why not? | ||
moritz_ | hashes are essentially eager data structures | ||
masak | if the hash is seen as a list of pairs... | ||
moritz_: ah, true... | |||
a hash is 'flat' in a very real sense. | |||
Matt-W | oooh that's wha tit does | ||
cunning | |||
yes much harder with laziness | |||
masak | I still can't quite picture how to do it with the laziness. :) | 21:52 | |
moritz_ | neither can I | ||
masak | you need some kind of special list type that re-initiates the classifying whenever an item beyond the known length of a list is requested. | ||
moritz_ | because when the bind operator looks for named params, it has to travers the whole list (I think) | 21:53 | |
Matt-W | everything I can think of results in the entire result list being evaluated pretty quickly | ||
masak | moritz_: that sounds like a problem... | ||
Matt-W | the moment you look for something that isn't the key of one of the pairs, you've had to completely classify the list... | ||
moritz_ | well, you could for-loop over it | 21:54 | |
masak wonders if known parts of the list can be used in the classification... | |||
moritz_ | masak: NOOOO, don't! | ||
masak | moritz_: too late! o_O | ||
masak gets sucked into an Escher image | |||
pasteling | "moritz_" at 91.10.148.145 pasted "non-lazy List.classify - actually working" (15 lines, 308B) at sial.org/pbot/34585 | 21:56 | |
masak | moritz_: '//' ? | ||
moritz_ | \\ | ||
masak | um, maybe not... | ||
there's a push in the else. | |||
jnthn | %r{$t} //= []; %r{$t}.push: $i; | 21:57 | |
masak | ooh! | ||
Matt-W | that's neater | ||
moritz_ | jnthn: //= doesn't work in rakudo, iirc | ||
jnthn | Oh, yes. | ||
I saw that ticket. | |||
masak | there's a ticket for that :) | ||
moritz_ | rakudo: my $x //= 5; say $x; | ||
Matt-W | moritz_: implement it! | ||
p6eval | rakudo 35772: OUTPUT«get_iter() not implemented in class 'Integer'current instr.: 'prefix:=' pc 20130 (src/builtins/misc.pir:17)» | ||
moritz_ | Matt-W: I'll put it as item 237 on my ever-growing TODO list | ||
masak | that's almost the most common use of // :) | ||
only 237? did it get priority over something else? :) | 21:58 | ||
moritz_ | anyway, I'm trying to write some prelude subs/methods to create more incentive to actually implement that thing | ||
22:00
pmurias joined
|
|||
Matt-W | bed & | 22:00 | |
moritz_ | masak: sure. Like, over bringing that damn letter to the post (which I've been wanting to do for 5 days now) | ||
masak | moritz_: you too? :/ | ||
I always find it a sure sign of bad stress when daily things start to weigh in on me. | 22:01 | ||
22:03
iblechbot left
|
|||
moritz_ | oh, and did I tell you that I know have to write three articles instead of just one for that German it magazine? | 22:05 | |
masak | moritz_: no. why suddenly three? | ||
jnthn | Patch for //= written. | ||
ci after spectest | 22:06 | ||
masak | jnthn++! | ||
22:08
jferrero joined
|
|||
jnthn | I went through RT today. | 22:10 | |
A *lot* of tickets. | |||
masak | that's what I keep saying. | 22:11 | |
you guys have put up no resistance lately. :P | |||
22:16
|jedai| left,
|jedai| joined,
jhuni joined
|
|||
pmurias | 23:00 [ charsbar ] [ hcchien ] [ kolibrie ] [ nothingmuch] [ simcop2387] | 22:18 | |
[A[A[A[A[A23:00 [ charsbar ] [ hcchien ] [ kolibrie ] [ nothingmuch] [ simcop2387] | |||
[A[A[A[A[A23:00 [ charsbar ] [ hcchien ] [ kolibrie ] [ nothingmuch] [ simcop2387] 23:00 [ charsbar ] [ hcchien ] [ kolibrie ] [ nothingmuch] [ simcop2387] | |||
sorry | |||
23:00 [ charsbar ] [ hcchien ] [ kolibrie ] [ nothingmuch] [ simcop2387] | |||
diakopter | pmurias: howdy | 22:19 | |
jnthn gives //= ticket to moritz to get tests | |||
patch ci'd | 22:20 | ||
Have fun. | |||
moritz_ | ack -Q '//=' t/spec/|wc -l | ||
15 | |||
rakudo_svn | r35774 | jonathan++ | [rakudo] Make //= work (but see RT#61880 for discussion on this patch). | ||
jnthn | Cool | ||
moritz_ | I hope autounfuge finds one that now passes | ||
rakudo: my $x //= 3; say $x | 22:23 | ||
p6eval | rakudo 35773: OUTPUT«get_iter() not implemented in class 'Integer'current instr.: 'prefix:=' pc 20130 (src/builtins/misc.pir:17)» | ||
masak | p6eval: you're old hat. | ||
moritz_ | rakudo: my $x //= 3; say $x | 22:24 | |
p6eval | rakudo 35774: OUTPUT«3» | ||
masak | "useless use of //=" :P | ||
moritz_ | rakudo: my %h; %h<foo> //= []; say %h<foo>.WHAT | 22:26 | |
p6eval | rakudo 35774: OUTPUT«Array» | ||
masak | rakudo: my %h; %h<foo>.push(1); say %h<foo>.WHAT | 22:27 | |
p6eval | rakudo 35774: OUTPUT«Method 'push' not found for invocant of class 'Failure'current instr.: 'parrot;P6metaclass;dispatch' pc 119 (src/classes/ClassHOW.pir:95)» | ||
masak | ah -- I cannot will an Array into existence. makes sense. | ||
22:28
[particle]1 joined
|
|||
Juerd | p3rl.org/8440CXVI # draft call for sysadmin announcement; comments please! | 22:28 | |
pugs_svn | r24965 | jnthn++ | [t/spec] Unfudge //= tests, correct descriptions and correct a test. | ||
jnthn | moritz_: A quick look at what was found showed some tests needed review anyway (one was wrong), so fixed and unfudged. | ||
jnthn scores 8 more tests | 22:29 | ||
masak | [particle]1: I've read S19. thanks for pleasant reading. | ||
[particle]1: I have a few comments for when you have time. | |||
moritz_ | jnthn: I was doing the same right now, but too tired and distracted :/ | ||
jnthn | moritz_: Ah, sorry. | 22:30 | |
moritz_ | no problem | ||
I can close the RT | 22:31 | ||
jnthn | moritz_++ | 22:32 | |
moritz_ | going to bed now, hoping for more productivity tomorrow... | 22:34 | |
masak | moritz_: guten nacht. | 22:35 | |
22:35
gravity joined
|
|||
jnthn | schlaft gut | 22:36 | |
masak | dream of lazy junctive closures. | ||
jnthn | Anyone who was having issues on 64-bit platforms with miniparrot segfaulting - Infinoid++ has commited a likely fix. :-) | ||
masak | what's miniparrot? :) | 22:37 | |
jnthn | Something that's part of the Parrot build process. | ||
masak | ah. | ||
jnthn | It was exploding on some platforms. | 22:38 | |
masak | is the definition of an identifier the same in Pod as it is in modern Perl 6, or is it still what S26 says it is? | 22:39 | |
masak guesses the former | |||
jnthn | Not sure. | 22:40 | |
masak | S26 itself indicates that such matters are likely answered in STD.pm -- so I guess I should check there. | ||
nihiliad | Hi! I'm a total n00b and want to get my feet wet contributing to Rakudo, but am unsure where to start, especially given the recent talk of svn/git changes. Help? Suggestions? | 22:43 | |
masak | nihiliad: first off, welcome. | ||
nihiliad | masak: Thanks! | 22:44 | |
masak | nihiliad: there are a number of obvious first stops for volunteers. the test suite. the RT system. | ||
um, the synopses _and_ the test suite. :) | 22:45 | ||
22:45
[particle] left
|
|||
masak | nihiliad: if it's Rakudo itself you'd like to hack on, the road to that goes via patches. there's a document I could dig out for you about getting started on doing Rakudo work. | 22:46 | |
nihiliad | masak: That would be great. I'm interested in hacking on Parrot, too, but thought I'd start with Rakudo and see how that goes. | 22:47 | |
alester | ping pmichaud | ||
avar | Juerd: p3rl.org /S(\d+) needs to be fixed, it points to obsolete dev.perl.org links now | ||
masak | nihiliad: hm, www.parrotcode.org/docs/gettingstarted.html | ||
nihiliad: hold on, I'll get more. | |||
svn.perl.org/parrot/trunk/languages/perl6/README | 22:48 | ||
svn.perl.org/parrot/trunk/languages/perl6/docs/ | |||
Juerd | avar: What are the correct new links? | ||
And why doesn't dev.perl.org get updated? Think of the PR nightmare :( | |||
masak | nihiliad: I can also recommend the #parrot channel at irc.perl.org. people are very helpful there. | 22:49 | |
nihiliad | Dog needs me. brb | ||
masak | Juerd: perlcabal.org/syn/ | 22:50 | |
Juerd: and aye, un-updated stuff sucks. :/ | |||
Juerd | masak: Updated. Thanks. | 22:52 | |
22:53
pmurias left
|
|||
nihiliad | So it appears Rakudo is still in the Parrot repo and hasn't left the nest yet. | 22:54 | |
masak | nihiliad: correct. | ||
nihiliad: people wanted to wait until after the next Parrot release. | |||
because the move might be arbitrarily chaotic. | 22:55 | ||
22:57
melkonem joined
|
|||
Juerd | Where's it moving to? | 22:58 | |
masak | I think that's still not settled. though I'm not sure. | 22:59 | |
the most recent discussion of it I know of is at the p6c list. | |||
Juerd | I see | 23:02 | |
feather2 is available, it just needs an admin :D | |||
23:03
sepheebear joined
|
|||
nihiliad | masak: You said "synopses _and_ the test suite"... I'm guessing this means the synopses need editing? What does the test suite need? | 23:03 | |
masak | Juerd: btw, viklund and I are very grateful for the ability to run November on feather. we're about to do an upgrade soon, to showcase all the changes in the past four months. | ||
nihiliad: I meant that the test suite needs to cover the synopses. thus tests need to be written. | 23:04 | ||
writing tests may sound boring, but it's actually a great way to learn Perl 6, it turns out. | |||
Juerd | masak: If you happen to know a good sysadmin with spare time to fill... :) | ||
masak | Juerd: unfortunately, all the sysadmins I know seem to be very busy people. | 23:05 | |
Juerd | In any case, I keep intending to have a look at November but the tuit problem is everywhere. | ||
nihiliad | masak: Ah, now I get it. I was thinking of start with writing tests anyway. I'll co Parrot and start poking around. Thanks again! | ||
masak | Juerd: tell me about it. | 23:06 | |
nihiliad: np. do co Pugs while you're at it. | |||
Juerd | masak: I would but I should be doing other things :D | ||
masak | haha | ||
nihiliad | masak: Will do. | ||
masak | nihiliad: that's where the test suite's at. | ||
23:07
jferrero left
|
|||
masak is reading S26 | 23:08 | ||
there is much in here that could be profitably applied to u4x. | |||
I also hope to be able to read and review mberends++' Pod parser. | 23:09 | ||
(which could also be profitably applied in the service of u4x) | 23:12 | ||
ok, time to sleep. | 23:16 | ||
23:16
masak left
23:19
pbuetow left
23:30
iblechbot joined
23:34
vixey left
23:43
wknight8111 joined
|
|||
pugs_svn | r24966 | putter++ | [elfparse] Fleshed out category implementation. | 23:45 | |
r24966 | putter++ | Longest tokens are kludged, as that was sufficient for STD_red. | |||
23:53
iblechbot left
23:57
jao joined
|