»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:07
HarryS left,
HarryS joined
00:15
seldon left
|
|||
dalek | kudo/nom: 33633d8 | pmichaud++ | src/core/Backtrace.pm: Revert "do not use a nested class for Backtrace::Frame" This reverts commit 138213ad4c11320b1213716afcfdc05a90141cbe. On my system it causes S02-literals/autoref.t and S02-literals/pairs.t to each run for over two minutes (consuming a fair bit of memory), and halts the rest of the spectest process. |
00:22 | |
kudo/nom: a3cb614 | pmichaud++ | src/core/Rat.pm: Fix relational operators for (Int,Rat). |
00:33 | ||
00:41
preflex left
00:43
preflex joined
01:10
scott___ joined,
Guest46314 left
|
|||
[Coke] | pmichaud: So, I got pugs fudged, but didn't get the per-test comparison started yet. | 01:17 | |
... at least, I thought I did. I see it's still failing 1800 tests. WTF. | 01:22 | ||
colomon | [Coke]: are you seeing a zillion failures in Niecza? (At least, say, a couple dozen more than three or four days ago?) | ||
Coleoid | Hi, #perl6! | 01:31 | |
Can anyone now in-channel advise me on setting up a clean Windows 7 machine to do Rakudo builds? | |||
colomon | Off the top of my head, the only Rakudo guy who runs primarily on Windows is jnthn, and I suspect he's been asleep for a few hours now. | 01:32 | |
benabik | I built it on Win7 using Strawberry Perl... I don't recall needing anything else, although it was a long time ago. | 01:33 | |
Coleoid | Last time I tried to get it all working was a machine I had Strawberry, ActiveState, and built-from source Perls on, and I could never quite get Rakudo to build... :D | 01:34 | |
[Coke] | colomon: +"niecza", 20590, 5, 731, 1465, 22791, 24288 | 01:35 | |
Coleoid | benabik, did you use GCC or Visual Studio, or some other thing? | ||
benabik | Coleoid: I'm pretty sure Strawberry installs GCC. | ||
[Coke] | Coleoid: I have MSVC++ express, strawberry perl, and command line git. | 01:36 | |
... actually, I am not sure if I'm compiling with strawberry or AS. | |||
Coleoid grins. | |||
[Coke] | but my windows box is at work. Ping me tomorrow if you get no resolution. | 01:37 | |
Coleoid | Starts to sound like almost anything should work. | ||
[Coke] | ISTR the MSVC++ express was key. | ||
but it's the kind of thing I setup once, ti worked, then I never touched it again. ;) | |||
colomon: so, only 5 failures. | |||
colomon | [Coke]: so, it's just my system that's hosed. Weird. | 01:38 | |
Errr, reassuring, I guess. | |||
Coleoid | Thanks, [Coke]! I'll hope for an outcome like yours. | 01:40 | |
[Coke] | these pugs failures are weird. I was all green in my sandbox, but then the daily run failed 1800 tests? must be cron related. | ||
01:57
rsimoes left
02:04
tokuhiro_ left
|
|||
dalek | ast: d9800ad | coke++ | S (3 files): pugs fudge |
02:05 | |
[Coke] | so, running it with "env -i" in my normal checkout, I get almost no failures. hurm. | 02:07 | |
02:14
lue joined
02:15
sisar joined
|
|||
diakopter | Coleoid: I'm pretty sure mine is compiled with solely strawberry. (parrot, nqp, and rakudo). I just added strawberry\c\bin, strawberry\perl\bin, and strawberry\perl\site\bin to my path. it uses gcc and gmake | 02:22 | |
I have visual studio installed too but hadn't run vcvarsall (to add it to the path) when building those things. | 02:27 | ||
02:28
vlixes joined
02:38
zhutingting joined
|
|||
[Coke] | I wonder if someone is killing pugs processes. :P | 02:44 | |
dalek | c: 02b6d4e | lue++ | .gitignore: Modify .gitignore to ignore emacs' *~ backup files. |
02:45 | |
c: 60a108d | lue++ | lib/Instant.pod: [Instant] Add Instant.pod Just some basic information on Instants, what I could gather from S02 and S32::Temporal. |
|||
c: c0352f6 | lue++ | lib/Duration.pod: [Duration] Add Duration.pod Somewhat brief, again using information from S02 and S32::Temporal. |
|||
c: 02812fb | lue++ | lib/Instant.pod: [Instant] Add link to Duration page Now Instant contains a link to Duration as well as vice-versa. |
|||
c: 79ea374 | lue++ | TODO: [TODO] Remove Instant and Duration from "missing" list. They both may be a bit short, but certainly not missing anymore. |
|||
02:45
cognominal_ left
|
|||
02:50
xinming left
02:51
xinming joined
|
|||
[Coke] is still confused by the pugs failures in the daily run on feather. weird. | 02:53 | ||
02:57
adu joined
03:12
scott___ left
|
|||
pmichaud | I've been wanting to figure out how to make a Windows build.... now seems like a good time :) | 03:12 | |
03:12
scott__ joined
|
|||
dalek | p: 2452100 | pmichaud++ | src/QAST/Compiler.nqp: [qregex]: Force a fail if cursor starting pos > end of string. |
03:21 | |
03:43
adu left
|
|||
dalek | kudo/nom: 9388218 | pmichaud++ | src/core/Str.pm: Refactor Str.match to be lazier and accept a few more options. |
03:44 | |
kudo/nom: 0a9fb1e | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get latest NQP updates for new match code. |
|||
ast: 7bac3ca | pmichaud++ | S32-exceptions/misc.t: Update a .match failure test. |
03:45 | ||
03:50
cognominal joined
|
|||
dalek | c: c9b8604 | moritz++ | lib/Duration.pod: [Duration] grammar fix, at newline at EOF |
03:54 | |
03:57
vlixes left,
scott__ left
03:58
scott__ joined
04:17
telex left
|
|||
lue remembers that final newlines are preferred in doc | 04:23 | ||
moritz | on UNIX systems in general | 04:24 | |
lue | I forced emacs to not force a newline upon me on save (unless the mode forces it anyway), just so there isn't a "useless" blank line at the end :) /me attempts to find its reason | 04:27 | |
04:28
telex joined
|
|||
dalek | ast: dcd76b9 | pmichaud++ | S05-substitution/subst.t: Unfudge .subst tests using :x(*). |
04:30 | |
kudo/nom: 9315e50 | pmichaud++ | src/core/Str.pm: Restore :x(*) handling suggested by spectests. |
|||
04:31
skids left
04:40
telex left
04:43
telex joined
04:55
sisar left
05:05
cognominal left
05:06
cognominal joined
05:15
mucker joined
05:19
cognominal left,
cognominal joined
05:25
zhutingting left
05:38
simcop2387 left
05:39
quietfantic joined
05:41
simcop2387 joined
05:42
quietfantic left
05:46
birdwindupbird joined
05:50
dduncan joined,
dduncan left
05:53
wtw joined
06:12
sergot joined
|
|||
sergot | hi o/ | 06:12 | |
06:14
nodmonkey left
06:16
nodmonkey joined
06:17
kaleem joined,
kaleem_ joined,
kaleem left,
kaleem_ left
06:18
kaare_ joined
06:26
samlt joined
06:36
sergot left
06:37
kaleem joined,
kaleem left
06:38
kaleem joined
06:42
GlitchMr joined
06:52
sergot joined
07:08
brrt joined
|
|||
dalek | kudo/nom: d8e7b66 | moritz++ | src/core/Backtrace.pm: do not use a nested class for Backtrace::Frame (take 2) mostly so that .WHAT gives the full name Now without infinite recursion in the backtrace printer (contains a workaround for RT #114034) |
07:11 | |
moritz | pmichaud: sorry about the first version of that commit. I had a fix for it locally, and then forgot to commit it, and pushed the unfixed commit :/ | ||
moritz has decided he has had enough of typing rm -rf ~/.perl6/lib ~/.panda ; cd ~/p6/panda; ./bootstrap.sh | 07:23 | ||
now I have small script named 'repanda' that does that, as well as installing the modules I need more often | |||
tadzik | yay! | 07:25 | |
Task::BeLike::Moritz :) | |||
or we could just have a Star meta-module that depends on everything that goes into R* | |||
moritz: would you mind pushing repanda? | 07:26 | ||
moritz | tadzik: it has hardcoded paths, so not very useful | ||
tadzik | I see | 07:27 | |
moritz | gist.github.com/3074789 | ||
tadzik: if we can tell panda to bootstrap into a specific directory (and without downloading), we can use it for star installs | 07:29 | ||
tadzik | did you try DESTDIR with bootstrap? | 07:30 | |
moritz | no; didn't know about that | ||
07:31
kresike joined
|
|||
tadzik | maybe it'd be possible to do something along DESTDIR=/opt/whatever perl6 bin/panda install ./File__Tools ./JSON__Tiny and so on | 07:31 | |
I'll take a closer look when I get back home | |||
kresike | good morning all you happy perl6 people | ||
tadzik | hey hey kresike-y | 07:32 | |
07:34
fgomez left
|
|||
kresike | hello tadzik | 07:35 | |
07:35
fgomez joined,
itz joined
07:37
fhelmberger joined
07:48
am0c_ joined
08:09
zhutingting joined
08:17
kaare__ joined
|
|||
hoelzro | I think I found another bug in Rakudo | 08:19 | |
when I create an IO::Socket::INET with :listen and no :localport, I expect $sock.local_address to return the ephemeral port assigned to the socket | 08:20 | ||
08:20
kaare_ left
|
|||
hoelzro | however, it always seems to return 127.0.0.1:0 | 08:21 | |
moritz | have you tried .localport? | 08:22 | |
hoelzro | moritz: Int() | 08:23 | |
08:25
xdbr joined
|
|||
moritz | hm | 08:25 | |
hoelzro | it seems that Parrot (as of 4.5) doesn't provide an interface to getsockname | 08:26 | |
how often does the Parrot team make a release? | |||
moritz | monthly | 08:27 | |
hoelzro | so if I submitted a pull request to add the required functionality, it could make it into Rakudo Star 2012.07? | ||
moritz | yes | ||
I'd also appreciate a general sanity check of the socket API and implementation in rakudo | 08:28 | ||
08:29
lumi_ joined
|
|||
hoelzro | you mean like some basic tests? | 08:29 | |
moritz | because I've re-done much of it in the transition to nom, but I've never used sockets before | ||
we have some basic tests | |||
which are rather clumsy, because we have neither threads nor non-blocking IO | |||
so we need to spawn a separate process etc. | |||
hoelzro | I see | 08:30 | |
diakopter | moritz: aren't threads coming soon? | ||
moritz | diakopter: yes. And they have been for half a year :-) | 08:31 | |
hoelzro | christmas, right? =P | ||
moritz | well, parrot's threads branch was mostly "done" by end of last year | 08:32 | |
... on linux | |||
and since then has been slowly ported to windows too | |||
08:35
mucker left
08:39
dakkar joined
|
|||
moritz | fun task for anyone wanting to help rakudo: change all mentions of the u4x documentation project to point to doc.perl6.org or perlgeek.de/blog-en/perl-6/2012-doc....writeback instead | 09:02 | |
09:17
am0c_ left
09:22
mikemol left
09:26
aindilis joined
|
|||
jnthn | morning! :) | 09:28 | |
moritz | \o jnthn | ||
09:29
HarryS left
09:30
HarryS joined,
HarryS left,
HarryS joined
09:37
mikemol joined
09:40
thou left
|
|||
arnsholt | Hee hee hee. Knowing about LD_PRELOAD was actually useful today =D | 09:48 | |
moritz | arnsholt: what evil hack did you do? | 09:55 | |
monkey-patch some broken routine? | |||
arnsholt | I wrote some bogus syscalls so that the Spotify for Linux client looks for its files in my ~ instead of in /usr/share/spotify | 09:57 | |
(I don't have root on my work desktop, so I had to install it to my homedir) | |||
It's a pretty evil hack, but the upside is of course that it works =D | 09:58 | ||
09:58
am0c_ joined
10:03
scott__ left
10:08
cj joined
|
|||
arnsholt | jnthn: In re: repr_get_attr_int not knowing about sizes, the problem is that we want to avoid making an introspection call to get the type and stuff every time we go through the op, no? | 10:16 | |
jnthn | arnsholt: Right. I suspect we need some kind of REPR API change here. | 10:19 | |
10:20
Psyche^ joined
|
|||
arnsholt | Makes sense, yeah | 10:23 | |
10:23
Patterner left,
Psyche^ is now known as Patterner
|
|||
arnsholt | Adding something like attribute_type to REPROps_Attribute perhaps? | 10:26 | |
CStruct at least has a list of member types, so in that case it'd be pretty simple | 10:27 | ||
jnthn | Well, but that probably boils down to a kind of introspection too. | ||
arnsholt | Troo | ||
Looking at repr_at_pos_int it looks like that's what happens in that case | 10:29 | ||
Of course arrays only have one type inside | |||
jnthn | Yeah; I'm not too comfortable with the way repr_at_pos_int does its thing either. | 10:32 | |
10:33
brrt left
|
|||
arnsholt | Hmm. In that case, I suppose other options are changing the return value of at_pos_ref from INTVAL* to INTVAL, or adding an output parameter that writes back either the appropriate box_func or the number of bits in the type | 10:52 | |
10:58
BigBear joined
|
|||
jnthn | The latter is along the right lines, but endianness will make that sutble. | 11:00 | |
*subtle | |||
11:00
spider-mario joined
|
|||
arnsholt | Gah. Didn't think about that | 11:01 | |
11:02
sisar joined,
JimmyZ joined
11:03
gfldex joined
|
|||
masak | g'day, #perl6 | 11:14 | |
masak is on a very slow connection today, presumably because some parts of Sweden are under water | |||
hoelzro | is there a way to open a class and replace an existing method? | 11:15 | |
tadzik | augment may be what you are looking for | 11:16 | |
JimmyZ | ^add_method | 11:19 | |
hoelzro | well, I can open the class with augment | ||
but adding the method fails | |||
augment class IO::Socket::INET { method localport { ... } } | |||
masak disappears again | 11:22 | ||
JimmyZ | r: use MONKEY_TYPING; augment class IO::Socket::INET { method localport { ... } } | ||
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===You tried to augment class IO::Socket::INET, but it does not existat /tmp/rzKSYUrBgF:1» | ||
JimmyZ | well, may be a bug | ||
r: use MONKEY_TYPING; augment class Any { method localport { ... } } | |||
p6eval | rakudo d8e7b6: ( no output ) | ||
hoelzro | I'm using MONKEY_TYPING | 11:23 | |
Package 'IO::Socket::INET' already has a method 'localport' (did you mean to declare a multi-method?) | |||
that's what I get | |||
11:25
GlitchMr42 joined
|
|||
JimmyZ | r: use MONKEY_TYPING; augment class IO::Socket { method localport { ... } } | 11:26 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===You tried to augment class IO::Socket, but it does not existat /tmp/DMn7pgwf48:1» | ||
JimmyZ | r: use MONKEY_TYPING; augment class IO { method localport { ... } } | ||
p6eval | rakudo d8e7b6: ( no output ) | ||
11:27
GlitchMr left
|
|||
hoelzro | IO shouldn't have a localport method | 11:28 | |
11:31
sisar left
|
|||
moritz | note that everything IO-related is bound to break on p6eval | 11:31 | |
because it hides the "real" IO class, and replaces it with a mostly empty class | 11:32 | ||
r: say IO.^methods(:local) | |||
p6eval | rakudo d8e7b6: OUTPUT«» | ||
moritz | r: say OUTER::IO.^methods(:local) | 11:33 | |
p6eval | rakudo d8e7b6: OUTPUT«eager elems end classify uniq infinite flat hash list lol pick roll reverse sort values keys kv pairs Array grep first join map min max minmax push tree unshift postcircumfix:<[ ]> at_pos all any one none postcircumfix:<{ }> at_key reduce FLATTENABLE_LIST FLATTENAB… | ||
tadzik | r: class A { method b { "be" } }; use MONKEY_TYPING; augment class A { multi method b { "ce" } }; A.new.b.say | 11:36 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Cannot have a multi candidate for 'b' when an only method is also in the package 'A'» | ||
moritz | I think replacing methods only works via mixins | 11:37 | |
tadzik | and then it's per-object, not per-class, right? | 11:42 | |
11:42
GlitchMr42 is now known as GlitchMr
|
|||
moritz | you can do something like | 11:50 | |
my $old-io = IO; | |||
my IO := $old-io but role { ... } | |||
maybe you can, dunno | |||
or maybe my constant IO = ...; | |||
afk | |||
11:52
brrt joined
11:59
fglock joined
|
|||
pmichaud | good morning, #perl6 | 12:01 | |
12:01
_ilbot left
12:02
Coleoid left
|
|||
pmichaud | DBI connect('database=moritz5;host=localhost','moritz',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at lib/IrcLog.pm line 30 | 12:02 | |
:-( | |||
12:02
_ilbot joined
12:03
sergot left
|
|||
pmichaud | moritz: ^^ | 12:05 | |
jnthn | pmichaud: Curious, what URL are you trying to get at? | 12:09 | |
It seems to work for me... | |||
pmichaud | okay, it just worked for me now also. | 12:13 | |
the url I use(d) is irclog.perlgeek.de/perl6/today | |||
12:31
jaldhar left
12:34
am0c_ left
12:38
atrodo joined
12:47
spider-mario_ joined,
spider-mario left
12:54
xinming left
12:56
mucker joined
12:59
PacoAir joined
13:02
mnuklop joined
|
|||
mnuklop | perl6: say "test" for 1 .. 10; | 13:05 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«testtesttesttesttesttesttesttesttesttest» | ||
mnuklop | perl6: say [+] for 1 .. 10; | 13:06 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«0000000000» | ||
mnuklop | perl6: $qq = [+] for 1 .. 10; say $qq | 13:07 | |
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Variable $qq is not predeclared at /tmp/Qt032rayWt line 1:------> <BOL>⏏$qq = [+] for 1 .. 10; say $qqVariable $qq is not predeclared at /tmp/Qt032rayWt line 1:------> $qq = [+] for 1 .. 10; say… | ||
..rakudo d8e7b6: OUTPUT«===SORRY!===Variable $qq is not declaredat /tmp/uDNJlAMN_V:1» | |||
mnuklop | perl6: my $qq = [+] for 1 .. 10; say $qq | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«0» | ||
colomon | what are you trying to do? | 13:08 | |
[Coke] | r: say [+] 1..10 | ||
p6eval | rakudo d8e7b6: OUTPUT«55» | ||
mnuklop | perl6: 2.78 ~~ 10 +- 3 ?? 't' !! 'f' | 13:11 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: ( no output ) | ||
mnuklop | perl6: say (2.78 ~~ 10 +- 3 ?? 't' !! 'f' ) | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«f» | ||
colomon | rn: say (10 +- 3).perl | 13:17 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«7» | ||
colomon | ah | ||
13:21
xinming joined
|
|||
JimmyZ | r: sub infix:<+->( $a, $b ) { $a + $b }; say (10 +- 3).perl | 13:22 | |
p6eval | rakudo d8e7b6: OUTPUT«13» | ||
JimmyZ | rn: sub infix:<+->( $a, $b ) { $a +- $b }; say (10 +- 3).perl | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«(timeout)» | 13:24 | |
13:28
skids joined
|
|||
JimmyZ | bug? | 13:30 | |
tadzik | hehe | 13:31 | |
PEBKAC, I think :) | |||
what did you expect? | |||
rn: sub foo { foo }; foo | 13:32 | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«(timeout)» | ||
tadzik | I think that's quite a logical behaviour | ||
JimmyZ | I don't know, may be error info | 13:33 | |
pmichaud | Locally I get | 13:35 | |
> sub infix:<+->($a, $b) { $a +- $b }; say (10 +- 3).perl | |||
maximum recursion depth exceeded | |||
...so, it gives error info :) | 13:36 | ||
afk | |||
JimmyZ | :) | 13:37 | |
arnsholt | jnthn: Actually, if get_attr returns a pointer to the correct memory location and the correct number of bits, wouldn't "*(correctly_sized_type *) ptr" work regardless of big- or little-endian? | 13:38 | |
jnthn | arnsholt: That could work but I'm worried about concurrency. | 13:40 | |
arnsholt: I think it has to be out-parameter style. | |||
arnsholt | Yeah, that's the only way I can see it working | ||
Return value is a pointer, and adding and "INTVAL *bits" arg that gets set appropriately | 13:41 | ||
13:50
bluescreen10 joined
13:52
mnuklop left
13:55
spider-mario joined,
spider-mario_ left
14:07
samlt left,
jaldhar joined
14:09
kaleem left,
fgomez left
14:18
samlt joined
14:24
sjohnson left
14:29
samlt left
14:34
cognominal left
14:36
cognominal joined
14:39
cognominal left,
cognominal joined
14:43
daxim joined
14:45
BaggioKwok joined
14:50
plobsing left
14:55
spider-mario left,
spider-mario joined
15:04
cognominal_ joined,
cognominal left
15:07
sftp left
15:08
sftp joined,
jaldhar left,
GlitchMr left
15:11
brrt left
|
|||
kresike | bye all | 15:14 | |
15:14
kresike left
15:18
birdwindupbird left
15:20
tokuhiro_ joined
15:25
thou_ joined
15:32
thelazydeveloper joined
15:34
BaggioKwok left
15:36
tokuhiro_ left,
tokuhiro_ joined
15:38
JimmyZ left
15:41
tokuhiro_ left
15:55
lue left
16:00
wtw left
16:05
driador joined,
fhelmberger left
16:08
brrt joined,
lue joined
16:12
brrt left
16:18
Coleoid joined
16:19
zhutingting left
16:20
sudokode left,
fglock left
16:24
kaleem joined
16:34
kaleem left
16:48
GlitchMr joined
16:58
dakkar left
17:04
crab2313 joined
17:08
birdwindupbird joined
17:25
BigBear left
|
|||
sorear | good * #perl6 | 17:41 | |
shachaf | Good ★ | ||
colomon | \o | 17:43 | |
moritz | o/ | 17:45 | |
17:49
Coleoid left
18:01
am0c left
18:14
MayDaniel joined
|
|||
dalek | c: 6b6713f | moritz++ | / (2 files): document Backtrace |
18:22 | |
18:29
mucker left
18:38
samlt joined
|
|||
[Coke] | .u ★ | 18:39 | |
phenny | U+2605 BLACK STAR (★) | ||
18:40
sjohnson joined
18:41
birdwindupbird left
|
|||
pmichaud is realizing that he likes Github's issue system more than RT. | 18:42 | ||
jnthn | huh, the star shows up white on my screen :P | 18:47 | |
moritz | here too | ||
jnthn | pmichaud: I'm not sure a migration would be a particular win. But I have been fairly happy with Github issues for various things. | 18:48 | |
diakopter sees a box :< | |||
jnthn: what font? | |||
jnthn | Get a better font! :P | ||
pmichaud | jnthn: yeah, I'm not fond of a migration. | ||
jnthn | Courier New, of all things :) | ||
pmichaud: phew :) | |||
pmichaud | I just know that I keep running into icky things when using RT. | ||
18:48
rsimoes joined
|
|||
pmichaud | like, it doesn't display unicode properly. | 18:48 | |
diakopter | hm, with Courier New it's still a box | 18:49 | |
18:49
sjohnson left,
sjohnson joined
|
|||
pmichaud starts refactoring the List/Parcel class again, expects huge numbers of test failures | 18:49 | ||
ooooh, and a segfault! | 18:50 | ||
moritz | that's what branches are for :-) | ||
pmichaud | yes, I'm in a branch for this one. | ||
jnthn | æ–‡å—化㑠| ||
pmichaud | I keep trying things and then doing "git checkout ." to restore back, though :) | ||
jnthn | :) | ||
jnthn wonders where the segfault came from | 18:51 | ||
dalek | c: 46abb31 | moritz++ | lib/Instant.pod: [Instant] mention package type in TITLE |
18:52 | |
sorear | hello jnthn :) | ||
moritz | seems our pod parser doesn't like files that don't end in a newline | 18:53 | |
I have big sympathy for that | |||
jnthn | hi, sorear | 18:54 | |
Grrr. So the next thing QAST needs is...figuring out what replaces the exception stuff. | |||
moritz | I guess that one's going to be pretty vm specific, no? | 18:55 | |
jnthn | moritz: I'd like to try and get something that isn't... | ||
pmichaud | I'd hope it wouldn't be too vm-specific at the QAST level, at least externally. | 18:56 | |
18:56
BigBear joined
|
|||
moritz | r: say try { die 'foo' } | 18:57 | |
p6eval | rakudo d8e7b6: OUTPUT«foo in block <anon> at /tmp/1xQfXmdO6L:1» | ||
moritz | that one is supposed to return Nil, not the exception | ||
speaking of exception stuff :-) | |||
jnthn | pmichaud: Right. | ||
18:59
moukeddar joined
|
|||
sorear | o/ moukeddar | 18:59 | |
moukeddar | \o/ guys, how are you doing ? | ||
diakopter | at least some of us are great! | 19:00 | |
moukeddar | sounds good :) | ||
jnthn just eated a bunch of blueberries, which was pretty great. | 19:01 | ||
19:01
vmspb joined
|
|||
moukeddar | they're expensive a believe jnthn | 19:01 | |
moritz | jnthn: now Ronja is jealous | 19:02 | |
:-) | |||
jnthn | Ooops :) | ||
moukeddar: So's everything else in Sweden :P | |||
moukeddar | i stumbled upon an article about fractals, that's crazy what a simple equation can make | 19:03 | |
19:05
spider-mario left
|
|||
moukeddar | anyone tried fractals before? | 19:06 | |
moritz | yes | ||
quite tasty :-) | |||
pmichaud | mine had too much powered sugar on them. :-/ | ||
*powdered | |||
moritz | moukeddar: I'm especially fond of the statistical method for creating a sirpinski triangle | ||
you just start with the three corners of a triangle, and a random point in the plane | 19:07 | ||
benabik remembers programming that on his TI-82. | |||
sorear | en.wikipedia.org/wiki/Chaos_game ? | 19:08 | |
moritz | and then you randomly pick one of the corners, and place a new point halfway between that corner and the old point | ||
iterate starting from the new point | |||
sorear: yes | |||
moukeddar | first time to hear about this type, so far i read about mandelbrot set | 19:09 | |
arnsholt | Is the Mandelbrot script still being hacked on? | 19:11 | |
moritz | it serves as a benchmark, of sorts | ||
arnsholt | Cool. It's been a while since I heard anything about it, so I wasn't sur if it was still active | 19:12 | |
moukeddar | it's quite expensive in term of computing | 19:13 | |
arnsholt | Yup. That's why it's one of the benchmarks for numerical stuff | 19:14 | |
moukeddar | guys, what data structure would you recommend to study? binary trees, stacks, queues etc.. ? | 19:15 | |
sorear | ALL OF THEM | 19:16 | |
start with this: www.soi.city.ac.uk/~ross/papers/FingerTree.pdf | |||
moukeddar | ALL OF THEM? | 19:20 | |
shouting? reminds me of a scene in "Leon the professional" | |||
www.youtube.com/watch?v=DcsirofJrlM , around 1:50 ;) | 19:23 | ||
19:25
daxim left
19:29
REPLeffect joined
19:30
cognominal joined
19:32
GlitchMr left,
cognominal_ left
|
|||
moritz | r: my %h; say %h.WHAT; my &c; say &c.WHAT | 19:36 | |
p6eval | rakudo d8e7b6: OUTPUT«Hash()Any()» | ||
moritz | nr: my %h; say %h.WHAT; my &c; say &c.WHAT | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«Hash()Any()» | ||
moritz | why is the default Any, when it's type-constrained to Callable? | ||
nr: my &c; &c = &c; | |||
p6eval | rakudo d8e7b6: OUTPUT«Type check failed in assignment to '&c'; expected 'Callable' but got 'Any' in block <anon> at /tmp/7miTJj0Js5:1» | ||
..niecza v19-13-g442e075: ( no output ) | |||
moritz | n: my &c; &c = 5; say &c | 19:37 | |
p6eval | niecza v19-13-g442e075: OUTPUT«5» | ||
jnthn | hah | ||
moritz: Good quesiton. | |||
*question | |||
moritz | jnthn: should it be a Callable type object? | ||
sorear | 'because apparently it's not' | ||
jnthn | moritz: I seem to recall some past discussion on this... | ||
I can't remember anything of what was said though :( | 19:38 | ||
I guess we can try changing it to Callable and seeing that happens :) | |||
moritz: In Actions.pm there's a container_type_info | 19:39 | ||
There's a branch for & sigil which has the line: | |||
%info<default_value> := $*W.find_symbol(['Any']); | |||
Which is easily changed. :) | 19:40 | ||
moritz | ok :-) | ||
n: my Callable $c = 5 | 19:41 | ||
p6eval | niecza v19-13-g442e075: OUTPUT«Potential difficulties: $c is declared but not used at /tmp/60DLyyFodz line 1:------> my Callable ⏏$c = 5Unhandled exception: Nominal type check failed for scalar store; got Int, needed Callable or subtype at /tmp/60DLyyFodz line … | ||
19:41
moukeddar left
|
|||
dalek | p/toqast: ffcadc6 | jnthn++ | src/QAST/Compiler.nqp: Implement contextual scope. |
19:43 | |
p/toqast: 2b6d5b7 | jnthn++ | src/QRegex/P6Regex/Actions.nqp: Teach P6Regex's buildsub about QAST. |
|||
kudo/toqast: 3595580 | jnthn++ | src/QPerl6/World.pm: Fix END handling, to win back another test. |
19:45 | ||
19:47
birdwindupbird joined
|
|||
moritz | is it correct that my @a = 1, 2, 3; coerces the RHS? | 19:48 | |
sorear | I would not call that coercion | 19:49 | |
It's a list assignment | |||
more like my @a; for 1, 2, 3 { @a.push($_) } | |||
moritz | jnthn: "Method 'signature' not found for invocant of class 'Callable'" after stage past during compiling the setting (with s/Any/Callable/ in the & default) | 19:50 | |
jnthn | Hmm. | 19:51 | |
moritz | current instr.: 'nqp;Perl6;Metamodel;RolePunning;_block3122' pc 33660 (src/gen/perl6-metamodel.pir:14544) (src/gen/Metamodel.pm:1191) | 19:52 | |
19:52
thou_ left
|
|||
moritz | called from the optimizer | 19:52 | |
jnthn | I wonder what pan the role | ||
Oh! | |||
Weird. | |||
Can you push it to a branch? I can investigate it at some point. | |||
moritz | willdo | ||
pmichaud | r: my &c; say &c.of | 19:54 | |
p6eval | rakudo d8e7b6: OUTPUT«No such method 'of' for invocant of type 'Any' in block <anon> at /tmp/TbYJ3obfSR:1» | ||
jnthn | pmichaud: On PAST::Node we had a .unique(...) thingy | ||
pmichaud: I didn't put it in QAST. Shall I? | |||
masak | 'ev'n, #perl6 | ||
jnthn | (as in, any reason not to...) | ||
dalek | kudo/callable-default-value: b0912ac | moritz++ | src/Perl6/Actions.pm: change &c variables to default to a Callable type object blows up in the optimizer while compiling the setting |
||
pmichaud | if you don't need it, don't put it :) | ||
moritz | \o masak | ||
jnthn | pmichaud: Well, I just hit a bit of code that wants it to be there :) | 19:55 | |
pmichaud | it was strictly a convenience method for generating unique ids | ||
if you need it, then put it :) | |||
jnthn | pmichaud: Well, we could put it elsewhere. ;) | ||
pmichaud: But if it doesn't bother you having it on QAST::Node, it wfm :) | |||
pmichaud | the other place it can often reasonably go is QAST::Compiler | ||
jnthn | Yeah... | 19:56 | |
pmichaud | (indeed, PAST has one on each, iirc) | ||
jnthn | That's not immediately to hand though. | ||
So on QAST::Node is certainly convenient. | |||
pmichaud | so, just refactor "unique id generation" to wherever makes the most sense. | ||
::Node is fine. :-) | |||
jnthn | k | ||
pmichaud | you can also create a special QAST::<mumble> type to handle it, if you wish. | ||
20:01
benabik left,
alester joined,
spider-mario joined
|
|||
jnthn | pmichaud: We have lots of variables called $past :) | 20:05 | |
pmichaud: I'm pondering we may wish to rename 'em. | 20:06 | ||
masak .oO( the past jokes are all in the... oh wait ) | |||
pmichaud | I'm fine with them either way | ||
jnthn | pmichaud: Maybe just $ast :) | ||
masak | +1 | ||
parses faster, too :P | |||
masak .oO( $t ) | 20:07 | ||
jnthn | So that when we do, rast, sast, tast, etc ;) | ||
.oO( Eventually, wee loop around, and finish on $last ) |
|||
pmichaud | zast! | ||
jnthn | *we | ||
masak .oO( Perl 7 uses BAST and if you're nice we'll tell you about all the versions that led up to it ) | |||
pmichaud | wast would just be a waste | ||
masak | *groan* | 20:08 | |
pmichaud | vast is too big | ||
masak | please stop! | ||
:) | |||
pmichaud | yast is already taken, I bet :) | ||
jnthn | nast is just nasty | ||
20:08
fridim_ joined
|
|||
masak | yast is a fungi. | 20:08 | |
jnthn | fast would work :P | ||
pmichaud | I'm not sure about east. | ||
masak | *lol* | ||
at last, it's time to stop. | 20:09 | ||
pmichaud | masak is the mast-er | ||
masak | I think we're way *past* mast-ery. | ||
dalek | p/toqast: 171f251 | jnthn++ | src/QAST/Node.nqp: Implement QAST::Node.unique. |
||
masak .oO( meh, I can't be aast ) | |||
20:10
bluescreen10 left
|
|||
masak | orka! | 20:10 | |
geekosaur a-gast | |||
masak | phenny: sv en "Orka!" | ||
phenny: sv en "Orka!"? | |||
phenny | masak: "Orka !" (sv to en, translate.google.com) | ||
masak | meh. | ||
jnthn | It couldn't be bothered to translate it. | ||
masak | :P | ||
20:13
crab2313 left
20:15
samlt left
|
|||
dalek | kudo/toqast: 9c3235c | jnthn++ | src/QPerl6/Actions.pm: Fix a mis-translation. |
20:15 | |
kudo/toqast: 8903cfe | jnthn++ | src/QPerl6/ (2 files): Eliminate one more pirop usage. |
|||
c: 933934b | moritz++ | htmlify.pl: [htmlify] release a bit of memory when we can |
20:17 | ||
c: 30231bc | moritz++ | lib/variables.pod: [variables] expand scope talk about variables in general, not just special variables. Adds a section about sigils, and explain the * twigil |
|||
20:19
benabik joined
|
|||
pmichaud | moritz: the section saying "Assignment to C<%> and C<@>-sigiled variables ..." is a bit misleading. In reality, it's assignment to $-variables that is special cased. | 20:20 | |
assignment to arrays and hashes is just normal list assignment | 20:21 | ||
moritz | well, "normal" depends on your perspective | ||
item assignment is what users of most programming languages know | |||
20:22
MayDaniel left
|
|||
moritz | but I'm open to suggestions on how to clarify it | 20:22 | |
maybe | |||
"there are two types of assignment, item assignment and list assignment" | |||
is list assignment specced to call .STORE? | 20:23 | ||
pmichaud | so far it's up to the implementation to decide how to handle it | ||
but assignment to a hash replaces the hash entries with the values from the list on the rhs | |||
sorear | niecza calls a method named LISTSTORE | 20:24 | |
pmichaud | and assignment to a array replaces the array elements with the values from the list on the rhs | ||
moritz | r: my @; say @a.WHICH; @a = 1, 2, 3; say @a.WHICH | ||
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Variable @a is not declaredat /tmp/7nOfK9Ge63:1» | ||
sorear | passing the right side as a single parcel argument | ||
moritz | r: my @a; say @a.WHICH; @a = 1, 2, 3; say @a.WHICH | ||
p6eval | rakudo d8e7b6: OUTPUT«Array|-1112061954Array|-1112061954» | ||
sorear | n: my @a; @a does role { method LISTSTORE(\rhs) { say rhs.perl }: }; @a = 1, 2, 3; | 20:25 | |
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Illegal use of colon as invocant marker at /tmp/Ny1553xjrH line 1:------> method LISTSTORE(\rhs) { say rhs.perl }:⏏ }; @a = 1, 2, 3;Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/C… | ||
sorear | n: my @a; @a does role { method LISTSTORE(\rhs) { say rhs.perl }; }; @a = 1, 2, 3; | ||
p6eval | niecza v19-13-g442e075: OUTPUT«Unhandled exception: System.IndexOutOfRangeException: Array index is out of range. at Niecza.P6opaque.ChangeType (Niecza.STable to) [0x00000] in <filename unknown>:0  at Builtins.mixin (Niecza.P6any obj, Niecza.Variable role_list, Niecza.Variable init,… | ||
20:25
Khisanth left
|
|||
sorear | n: my @a := (Array but role { method LISTSTORE(\rhs) { say rhs.perl }; }).new; @a = 1, 2, 3; | 20:25 | |
p6eval | niecza v19-13-g442e075: OUTPUT«(1, 2, 3)» | ||
pmichaud | rakudo uses .STORE by way of analogy to the Proxy class method of the same name and purpose | 20:26 | |
but I don't believe any of it is "spec" | 20:27 | ||
(the exact mechanism may become 'spec' at some point... but it isn't yet.) | |||
moritz | ok, I now notice that I can't really explain the difference between item and list assignment | ||
pmichaud | item assignment occurs when the lhs is a scalar | ||
moritz | yes | 20:28 | |
but what really happens, taht's the question | |||
list assignment leaves the semantics to the container, right? | |||
pmichaud | the scalar container is updated to refer to the object on the rhs | ||
_also_ | |||
if the compiler sees that the lhs is a simple scalar, then the precedence of '=' becomes higher than comma | |||
moritz | I know, but that's a topic for 'operators', and I'm currently working on 'variables' :-) | 20:29 | |
pmichaud | fair enough. It wouldn't surprise me if newcomers think of it as a variable issue, though. | ||
moritz | maybe a small note | ||
pmichaud | anyway, yes -- list assignment leaves the semantics to the thing being assigned to | 20:30 | |
moritz | nr: my @a; my $which = @a.WHICH; @a = (1, 2, 3); say $which === @a.WHICH | 20:31 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«True» | ||
pmichaud | there has been some speculation that "my @a;" should leave @a bound to an Array type object, which then vivifies into an Array on first use. | 20:32 | |
20:32
samlt joined
|
|||
sorear | that speculation requires my @a to create a Scalar or something similar that autovivification can assign to. | 20:33 | |
r: my @a; say @a.defined | |||
p6eval | rakudo d8e7b6: OUTPUT«True» | ||
pmichaud | I suspect that Array.STORE() could dtrt without having to involve a scalar | 20:34 | |
masak | re migrating from RT to github issues: don't you people dare. I can't go further with that thought without being obviously nuclearly blackmailing. | ||
pmichaud | masak: are you referring to existing tickets or to "ever" ? | ||
moritz | I'm firmly -1 on migriting too | ||
*migrating | |||
masak | pmichaud: ever. | ||
moritz | (existing tickets) | ||
jnthn | .oO( 'cus we really want two places to look! :) ) |
||
moritz | and I don't want to migrate to something where I can't open tickets by email | 20:35 | |
20:35
pyrimidine left
|
|||
diakopter | I went through all the tickets a few weeks ago to check the status on latest rakudo. Took me about 30 hours. | 20:35 | |
masak | diakopter++ | ||
pmichaud | objections noted | ||
sorear | .oO( so THAT's why masak has submitted so few nieczabugs, it's not on RT) |
||
pmichaud | my comment earlier wasn't intended as a declaration of intent to switch, fwiw. | 20:36 | |
masak | sorear: given that it's not, I've submitted quite a few. | ||
pmichaud | just an observation that github's interface is generally a lot nicer to work with than rt's | ||
masak | pmichaud: sorry to be so staunch about it. I don't think github's interface would be a win for my bug workflows. | ||
pmichaud | masak: no problem, I can understand that. | ||
jnthn | Isn't our RT installation a few versions old? | ||
masak | pmichaud: I like it in other settings. wouldn't like it with Rakudo. | 20:37 | |
jnthn: what, you're thinking of 4.0? :) | |||
diakopter | masak: my point was, by splitting up the work, it'd be only a few hours each | ||
masak | diakopter: it can certainly be map-reduced. | ||
moritz | masak: but bear in mind that while you submit many tickets, I think you often only spend only a small part of the ticket's lifetime working on it | ||
jnthn | masak: I'm thinking that if we had a newer RT then maybe the UI is nicer :) | 20:38 | |
moritz | masak: so manybe your workflow shouldn't be the target for optimization | ||
pmichaud | masak: strictly out of curiosity, if there was an email interface for github issues, would that modify your stance at all? | ||
dalek | c: fa25cbb | moritz++ | lib/variables.pod: [variables] try to clarify the difference between item and list assignment |
||
masak | pmichaud: no, it's the search I like with RT. everyone else hates it, I tend to *find* things among those hundreds of tickets. I wouldn't with github. | 20:39 | |
moritz | I have the feeling that this doc patch makes things more accurate, but less useful for the user | 20:40 | |
20:40
Khisanth joined
|
|||
pmichaud | masak: okay, noted. | 20:40 | |
masak | github's search simply isn't up to the task for Rakudo's bug rate. | ||
Khisanth! \o/ | |||
Khisanth | hi? | 20:41 | |
diakopter | masak: but the interface is hundreds of times faster, so you can scan through far more items in some time. | ||
masak | diakopter: that doesn't make sense to me. | ||
diakopter | pmichaud: developer.github.com/v3/issues/#create-an-issue | ||
masak | moritz: noted. though if I end up submitting fewer bugs (and no-one else does instead), that doesn't mean that Rakudo has fewer bugs. it means fewer bugs end up in the ticket system. | ||
jnthn | Submitting bugs is also the primary interface to the ticket system that Rakudo users encounter. | 20:42 | |
masak | I realize that that's only one factor/dimension/concern... but it seems a big one. | ||
jnthn | Pretty much everyone can send an email without much effort :) | 20:43 | |
diakopter | see github.com/plu/Pithub and github.com/fayland/perl-net-github | 20:44 | |
sorear | If y'all will forgive me for wild speculaton | ||
after I get the poller set up in dalek, we could have it mirror tickets to a local sqlite db | 20:45 | ||
diakopter | masak: my point was that you can deal with a whole lot of search results much more quickly | ||
sorear | then do your fun sql queries on feather3 | ||
masak | wow, I find I get fairly emotional on this subject. I will shut up now, or I'll start repeating myself. | ||
moritz goes to bed instead :-) | |||
\~ | |||
pmichaud | WE ARE NOT MIGRATING TO GITHUB ISSUES. | ||
(good enough, masak?) | |||
masak | thank you. | 20:46 | |
sorear hugs masak | |||
masak feels better now | |||
jnthn | Phew. | ||
pmichaud | I may want to revisit it again in the far future, but it's not an immediate concern. | ||
sorear | .oO( we just need RT 7 ) |
||
masak | sorry for tugging the moorings. | ||
pmichaud | (it reminds me of the switchover from svn to git, in some ways :) | ||
*switchovers | |||
masak | except that git is better than svn... :) | 20:48 | |
pmichaud | yes, but there were quite a few people who were very reluctant to see us switch :) | ||
masak | did they say "I use svn in ways that please me a lot and that are not possible with git"? | 20:49 | |
pmichaud | they did. | ||
masak | I see why it reminds you. | ||
s/^/Then / | 20:50 | ||
pmichaud | it was less dramatic in rakudo's case, because we had to switch repositories anyway. | ||
but for moving the perl6 repo from svn to git there was reluctance, and the battles on parrot's repo were epic. | |||
(also, in rakudo's case I made a pumpking-like-decision-by-fiat after polling the group) | 20:51 | ||
masak | yes, I remember. Rakudo had already made the switch, and we were already on our way adapting to git and liking it when Parrot had their discussions. | ||
pmichaud | anyway, we have plenty of other github issue trackers to play with and build up the toolset for before we need to consider moving rakudo's ticket system. | 20:52 | |
diakopter: yeah, the new github apis are pretty nice. I was able to write a command-line nopaste utility for github this past week. | 20:53 | ||
doing an email-to-issue gateway would be fairly simple. | |||
masak realizes he has the affinity thing going with RT; it feels like an extension of his brain in the way Wikipedia and duckdcukgo do | 20:54 | ||
[Coke] suggests finding out what the RT upgrade would do, and compare that version to github. | 20:55 | ||
pmichaud | of course, we'd have to be really good about dealing with spam issues. | ||
[Coke] hesitates to stump for the ugprade at all if there's a chance we'd migrate. | |||
diakopter | it would have to move to a different RT instance or upgrade perl5 also, right? | ||
20:56
birdwindupbird left
|
|||
pmichaud | I'm not pushing for an rt upgrade, unless there really are some much improved capabilities that result. | 20:56 | |
diakopter | I heard there were tons of customizations to that installation of RT preventing upgrades | ||
pmichaud | (and it's not even interesting enough for me to yet go search for what the improvements might be) | 20:57 | |
sorear | ah | ||
masak | no, please don't upgrade. | ||
benabik | Hm. RT's front page needs some updating... dev.perl.org/perl6 doesn't exist. Parrot bugs should be submitted to github, not trac. | 21:01 | |
Oh. "For issues related to this RT instance[...]" *writes an e-mail( | 21:02 | ||
masak | benabik++ | ||
dalek | p/toqast: 68c25c3 | jnthn++ | src/QAST/Operations.nqp: Add abstractions for getting the current lexpad and code. |
||
[Coke] | masak: if you want to do /all/ the bug wrangling, then you can tell us not to upgrade. | 21:04 | |
Why would you not want RT-latest? | |||
dalek | kudo/toqast: b8553f9 | jnthn++ | src/QPerl6/ (2 files): A few more now-easy translations. |
||
kudo/toqast: 2c74da4 | jnthn++ | src/QPerl6/Actions.pm: Fix pir::op |
|||
kudo/toqast: 7a032eb | jnthn++ | src/QPerl6/Actions.pm: Use curlexpad/curcode. |
|||
[Coke] | are there new bugs you're aware of? | 21:05 | |
masak | I'll want it when I see that the changes are a net win. currently I have no complaints with this version. | ||
it's not that I think that the new version sucks, it's just that I don't think the current one sucks. | 21:06 | ||
[Coke]: what is it that you feel is worth upgrading for? | 21:07 | ||
pmichaud | if it had a way to post updates to the channel, that would be worth it. | ||
masak | are you aware of any improvements that might benefit us? | ||
pmichaud | if it could properly display unicode | ||
masak | well, true. | ||
pmichaud | if it would not remove the indents from the beginning of code snippets | ||
if I didn't have to re-log in every time I start from a new browser window | 21:08 | ||
these are issues I ran into in just the last 24 hours. | 21:09 | ||
if I could preview my replies before posting them # here's another | |||
jnthn | Just don't make any mistakes! :P | 21:10 | |
jnthn finds the public/private iterface distinction weird. | |||
21:10
skids left
|
|||
sorear | pmichaud: so I'll prioritize adding a dalek poller for issues api v3 | 21:11 | |
pmichaud | sorear: I know many of us would very much like to see that :-) | ||
diakopter | it would display something here when a ticket appears/changes? | ||
sorear | diakopter: exactly | 21:12 | |
benabik | Dalek announces ticket open and close on #parrot | 21:13 | |
pmichaud | benabik: for github, or trac? | ||
benabik | github | ||
pmichaud | I haven't seen any of my tickets announced on #parrot, fwiw. | ||
sorear | I have not seen a github ticket announced on #parrot either | 21:14 | |
diakopter fondly recalls creating dalek's account with freenode...... hmm, I wonder what email address I used. | |||
21:14
kaare__ left
|
|||
[Coke] | masak: so, not "please don't upgrade", but "please don't upgrade without making sure it's worth it". sure. | 21:15 | |
benabik | Hm. I recall it doing so. Perhaps it stopped? | 21:16 | |
masak | [Coke]: yes. sorry. was unclear. | ||
pmichaud | benabik: I did a brief search of #parrot logs looking for a case where a github ticket would be posted into the chan and didn't find one. | ||
[Coke] | I think the tickets were announced at some point | ||
masak | [Coke]: the discussion I saw was "hm, maybe we should upgrade just because we're a few versions behind?" | ||
pmichaud | benabik: for example, the ticket I opened a week ago (#795, 2012-07-02) was never announced to the channel. | 21:18 | |
benabik | I could have sworn it did at one point. Perhaps that's just the sleep dep talking. | ||
pmichaud | maybe it relied on an old Github API | 21:19 | |
21:23
BigBear left
21:40
stephenlb joined
21:45
quietfanatic joined
21:47
brrt joined,
brrt left
21:53
sirrobert joined
|
|||
sirrobert | hi #perl6 | 21:53 | |
masak | sirrobert, hi! | ||
sirrobert | how goes it? =) | ||
(and also: how can expand a Hash into a list of Pairs in a sub call? =) | 21:54 | ||
quietfanatic | with prefix:<|> I believe | 21:56 | |
masak | r: sub foo(*@pairs) { .say for @pairs }; my %foo = foo => 1, bar => 2; foo |(%foo.keys) | ||
p6eval | rakudo d8e7b6: OUTPUT«foobar» | ||
masak | r: sub foo(*@pairs) { .say for @pairs }; my %foo = foo => 1, bar => 2; foo |(%foo.pairs) | ||
p6eval | rakudo d8e7b6: OUTPUT«"foo" => 1"bar" => 2» | ||
masak | r: sub foo(*@pairs) { .say for @pairs }; my %foo = foo => 1, bar => 2; foo |%foo | ||
p6eval | rakudo d8e7b6: OUTPUT«2 unexpected named parameters passed (foo, bar) in sub foo at /tmp/lyxuJnb1Ni:1 in block <anon> at /tmp/lyxuJnb1Ni:1» | ||
masak | right. need the .pairs, otherwise they go in as nameds. | 21:57 | |
quietfanatic | Did you mean named arguments, or simply positional arguments that happen to be pairs? | ||
well, whichever you want, there you go :) | |||
sirrobert | heh thanks | ||
(trying it in my code now ... just a sec =) | |||
great; thanks =) | 21:58 | ||
masak | lol, I haz le blogged! \o/ strangelyconsistent.org/blog/july-9...scriptions | 21:59 | |
sorear | masak++++++ | ||
sirrobert | great | 22:00 | |
What's the game? | |||
a mud-type game? | 22:01 | ||
ah, I see it | |||
masak | it's a re-write of a game I finished last year. | 22:03 | |
sorear: oh wow, unexpected karma :) | |||
sirrobert | woops -- late! ttyl. | 22:05 | |
22:05
sirrobert left
|
|||
pmichaud | r: sub foo(@pairs) { .say for @pairs }; my %foo = foo => 1, bar => 2; foo (%foo.pairs); | 22:07 | |
p6eval | rakudo d8e7b6: OUTPUT«"foo" => 1"bar" => 2» | ||
pmichaud | no need to interpolate :) | ||
r: sub foo(@pairs) { .say for @pairs }; my %foo = foo => 1, bar => 2; foo (@(%foo)); | 22:08 | ||
p6eval | rakudo d8e7b6: OUTPUT«"foo" => 1"bar" => 2» | ||
22:08
PacoAir left
22:09
seldon joined
|
|||
seldon | Good *, #perl6. | 22:10 | |
masak | seldon! \o/ | ||
lue | hello world o/ | 22:11 | |
seldon | I did not manage to look into git today, I'm afraid. I fear I have rediscovered the ultimate time waster. | 22:14 | |
seldon dug up the old Megaman games for NES on the weekend. | |||
22:15
thelazydeveloper left
|
|||
colomon has been playing Xevious lately... | 22:15 | ||
seldon | I'm astonished you were able to make time to tell us that. | 22:17 | |
22:18
spider-mario left
22:21
nodmonkey left
|
|||
colomon | self-employment requires a certain self discipline. I don't get to spend much time playing computer games. | 22:21 | |
by the same token, I may have done more Xevious playing than I should have this morning.... | |||
22:23
samlt left
22:31
vmspb left
|
|||
cognominal | what is the way to enumerate the keys of a nqp hash? | 22:31 | |
nqp: my %a; %a<a>:='b'; say(%a.keys) | |||
p6eval | nqp: OUTPUT«Method 'keys' not found for invocant of class 'Hash'current instr.: '_block1000' pc 76 ((file unknown):55) (/tmp/sziesbAloC:1)» | ||
pmichaud | nqp hashes are low level -- no methods | 22:32 | |
so | |||
nqp: my %a; %a<a> := 'b'; for %a { say($_.key) } | |||
p6eval | nqp: OUTPUT«a» | ||
cognominal | ok, thx | ||
pmichaud | it can also be done with low-level primitives like nqp::iterator | 22:33 | |
nqp: my %a; %a<a> := 'b'; my $it := nqp::iterator(%a); while $it { say($it.shift.key); } | |||
p6eval | nqp: OUTPUT«Method 'shift' not found for invocant of class 'HashIterator'current instr.: '_block1000' pc 118 ((file unknown):75) (/tmp/kqHi1xUphX:1)» | ||
pmichaud | nqp: my %a; %a<a> := 'b'; my $it := nqp::iterator(%a); while $it { say(nqp::shift($it).key); } | ||
p6eval | nqp: OUTPUT«a» | ||
22:34
tokuhiro_ joined
|
|||
cognominal | I am making good but slow progress on github.com/cognominal/codeview I hope that I will have a way to access a nqp parse tree | 22:35 | |
it would be sad if I had to choose another language than Perl 6 as target :( | |||
22:56
sjohnson is now known as cutebot
22:57
cutebot is now known as sjohnson
|
|||
jnthn | cognominal: I've got a hack that spits out a Perl 6 parse tree as json. It's horrible but seems to kinda work. | 22:57 | |
cognominal: gist.github.com/3079610 | 23:00 | ||
23:00
sjn joined
|
|||
sjn | o/ | 23:00 | |
jnthn | cognominal: Seems to get classes ok too :) | ||
hi sjn | |||
cognominal | jnthn, nice. it comes at the right time. I will add a github page for my project within a week. | 23:02 | |
jnthn | cognominal: If you want to/from out, that should also be easy. | ||
masak | sjn! \o/ | ||
sjn is reading masak's crypt-game | 23:04 | ||
cognominal | jnthn++ it seem very close to what I need. I am using JSON::Tiny and a different json format to drive my hilighter but that should be very minor changes. The difficult part was to hook to Perl6 internals | 23:05 | |
jnthn, sorry to have been pushy, but that will ultimately benefit Perl 6 | 23:06 | ||
jnthn | Well, I just swapped out the main body of the compiler for something that spits json rather than actually compiling and running the code :) | ||
cognominal: You're welcome, I look forward to seeing what you come up with | 23:07 | ||
sjn is a little confuzzled about the mix of "programming terms" naming and "world description" naming in the crypt game | 23:09 | ||
masak: Maybe a silly question, but wouldn't it be easier to describe/read the game if you chose only one of those naming schemes? | 23:10 | ||
cognominal | maybe his game is just a big autopun | ||
masak | sjn: not sure what things you mean are confused. | 23:11 | |
jnthn -> rest | |||
23:11
whiteknight joined
|
|||
masak | sjn: I'm off to bed, but please leave suggestions in the backlog and I'll get to them. | 23:11 | |
cognominal | jnthn, btw, the nqp shell is still broken. the stuff type given at the second prompt always lead to an error | ||
masak | 'night, #perl6 | ||
23:11
whiteknight is now known as Guest44870
|
|||
cognominal | 'night everyone | 23:12 | |
sjn | well, my first thought when reading the code was "this Adventure::Engine class, with it's attributes, might have been called Adventure::World or Game::World or something" | ||
just throwing out some thoughts... | 23:14 | ||
nn masak & jnthn :) | |||
23:26
fridim_ left
23:35
awwaiid left,
awwaiid joined
23:52
Vlavv` joined
|