»ö« 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:06 pmurias left 00:16 bapa joined 00:26 kcwu joined 00:53 bowtie left 01:06 anuby joined 01:10 hypolin joined 01:14 atrodo left, ponbiki joined 01:15 atrodo joined 01:24 thou left 01:38 Chillance left 01:39 Chillance joined
xilo is there any documentation on how to make c/c++ bindings for perl6? 01:40
shachaf Presumably C and C++ bindings are two very different things. 01:43
xilo i suppose so
but either way 01:45
is there a way to do it? or is that still being worked on
01:54 am0c joined
geekosaur the question is not entirely meaningful. "perl 6" does not have C/C++ bindings; particular implementations may. 02:00
as I understand it, rakudo doesn't because of limitations in Parrot. not sure about niecza
02:02 raiph joined
raiph xilo: hello 02:02
xilo hello 02:03
geekosaur: ie is there anything like XS
colomon xilo: what direction do you mean?
xilo perl calling C++ libraries 02:04
diakopter ahhh
geekosaur point still remains. perl5 is a single implementation with a single backend, so it can have a single XS
what mechanism do you propose for bindings that work both on parrot and .net?
and haskell (pugs)? 02:05
02:05 gootle joined
geekosaur I should say ghc for the latter 02:05
gfldex xilo: github.com/jnthn/zavolaj/
xilo well all .net languages inherently gain the ability to
sorear sure there is. it's called NativeCall, it's currently Rakudo only but one of my next-year goals is to make it run on Niecza too
xilo gotcha 02:06
good to know
how does that work with objects? 02:07
raiph star: use NativeCall; sub fork() returns Int is native("libc.so.6") {*}; fork() # not objects, but shows the basics 02:08
p6eval star 2012.10: ( no output )
geekosaur NativeCall isn't quite the same thing, is it? (note that I have had various people *here* insist that NativeCall is not the same thing...)
and I don't mean randoms and I suppose I should try to find the exact discussion in my archives, except they're spread over multuple machines I don't necessarily have access to so forget I said anything 02:09
xilo ah
yeah it's not quite the same thing
raiph xilo: p6 has the notion of separating an object from its representation. so you can have a p6 object that maps to a cstruct 02:10
sorear geekosaur: there are logs online going back to well before you had that nick
xilo neat
geekosaur I knwo but they're even harder to search usefully when I don't have many keywords to focus the search :/
xilo been wanting to get into perl6, just not sure what to do 02:12
raiph star: use NativeCall; sub readline(Str) returns Str is native('libreadline.so.5') { ... }; say readline('foo:') # another example found by searching #perl6 logs 02:13
p6eval star 2012.10: OUTPUT«foo:Land der Berge, Land am Strome,␤Land der Berge, Land am Strome,␤»
raiph star: use NativeCall; sub SHA1(Str, Int, OpaquePointer) returns CArray[int] is native('libssl.so') { ... }; my @a := SHA1("foo\n", 4, Any); say @a[0] # one last example 02:14
p6eval star 2012.10: OUTPUT«-103623951␤»
02:15 xilo_ joined
raiph xilo: fyi irc logs are at: irclog.perlgeek.de/perl6/today (yesterday's summary is at irclog.perlgeek.de/out.pl?channel=p...summary=1) 02:16
xilo ah
kk
thanks
raiph xilo: there's 7 years worth of logs; i used search to find those examples: irclog.perlgeek.de/search.pl?nick=;...;offset=20 02:17
xilo 7 years of logs...holy crap
raiph thousands of lines per day
xilo i logged all my chats once 02:18
after about a year it got to 20 gigs so i stopped lol
for irc that is
raiph xilo: do you know perl 5? 02:19
xilo yeah 02:20
lets say at work
we had
raiph d'uh ("anything like XS")
xilo 20k lines of perl userspace code with XS bindings that called into lower level OS code...
02:21 whiteknight left
raiph xilo: zavolaj (NativeCall) is already sweet, but it's not mature and it's specific to Rakudo, which is not the only Perl 6 compiler (though arnsholt has talked of working on a solution that works for both Rakudo and Niecza) 02:23
xilo what's the difference between rakudo and niecza? 02:24
oh
clr
clr inherintly gains the ability to do all that and use pretty much any library 02:25
02:25 Chillance left 02:28 tokuhiro_ left
raiph xilo: perl6.org/compilers/ 02:28
02:29 tokuhiro_ joined
raiph xilo: is your near term interest for work or play? 02:29
xilo play
perl6 isn't supported on my job's hardware lol 02:30
raiph heh
feel free to play (nicely) on channel, for example: 02:31
rn: my $name = "xilosay "hello
oops
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/gvUjDHSmOA line 1:␤------> my $name = "xilosay "⏏hello␤␤Parse failed␤␤»
..rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/cGgMNijemw:1␤»
raiph rn: my $name = "xilo"; say "hello $name"
p6eval rakudo bf472b, niecza v22-33-gda13155: OUTPUT«hello xilo␤»
xilo ah neat 02:32
shame no archlinux niecza package
raiph and /msg rn: say 1 # for a private window
xilo onry rakudo
guess i could make a git package 02:33
02:34 atrodo left 02:37 Chillance joined
raiph xilo: seems you are gravitating toward niecza. is that just because of the way it impacts calling native libs? a general preference for a CLR based solution? 02:40
xilo probably a little of both
that's one thing i liked about CLR languages 02:41
you get a lot of freebies
and you don't need language specific libraries
what's the performance difference between the two?
sorear niecza used to be substantially faster, but the gap is closing rapidly and may already be closed 02:43
want to do a niecza archlinux package? *wink*
xilo sorear: that's what i'm working on :P 02:44
anything special i need to do for make?
02:44 FROGGS_ joined 02:45 sqirrel_ joined 02:46 flightrecorder left
sorear xilo: just "make" should work, although it is somewhat less than ideal for packaging because it uses wget 02:46
xilo k 02:47
what about dependency versions
02:48 FROGGS left, sqirrel left
sorear what do you mean? 02:48
niecza is best tested on mono 2.6.7 02:49
02:49 flightrecorder joined
xilo k 02:51
03:04 cognominal left
xilo hmm bulid error 03:13
sorear: i'm getting cp run/Run.Kernel.dll obj/Run.Kernel.dll make: *** [obj/Run.CORE.dll] Error 128 03:14
03:22 Chillance left
xilo well this sucks 03:27
03:32 hmmhesays joined
xilo damn sorear needs to come back lol 03:32
03:38 am0c left, cognominal joined, am0c joined
xilo there was a "fata: no names found, cannot describe anything" in there too 03:44
03:47 kaleem joined
sorear xilo: ...what are you trying to build? 03:47
xilo niecza...
pulled from git 03:48
sorear that sounds like a pretty broken pull
I mean you should have tags
(please package v22, not HEAD; HEAD is in a less than ideal state at the moment) 03:49
03:50 orafu left 03:51 orafu joined
xilo that explains it 03:51
hmm makefile has no install? 03:57
04:02 [particle] left 04:11 spanner left 04:12 erkan left
xilo sorear: you should create an install section in Makefile :X 04:19
sorear Install what where? 04:23
04:28 xilo_ left 04:32 imarcusthis left 04:41 sftp_ left 04:42 rurban_ joined 04:46 dayangkun joined 04:55 rurban_ left 05:04 hash_table left 05:10 GlitchMr joined 05:17 am0c left 05:21 skids left 05:22 raiph left
moritz \o 05:28
sorear o/
xilo: I'm not sure how meaningful "install" is for niecza in its current form, because it cannot be run as a unix executable 05:29
xilo: and the conventions for shell wrapper scripts vary by distribution, so I wouldn't necessarily be doing you any favors 05:31
xilo i'm anal about things being in proper places... like packages being installed instead of just somewhere in directory lol
ah
moritz $ cat `which niecza` 05:32
#!/bin/sh
mono ~/p6/niecza/run/Niecza.exe "$@"
xilo oh wells 05:33
TimToady I find I can use a shebang line of #!/home/larry/perl6/niecza/run/Niecza.exe 05:34
and it works
moritz it works if the kernel knows about CLR files 05:35
I had that too with some kernels
05:35 erkan joined, erkan left, erkan joined
sorear xilo: look at pkg-mono.alioth.debian.org/cli-policy/ 05:35
Debian has extremely specific rules about how CLI packages are installed 05:36
I'm having trouble finding Arch's packaging policy document
xilo debian is anal about everything
sorear hopes the rumors about it being a free-for-all are not true
xilo sorear: wiki.archlinux.org/index.php/Arch_..._etiquette 05:38
er
ignore the #
but that's the page
sorear you have Go standards but no Mono standards? 05:40
xilo lol 05:41
wiki.archlinux.org/index.php/CLR_P...Guidelines 05:42
sorear oh, it exists, it's just not linked from anywhere
xilo yeah 05:43
i guess i could take care of all this in pkgbuild
05:45 xilo_ joined
sorear a note on paths 05:45
xilo though i'm not sure about the stuff in the lib directory
and docs 05:46
sorear Niecza v22+Mono expects to find modules in ../lib relative to the location of Niecza.exe, the compiler's support modules in the same directory as Niecza.exe, and puts compiled versions of user modules in $HOME/.local/share/NieczaModuleCache 05:47
dalek rl6-bench: 1f67eba | (Geoffrey Broadwell)++ | analyze:
Untabify analyze
05:48
rl6-bench: 2001684 | (Geoffrey Broadwell)++ | analyze:
Factor out load and decode of timing file
rl6-bench: 64a48f9 | (Geoffrey Broadwell)++ | analyze:
Initial support in analyze for comparing results across multiple benchmarking runs
xilo ick 05:49
kinda a problem
sorear which? how?
xilo the expected ../lib
sorear I would expect the install location to be $PREFIX/lib/niecza/run/Niecza.exe, $PREFIX/lib/niecza/lib/CORE.setting 05:50
sorear wonders if there's a good way to embed configure-time information like paths 05:51
I guess we could embed a "resource file" with path info if it were a big problem 05:52
xilo or
stick it in /usr/lib/perl6
:3
or /usr/lib/niecza 05:53
and use that path
oh nvm
preventing specific stuff 05:54
getting tired 05:55
05:58 lust4life joined 06:01 lust4life is now known as lustlife 06:04 lustlife is now known as lust4life 06:07 birdwindupbird joined 06:12 xilo_ left 06:21 SamuraiJack joined 06:25 imarcusthis joined 06:28 GlitchMr left 06:33 wamba joined 06:48 yves_ left 06:49 kaleem left 07:02 wamba left 07:06 sorenso joined 07:10 lust4life left
Woodi good morning today :) 07:14
lastly I found nice VM :) fabiensanglard.net/quake3/qvm.php it compiles C code via LCC compiler to bytecode and then execute (of course :) ) code is opensource and githubbed 07:15
I do not exactly know how about thread support in qvm 07:17
07:21 FROGGS_ left, flightrecorder left 07:24 kurahaupo left
Woodi xilo: like special service members say: we must be cruel becouse opossitions is :) 07:27
problems starts (in RL world) when oppositions stops (or is eliminated...) and "system" produce new enemy... 07:28
anyway few times happens to me googling for configuration of sth and best answer was on Arch wiki :) 07:30
hmm, there is no BLFS for Perl6... www.linuxfromscratch.org/blfs/view/svn/ 07:34
07:38 domidumont joined
jnthn morning 07:39
sorear morning jnthn
Woodi o/ 07:41
jnthn tries to drink enough coffee before @student arrive 07:42
sorear yay students
jnthn :)_
sorear is that a drool finger? 07:43
jnthn no, it's a demonstration of my pre-coffee keyboard skills :P
sorear or maybe jnthn is a vampire, but he lost one of his teeth in a tragic accident
07:43 flightrecorder joined 07:46 domidumont left
Woodi so what "contextualizer" is ? 07:49
sorear Boolean.
like !! in other languages :D
Woodi oo
so simple when you know :) like 0 and 1 :) 07:50
sorear well, True and False 07:51
but they numify to 0 and 1
+?$foo is like $foo ?? 1 !! 0
Woodi so far Junctions are like: any('a', 'b', 'd') ? 07:52
jnthn sorear: I don't think a hemophobic vampire would be good for much... :) 07:53
sorear where did hemophobia come in? 07:54
jnthn sorear: Me :)
Well, more :/ than :)
Woodi so in such simple "context" autothreading have anything to do... and didn't saw more complicated examples...
jnthn I suspect it's hard to be a vampire if you feel rather faint at the sight of blood... :) 07:55
Woodi s/have/have not/...
jnthn ...unless you drink through a really long, opaque straw :)
sorear note to self: avoid bleeding at yapcna20123 07:57
Woodi and autothreading is implemented now ? (I hear yes...) but threads arent in place... so maybe it is my MM (mind-mess)...
07:57 FROGGS joined
FROGGS guten morgen 07:58
sorear Woodi: autothreading and threads have nothing to do with one another
jnthn sorear: yes, please :)
Woodi hi FROGGS :)
jnthn sorear: You can to do 2013? :)
sorear I know it's confusing, sorry
jnthn is pondering making his first trip to YAPC::NA this year...
sorear jnthn: well, I want to make yapc::na 2013, but at this rate the dates won't be released until the week after the conf 07:59
Woodi but junctions are for better concurency (done *somehow*) ?
sorear I don't think so.
The primary function of junctions is more natural code 08:00
Woodi ok
sorear if $foo eq any <aleph beth gimel> { ... }
Su-Shee vampires? here? will there be a rakudo twilight? ;)
Woodi no idea how I imagined I read this :)
08:01 atrodo joined
Woodi so maybe Niecza is ancient name of someone ? :) 08:01
sorear now, junctions are delibrately specced in a loose way so that that code can be well optimized
which may, in some cases, include parallelism
but I'd call that "fringe benefit" 08:02
jnthn sorear: I saw prelim dates on TPF site, I thought...
OK, teaching time :)
bbl
Woodi but calculating 'a' || 'b' will gain from not-doing it concurently... and nowhere more complicated examples
can we smuggle promises into this somehow pls ? :) 08:03
sorear Woodi: exactly, doing concurrency of that sort on current systems is.. dubious 08:04
@Larry takes the long view here and imagines a future with so many cores that we can afford to spend some on speculative execution 08:05
which works at the silicon level today (superscalar logic requires an insane amount of area, but nobody wants to program for a machine with 100 486s, except in some restrictive niches that CUDA fills now) 08:06
Niecza's philosophy for the 2010s is that parallelism should happen on user request only 08:08
this may include pragmatic parallelism, "use parallel hyper => (chunksize => 1000)" 08:09
08:09 am0c joined
sorear phenny: tell jnthn I still have not found dates for 2013. tpf's site still lists the 2012 dates 08:11
phenny sorear: I'll pass that on when jnthn is around.
08:14 Bzek left 08:16 atrodo left 08:28 wamba joined 08:35 ifim left 08:36 kaleem joined 08:40 Kharec joined 08:43 wamba left 08:50 kaleem left 08:51 am0c left 08:52 am0c joined 08:53 kaleem joined 08:54 sisar joined 09:07 xinming_ left, xinming joined 09:08 fhelmberger joined 09:14 kresike joined
kresike hello all you happy perl6 people 09:14
jnthn sorear: news.perlfoundation.org/2012/10/yap...apers.html
phenny jnthn: 08:11Z <sorear> tell jnthn I still have not found dates for 2013. tpf's site still lists the 2012 dates
sorear wow 09:18
buried :/
jnthn++
jnthn yeah, I mostly ran into it by accident...
Seems the Kiev one will be at a nice venue :) 09:32
09:36 dakkar joined 09:44 zjmarlow joined, dayangkun left 10:07 hypolin left 10:21 am0c left 10:27 wamba joined
masak good antenoon, #perl6 10:32
FROGGS hi masak 10:33
masak: can close that one? I'm not allowed to... rt.perl.org/rt3/Ticket/Display.html?id=114246 10:34
10:35 am0c joined
masak FROGGS: closed. 10:35
FROGGS thanks!
just a few hundret left ;o)
masak let's just hope some jerk doesn't open up a bunch of new ones... :P 10:36
FROGGS no, that won't happen^^
nevar
masak ;) 10:38
FROGGS is there a way to search for RT tickets where I commented on?
masak what's your username at RT? 10:40
FROGGS FROGGS or FROGGS.de
FROGGS.de as it seems
10:41 domidumont joined
masak hm. I've managed to do a search where a ticket turns up with you as requestor. 10:43
but commented on, that one is not immediate.
FROGGS ya, looks like it's not possible.. 10:44
10:45 SamuraiJack left 10:46 SamuraiJack joined
masak no, I just succeeded. 10:46
FROGGS cool 10:47
masak "Edit Search" -> clear all fields -> Content matches "FROGGS" -> Queue is perl6 -> Add and Search
turned up four tickets for me. 10:48
FROGGS cool, thanks
10:50 bbkr joined 10:53 zjmarlow left 10:58 anuby left 11:05 Su-Shee_ joined 11:09 Su-Shee left
FROGGS masak: I'd like to add a testcase for a ticket, can you please have a look and tell me if I can add it? gist.github.com/ed6f7e50beecc2ed7303 11:12
dont wanna break anything (nicza, pugs, rakudo on another platform than linux, dunno) 11:13
masak I was gonna complain that that test will randomly fail sometimes due to the random stars lining up. 11:19
but then I counted and the chance of that is short of one in 1e10. so, yeah.
I think the solution looks sane.
it's "heavyweight", as KyleHa points out, but that's because we need to test things at startup, so we need to spawn processes. 11:20
FROGGS right, there is no other way IMO 11:21
k, so I will commit
11:27 sisar left 11:30 domidumont left 11:31 domidumont joined 11:36 GlitchMr joined 11:42 zjmarlow joined 11:58 wamba left 12:06 am0c left 12:08 Su-Shee_ is now known as Su-Shee 12:30 tokuhiro_ left, tokuhiro_ joined 12:36 Psyche^ joined 12:39 Patterner left, Psyche^ is now known as Patterner 12:49 gootle left
zjmarlow r: my $line; for < one two three >.values -> $line { if True { .say } } 12:52
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/IkKBtNdUQQ:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
13:01 wamba joined 13:03 larks left 13:04 larks joined 13:06 jaldhar left 13:10 larks left 13:13 cognominal left
masak huh. 13:17
r: for < one two three >.values -> $line { if True { .say } } 13:18
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/dCjZ5WyCfu:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
13:18 larks joined
masak r: for < one two three >.values -> $line { .say } 13:19
p6eval rakudo bf472b: OUTPUT«Any()␤Any()␤Any()␤»
masak r: for 1 -> $a { if 1 { .say } } 13:20
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/KEgz4tUkJF:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
masak we may have this in RT already, actually. 13:22
r: for 1 -> $ { if 1 { .say } } 13:24
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/rjqBOJhJYJ:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
13:26 wamba left
masak yes, here: rt.perl.org/rt3/Ticket/Display.html?id=113904 13:27
though this particular case has an 'if', not a 'when'. 13:30
r: $_ = 42; .say 13:31
p6eval rakudo bf472b: OUTPUT«42␤»
masak r: $_ = 42; for 1 { .say }
p6eval rakudo bf472b: OUTPUT«1␤»
masak r: $_ = 42; for 1 -> $p { .say }
p6eval rakudo bf472b: OUTPUT«42␤»
masak r: $_ = 42; for 1 -> $p { if 1 { .say } }
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/8_I6yPoJpp:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
masak this one illustrates it fairly well. I'll paste it into the ticket.
r: $_ = 42; for 1 { if 1 { .say } } 13:33
p6eval rakudo bf472b: OUTPUT«1␤»
jnthn urgh, that one 13:37
never figured out what was going on there... 13:38
masak the for loop does something unspeakable to $_ when binding to $p. for some reason, an inner block is needed to expose the unspeakableness. 13:39
r: $_ = 42; for 1 { { .say } } 13:40
p6eval rakudo bf472b: OUTPUT«1␤»
masak the inner block needs to be a when or an if.
r: $_ = 42; for 1 { (-> { .say })() }
p6eval rakudo bf472b: OUTPUT«1␤»
masak r: $_ = 42; for 1 { (-> $_ { .say })($_) }
p6eval rakudo bf472b: OUTPUT«1␤»
masak r: $_ = 42; for 1 -> $p { (-> $_ { .say })($_) }
p6eval rakudo bf472b: OUTPUT«42␤»
masak r: $_ = 42; for 1 -> $p { (-> { .say })() } 13:41
p6eval rakudo bf472b: OUTPUT«Null PMC access in find_method('say')␤ in block at /tmp/USC7UEV1rX:1␤ in method reify at src/gen/CORE.setting:5488␤ in method reify at src/gen/CORE.setting:5390␤ in method reify at src/gen/CORE.setting:5390␤ in method gimme at src/gen/CORE.setting:5768␤ in m…
jnthn masak: If you have it locally, also maybe check out if --optimize=0 changes the answer
masak nope; the inner block needs to be a pblock.
jnthn I doubt it though
masak me too.
dalek ast: 6320c7c | (Tobias Leich)++ | S32-list/roll.t:
test that we get different results when re-running interpreter

Random number generator wasnt initialized with a random seed. See rt.perl.org/rt3/Ticket/Display.html?id=89972
masak --optimize=0 does not change l'answer. 13:42
jnthn ok, good 13:43
13:43 kborer joined 13:45 zjmarlow left
masak r: BEGIN { $_ = 42 } 13:45
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Cannot assign to a non-container␤»
masak huh.
jnthn hm, where are you expecting to get a $_ from? 13:46
Should a BEGIN declare one?
Are are you expecting something to happen involving its surrounding scope? 13:47
(The answer it gives looks wrong but I've no idea what right is...)
13:56 grondilu joined
grondilu is surprised there is no Perl6 entry for: rosettacode.org/wiki/Extreme_floati...int_values 13:56
masak hm, what am I expecting? I'm expecting if $_ is (invisibly) declared in the mainline scope, it should be assignable at BEGIN time.
13:57 am0c joined
masak grondilu: I'm not sure minus zero is distinct from plus zero in either of the Perl 6 implementations. 13:57
rn: say 0e1 == -0e1
p6eval rakudo bf472b, niecza v22-33-gda13155: OUTPUT«True␤»
13:57 larks left
masak rn: say 1 / -Inf 13:58
p6eval rakudo bf472b: OUTPUT«-0␤»
..niecza v22-33-gda13155: OUTPUT«0␤»
masak ooh
Rakudo will at least print it differently... :)
14:01 crab2313 joined 14:02 atrodo joined
grondilu well I added a section with the {{incomplete}} banner. Hope it's ok. 14:04
r: say my int $;
p6eval rakudo bf472b: OUTPUT«0␤»
grondilu oops
grondilu was expecting NaN
n: say my int $; 14:05
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/sTylZFiTrT line 1:␤------> say my⏏ int $;␤␤Parse failed␤␤»
grondilu r: say my int $ = 0/0; 14:06
p6eval rakudo bf472b: OUTPUT«Divide by zero␤ in sub infix:<div> at src/gen/CORE.setting:3122␤ in sub DIVIDE_NUMBERS at src/gen/CORE.setting:8346␤ in sub infix:</> at src/gen/CORE.setting:8478␤ in block at /tmp/MVXoGeprD4:1␤␤»
FROGGS r: say my int $; 14:07
p6eval rakudo bf472b: OUTPUT«0␤»
FROGGS r: say my int $; say my int $;
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unsupported use of $; variable; in Perl 6 please use real multidimensional hashes␤at /tmp/zYfpilA7Um:1␤»
grondilu weird
FROGGS ya
masak grondilu: the 'int' variety doesn't NaN.
grondilu lol
masak it's too close to the metal to do that.
grondilu I meant 'num' of course 14:08
silly of m
e
n: say my num $;
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤Malformed my at /tmp/vVYjY3TWuK line 1:␤------> say my⏏ num $;␤␤Parse failed␤␤»
grondilu r: say my num $;
p6eval rakudo bf472b: OUTPUT«NaN␤»
masak why are you using the lowercase types at all?
this is all much easier to show with the normal boxed types.
grondilu masak: I just forgot there is a Num type :) 14:09
r: say my Num $;
p6eval rakudo bf472b: OUTPUT«Num()␤»
grondilu hum
masak that is correct. 14:10
it's undefined.
14:10 bluescreen10 joined, PacoAir joined
masak r: say (my Num $) == NaN 14:10
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unsupported use of $) variable; in Perl 6 please use $*EGID␤at /tmp/FHWgCZwBBw:1␤»
grondilu r: say my Num $ = 0/0;
p6eval rakudo bf472b: OUTPUT«Divide by zero␤ in sub infix:<div> at src/gen/CORE.setting:3122␤ in sub DIVIDE_NUMBERS at src/gen/CORE.setting:8346␤ in sub infix:</> at src/gen/CORE.setting:8478␤ in block at /tmp/P0Ys7lXFnP:1␤␤»
masak r: say (my Num $a) == NaN
p6eval rakudo bf472b: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3307␤ in sub infix:<==> at src/gen/CORE.setting:2964␤ in block at /tmp/BYUwrfPQO0:1␤␤»
masak r: say (my Num $a) == 0
p6eval rakudo bf472b: OUTPUT«Parameter '' requires an instance, but a type object was passed␤ in method Bridge at src/gen/CORE.setting:3307␤ in sub infix:<==> at src/gen/CORE.setting:2964␤ in block at /tmp/4SviHNE5_R:1␤␤»
grondilu r: say (my Num $ = 0)/0;
p6eval rakudo bf472b: OUTPUT«Type check failed in assignment to '$'; expected 'Num' but got 'Int'␤ in block at /tmp/Ie4g9QmKZh:1␤␤»
grondilu r: say (my Num $ = 0.0)/0;
p6eval rakudo bf472b: OUTPUT«Type check failed in assignment to '$'; expected 'Num' but got 'Rat'␤ in block at /tmp/EQabR92a6A:1␤␤»
masak :) 14:11
0e1
grondilu r: say (my Num $ = 0e1)/0;
p6eval rakudo bf472b: OUTPUT«Divide by zero␤ in sub infix:</> at src/gen/CORE.setting:3576␤ in sub infix:</> at src/gen/CORE.setting:2956␤ in block at /tmp/2ib5D93FRu:1␤␤»
grondilu damn
masak no sense in complaining about *any* result of a 0/0 ;)
if demons came flying out your nose, that'd still be within the rulebook.
FROGGS would be a good case to return 42
grondilu why not NaN? 14:12
FROGGS 42
14:12 am0c left
masak grondilu: NaN would be fine, too, I guess. 14:12
I believe that's what Niecza does...
n: say 0e1/0e1
p6eval niecza v22-33-gda13155: OUTPUT«NaN␤»
masak yep.
grondilu anyway 1e0/0e0 should not raise the same exception as 0e0/0e0 14:13
masak I believe that's more in line with IEEE 754, too.
14:13 crab2313 left 14:14 larks joined
grondilu hum I just read in the french wikipedia that NaN == NaN is always false, and that NaN is the only value that has this property (not being equal to itself). Interesting. 14:19
nr: say NaN == NaN 14:20
p6eval rakudo bf472b, niecza v22-33-gda13155: OUTPUT«False␤»
grondilu lol, P6 agrees.
14:21 hash_table joined
masak that's definitely IEEE 754. 14:21
it's not as silly as it may first seem.
since there are several ways of getting a NaN value, chances are they are actually not "the same" NaN.
so the conservative default is assuming they're not.
grondilu will have to read IEEE 754 one of these days
masak and even though we do expect equality between numbers to be a symmetric relation (that is, x == x), NaN is not a number, so it's fine. 14:22
sorry, "reflexive relation" :) 14:23
"symmetric" is a == b <=> b == a
GlitchMr std: 2__000 14:27
p6eval std d38bbd0: OUTPUT«===SORRY!===␤Only isolated underscores are allowed inside numbers at /tmp/BzldOu3gsV line 1:␤------> 2⏏__000␤Whitespace is required between alphanumeric tokens at /tmp/BzldOu3gsV line 1:␤------> 2⏏__000␤Two term…
Woodi rn: for <a b c>.values -> my $a { say $a }
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤In parameter declaration, typename 'my' must be predeclared (or marked as declarative with :: prefix) at /tmp/EWI9KRBA8X line 1:␤------> for <a b c>.values -> my⏏ $a { say $a }␤␤Parse failed␤␤»…
..rakudo bf472b: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 2, near " $a { say "␤»
GlitchMr Even that has specific error O_o?
Woodi std: for <a b c>.values -> my $a { say $a } 14:28
p6eval std d38bbd0: OUTPUT«===SORRY!===␤In parameter declaration, typename 'my' must be predeclared (or marked as declarative with :: prefix) at /tmp/f_I0QS6dR5 line 1:␤------> for <a b c>.values -> my⏏ $a { say $a }␤Parse failed␤FAILED 00:00 43m␤»…
masak r: class my {}; my @a = my.new xx 3; for @a -> my $v { say "hep!" } 14:30
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Malformed my␤at /tmp/gw0T0SoKls:1␤»
masak getting my hopes up, and then I can't use 'my' as a type... :P
14:31 hash_table left
GlitchMr rn: say 6.7e-11 * 80_000 ** 2 / 50 ** 2 14:34
p6eval niecza v22-33-gda13155: OUTPUT«0.0001715200000000002␤» 14:35
..rakudo bf472b: OUTPUT«0.00017152␤»
GlitchMr Does Perl 6 have G constant?
masak what G constant? 14:37
GlitchMr gravitional
en.wikipedia.org/wiki/Gravitational_constant 14:38
masak oh, that one.
no, Perl 6 doesn't "have" that one. :)
but adding it to your program is a one-line fix.
GlitchMr gravitational* 14:39
14:41 Chillance joined 14:45 haybend joined
haybend hello 14:46
masak hay, haybend
Woodi hmm, for %cfg.values -> $a { say "A: $a" }; returns "A: string with hash keys" when %cfg comes from Config::INI. in script. 14:47
o/
masak rpn: say "hello, haybend!"
p6eval rakudo bf472b, niecza v22-33-gda13155, pugs: OUTPUT«hello, haybend!␤»
masak Woodi: do not understand. could you gist the exact script and exact output? 14:48
14:48 haybend left
Woodi k 14:50
masak haybend left :/
Woodi pastebin.com/GhEi2CEB 14:52
FROGGS maybe the $a's are Pairs? 14:54
masak looks to me like it's another Hash.
a Hash in a Hash. 14:55
Woodi hmm
FROGGS hmmm, does that ini file have sections? 14:56
masak print $a.WHAT to find out, perhaps? 14:57
14:57 skids joined
Woodi adding: my $b = %cfg.values; say $b.WHAT; printed: List() additionally 14:58
FROGGS can you paste %cfg.gist ? 14:59
Woodi .perl on %cfg says: ("_" => {"host" => "localhost", ... 15:01
tadzik there you go
15:01 [particle] joined
FROGGS so it looks like there is a section [_] 15:01
tadzik that means no section 15:03
toplevel stuff is held in imaginary section [_]
15:06 rindolf joined
FROGGS ahh 15:07
masak hm, I skimmed Config::INI, and even saw that, but didn't draw the appropriate conclusion...
so, working as intended.
Woodi tadzik: so how %cfg<port> get port number ? :)
tadzik er, what? :)
FROGGS %cgf<_><port>
or so
tadzik you got the entire hash
Woodi works for me :)
tadzik ah, I see :)
yeah, that's how it's done 15:08
15:11 kaare_ joined
Woodi so pls tell me why my tests are passing ???? 15:11
15:11 xilo left
tadzik are they? 15:12
they aren't failing because you didn't run any ;)
"Looks like you planned 4 tests, but ran 0"
GlitchMr std: $_=*&!""%''+-();my@:=?\.[]^{}|<!>,#`||
p6eval std d38bbd0: OUTPUT«===SORRY!===␤"^" and "|" are non-associative and require parens at /tmp/b12sWHncsf line 1:␤------> $_=*&!""%''+-();my@:=?\.[]^{}|⏏<!>,#`||␤Opening bracket is required for #` comment at /tmp/b12sWHncsf line 1:␤------> $_=*&!""… 15:13
Woodi tadzik: thats becouse of 'exit;' for testing tests... but when I put them in they wild they work :)
GlitchMr std: $_=*&sin!""%''^-();my@:=?\.[]+{}|<!>,#`[]
p6eval std d38bbd0: OUTPUT«===SORRY!===␤Unsupported use of bare 'sin'; in Perl 6 please use .sin if you meant $_, or use an explicit invocant or argument at /tmp/S4yEskBGgl line 1:␤------> $_=*&sin⏏!""%''^-();my@:=?\.[]+{}|<!>,#`[]␤Unsupported use of . to c…
tadzik well, I can't help you if I don't see the code 15:14
Woodi probably EINCOMPLETETESTSUITE :)
15:15 stopbit joined
GlitchMr Just wondering, how could $_=*&!""%''^-();my@:=?\.[]|+{}<>,#`[] work 15:18
Or even better, $_=*&!""%''^-();my@:=?\.<>|+{},#`[ 15:19
]
15:22 wamba joined 15:33 grondilu left 15:35 xilo joined 15:38 sorenso left, hash_table joined
Woodi for me should it should be syntax error just for visual uglines. thes days compilers should catch such things ! 15:41
jnthn What do you want us to do, detect more than N non-ascii chars in a row and say "==SORRY==\nThat's bloodly ugly!"? :)
Woodi wonders when Woodi will learn to use English properly..
jnthn Woodi: Just hang around here long enough; our good examples will learn you an English in no time. :) 15:42
Woodi jnthn: to catch all strings being random collection of ascii characters :) 15:43
15:46 cognominal joined
Ulti Woodi have you seen perlcritic 15:49
Woodi Ulti: a very little of it :) but was scare to try it on my code :) 15:53
15:58 MayDaniel joined
kresike bye folks 16:00
16:00 kresike left
masak Woodi: your concern is not significant enough. please find more important problems. :) 16:06
er, sorry. s/Woodi/GlitchMr/
GlitchMr: if you make up crazy ASCII and then complain that it doesn't work... that's your problem, not Rakudo's. 16:07
16:09 zjmarlow joined, FROGGS left, flightrecorder left 16:18 tokuhiro_ left, tokuhiro_ joined
Woodi in last days I had a lot of complains about bugs in NativeCall; module... but today I must say that all that complains was a programmer error... now, from my perspective, NativeCall works works buglessy, it even operate in network with invalid uris and port numbers... 16:19
masak cool. 16:20
Woodi looks defaults was perfect on both sides :) 16:21
Woodi disappers on Oblivion border & 16:22
16:23 spanner joined, spanner left, spanner joined 16:25 rurban_ joined 16:30 perigrin left, perigrin joined 16:34 kaleem left, kaleem joined, perigrin left 16:35 perigrin joined 16:37 Kharec left 16:38 domidumont left 16:39 thou joined 16:44 rurban_ left 16:45 kborer left 16:52 cognominal left 16:53 kaleem left
GlitchMr masak: I'm complaining it does work 16:54
I don't know why exactly my@:'blah'; works
16:54 sftp joined
GlitchMr I meant 16:54
my@:='blah',;
masak I see nothing unusual about that. 16:55
moritz just a distinict lack of spaces
masak it's just `my @ := 'blah';` with all the spaces removed and an extraneous comma inserted.
16:55 Kharec joined
moritz which makes things harder to understand for the programmer, but not for the compiler 16:55
masak GlitchMr: my point is, why do you make up lots of ASCII crap without spaces, and then complain about it?
GlitchMr What my @ := 'blah'; makes anyway? 16:56
masak it binds 'blah' to an anonymous array.
GlitchMr codegolf.stackexchange.com/question...ii-symbols
moritz r: my @ := 'blah';
p6eval rakudo bf472b: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Str'␤ in block at /tmp/NWDcjWpt9k:1␤␤»
masak an anonymous positional variable, I should say.
moritz well, it tries to. And fails.
r: my @ := 'blah', ;
p6eval rakudo bf472b: ( no output )
moritz which is why you need the comma
to construct a parcel 16:57
masak ah.
I retract my description "extraneous".
GlitchMr: though if it's brevity you want, 0 is shorter than 'blah' 16:58
r: my@:=0, 16:59
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/eMOmDTd0ml:1␤»
masak hm. I bet some of those spaces are required.
r: my @ := 0,
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/2RU2HI3bfH:1␤»
16:59 fgomez left
masak huh. 16:59
r: my @ := 0, ;
p6eval rakudo bf472b: ( no output )
masak that looks like a bug to me, actually.
you can't end the file with a comma? 17:00
17:03 flightrecorder joined 17:04 FROGGS joined
FROGGS hi pals, long time no see \o/ 17:04
masak FROGGS! \o/ 17:05
r: my @array = 1, 2, 3,
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/7gpm1NFCDe:1␤»
masak r: my @array = 1, 2, 3, ;
p6eval rakudo bf472b: ( no output )
masak submits rakudobug
FROGGS meh, I try to get them closed! ;o) 17:06
masak eval: my @array = 1, 2, 3,
buubot_backup masak: 3
masak thought so
FROGGS eval is perl5? 17:07
buubot_backup FROGGS: ERROR: Search pattern not terminated or ternary operator parsed as search pattern at (eval 20) line 1.
FROGGS well, thanks buubot_backup
masak FROGGS: that's not valid Perl 5 :P
masak refers to perldoc.perl.org :)
r: { my @array = 1, 2, 3, }
p6eval rakudo bf472b: ( no output )
geekosaur it's valid perl5, just doesn't do what you wish 17:08
masak r: 1, 2, 3,
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/WRiysxuok0:1␤»
masak r: 0,
geekosaur (with -w, "Useless use of a constant in void context")
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/PdOrQQTrg4:1␤»
masak shortest bug... ever? :)
FROGGS r: , 17:09
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Confused␤at /tmp/mt5sXvR601:1␤»
FROGGS r: ;
p6eval rakudo bf472b: ( no output )
geekosaur but that;s not a bug. unless you coult LTA
FROGGS k
geekosaur count
FROGGS why is LTA ?
what
geekosaur "less than awesome" error messages 17:10
"Confused" is kinda uninformative
moritz std: ,
p6eval std d38bbd0: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/qiLW17EyIB line 1:␤------> <BOL>⏏,␤Parse failed␤FAILED 00:00 41m␤»
masak well, STD wins in terms of awesome error message. :)
17:11 birdwindupbird left 17:13 domidumont joined
FROGGS "less than awesome"?? really? 17:13
masak you must be new here :) 17:14
search RT for "LTA".
FROGGS ya, hundrets of times
but you cant google for that, you only find crab 17:15
crap
masak why would you google for it? 17:16
it's a local term around here. 17:17
FROGGS just to know what it means
masak I've only seen it used in #perl6.
FROGGS well, google should know and tell me ;o)
moritz but if you don't know what it is, you don't know it's local
masak troo.
FROGGS I guess they already know that I'm here
[Coke] FROGGS: why "leg" in your example, and not "neq" (for random seed) 17:19
masak s/neq/ne/
FROGGS [Coke]: just innocence 17:20
masak hm, I missed that.
`ne` would be clearer.
FROGGS its just that I remembered leg, and I thought ne was gone
moritz or !eq
[Coke] er, yes, sorry, my coldfusion is peeking through there with the NEQ.
doc.perl6.org/language/operators#infix%20leg - this fails on IE8 to take me to infix leg
masak here in Chrome as well. 17:21
FROGGS because of the space
s/%20/+/
[Coke] the id is "infix+leg", not "infix leg"
masak doc.perl6.org/language/operators#infix+leg seems to be the actual anchor.
I see a patch in someone's future... :) 17:22
kudos to whoever fixes it.
[Coke] I leave it to FROGGS, as I'm in a no commit zone.
FROGGS well, I'll change it, because leg isnt the right, really
masak oh, that, too.
I meant the doc.perl6.org issue. 17:23
I bet moritz will be pleased if someone fixes it for him... :)
dalek ast: c5f5026 | (Tobias Leich)++ | S32-list/roll.t:
'ne' operator instead of 'leg', [Coke]++
17:24
masak ah, here: github.com/perl6/doc/blob/master/l...ble.pm#L29 17:25
that %20 there should be a +
masak fixes 17:26
dalek c: 3d6ca6b | (Carl Mäsak)++ | lib/Perl6/Documentable.pm:
[Documentable] fixed url: +, not %20

See discussion at <irclog.perlgeek.de/perl6/2012-11-20...170204>
17:27
17:27 brrt joined 17:30 domidumont left, rgrau joined, domidumont joined, zjmarlow left
japhb Anyone happen to know specific constructions that got faster in Rakudo between 2011.06 and now? (I'm curious for Niecza as well, but I have not yet determined the cutoff date there, so "somewhat recently" I guess.) 17:40
I need to make sure perl6-bench is giving me sane, comparable results from release to release.
timotimo are you working on benchmarks for rakudo and niecza? 17:41
japhb timotimo, Yes. All the Perl family compilers, actually (from perl5 to Perlito to nqp to Rakudo and Niecza, and more variants between). 17:42
timotimo sweet! i'll be interested to see that 17:43
17:43 colomon_ joined, colomon left, colomon_ is now known as colomon
japhb timotimo, Right now I only have a few small benchmark *tests* in place, just so that I can build out the structure for comparing across compilers (done) and across releases of a compiler (WIP). But now I'm getting to the stage of needing to see some real differences so I can confirm all my math is right. 17:44
masak japhb: there are five commits in Rakudo's commit log containing the substring "speed" between 2011.06 and now.
17:44 colomon left, colomon joined
japhb masak, thank you, I had been checking the Changelog, and not finding it specific enough. But you're right, the git log seems to be specific enough (at least for a few cases). 17:46
17:47 colomon left, colomon joined
masak it's hard to tell how much it omits. 17:48
"fast" as a substring seems to get some hits, too. 17:49
jnthn If the ChangeLog contained every detail the commit log does, there's be little point to it :) 17:51
17:51 grondilu joined
jnthn Typically, it contains added features and notable fixes and speedups. Minor speedups and bug fixes don't cut it. 17:51
17:51 rgrau left
japhb jnthn, Oh, no argument there. I'm just such a speed nut that it didn't occur to me that the Changelog wouldn't be shouting performance wins from the rooftops, as it were. :-) 17:51
grondilu do you guys have a recommended pastebin here?
japhb grondilu, gist 17:52
jnthn japhb: When it's a 10% improvement, probably. When it's a 2% improvement, probably not :)
japhb jnthn, that's totally fair.
jnthn Yeah. Really though, exactly what makes it in is kinda fuzzy :) 17:53
17:55 dakkar left
grondilu tries to solve rosalind.info/problems/nwck with a Perl6 grammar: gist.github.com/4119616 17:56
^ doesn't work has expected, though. Any advice? 17:57
(it does not parse the '(dog,cat);' line)
jnthn grondilu: Don't immediately spot anything wrong, though I note that TOP doesn't anchor the match 18:05
grondilu 'anchor'?
jnthn ^ 18:06
grondilu: wait, are you expecting it to parse all the lines?
heredocs don't split 18:07
grondilu no, just the one that should match.
oh yeah
jnthn OK, but it did
:)
grondilu I forgot to split
jnthn Well, or lines :) 18:08
Seems that it matches then :)
grondilu cool
18:11 cognominal joined
grondilu damn it it does not work anymore if I use stdin (my @data = lines) 18:13
18:13 colomon left
grondilu 'lines' does chomp, right? 18:13
jnthn yes 18:15
grondilu then something's wrong 18:16
ok. lines returns me a single, multiline string. :/ 18:21
{echo foo; echo bar; } |perl -e 'say join ":", lines' 18:23
^ this returned "foo\nbar". I expected "foo:bar"
tadzik do you have perl6 aliased for perl?
grondilu no. Bad copy-paste 18:24
grondilu first wrote perl by mistake
{echo foo; echo bar; } |perl6 -e 'say join ":", lines'
also, forgot a space at the beginning: 18:25
{ echo foo; echo bar; } |perl6 -e 'say join ":", lines'
tadzik works for me
grondilu you get foo:bar ?? 18:26
tadzik yes !!
(:
grondilu weird
I don't
tadzik unless I use bash
then it doesn't work at all :)
(I use zsh otherwise)
jnthn dinner, bbl 18:27
grondilu what about: echo -e "foo\nbar" |perl6 -e 'say join ":", lines'
?
tadzik same 18:28
grondilu wtf
tadzik :)
18:28 leont joined
grondilu cal|perl6 -e 'say join ":", lines' 18:28
Am I missing something or what?? 18:29
tadzik apparently
it all seems fine for me
grondilu :(
tadzik make it print lines.perl
and keepinvestigating
grondilu (" November 2012 \nSu Mo Tu We Th Fr Sa \n 1 2 3 \n 4 5 6 7 8 9 10 \n11 12 13 14 15 16 17 \n18 19 _\b2_\b0 21 22 23 24 \n25 26 27 28 29 30 \n ",).list 18:30
This is annoying
tadzik huh
what platform is that? 18:31
grondilu linux debian sid
tadzik I have no idea why it is so
moritz grondilu: what parrot version do you use?
tadzik as if your lines() didn't split
grondilu This is perl6 version 2012.10-151-g112307b built on parrot 4.8.0 revision RELEASE_4_8_0 18:32
moritz that's known to cause trouble; which is why we now recommend parrot 4.4.0 :/ 18:35
grondilu That's quite a downgrade
tadzik we'll think about using newer when (if) Parrot gets threads :) 18:36
at least I'll think
18:36 eternaleye left
grondilu Nevermind. I'll slurp the file and split it. 18:38
moritz does mind 18:39
masak yeah. regressions in Parrot aren't funny. 18:40
moritz r: m{ / } 18:46
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter / (must be quoted to match literally) at line 2, near " }"␤»
moritz r: m{ # }
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤Regex not terminated at line 2, near ""␤»
18:46 fhelmberger left
moritz std: m{ # } 18:46
p6eval std d38bbd0: OUTPUT«===SORRY!===␤Regex not terminated at /tmp/Nb92L6EWhM line 1 (EOF):␤------> m{ # }⏏<EOL>␤Parse failed␤FAILED 00:00 41m␤»
dalek rl6-bench: 99cf729 | (Geoffrey Broadwell)++ | TODO:
Add TODO items for tests targetting Rakudo performance wins since 2011.06
18:58 zjmarlow joined 19:00 SamuraiJack left 19:04 circlepuller left 19:05 rurban_ joined 19:10 brrt left
sorear good * #perl6 19:18
FROGGS hi sorear 19:19
masak sorear! \o/
19:20 leont left
dalek rl6-roast-data: 4d24097 | coke++ | / (4 files):
today (automated commit)
19:22
[Coke] S32-str/sprintf.rakudo aborted 125 test(s) 19:23
19:29 fgomez joined, hash_table left
masak [Coke]: unable to reproduce that. 19:32
here it runs all 125. 19:33
19:35 zjmarlow left 19:38 rurban_ left
[Coke] masak - using the same roast version listed in github.com/coke/perl6-roast-data/c...4d2409740a ? 19:39
masak where do I see the roast version in that commit? 19:40
oh, is it the 6320c7c? 19:41
no, I seem to be one commit ahead of that. but the new commit only touches S32-list/roll.t, so it shouldn't matter. 19:42
[Coke] hokay. 19:45
masak++
hopefully it'll de-fluke tomorrow. 19:46
masak yes. holler if it doesn't.
FROGGS rakudo: say [leg] <a b c> 19:47
p6eval rakudo bf472b: OUTPUT«Increase␤»
[Coke] ah. if I run it on feather, it segfaults.
FROGGS is that right? two years ago you got -1
[Coke] (in the checkout used to do the roast test.)
FROGGS: -1 is to Increase like 1 is to True
FROGGS hmmm
so its still wrong
[Coke] it's a builtin enum for comparisons that I think only rakudo implements yet. 19:48
FROGGS I dont understand what I should get instead by reading rt.perl.org/rt3/Ticket/Display.html?id=79116
[Coke] r: say +Increase
p6eval rakudo bf472b: OUTPUT«-1␤»
[Coke] r: say +Decrease
p6eval rakudo bf472b: OUTPUT«1␤»
FROGGS ya, I know that
zero is equal
r: say +Same 19:49
p6eval rakudo bf472b: OUTPUT«0␤»
[Coke] that ticket was opened by colomon; have him tell you the expected output.
(or, better, write a test)
n: say [leg] <a b c> 19:52
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤Cannot reduce with leg because structural infix operators are diffy and not chaining at /tmp/4iSXLyh5do line 1:␤------> say [leg]⏏ <a b c>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/…
[Coke] r: say a leg b
p6eval rakudo bf472b: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&b' called (line 1)␤Undefined routine '&leg' called (line 1)␤Undefined routine '&a' called (line 1)␤»
[Coke] r: say 'a' leg 'b'
p6eval rakudo bf472b: OUTPUT«Increase␤»
[Coke] r: say [<] 1, 3, 10 19:53
p6eval rakudo bf472b: OUTPUT«True␤»
masak FROGGS: I think in that ticket, colomon was expecting Increase, but when he got -1 he thought that was wrong.
[Coke] n: say [leg] <a q e>
p6eval niecza v22-33-gda13155: OUTPUT«===SORRY!===␤␤Cannot reduce with leg because structural infix operators are diffy and not chaining at /tmp/VUQuDzmJn1 line 1:␤------> say [leg]⏏ <a q e>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/…
[Coke] r: say [leg] <a q e>
p6eval rakudo bf472b: OUTPUT«Increase␤»
masak oh! maybe leg is non-associating. 19:54
[Coke] I think maybe leg isn't supposed to be amenable to meta-ing in that fashion, perhaps.
masak that might be what the ticket is hinting at.
[Coke] er, what masak said. :)
masak it certainly doesn't say it outright.
[Coke] std: say [leg] <a q e>
p6eval std d38bbd0: OUTPUT«===SORRY!===␤Cannot reduce with leg because structural infix operators are diffy and not chaining at /tmp/pt4GA9QKBk line 1:␤------> say [leg]⏏ <a q e>␤Check failed␤FAILED 00:00 42m␤»
[Coke] so, I think std and n have what the ticket is looking for here. 19:55
masak but S03 agrees; infix:<leg> is non-associating.
[Coke]: *nod*
masak adds this to the ticket
19:55 kurahaupo joined
[Coke] masak++ 19:55
FROGGS++ 19:56
masak - do you still think rakudo should provide a --target=pbc ? 19:57
(RT #74386) 19:58
19:58 kurahaupo left, benabik joined
[Coke] nwc10: do you have an opensolaris box? 19:58
masak [Coke]: no. feel free to reject that ticket. 19:59
FROGGS [Coke]: I've got one somewhere... but I need to check if that vm is still healty 20:00
[Coke] FROGGS: there are 3 or 4 opensolaris tickets in the queue. 20:01
even a "yes, this still occurs" would be helpful.
FROGGS k, I'll check
[Coke] rakudo: my @a = 1..10; say @a.PARROT #RT74430 fragment 20:02
p6eval rakudo bf472b: OUTPUT«No such method 'PARROT' for invocant of type 'Array'␤ in block at /tmp/pU5NV7vbNT:1␤␤»
[Coke] r: sub foo(@items is copy) { @items.splice(0,1); } ; my @items = 'a'..'g'; foo(@items); say @items; 20:04
p6eval rakudo bf472b: OUTPUT«b c d e f g␤»
20:06 kurahaupo joined
masak the above might well be correct. 20:08
for objects, what's copied is the reference to the object.
20:10 bowtie joined 20:13 zby_home_ joined
[Coke] masak: ticket is RT#74430 20:14
masak I already looked at it :)
I dunno -- we seem pretty convinced in the past. 20:15
maybe it is a bug after all.
20:18 azawawi joined
azawawi hi 20:18
FROGGS hi
azawawi star: say "Hello world";
p6eval star 2012.10: OUTPUT«Hello world␤»
azawawi how can i benchmark code in perl 6? 20:19
tadzik use Benchmark :)
moritz github.com/perlpilot/benchmark/
masak it's on modules.perl6.org/
as are many other modules.
moritz star: use Benchmark; 20:20
p6eval star 2012.10: OUTPUT«===SORRY!===␤Could not find Benchmark in any of: /home/p6eval/star/lib/parrot/4.6.0/languages/perl6/lib, /home/p6eval/star/lib/parrot/4.6.0/languages/perl6/vendor/lib, /home/p6eval/star/lib/parrot/4.6.0/languages/perl6/site/lib, /home/p6eval/.perl6/2012.10/lib, /hom…
azawawi is it known that $file-name eq any(@excluded) is way too slow? :)
20:21 domidumont left
jnthn The auto-threader is slow. 20:21
Probably because it was written in about an hour and nobody touched it since... :)
20:22 bluescreen10 left
jnthn Maybe I should revisit it soonish :) 20:22
azawawi okay i was playing with find-file in farabi6
and it was way too slow...
so i started taking it apart and it was any(@excluded) # the one that excludes ['.git', '.svn'] that was too slow on folder with 200+ files 20:23
star: dir(cwd)
p6eval star 2012.10: ( no output ) 20:24
azawawi star: my @files = dir(cwd)
p6eval star 2012.10: ( no output )
azawawi star: cwd
p6eval star 2012.10: ( no output )
jnthn Missing a say? :)
20:24 benabik left, benabik_ joined
azawawi paste.debian.net/211061/ # optimized version or so i think :) 20:25
paste.debian.net/211064/ # very slow but elegant version 20:27
star: say dir(cwd) 20:28
p6eval star 2012.10: OUTPUT«src lib bin include share version man␤»
azawawi star: say dir('/')
p6eval star 2012.10: OUTPUT«sys lost+found restoresymtable lib .webtermrc bin srv usr sbin run tmp media initrd proc boot etc mnt opt var dev selinux home root␤»
20:33 bruges left
sorear star: say slurp('/etc/shadow') 20:33
p6eval star 2012.10: OUTPUT«Unable to open filehandle from path '/etc/shadow'␤ in method open at src/gen/CORE.setting:7354␤ in sub open at src/gen/CORE.setting:7601␤ in sub slurp at src/gen/CORE.setting:7626␤ in block at /tmp/jRNRdVGKTC:1␤␤»
sorear star: say slurp('/etc/passwd').lines>>.subst(/\:.*/,'',:g) 20:34
20:34 bruges joined
p6eval star 2012.10: OUTPUT«root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody sshd azawawi runpugs andara munin tene japhb infinoid libuuid moritz tewk coke diakopter cygx mysql ash szabgab snarkyboojum tryrakudo flussence p6eval syslog klog drain… 20:34
FROGGS nice & handy ;o) 20:35
sorear ...I clearly should not be messing with p6eval right now 20:36
20:38 eternaleye joined
FROGGS gnight so far 20:40
20:40 flightrecorder left
cotto jnthn, you picked good time to bring up threads. Parrot's got a threads branch that's ready for merging once nqp and rakudo are happy with it. 20:40
jnthn cotto: I...brought up threads? :)
20:40 FROGGS left
tadzik cotto: well, the thing is that nqp is not happy :( 20:41
jnthn thought it was tadzik who mentioned 'em earlier...
tadzik I mention them from time to time to see if people still remember :)
cotto tadzik, that's one of the things to fix 20:42
niner.name/Hybrid_Threads_for_the_Parrot_VM.pdf
20:42 thou left
azawawi cool, green threads... 20:45
20:45 zby_home_ left 20:48 bluescreen10 joined
azawawi the best rakudo error message is "Confused. Please use std/viv -c" :) 20:50
cotto Could someone with an nqp commit bit change "typeid" to "type_id" in src/ops/nqp_dyncall.ops? 20:51
gcc 4.7 doesn't like "typeid"
dalek p: 4f52b8c | rurban++ | src/ops/nqp_dyncall.ops:
rename typeid variable to type_id

gcc-4.7 and 4.8 reserve typeid
20:52
masak that was fast!
cotto I asked earlier in #parrot 20:53
20:54 rurban_ joined
masak yeah, I guessed that ;) 20:55
azawawi i have been reading quite a bit about parrot lately. Is PIR going away in favor of winxed and nqp? for a newbies parrot intro that is. 20:56
sorear rurban_! \o/ 20:57
21:01 GlitchMr left
cotto azawawi, winxed and nqp are both much easier to be productive in than PIR. It'll be hard to completely get rid of PIR, but higher-level languages are the recommended interface. 21:02
masak I, for one, welcome our new non-PIR overlords. 21:03
sorear underlords? 21:04
azawawi cotto: more productive but slower :)
masak it's only slower if you assume that humans are better at compiling than programs, in the long run. 21:05
sorear n: say Increase
p6eval niecza v22-33-gda13155: OUTPUT«Increase␤»
sorear n: say 2 leg 4
p6eval niecza v22-33-gda13155: OUTPUT«Increase␤»
sorear n: say 2 cmp 4
masak "slower" was a common argument against compilers a few decades ago.
p6eval niecza v22-33-gda13155: OUTPUT«Increase␤»
sorear humans are *still* better at activities requiring creative engineering 21:06
there's a reason gmp and openssl have lots of CPU-specific assembly implementations of core functions 21:07
masak *nod*
sorear: let's meet again by the end of this century and see how humans stack up against programs wrt creative engineering. ;) 21:08
I'm not making any bets, just suggesting it'll be an interesting century. 21:09
sorear masak: did you see that jnthn++ found dates for yapc na 2013? 21:13
tipdbmp What's the difference between the parens and the brackets in a regex?
Something to do with the match object?
sorear Parens capture.
moritz tipdbmp: parens capture, brackets don't 21:14
sorear [] is the new (?:)
tipdbmp Oh, okay.
moritz nr: say 'ab' ~~ /(.)[.]/; say ~$0, ~$1
p6eval niecza v22-33-gda13155: OUTPUT«#<match from(0) to(2) text(ab) pos([#<match from(0) to(1) text(a) pos([].list) named({}.hash)>].list) named({}.hash)>␤Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1295 (warn @ 5) ␤ at /home/p6eval/niecza/lib/…
..rakudo bf472b: OUTPUT«「ab」␤ 0 => 「a」␤␤use of uninitialized value of type Any in string context in block at /tmp/RGfLbaAChZ:1␤␤a␤»
tipdbmp Tnx =).
moritz nr: 'ab' ~~ /(.)[.]/; say ~$0, ~$1
p6eval rakudo bf472b: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/6dKnQhR06g:1␤␤a␤» 21:15
..niecza v22-33-gda13155: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1295 (warn @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/SytCMDkGoq line 1 (mainline @ …
moritz nr: 'ab' ~~ /(.)[.]/; say ~$0, defined $1
p6eval rakudo bf472b, niecza v22-33-gda13155: OUTPUT«aFalse␤»
21:15 azawawi_ joined
azawawi_ masak: every language can be productive if the supporting editing/compiling tools provide aids for it.... (i disconnected... :) 21:16
21:16 azawawi left
azawawi_ masak: try writing a Java program with and without eclipse and you'll see the difference in productivity 21:16
21:17 gaussblurinc_ joined
masak heh -- I wrote Java long before I started using Eclipse. I was in love with Eclipse for a little while, but now I prefer to go without it. 21:17
sorear masak: planning to come? I hear visas can be a real drag 21:18
masak azawawi_: but I really thought you meant "slow" as in program performance.
jnthn
.oO( visas are a drag, but for everything else there's mastercard... )
[Coke] jnthn: I think you'll Discover we don't like those kind of puns here.
azawawi_ masak: once you get used to eclipse quick fixes and assists... you'll never go back. Same with textmate snippets.
21:19 azawawi_ is now known as azawawi
masak sorear: it would be fun to go to YAPC::NA sometime in the future, but I doubt it'll be in 2013. too much non-Perl 6 going on here right now. :) 21:19
jnthn [Coke]: eek, I promise never to make them in the Diners over there...
sorear masak: not even in June?
[Coke] will try harder to get to yapc next year if others will be around.
masak sorear: correct.
I *think* I'll make it to YAPC::EU 2013.
jnthn masak: Best had, it's in Kiev :P
[Coke]: I'm pondering doing NA for the first time this year.
masak [Coke]: do many Americans call YAPC::NA "yapc", and are they aware they are doing that? :) 21:20
21:21 sqirrel_ left
sorear I call yapcs yapc when it's clear which one I'm talking about 21:21
[Coke] masak: somewhat, and probably.
sorear I've been known to call Sacramento the capital... 21:22
[Coke] jnthn: hurm, 17 hour drive. 21:23
sorear [Coke]: I will definitely be at NA 2013. undecided about EU 2013
masak will YAPC::NA 2013 be in Austin? 21:27
21:30 rurban_ left
jnthn masak: yeah 21:30
[Coke] Austin? whoops, that's a lot more than 17 hours. 21:34
jnthn [Coke]: I'm sure however far it is for you, it's further for me :P 21:35
[Coke] jnthn: no doubt. But anything I can drive to, I'm more likely to go to than if I have to fly.
and Austin is far enough that I'm guessing flying is the only sane option.
[Coke] sadly cannot expense anything yapc related for work. 21:36
sorear [Coke]: you're in OR, right? 21:42
21:48 benabik_ left
azawawi paste.debian.net/211107/ # OS.readdir benchmarked... perl6 vs winxed vs pir ... silly i know but fun 21:51
sorear azawawi: what about you, are you convenient to austin tx us june 2013? 21:55
azawawi I cannot travel atm 21:57
given how much my country is having revolutions and such... 21:58
azawawi sleep & 22:02
22:02 skids left, azawawi left
xilo you live in austin sorear ? 22:03
sorear xilo: no, san diego 22:04
xilo ah 22:05
22:05 grondilu_ joined, grondilu_ left
xilo what's going on in austin then 22:05
sorear xilo: yapc::na 2013
xilo ah
sorear you coming? 22:06
grondilu proposed an idea for fighting spam on RC: rosettacode.org/wiki/Rosetta_Code:V...ng_test.3F
xilo i live in austin
maybe
sorear if you don't, we could still meet up 22:08
22:13 tokuhiro_ left 22:14 tokuhiro_ joined, bbkr left, kcwu left, moritz left, broquaint left, snarkyboojum left, steven left, broquaint joined, kcwu joined 22:15 snarkyboojum joined, tokuhir__ joined, bbkr joined
jnthn 'night o/ 22:16
22:16 [particle]1 joined
sorear night jnthn 22:19
22:20 steven___ joined, moritz joined 22:22 tokuhir__ left 22:23 tokuhir__ joined 22:24 tokuhiro_ left, bowtie left, [particle] left
tipdbmp I have a token sum { <sum> '+' <digit> | <digit> } # which gets into an infinitve loop =), how to avoid that? 22:27
masak don't write methods which call themselves first thing they do :P
or, in grammar terms, don't do left-recursion.
token sum { <digit>+ % '+' } 22:28
sorear Don't treat LL(infinity) grammar engines as if they were LALR(1) grammar engines
masak if you understand sorear's abbreviations, what sorear++ said ;)
sorear yacc and p6 use very different parsing technology. what's optimal for one will make the other throw up. 22:29
tipdbmp sorear, this explains why this worked in Parse::Yapp module for Perl5 =).
22:31 bowtie joined 22:32 MayDaniel left, bluescreen10 left
masak 'night, #perl6 22:40
22:40 gdey joined
sorear gdey: yapc na 2013 dates have been leaked: June 3-7 22:42
gdey Oh, nice. Where is it going to be held in 2013, again? 22:43
22:44 kaare_ left, xilo left, bluescreen10 joined
sorear Austin 22:44
22:44 thou joined 22:51 cognominal left 22:53 bluescreen10 left 22:54 bluescreen10 joined 22:55 ifim joined 22:56 wamba left 22:59 xilo joined 23:00 Pompel joined 23:05 gaussblurinc_ left 23:06 bluescreen10 left 23:09 stopbit left 23:11 xilo left 23:13 xilo joined, whiteknight joined 23:17 araujo left 23:19 xilo_ joined 23:20 xilo_ left 23:32 PacoAir left 23:34 gdey left 23:40 Rix joined 23:44 Kharec left 23:51 aindilis joined 23:56 skids joined