»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:00 spider-mario left 00:03 jeffreykegler left, kivutar joined 00:07 jnap joined 00:08 hummeleB1 joined 00:09 kaare_ joined 00:12 jnap left 00:13 rurban1 left 00:16 gfldex left 00:17 finanalyst joined 00:18 gfldex joined, rurban1 joined 00:29 pmurias left 00:38 hummeleB1 left 00:41 kivutar left 00:42 fridim_ left 00:46 colomon joined 01:08 jnap joined 01:09 Rotwang left 01:12 jnap left 01:15 rurban1 left 01:33 raiph left, rurban1 joined 01:39 colomon left
dalek p: 8e407b3 | dwarring++ | examples/rubyish/ (3 files):
rubyish; 2.x like named parameters
02:02
02:07 colomon joined 02:09 jnap joined 02:14 jnap left 02:20 colomon left 02:21 ggoebel118 joined 02:24 kst`` joined 02:25 DrEeevil joined 02:26 sivoais_ joined, kaare_ left
TimToady r: say 'foo'.IO.read(1024) 02:27
camelia rakudo-parrot 6d54dc: OUTPUT«No such method 'read_bytes' for invocant of type 'Any'␤ in method read at gen/parrot/CORE.setting:13123␤ in block at /tmp/be1uuc_eWf:1␤␤»
..rakudo-jvm 6d54dc: OUTPUT«readfh requires an object with the IOHandle REPR␤␤»
02:28 retupmoc1 joined
TimToady get the same error locally despite 'foo' existing 02:28
02:29 dayangkun_ joined
TimToady moarvm-support branch, will try again with star as soon as it compiles 02:31
02:31 Bucciarati_ joined, BenGoldberg left 02:32 dayangkun left 02:33 kst` left, Bucciarati left, ggoebel117 left, retupmoca left, cotto left
TimToady r: say $*CWD 02:35
camelia rakudo-jvm 6d54dc: OUTPUT«IO::Path</home/p6eval_eval>␤»
..rakudo-parrot 6d54dc: OUTPUT«IO::Path</home/p6eval>␤»
TimToady r: say dir('.'); # allowed?
camelia rakudo-parrot 6d54dc: OUTPUT«IO::Path<.lesshst> IO::Path<.viminfo> IO::Path<.ghc> IO::Path<rakudo> IO::Path<rakudo-inst-2> IO::Path<rakudo-inst-1> IO::Path<std> IO::Path<.bash_history> IO::Path<log> IO::Path<.selected_editor> IO::Path<.ssh> IO::Path<nom-inst> IO::Path<.profile> IO::…» 02:36
..rakudo-jvm 6d54dc: OUTPUT«IO::Path<.viminfo> IO::Path<p6eval-token> IO::Path<nohup.out> IO::Path<.bash_history> IO::Path<.selected_editor> IO::Path<.config> IO::Path<hs_err_pid18610.log>␤»
TimToady r: '.viminfo'.IO.s.say
camelia rakudo-jvm 6d54dc: OUTPUT«734␤»
..rakudo-parrot 6d54dc: OUTPUT«6346␤»
TimToady r: '.viminfo'.IO.read(1024).say
camelia rakudo-parrot 6d54dc: OUTPUT«No such method 'read_bytes' for invocant of type 'Any'␤ in method read at gen/parrot/CORE.setting:13123␤ in block at /tmp/YxYuO0Wr8m:1␤␤»
..rakudo-jvm 6d54dc: OUTPUT«readfh requires an object with the IOHandle REPR␤␤»
TimToady rakudobug ^^^ ? 02:37
r: open('.viminfo').read(1024).say
camelia rakudo-parrot 6d54dc: OUTPUT«open is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting:2␤ in sub open at src/RESTRICTED.setting:5␤ in block at /tmp/pwPNC3Umaj:1␤␤»
..rakudo-jvm 6d54dc: OUTPUT«Buf:0x<23 20 54 68 69 73 20 76 69 6d 69 6e 66 6f 20 66 69 6c 65 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 56 69 6d 20 37 2e 34 2e 0a 23 20 59 6f 75 20 6d 61 79 20 65 64 69 74 20 69 74 20 69 66 20 79 6f 75 27 72 65 20 63 61 72 65 66 75 6c 21 0a 0…»
TimToady okay, I guess 02:38
02:38 BenGoldberg joined, felher joined
TimToady r: '.viminfo'.IO.lines.elems.say 02:38
camelia rakudo-parrot 6d54dc: OUTPUT«260␤»
..rakudo-jvm 6d54dc: OUTPUT«37␤»
TimToady r: '.viminfo'.IO.blocks.elems.say; # is there any equivalent to this? 02:39
camelia rakudo-jvm 6d54dc: OUTPUT«No such method 'blocks' for invocant of type 'IO::Handle'␤␤»
..rakudo-parrot 6d54dc: OUTPUT«No such method 'blocks' for invocant of type 'IO::Handle'␤ in block at /tmp/oZ7Xzs_ZkJ:1␤␤»
02:39 Rix joined, cotto joined, daxim joined
TimToady one doesn't really wish to use either .lines or .slurp to compare binary files of arbitarary size 02:40
02:51 sivoais_ left, raiph joined, sivoais joined 03:12 cognominal left 03:14 cognominal joined
BenGoldberg For binary files, one would probably want to read in fixed-sized chunks... maybe a .bufs method, which returns a lazy list of bufs? 03:19
At the very least, there hsould be a slurp-like method which returns the contents of entire file a buf 03:24
TimToady slurp(:bin) probably is already specced for that
03:24 vinian joined
TimToady r: '.viminfo'.IO.slurp(:bin).WHAT.say 03:25
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«(Buf[uint8])␤»
TimToady and, in fact, works :)
BenGoldberg Oh, ok, nevermind ;)
r: '.viminfo'.IO.lines(:bin).elems.say 03:26
camelia rakudo-parrot 6d54dc: OUTPUT«260␤»
..rakudo-jvm 6d54dc: OUTPUT«37␤»
BenGoldberg Clearly :bin is ignored 03:27
Well, probably
vinian hi, there is a typo in the page rakudo.org/2013/12/25/rakudo-star-2...-released/ line 95 : <p>There is an online resource at <a href="http://perl6.org/compilers/features...</a> that lists the known implemented and missing features of Rakudo and<br />
BenGoldberg r: '.viminfo'.IO.lines(:bin)[0].say
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«# This viminfo file was generated by Vim 7.4.␤»
vinian <a href="" has a addition http:// 03:28
03:29 raiph left 03:30 Vlavv_ joined
TimToady lue: ^^^ 03:35
lue vinian, TImToady: got it! 03:39
03:39 kaleem joined 03:40 kaleem left 03:41 gfldex left 03:43 gfldex joined 04:01 raiph joined 04:04 BenGoldberg left 04:11 jnap joined 04:15 jnap left 04:30 rurban1 left 04:50 xenoterracide joined 04:51 preflex_ joined, ChanServ sets mode: +v preflex_ 04:52 preflex left, preflex_ is now known as preflex 05:11 jnap joined 05:12 hoverboard joined 05:15 xenoterracide left 05:16 xenoterracide joined, jnap left, xenoterracide left 05:21 kaleem joined 05:28 xenoterracide joined 05:40 rurban1 joined, SamuraiJack joined 05:54 preflex left 05:56 preflex joined, ChanServ sets mode: +v preflex, xenoterracide left 06:12 jnap joined 06:17 jnap left 06:25 rurban1 left 07:13 jnap joined 07:17 jnap left 07:27 darutoko joined 07:40 dmol joined 07:56 fridim_ joined, FROGGS[mobile] left 08:01 FROGGS[mobile] joined 08:05 filly left 08:08 kaare_ joined, FROGGS[mobile] left 08:12 FROGGS[mobile] joined 08:14 jnap joined, FROGGS[mobile] left 08:17 FROGGS[mobile] joined 08:18 jnap left 08:20 kaare_ left 08:21 kaare_ joined 08:25 hoverboard left 08:35 xinming left 08:59 kaare_ left 09:00 kaare_ joined 09:17 kaare_ left 09:23 kaare_ joined 09:24 dmol left 09:25 Rotwang joined 09:58 kaare_ left 10:15 vinian left, jnap joined 10:19 jnap left 10:22 kivutar joined
dagurval r: '.viminfo'.IO.slurp(:bin)[*-10].say 10:27
camelia rakudo-parrot 6d54dc: OUTPUT«104␤»
..rakudo-jvm 6d54dc: OUTPUT«10␤»
dagurval Different output o_o 10:28
FROGGS different directories?
dagurval oh, right :)
FROGGS r: '.viminfo'.IO.m.say
camelia rakudo-parrot 6d54dc: OUTPUT«No such method 'm' for invocant of type 'IO::Handle'␤ in block at /tmp/u_rvdbIZkw:1␤␤»
..rakudo-jvm 6d54dc: OUTPUT«No such method 'm' for invocant of type 'IO::Handle'␤␤»
FROGGS r: '.viminfo'.IO.modified.say 10:29
camelia rakudo-parrot 6d54dc: OUTPUT«1386077547␤»
..rakudo-jvm 6d54dc: OUTPUT«1382520406␤»
10:30 felipe joined 10:32 rindolf joined 10:44 spider-mario joined, spider-mario left 10:48 spider-mario joined 10:59 finanalyst left 11:16 jnap joined 11:21 jnap left
timotimo the 5 minute slots fro the lightning talks are already completely booked :( 11:25
only some 180-second slots are left
FROGGS timotimo: for which event? 11:26
timotimo 30l3 11:31
FROGGS hmmm, google doesn't know about it :/ 11:33
Rotwang hi 11:36
FROGGS hi
Rotwang did someone report any problems with latest release regarding building it? 11:37
FROGGS I dunno, I was afk mostly 11:38
Rotwang ok, I'll be probably the first one then [;
FROGGS :/ 11:39
Rotwang: are you going to debug it? 11:42
Rotwang that's what I usually do first 11:43
FROGGS but probably it is just that you have another perl6/nqp-p/parrot in path?
daxim FROGGS, events.ccc.de/congress/2013
FROGGS daxim: thanks 11:44
timotimo sorry, 30c3 11:46
typo'd it
11:47 vinian joined, vinian left 11:48 vinian joined, vinian left 11:51 colomon joined
Rotwang FROGGS: yeah, nqp 2013.12.1 is needed and I had 2013.12 11:53
however, the Configure.pl error message was completely undescriptive
FROGGS :/ 11:54
11:59 vinian joined, vinian left 12:01 vinian joined, vinian left, vinian joined
moritz Rotwang: what did it say? 12:02
Rotwang moritz: I'll try to patch it and will probably do a bug report
12:05 denisboyun joined 12:06 denisboyun is now known as 13WABM6Q8 12:13 13WABM6Q8 left 12:14 atroxaper joined 12:17 jnap joined 12:21 jnap left, finanalyst joined
timotimo i have no idea what i've done, but somehow my laptop is now exactly as fast at stage parse than my desktop was, rather than 3x slower ....... wat?! 12:22
i mean, i'% happy about that, but ... how?! why?!
FROGGS O.o
dalek kudo/multi_arity_sequence_endpoint: 53c60ca | (Timo Paulssen)++ | src/core/operators.pm:
fix thinko about direction
12:23
kudo/nom: 6c13c21 | (Timo Paulssen)++ | src/core/operators.pm:
start working on higher arity endpoint codes for SEQUENCE
12:24
kudo/nom: c248769 | (Timo Paulssen)++ | / (2 files):
finish up multi-arity-limit, run the pre-existing tests
kudo/nom: bc572cd | (Timo Paulssen)++ | src/core/operators.pm:
towards @_ support and increasing seqs by default

if the arity of the code for the limit is 0 and the count is Inf, I try to pass all values so far into the code.
in addition, lists that start with a single number and then have a limit block will now be increasing, rather than decreasing (strange to have ... * be increasing and ... * > 5 be decreasing instead)
kudo/nom: 53c60ca | (Timo Paulssen)++ | src/core/operators.pm:
fix thinko about direction
timotimo yays
dalek ast: dbb32bb | (Timo Paulssen)++ | S03-sequence/limit-arity-2-or-more.t:
Revert "fudge two hanging WIP spectests for sequences"

This reverts commit a734f7ccdcefc6b426fc0daa6bda243cda1f9dc1.
ecs: dec4bda | (Timo Paulssen)++ | S03-operators.pod:
spec multi-arity limit closures for sequence operator
12:31
12:32 kivutar left
timotimo now i'll resolve #35 as well 12:36
FROGGS timotimo++ 12:37
timotimo gist.github.com/timo/945ca69bf250920349e7 - is that worded well? 12:40
FROGGS don't ask me :o) 12:42
timotimo perlcabal.org/syn/S05.html#Indirect...n_captures
12:42 zakharyas joined 12:43 sqirrel joined 12:44 kaleem left
Rotwang Data::Dumper is the best thing ever (since sliced bread of course) 12:47
13:05 denis_boyun joined, rurban1 joined 13:10 rurban1 left 13:16 dmol joined 13:17 jnap joined 13:19 corecatcher joined, grep0r joined 13:20 nam_ joined
nam_ do we have a rough ETA on when rakudo will be on JVM? 13:21
13:22 jnap left
moritz nam_: it already is 13:23
nam_: and, in fact, passes more spectests than rakudo on parrot
it's just lack of nativecall support that prevents R* from running on rakudo-jvm
13:25 kaare_ joined 13:27 kaleem joined 13:28 denis_boyun left 13:29 denis_boyun joined 13:35 anuby_h joined 13:47 lue left, denis_boyun left, denis_boyun joined
Ulti is there a split on a filehandle that just does something like lines but with a given character or regex? 13:54
13:54 denis_boyun left
timotimo thereis no comb method for that? :( 13:58
13:58 lue joined 14:01 atroxaper left 14:02 ajr joined, ajr is now known as Guest12694, Guest12694 is now known as ajr_ 14:03 sqirrel left 14:05 rurban1 joined 14:07 denisboyun joined
moritz no, you have to .slurp.split or so 14:09
14:09 rurban1 left
moritz the problem with regexes is that currently we have no method to say "end of string reached, give me more" 14:09
so if a regex match fails, we'd have to read more input, and do the whole match again 14:10
FROGGS I think there is something like open( :nl($delim) ) specced..., though it is NYI 14:11
14:18 jnap joined
colomon moritz: you thinking of Cat? 14:20
moritz colomon: that's kinda related, yes 14:21
colomon yeah, that's a definite area where work is needed, IMO
14:23 jnap left 14:36 rurban1 joined 14:37 sqirrel joined
timotimo it's also what we need to implement so that we can get a more proper / comfortable repl experience 14:37
as in: "please enter the next line of the command you want to issue" 14:38
so we can have multiline class n^Hand sub definitions on the repl
14:38 smash_ joined
timotimo of course, multiline editing is a whole 'nother beast to tackle :) 14:38
moritz: what do you think of my latest gist i linked?
moritz timotimo: haven't seen it yet
timotimo: just a sec
14:38 smash_ is now known as smash
timotimo :) 14:39
14:39 sqirrel left
timotimo my network connection is acting up a little 14:39
14:40 Rotwang left
timotimo so many shirds/hoodies from the previous congresses on this train :D 14:42
moritz timotimo: gist.github.com/moritz/60669e77eb2085ba0a18 if I got the context right, that's how I'd formulate it 14:46
14:47 erkan joined 14:54 denis_boyun_ joined 14:55 denisboyun left, Rotwang joined
timotimo great, i'll push it then :) 14:56
15:06 logie joined 15:07 lue left 15:11 odoacre left 15:14 odoacre joined 15:19 jnap joined 15:20 lue joined 15:24 jnap left, anuby_h left 15:33 atroxaper joined 15:36 rurban1 left 15:39 jnap joined 15:50 kaare_ left 16:03 ajr joined, ajr_ left, ajr is now known as Guest7585, Guest7585 is now known as ajr_ 16:05 rurban1 joined 16:08 finanalyst left
timotimo *now* i'll push it 16:10
dalek ecs: a3b2ac0 | (Timo Paulssen)++ | S05-regex.pod:
fixes issue #35 - handling ? inside indirectly quantified groups
16:11
timotimo \o/
congress is amazing
there's *so much* more space than last time
and last time it was already frighteningly large
16:13 SamuraiJack_ joined, nam_ left, SamuraiJack left 16:21 kst`` is now known as kst 16:28 treehug88 joined 16:31 retupmoc1 is now known as retupmoca 16:39 ajr_ left, ajr_ joined 16:52 vinian left
FROGGS[mobile] timotimo: have fun! 16:56
16:57 gfldex left 16:58 gfldex joined
timotimo i surely will! 16:59
one person in the congress irc channel already asked me if i want to do a workshop :D
i think i'll try to get something set up
17:00 atroxaper left 17:01 FROGGS[mobile] left 17:04 FROGGS[mobile] joined, ajr_ left
FROGGS[mobile] that sounds nice :o) 17:05
17:05 ajr joined 17:06 ajr is now known as Guest55544, Guest55544 is now known as ajr_ 17:09 FROGGS[mobile] left, kaleem left 17:11 raiph left 17:18 xenoterracide joined 17:19 Rotwang left 17:23 denis_boyun_ left 17:34 fribeiro joined
fribeiro Hello there, does anyone know if there is a bug opened for the issue discussed at irclog.perlgeek.de/perl6/2013-08-18#i_7467343? 17:35
it just hit me while playing with the current code in master 17:36
17:40 fribeiro left, fribeiro joined
timotimo fribeiro: i have no idea what that refers to, unfortunately :( 17:53
moritz doesn't understand it either
TimToady you have to take the ? off the link
moritz yes, that much I managed
timotimo mhm
and it seems to refer to the java interop 17:54
TimToady something about calling a Java interface instead of something proxying it, maybe?
timotimo i found that problem (well, something similar to it) in my branch that's supposed to implement arity-based dispatchers
TimToady doesn't follow it entirely either, but sorear++ seemed ot have an idea of what was going on
17:55 denis_boyun joined
timotimo in that the interop will expose functions with wrong return values if they were overriden by a deriving class 17:55
but the error i got was different
17:56 FROGGS[mobile] joined
timotimo fribeiro: can you paste some example code that shows the problem? 17:56
TimToady but sounds like it's related to the fact that Java really doesn't grok the importance of being virtual 17:57
(or values performance with wrong results over correct results, maybe :) 17:58
17:58 ssutch joined
timotimo :) 17:59
hey ssutch :)
how are you doing?
ssutch hey, good morning
recovering from family 18:00
timotimo heh :)
TimToady is still with family, but retreats frequently to a back bedroom :)
timotimo this year i only had to put up with the people closest to me, which i hold very dear
and some people i missed. but some I didn't mind missing 18:01
TimToady at least I only have to put up with people younger than me this year, who are largely my fault, one way or another :) 18:02
ssutch hah
18:03 hummeleB1 joined
timotimo are you up to any new exciting perl6 things in the coming year? :) 18:03
ssutch as much as possible
timotimo cool! 18:04
18:04 ajr_ left
ssutch the potential for jvm work is really intriguing as i do much of my work on the jvm 18:04
timotimo that's very nice! :) 18:05
ssutch lots of clojure and java
18:05 ajr joined
timotimo i've been working on improved call-jvm-stuff-from-rakudo support 18:05
ssutch oh sweet
timotimo but i ran into a wall trying to move the thing over from nqp to rakudo where jnthn says it belongs
18:05 ajr is now known as Guest672, Guest672 is now known as ajr_
ssutch any 2014 perl6 aspirations for yourself? 18:06
18:06 fribeiro left
timotimo yeah, until now you had to specify the whole method name + signature if there's overloading happening; now you can use the short method name if the given arity has an unambiguous dispatch it can do 18:06
ideally, it would try to resolve the number of arguments at compile time if it can (it should be able to do that in any case except with | arguments), but i don't know how to communicate that properly 18:07
2014 aspirations? nothing in particular. just always do nice improvements :) 18:10
18:21 colomon left, colomon joined 18:25 fribeiro joined
fribeiro oops, I am back 18:25
timotimo: here is the code that I was working on when I hit the issue: 18:26
use org::apache::activemq::ActiveMQConnectionFactory:from<java>:jar('activemq-all-5.9.0.jar');
my $connFactory = ActiveMQConnectionFactory.'constructor/new/(Ljava/lang/String;)V'('tcp://localhost:61616');
my $conn = $connFactory.'method/createConnection/()Ljavax/jms/Connection;'();
$conn.'method/close/()V'();
javax.jms.Connection is a interface type
18:27 raiph joined
moritz have you tried using the class name instaed? 18:28
fribeiro moritz: I guess I did, but let me do it again real quick and get back to you 18:29
No such method 'method/createConnection/()Lorg/apache/activemq/ActiveMQConnection;' for invocant of type 'org.apache.activemq.ActiveMQConnectionFactory' 18:31
moritz: that is what you wanted me to try, right? 18:32
moritz fribeiro: yes
fribeiro moritz: it seems not be evaluating $conn to the actual object 18:34
moritz fribeiro: then maybe the invocant isn't what you think it is/should be?
fribeiro the method createConnection returning a javax.jms.Connection instance really exists in ActiveMQConnectionFactory 18:36
it is defined in an interface that is implemented by that class 18:37
18:37 colomon left 18:39 colomon joined, ajr_ left
TimToady does the interface need to be punned (as we pun roles into classes)? 18:42
18:42 ajr joined, ajr is now known as Guest93664 18:43 Guest93664 is now known as ajr_
timotimo TimToady: java works a bit differently, i fear 18:44
18:45 PacoAir left
timotimo you get an "actual object" that 18:47
~
TimToady I meant, punned in the glue code somehow, not forcing Java to do something it can't
timotimo ~
sorry, unreliable network :P
hey!
i should totally 3dprint a camelia action figure 18:48
18:48 FROGGS[mobile] left
FROGGS timotimo: you do have a 3d printer? 18:48
18:48 FROGGS[mobile] joined
timotimo i'm sitting one table away from currently 5 18:48
TimToady we'd have to figure out what camelia's backside looks like...
FROGGS hehe, cool :o)
timotimo across the room is another one that's about as tall as a maxi tower and cube-sized
FROGGS TimToady: do we wanna know its backside at all? 18:49
timotimo there's also 3 foil cutting plotters, 3 embroidery machines, probably a cnc laser
FROGGS I have an embroidery machine too
18:49 ssutch left
TimToady or are you just thinking 2.5d like a wall carving? 18:50
FROGGS and a friend owns a plotter... but a 3d printer or a cnc laser would be damn awesome to have
"wall carving", lol
18:50 darutoko left
TimToady or are you just thinking a projection of the 2d image into 3d? 18:51
FROGGS that would be the easiest
18:51 ssutch joined
FROGGS should look nice to have a camelia image lasered into a cube of clear plastic 18:52
18:52 broquaint joined, itz joined 19:05 mtk left 19:06 mtk joined 19:07 zakharyas left
Ulti hmm how is newline defined for something like .lines? does it rely on the actual compiled definition within NQP? I can't see anything in IO.Spec stuff for defining line endings 19:10
Str.chomp appears to have it there :S 19:12
timotimo someone wrote it today already: in open, you're supposed to be able to specify a character to replace \n
FROGGS Ulti: nqp::readlinefh is in charge to return a line, and I think it has \r\n, \n and \n\r hardcoded
Ulti k k 19:13
19:13 colomon left
Ulti timotimo do you mean implemented in NQP? 19:17
19:19 thou joined
timotimo not yet implemented :) 19:19
19:20 SamuraiJack_ left
Ulti so should this be part of readlinefh in nqp or just implemented using readfh in Rakudo? 19:21
timotimo good question.
19:21 hoverboard joined
timotimo probably the latter, as it's not that important for nqp itself 19:22
Ulti because the latter I was just playing around doing
but feels like NQP would be a better place and just pass down the :$nl
then again the chomp is done only in Rakudo
hoverboard I was surprised to see this channel's run by an entirely different group than #perl 19:23
Ulti guess readlinefh unless :$nl is defined is the least impacting thing
19:24 colomon joined
FROGGS I think it should be implemented in nqp 19:32
you stick the :nl information to the file handle created by open(), and that is what nqp::readlinefh gets
Ulti dunno you might want to change it after opening the file too its basically on the call to get you do anything with it 19:38
is looping over nqp::read going to be slower in Rakudo?
the code is essentially already in Str.lines 19:42
FROGGS Ulti: there is an nqp::setencodingfh or so, which will update such an information on a filehandle 19:43
would be the same thing to implement a nqp::setlinedelimfh and call this in rakudo's open()
19:49 colomon left 19:57 shinobicl joined 20:00 colomon joined 20:06 ajr joined, ajr_ left, ajr is now known as Guest84174, Guest84174 is now known as ajr_ 20:08 sjn_ joined 20:09 xenoterracide left 20:15 census2 joined 20:16 sjn_ is now known as sjn
japhb hoverboard: Yup -- there's actually a number of people here who don't speak Perl 5, just Perl 6. And the culture differs too. 20:17
20:20 ajr_ left 20:21 thou left 20:22 xenoterracide joined
Ulti FROGGS for NQP it means per VM code by the looks of it... for something that goes into Rakudo naturally enough in its own Handle object, does it make that much difference using nqp::index and nqp::readfh from Rakudo? 20:22
FROGGS Ulti: how exactly do you want to read a line then in rakudo? 20:24
char by char? 20:25
or do you want to read everything, and hope that it does not block?
or do you want to read a line up to a \n, and then split it apart?
20:28 rindolf left 20:33 raiph left 20:41 rurban1 left 20:43 colomon left 20:48 raiph joined 20:49 census2 left 20:50 treehug88 left 20:57 fribeiro left 21:02 dayangkun_ left 21:07 hoverboard left
dagurval rp: my Str @h is default("Hello"); @h[1] = "World"; say @h; 21:08
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
dagurval should it not be Hello World?
FROGGS rp: my @h is default("Hello"); @h[1] = "World"; say @h; 21:09
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
21:09 hoverboard joined
FROGGS hmmm, weird 21:09
dagurval No type checking either 21:11
rp: my Int @b is default(False);
camelia ( no output )
dagurval rp: my Int $b is default(False);
camelia rakudo-parrot 53c60c: OUTPUT«===SORRY!=== Error while compiling /tmp/5R5gpVye5f␤Type check failed in assignment to '$b'; expected 'Int' but got 'Bool'␤at /tmp/5R5gpVye5f:1␤------> ␤»
21:12 kivutar joined
dagurval oh, that's mentioned in the advent blog post :) 21:12
21:17 dayangkun_ joined
TimToady p: my @h is default("Hello"); @h[1] = "World"; say @h[0]; 21:19
camelia rakudo-parrot 53c60c: OUTPUT«Hello␤»
TimToady huh
p: my @h is default("Hello"); @h[1] = "World"; say @h[*];
camelia rakudo-parrot 53c60c: OUTPUT«Hello World␤» 21:20
TimToady obviously the defaulting code is in .[] or thereabouts, and say @h doesn't use it
lue p: my @h is default("Hello"); @h[1] = "World"; say @h;
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
TimToady that's what dagurval++ was trying above 21:21
(the type constraint has nothing to do with the bug, methinks) 21:22
lue ah, didn't notice the "no constraint" test earlier
TimToady p: my @h is default("Hello"); @h[1] = "World"; say @h[];
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
TimToady p: my @h is default("Hello"); @h[1] = "World"; print @h, "\n"; 21:23
camelia rakudo-parrot 53c60c: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/7PWqB9Mx7P:1␤␤World␤»
TimToady heh
FROGGS p: my @h is default("Hello"); @h[1] = "World"; say join ' ', map { $_.gist }, @h # that is what List.gist does 21:24
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
TimToady arguably, what should happen here is that assignment to @h[1] should fill in missing elements with the default rather than the type 21:27
lue TimToady: It doesn't even fill with the type (see my Str @h earlier) 21:28
rp: my Str @h; @h[1] = "World"; say @h;
camelia rakudo-parrot 53c60c: OUTPUT«(Any) World␤»
TimToady p: my @h is default(42); @h[1] = 582; @h[0] += 1; say @h 21:29
camelia rakudo-parrot 53c60c: OUTPUT«43 582␤»
TimToady that works right though
FROGGS because .at_pos does the right thing...
TimToady subscripting
p: my @h is default(42); @h[1] = 582; say ++«@h 21:30
camelia rakudo-parrot 53c60c: OUTPUT«Cannot modify an immutable value␤ in sub prefix:<++> at gen/parrot/CORE.setting:1734␤ in sub prefix:<++> at gen/parrot/CORE.setting:1732␤ in sub hyper at gen/parrot/CORE.setting:16769␤ in sub hyper at gen/parrot/CORE.setting:16712␤ in sub …»
TimToady hmm
p: my @h is default(42); @h[1] = 582; say @h X+ 1
camelia rakudo-parrot 53c60c: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/qYYC31mYiV:1␤␤1 583␤»
TimToady p: my @h is default($(42)); @h[1] = 582; say ++«@h 21:31
camelia rakudo-parrot 53c60c: OUTPUT«Cannot modify an immutable value␤ in sub prefix:<++> at gen/parrot/CORE.setting:1734␤ in sub prefix:<++> at gen/parrot/CORE.setting:1732␤ in sub hyper at gen/parrot/CORE.setting:16769␤ in sub hyper at gen/parrot/CORE.setting:16712␤ in sub …»
21:31 jeffreykegler joined
TimToady p: my @h is default(42); @h[1] = 582; say ++@h[0] 21:32
camelia rakudo-parrot 53c60c: OUTPUT«43␤»
TimToady it really needs to be a bit more general than just via subscripting
FROGGS p: my @h is default("Hello"); @h[1] = "World"; say join ' ', map { @h.at_pos($_) }, @h.keys; # that is my proposed fix for rakudo/src/core/List.pm:462: multi method gist(...
camelia rakudo-parrot 53c60c: OUTPUT«Hello World␤»
FROGGS that would not fix print() though :/ 21:33
lue FROGGS: TimToady's last comment suggest to me that perhaps that we shouldn't rely on .at_pos to Do the Right Thing™.
TimToady oughta work in hypers too
and from a .list 21:34
so X and Z should also work, methinks 21:35
FROGGS TimToady: is the default supposed to be changeable?
TimToady initializing missing entries to the default should fix all that
but is not the only way to fix it, I suppose 21:36
21:36 denis_boyun__ joined
TimToady maybe it should depend on the array implementation (sparse vs non-sparse), but for normal arrays, I'd say initialize, and then you don't have to put an extra call on every element 21:37
21:37 denis_boyun left
TimToady you'd like printing out lists and arrays to be fast 21:38
timotimo i just vocally spammed a 30c3 visitor about perl6 for about an hour
poor guy. but he just didn't say "stop" :(
actually ... two hours almost 21:39
TimToady maybe he was actually interested :)
21:39 Celelibi joined
TimToady or maybe he was entertained by the spectacle :) 21:39
lue +1 for initialize missing elements. (If you want a truly sparse array, you're probably already using a SparseArray class)
TimToady it seems the simplest solution, unless someone can point to a downside other than (perhaps) a slight increase in memory usage 21:40
21:41 denis_boyun__ left
TimToady FROGGS: no, it's a compile-time constant 21:41
shapes, however, might be run-time
on a parameter, in fact, a shape might actually bind the actual size of the array, sub foo(@a[|a-shape]) { say a-shape } 21:44
timotimo oooooh
TimToady or sub foo(@a[$x-max,$y-max]) would require a 2-dim, and bind the sizes 21:45
while @a[10] would simply require an array sized 10
@a[$x where $x %% 2] 21:46
lotta power there...
timotimo i like that
TimToady otoh, my @a[$x;$y] would kinda want to use exising $x and $y to size the array 21:47
not sure how to combine those ideas
timotimo if we can get a method that gives us the shape, we already can use the pre-existing subsignature binding, no?
TimToady yeah, but that's ucky 21:48
21:48 BenGoldberg joined
timotimo aye. 21:49
lue TimToady: the where clause inside @a[] feels useful on in signatures. Elsewhere you could do $x %% 2 ?? my @a[$x] !! die; or something
s/on/only/
.oO(sub foo(@a[shape]) feels like it's going to be awkward with non-literal values, for some reason.)
21:52
timotimo TimToady: i didn't have much structure to my ... impromptu introduction 21:54
so i covered lots of things briefly and lots of tiny special things
TimToady what was his background?
timotimo a bit of haskell 21:55
a bit of undetermined size
so i told him a bunch about the type system and multiple dispatch
i also showed him how powerful the new regex stuff is, but unfortunately didn't get to say much about how tokens and rules group together to form grammars 21:56
but i did show, briefly again, action classes
lue O.O "There's also a variant for the smartlink syntax: # L<syn/sec/key phrases>>" ...why? Why, Text::SmartLinks? 21:58
Ulti FROGGS read a kernel buffers worth and split or concatenate up to the line delim, keep the remainder and read again for the next line concatenating up to the line delim repeat 22:01
readfh lets you just read upto some number of bytes? 22:02
22:02 johnmilton joined
timotimo yeah, readfh gives you "read this many bytes, at most", nothing else 22:03
lue would love to know how L< ... >> happened
timotimo wat.
that's a typo on your end i hope
lue oh, wow. I think I just stumbled upon an almost 6-year-old typo O.o 22:05
(judging from the git log -p) 22:06
Thing is, I can't tell if the typo is an extra > or a missing <
dalek kudo-star-daily: eb17c74 | coke++ | log/ (5 files):
today (automated commit)
22:10
rl6-roast-data: 65e847f | coke++ | / (5 files):
today (automated commit)
lue tadzik: how correctly is M<> handled at this time? 22:24
22:35 FROGGS[mobile] left 22:38 colomon joined 22:39 FROGGS[mobile] joined 22:45 FROGGS[mobile] left 22:48 xenoterracide left 22:49 FROGGS[mobile] joined
tadzik lue: I think it's not handled at all, any differently than any other formatting code 22:49
lue tadzik: yeah, I did a quick test and, in HTML output, it's copied over verbatim, with code-snippet formatting. 22:50
22:51 kaare_ joined
timotimo lue: look closer 22:53
it probably has a class="error" or something 22:54
22:54 Bucciarati_ is now known as Bucciarati, xenoterracide joined
lue timotimo: what I mean is that M<foo:bar> is output as M<foo:bar>, with a monospaced font 22:55
Why do I get the sense that DOC blocks are a bit of an old relic...? /me dives into git blame
Hrm. Does anyone else get the feeling that the DOC prefix is... wrong, somehow? I understand what it's meant to do, I'm just not convinced a magic prefix is the way to go about it :/ 23:01
timotimo lue: is that the pod6 or POD? 23:02
lue Pod6
timotimo ah 23:03
did you look at the source of the html tag?
lue no
23:04 cognominal__ joined
lue timotimo: :) <kbd class="pod2html-todo">M&lt;foo:bar&gt;</kbd> 23:04
23:05 felher left, labster_ joined, labster_ is now known as labster 23:07 cognominal left, FROGGS[mobile] left
lue tadzik: is handling M<> for defined schemes supposed to be a converter's issue or a Pod6 parsing issue? 23:08
23:08 FROGGS[mobile] joined
lue r: DOC INIT { 1 }; say "alive!"; 23:08
camelia rakudo-parrot 53c60c, rakudo-jvm 53c60c: OUTPUT«alive!␤»
BenGoldberg n: DOC INIT { 1 }; say 'alive!'; 23:14
camelia niecza v24-108-g17d73e4: OUTPUT«===SORRY!===␤␤Undeclared name:␤ 'DOC' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit…»
timotimo gotta go now :) 23:15
23:18 spider-mario left 23:31 kaare_ left 23:32 skids left 23:41 hummeleB1 left 23:42 hoverboard left 23:45 skids joined