»ö« 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 diakopter on 6 April 2013.
colomon n: say rand xx 2 00:03
p6eval niecza v24-35-g5c06e28: OUTPUT«0.815935582768142 0.413482928841134␤»
colomon grondilu: I guess the magic that makes the left-hand-side into a block doesn't work through Rop 00:04
probably should count as rakudo and niecza bugs 00:05
grondilu ok, that's what I thought 00:26
00:31 grondilu left 00:33 _jaldhar left 00:36 lustlife joined 00:44 gcole left 00:47 _jaldhar joined 00:55 anuby joined 01:03 _jaldhar left 01:05 _jaldhar joined, lichtkind__ left 01:10 cognominal joined 01:14 berekuk left 01:16 Bzek left 01:18 FROGGS_ joined 01:19 cognominal left 01:20 cognominal joined 01:21 FROGGS left 01:25 anuby_ joined 01:26 anuby left 01:27 berekuk joined 01:33 Bzek joined, edgeuplink joined 01:36 edgeuplink left 01:38 edgeuplink joined 01:39 cognominal left 01:41 edgeuplink left 01:52 tgt left
colomon n: say infix:<xx>(rand, 3) 02:06
p6eval niecza v24-35-g5c06e28: OUTPUT«0.62666999903818121 0.62666999903818121 0.62666999903818121␤»
colomon n: sub g(\item, $count) { ^$count.map({ item }); }; say g(rand, 3) 02:09
p6eval niecza v24-35-g5c06e28: OUTPUT«0..^1␤»
colomon n: sub g(\item, $count) { (^$count).map({ item }); }; say g(rand, 3)
p6eval niecza v24-35-g5c06e28: OUTPUT«0.83686888582858676 0.83686888582858676 0.83686888582858676␤»
colomon n: say rand xx 3 02:13
p6eval niecza v24-35-g5c06e28: OUTPUT«0.035388940030424365 0.63918304845652685 0.74073798569884985␤»
02:17 berekuk left
colomon has no idea how niecza does that. 02:19
colomon knows how niecza does that! 02:21
diakopter nice!
colomon thunk_sub
Operator::Replicate 02:22
02:23 berekuk joined
colomon dunno if I can do anything useful with that knowledge, but it's still nice to know. 02:25
02:26 berekuk left 02:27 awwaiid left
colomon n: say 3 Rxx rand 02:28
p6eval niecza v24-35-g5c06e28: OUTPUT«0.05756106649411892 0.05756106649411892 0.05756106649411892␤»
colomon n: say 3 Rxx { rand }
p6eval niecza v24-35-g5c06e28: OUTPUT«{ ... } { ... } { ... }␤»
02:32 bruges_ left 02:35 bruges joined 02:50 orafu left 02:51 orafu joined 02:53 preflex_ joined 02:54 preflex left, preflex_ is now known as preflex 03:02 Khisanth left 03:10 Chillance left 03:16 Khisanth joined 03:17 awwaiid joined
dalek kudo/nom: 2bd981d | (Geoffrey Broadwell)++ | src/core/Hash.pm:
Break DUMP recursion for Hash
03:25
kudo/nom: 160c0f8 | (Geoffrey Broadwell)++ | src/core/Mu.pm:
DUMP armoring and correctness fixes
kudo/nom: 5adc4db | (Geoffrey Broadwell)++ | src/core/Mu.pm:
DUMP(): Remove redundant null check; add explicit low-level hash handling; minor refactoring to make debugging clearer
03:27 japhb_ joined 03:56 rindolf joined
japhb_ Anyone remember how to check on the rebuild status of p6eval (meaning, when's the last time it tried, and whether it succeeded)? 04:06
04:07 t5a joined
t5a How I can Start GUI in perl? 04:09
geekosaur has no clue what you are trying to ask 04:17
also, if this is a question involving perl 5, try #perl
japhb_ r: say «««»»».DUMP 04:21
p6eval rakudo 5adc4d: OUTPUT«Parcel<1>(:$!storage(RPA<2>(␤ "«",␤ List<4>(␤ :$!flattens(Mu),␤ :$!items(▶Mu),␤ :$!nextiter(ListIter<6>(␤ :$!list(=List<4>),␤ :$!reified(▶Mu),␤ :$!nextiter(▶Mu),␤ :$!rest(RPA<7>(MapIter<8>(␤ …
japhb_ diakopter, ^^
diakopter how you fix it 04:24
I'll armor your dump
japhb_ diakopter, the last three commits. :-)
You should run it locally, too. It's a pretty astonishingly large dump for a six-character expression. 04:25
r: say DUMP(\()) 04:27
p6eval rakudo 5adc4d: OUTPUT«Capture<1>(␤ :$!list(Parcel<2>(:$!storage(RPA<3>()))),␤ :$!hash(Hash<4>(␤ :$!descriptor((null)),␤ :$!storage(Hash<5>())␤ ))␤)␤»
diakopter r: say DUMP(.^methods) 04:28
p6eval rakudo 5adc4d: OUTPUT«Unmarshallable foreign language value passed for parameter '$value'␤ in method new at src/gen/CORE.setting:6611␤ in block at src/gen/CORE.setting:6743␤ in sub coro at src/gen/CORE.setting:5911␤ in method reify at src/gen/CORE.setting:5893␤ in method reify at …
diakopter ftw, first try
japhb_ KAAAAAAAHHHHHHHHHNNNNNNNNN!!!!
;-)
diakopter "Fire....." 04:29
04:34 t5a left
diakopter r: say «««»»».DUMP.chars 04:44
p6eval rakudo 5adc4d: OUTPUT«2734␤» 04:45
diakopter r: say «««««««««««««««»»»»»»»»»»»»»»».DUMP.chars 04:46
p6eval rakudo 5adc4d: OUTPUT«(timeout)»
diakopter yeah........
*whimper*
geekosaur wonders if you've written fibonacci or something
r: say ««««»»»».DUMP.chars 04:48
p6eval rakudo 5adc4d: OUTPUT«3918␤»
geekosaur at least it's not ackermann's function
diakopter japhb_: confused.... 04:50
«««»»»
um
r: say ({ $_ := .DUMP } for ^200)
p6eval rakudo 5adc4d: OUTPUT«0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91…
04:53 Bzek left
japhb_ diakopter, what are you confused by? 04:57
diakopter sorry, being dense 04:58
05:01 frdmn left 05:02 Bzek joined 05:04 Bzek left 05:05 d4l3k_ joined, dalek left, d4l3k_ is now known as dalek 05:32 bbkr left 05:41 daniel-s__ joined 05:45 cibs left, daniel-s_ left 05:47 cibs joined 05:50 FROGGS_ left 05:53 frdmn joined 05:55 arcterus joined 05:56 SamuraiJack joined 06:03 rindolf left, FROGGS_ joined, rindolf joined 06:05 arcterus left 06:17 kurahaupo left 06:31 wtw_ left, wtw joined 06:32 rindolf left, rindolf joined 06:59 domidumont joined 07:04 domidumont left 07:06 brrt joined 07:09 arlinius left
moritz \o 07:09
timotimo good day moritz 07:10
07:11 kivutar joined 07:14 domidumont joined 07:16 kshamen joined
nwc10 jnthn: back to "the ususal" 07:18
brrt hi #perl6 07:19
07:20 labster joined
FROGGS_ morning 07:20
07:23 domidumont left 07:24 domidumont joined
labster morning 07:25
diakopter morning.
.. and yet, bedtime. 07:26
07:27 BigBear joined
labster It should be bedtime for me too. Let's just pretend I live in Hawaii so I can get a couple more hours. 07:27
07:28 brrt left
vaelxon xkcd.com/448/ 07:28
07:35 sqirrel joined, brrt joined
jnthn nwc10: Is that in master or in the branch? 07:40
nwc10 the branch 07:42
master hadn't changed, IIRC
jnthn Ah, true :) 07:45
jnthn will merge the branch later today
timotimo was ASM only suggested because of a nicer API? performance? size of library? 07:49
jnthn timotimo: API did actually match better, and it is faster, but its much better invokedynamic support was what convinced me. 07:50
labster FROGGS_: I'm still a bit stuck on the naming of the splitpath/catpath alternates. File::Spec.split and .join sound okay, because it's splitting and joining a file specification. But if one does my $sp = File::Spec; ... $sp.join($path) -- it looks like it might be joining a string. 07:52
Thinking about path2vdb (volume-directory-basename) and vdb2path, but those seem inelegant too. Maybe just multi-dispatch splitpath and catpath based on whether they want basename? 07:53
07:53 ilbot6 left
timotimo jnthn: considering my brownian tree example takes about 2000 seconds to calculate, you make me happy every time you mention "faster" (although i imagine this is only compile time speed-ups) 07:54
labster we're all happy any time jnthn++ mentions "faster" 07:56
07:57 BigBear left 07:58 kivutar left 07:59 domidumont left, kivutar joined 08:01 cognominal joined 08:03 rgc left 08:05 berekuk joined 08:11 xinming left, cognominal left 08:13 xinming joined 08:18 cognominal joined 08:31 dakkar joined, Heather joined
Heather hi there 08:31
I need some regex guru (
moritz hands Heather a plastic regex guru 08:32
Heather moritz hi
I'm trying to handle file names alike qwe.4.1.JPG
but I don't know even how to set rule string to be separated buy dots 08:33
I mean... alike in example
moritz in what way do you need to "handle" them? 08:34
what's the goal of parsing them?
or do you want to find them in a string?
Heather well first part is any string... I guess \\w+ ?
second part is any number
and last part is [1-2] (1 or 2)
and some extension
I'm trying to check if there are files named following this rule 08:35
jnthn If you just want separated by dots, just .split('.') :)
08:35 fhelmberger joined
moritz jnthn: that's why I asked what the purpose is 08:35
Heather: \w+ isn't "any string"
Heather well I need to examine if file satisfy all the rules ...
moritz sounds like you want something like 08:36
Heather moritz that's bad
moritz if $fn ~~ /\. \d+ .. [1|2] \. \w+ $ /
Heather it's modern regex? :( 08:37
moritz modern?
Heather new perl6 regex )
08:37 kresike joined
kresike hello all you happy perl6 people 08:37
moritz well of course; this is #perl6 :-)
Heather krunen hi
moritz for now I need regular one ) but thank you, it will be easier for me to convert I guess 08:38
FROGGS_ labster: how do you wanna distinguish if you get a basename to catpath, if you just slurp an array? 08:42
08:43 bruges left, bruges joined
labster use a named argument like :usebasename? 08:43
diakopter Heather: in a phrasing such as (haha ) ) , how can I one tell which is the smiley 08:45
Heather diakopter eh? 08:46
FROGGS_ labster: hmmm, then you could pass the base name as :basename
labster FROGGS_: actually, for now, I just decided to use .split and .join until someone decides to complain. There already was a join alias for catfile, so I might as well repurpose that. 08:47
FROGGS_ ya 08:48
08:48 kaleem joined
labster If no one complains I obviously didn't do anything wrong. The whole goal of this is for the low-level parsing of file paths to be available, but hard, while IO::Paths are easy to manipulate. 08:48
08:51 berekuk left 08:55 BigBear joined 08:56 grondilu joined 09:00 grondilu left 09:01 berekuk joined 09:03 domidumont joined
BigBear Good morning #perl6 09:05
moritz good morning BigBear 09:07
09:24 kshamen left 09:38 bruges left 09:41 bruges joined
labster just wrote: if all($directory, $file) eq any('/','\\') 09:42
♥ junctions so much
masak :) 09:43
I hardly ever use them as first-class thingies, though.
maybe that extra bit of freedom is sometimes worth it... but I try very hard not to make junctions leak from my APIs, for example. 09:44
09:45 daxim joined
masak I could very well live with junctions that were just syntactical. 09:45
moritz occasionally they are very handy as arguments to grep 09:46
where it wouldn't work if they were just syntactical
masak yes.
moritz but maybe it'd be worth it
and we'd get rid of that weird Mu/Any distinction
masak and once I wrote a script when I stored them as values in a hash table. the use is the same really, because I put them in a grep later on. 09:47
moritz: warping the type system to accommodate junctions always felt weird to me, even before I knew a lot about type systems.
moritz: but I think it's too late to affect such a change.
09:55 domidumont left
jnthn Having it fall out of the type system means it's much less of a special case. 09:57
We push a lot of distinctions into the type system in Perl 6, so it's a fairly natural way to do it.
09:58 berekuk left 10:00 cognominal left, anuby joined 10:02 anuby_ left
daxim teach me using the docs: if I want to look up the syntax for interpolating expressions (like babycart in p5 and #{} in ruby), where do I go first? 10:02
moritz S02 10:03
'cause S02 deals with nearly all syntax stuff
timotimo ... babycart?
moritz @{\[ ... ]} iirc 10:04
10:05 brrt left
daxim can that be made discoverable somehow? I don't know that S02 equals syntax, I need to be told or shown a click trail 10:05
10:05 brrt joined, brrt left
masak moritz: \ and [] are kinda redundant. 10:05
10:06 anuby left
daxim the official title of S02 is "Bits and Pieces" 10:06
masak heh. 10:07
I think of it as "Syntax" :)
daxim sorry, this is terrible usability
masak granted.
daxim: that chapter title is taken from the Camel book, IIRC.
10:07 Heather left, tgt joined
masak daxim: yep. just confirmed. 10:08
fwiw, I think of S02 as "Syntax and basic types".
I guess the syntax is the "pieces" and the basic types are the "bits" :P
daxim rakudo: Qc'yayxpression! { 3+3 }'.say 10:11
p6eval rakudo 5adc4d: OUTPUT«yayxpression! 6␤»
daxim aha, that worked
rakudo: c「yaynicode! { 23+42 }」.say 10:14
p6eval rakudo 5adc4d: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/B1J_fEtRHh:1␤------> c⏏「yaynicode! { 23+42 }」.say␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ …
daxim where does the adverb go?
10:17 domidumont joined, Heather joined
Heather p5: say "hi" 10:18
p5eval: say "hi"
p5eval Heather: hi1
Heather p6eval: say "1.2.1.1" =~ "(\\%s)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)"
p5eval: say "1.2.1.1" =~ "(\\%s)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" 10:19
p5eval Heather: 1
Heather ...
1?
Timbus p5eval: ""
p5eval Timbus: No output
Timbus p5eval: say ""
p5eval Timbus: 1
daxim the expression is true, what else do you expect?
Heather p5eval: say "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)"
p5eval Heather: 1
Timbus yea
Heather daxim I expect false 10:20
Timbus p5eval: say "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)"; -5
p5eval Timbus: -5
Timbus :3
daxim p5eval: say for "1.2.1.1" =~ "(\\1)(\\.)(\\d+)(\\.)([1-2])(\\.)(\\w+)" # let's try list context for the binding op
p5eval daxim: No output
Timbus oh boy contexts 10:21
FROGGS_ p5eval: unless( 0e0 ) { ... } elseif( 0 ) { } else { "yay"} 10:22
p5eval FROGGS_: ERROR: syntax error at (eval 7) line 1, near ") {"
Heather !!!
FROGGS_ p5eval: unless( 0e0 ) { ... } elsif( 0 ) { } else { "yay"}
p5eval FROGGS_: ERROR: Unimplemented at (eval 7) line 1.
FROGGS_ p5eval: unless( 0e0 ) { } elsif( 0 ) { } else { "yay"}
p5eval FROGGS_: No output
FROGGS_ would like to add statement modifier loops and continue block to make it worse 10:23
huf continue blocks go on loops
if aint one, afaik
labster FROGGS_ needs to implement the ufo operator next 10:25
10:25 Heather left 10:29 bbkr_ joined 10:32 cognominal joined 10:33 labster left, BigBear left 10:35 rindolf left 10:39 bbkr__ left
lizmat good postnoon #perl6 10:39
www.smbc-comics.com/index.php?db=co...2939#comic
so true
FROGGS_ !!#&@! looks really perly :o) 10:41
masak lizmat: wow, yes. 10:42
11:02 fhelmberger left 11:03 fhelmberger joined 11:04 brrt joined
cognominal .u &#9634; 11:11
yoleaux U+0023 NUMBER SIGN [Po] (#)
U+0026 AMPERSAND [Po] (&)
U+0033 DIGIT THREE [Nd] (3)
cognominal .u &#x25A2; 11:12
yoleaux U+0023 NUMBER SIGN [Po] (#)
U+0026 AMPERSAND [Po] (&)
U+0032 DIGIT TWO [Nd] (2)
brrt yoleaux is a bot? 11:13
cognominal yoleaux, help .u 11:14
yoleaux, help
FROGGS_ .help
yoleaux FROGGS_: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
FROGGS_ .commands
yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
FROGGS_ .commands services 11:15
yoleaux Commands in services: acronym, add-command, beats, bitcoin, cat, command-help, del-command, dety, flip, geo, google, lastfm, leo, meow, moon, ngrams, nokiageo, nownext, o, oed, pass-rate, rb, republical, rot13, scm, shipping, suggest, swhack, thesaurus, ud, weather, yi, youtube. Use .help to get information about them.
cognominal .help .u
yoleaux Search for a Unicode character by codepoint, name, or raw character
cognominal .u 25A2 11:16
yoleaux U+25A2 WHITE SQUARE WITH ROUNDED CORNERS [So] (▢)
11:16 BigBear joined
colomon .u 9634 11:19
yoleaux No characters found
FROGGS_ .u 阴 11:22
yoleaux No characters found
FROGGS_ ENOTCOMPLETE 11:23
sqirrel so habs paket weggebracht und milch gekauft 11:25
masak .u characters
yoleaux U+1F007 MAHJONG TILE ONE OF CHARACTERS [So] (🀇)
U+1F008 MAHJONG TILE TWO OF CHARACTERS [So] (🀈)
U+1F009 MAHJONG TILE THREE OF CHARACTERS [So] (🀉)
masak :P 11:26
sqirrel uups wrong window sorry
FROGGS_ hehe 11:29
>.< 11:30
sqirrel++
brrt that is such an awesome name for a bot 11:36
tadzik oh, BigBear, hi 11:37
I glanced at the issue yesterday, and I'm not sure why would it work on osx but not on windows
11:39 bbkr_ left 11:40 bruges left 11:47 sqirrel left 11:56 cognominal left 12:03 cognominal joined 12:10 BigBear left
lizmat rn say :!verbose.perl 12:13
rn: say :!verbose.perl
p6eval rakudo 5adc4d, niecza v24-35-g5c06e28: OUTPUT«"verbose" => Bool::False␤»
12:13 domidumont1 joined
lizmat I guess .perl doesn't have to roundtrip source, just AST's, right? 12:14
12:15 domidumont left
jnthn The aim is to try and have .perl.eval round-trip 12:21
masak lizmat: TimToady_ long wanted it to roundtrip source. but I have the feeling that the non-TimToady consensus is not to emit source code is part of function values.
lizmat ok, clear
so in the end, .perl will emit source that will recreate the same AST
jnthn I keep wanting &some_regex.perl to give me the source though... 12:22
12:22 gcole joined
masak yeah. 12:22
jnthn lizmat: ASTs are also very transient
We don't execute the AST, it just exists during compilation, then once we have the bytecode for the target VM we just throw it away, for the most part 12:23
lizmat ack, so .perl.eval is the only thing we're sure that will roundtrip
gotcha
12:40 jerry66 joined, domidumont joined
jerry66 www.reddit.com/r/XXXEROTICSXXX/comm...ave_a_fun/ 12:40
mattp__ suspecting off topic...
12:40 jerry66 left
jnthn Well, Perl 6 is -Ofun... 12:42
[Coke] tadzik++ #pander
12:43 domidumont1 left 12:51 dakkar left 12:52 ilogger2_ joined 13:03 bluescreen10 joined
Woodi_ hallo today 13:05
FROGGS_ hi Woodi_
Woodi_ I have that problem for some longer time... pastebin.com/Nj4B3pBz
I didn't pustcode to github becouse this makes stop in basic functionality... 13:06
masak hi Woodi. 13:11
13:12 PacoAir joined 13:15 BigBear joined 13:22 denisboyun_ joined
lizmat rn: "\c[LINE FEED]" 13:24
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Unrecognized character name LINE FEED at /tmp/5ykb57IjHH line 1:␤------> "\c[LINE FEED⏏]"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/…
..rakudo 5adc4d: OUTPUT«===SORRY!===␤Unrecognized character name LINE FEED␤at /tmp/87bu8WhYz1:1␤------> "\c[LINE FEED⏏]"␤»
lizmat this is a failing rakudo spectest… is that correct ?
afk for a few hours& 13:26
jnthn iirc, that's one of those funny wants that has the name <control> and you gotta look under the old name Unicode property to find it as LINE FEED...
s/wants/ones/
though warts woulda worked... :)
13:35 cognominal joined 13:37 colomon joined, kaare_ joined 13:40 SmokeMachine joined 13:49 frdmn joined 13:56 shinobicl joined 14:13 tgt joined 14:23 Psyche^ joined 14:27 Psyche^ is now known as Patterner 14:39 xilo joined 14:40 xilo_ joined 14:41 frdmn left 14:42 arcterus joined 14:44 xilo_ left 14:49 ggoebel joined 14:52 arcterus left 14:54 kaleem joined 14:57 mmol_saffron joined 14:58 mmol_saffron left 15:00 skids joined 15:03 rindolf joined
felher masak: did you already do your 'perl6 workshop'? 15:05
15:05 estrabd joined, estrabd left 15:06 estrabd joined, cognominal left, estrabd left
dalek p-jvm-prep/asm_port: 0866deb | jnthn++ | src/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java:
Cleanup some dead code.
15:10
kresike bye folks
colomon asm_port?
jnthn colomon: Replaces BCEL with ASM for code-gen 15:11
colomon does not know what either of those acronyms means... 15:12
jnthn colomon: They are different code-generation libraries.
colomon is pretty sure you're not talking about the Autodesk Shape Manager....
jnthn colomon: I went with BCEL (Bytecode Engineering Library) at first, but donaldh++ pointed out that a different library, ASM, was preferable in various ways. I agreed, he did the hard work, and yesterday I did the final fixes so we can switch over to it. 15:13
colomon cool
jnthn colomon: This unblocks working towards making use of invokedynamic.
colomon is googling this stuff in another window now.
masak felher: no, and I'm still mulling over it, and still wanting that perfect combination of enough participants and a date when maximally many are available. 15:16
felher: I still plan to do it. I have a half-finished schedule of Things To Talk About. 15:17
dalek Heuristic branch merge: pushed 20 commits to nqp-jvm-prep by jnthn
jnthn There we go. Merged.
donaldh++ :)
felher masak: ah, okay. Well, since I have now completed my bachelor, I'm finally starting to get some free time again. So you may count me in. I'd really like to participate in your workshop :) 15:19
moritz felher: congratulations! 15:22
felher moritz: thank you :) 15:23
masak felher: yes, congrats! and welcome aboard! 15:24
15:24 crab2313 joined
masak that makes Heather, tadzik, TimToady, census, timotimo_, and felher. 15:26
felher: when are you available? what about May 1st? 15:27
nwc10 jnthn: right now, is the NQP-JVM codegen actually still outputing Java 1.6 bytecode? 15:30
15:30 shinobicl left
gtodd masak I think I have cloned the tip ... will now try to merge something and make a "release" for my own edification :) 15:32
felher masak: Thanks. Seems like a nice group :) Regarding May 1st: Don't know yet. Every couple of years we go out on May 1st with the wohle family. I will be able to tell you at the end of the week, though. :) 15:33
jnthn nwc10: I don't think so.
nwc10 OK: :-/
jnthn nwc10: Oh, wait, maybe...
nwc10: Either way, invokedynamic usage will come soon, so...
That'll force it to that if it's not already.
nwc10 yes, I realise that at that point it definately will be firmly beyond 6
felher masak: how long will your workshop probably be? 15:34
[Coke] java 7 ftw. mostly. 15:35
gtodd masak: I'm assuming that in a real release scenario, the most git tools will somehow just let me know what "pull requests" (?) people have tested and approved for merging into a release ... otherwise things could be errm the opposite of the cheeseshop sketch
masak felher: it will probably stretch from 16:00 to 20:00 UTC or so. at least if people from the Americas want to participate. 15:36
felher: 3 or 4 hours sounds reasonable. but I'm not 100% about when it'll be. have to ask Heather, too, who is from the East. 15:37
felher masak: fair enough :) 15:38
15:40 BigBear left
[Coke] gtodd: in a real release scenario, you'd ship whatever had been pulled already. 15:40
masak felher: am I thinking right with May 1? it will be a day when people are mostly off work, yes?
[Coke] if you were one of the developers, you could (as a previous step) review the pull requests and pull them yourself if you liked them. 15:41
masak felher: the alternative would be to have it happen in the weekend, but that feels wrongish.
[Coke] ... which reminds me: there are 9 open pull requests that need tending. One is almost a year old.
gtodd oops I meant "the most excellent git tools" which is short for "some way of doing it without having to click all over the place on github ... etc. etc."
dalek rl6-roast-data: ef7d533 | coke++ | / (3 files):
today (automated commit)
rl6-roast-data: 784b762 | coke++ | / (3 files):
today (automated commit)
felher masak: I think you think right. :) On May 1st most people probably will be off work. But I for one don't have any problems with workshop on weekend either :) 15:43
15:44 tgt left
gtodd [Coke]: :-) now you see I can see those 9 request on github :-) ... I assume updates to my cloned repo would awake me from any slumber in some way and allow a pumpking or release manager to automatically harass the requesters and testers so those can be merged ... 15:45
[Coke] dvj: I think it was you that modified S02-names-vars/perl.t - when fudging (and I missed this also when I reviewed your commit), be sure to avoid things like {{ #?pugs skip 'isn't working' }} - the nested single quote there throws off the parse of the whole file. 15:46
gtodd [Coke]: or if merged by a too enthusiastic person or script and not playing nicely ... then backed out
[Coke] you need to use the webterface to see those.
15:47 BigBear joined
gtodd ... and all of that somehow documented as a errm Release Engineering 15:47
[Coke] I am not sure you can (easily) apply them from the command line.
gtodd hmm ok
15:47 FROGGS joined
[Coke] gtodd: those are dealt with ad hoc, not as part of the release. 15:47
you are under no obligation as a release manager to deal with undealt with pull requests. (but you can if you want to.)
gtodd possibly they can be scripted - using perl 5 just to be safe ;-) 15:48
[Coke] dvj: also, be sure to update the plan when you add tests.
nwc10 jnthn: "the usual", post merge
gtodd [Coke]: ok so because of ease of pull fork merge in git then chaos can ensue until closer to a release (either a timed release or some testing blocking bug style release) 15:49
[Coke] dvj: ... when there is one. curses. 15:50
15:51 tgt joined
masak felher: ok. I'll try to get in touch with more people and ask them too. thanks for your feedback! 15:51
and your interest.
felher masak: thanks for doing a workshop! :)
dalek ast: 64c7348 | coke++ | S02-names-vars/perl.t:
pugs refudge
15:52
gtodd [Coke]: only really familiar with release process of FreeBSD-#.#-RELEASE (by observing as a user; not by being involved) and I am interested to see how git as a process is used by perl6/rakudo
[Coke] gtodd: "we release once a month whether we need to or not". 15:53
I wouldn't say we use git to drive the process. 15:54
masak [Coke]: fwiw, there hasn't been a month where there wasn't anything new in Rakudo.
[Coke] nom is the branch we release from. we are not sticklers about things passing on nom before commit (but please try to make sure they do), but we do make sure that the full spec test suite passes before a release. 15:55
masak: new ne release worthy, but aye.
gtodd ah ok 15:56
[Coke] I think we've had 2 cases where we've had to release a bugfix compiler release shortly after the initial release due to missed bugs.
in general, big merges are better immediately after a release to give us a more time to test. 15:57
but none of that is driven by code, or by a specific branching methodology.
16:00 frdmn joined 16:29 isBEKaml joined 16:32 Chillance joined
isBEKaml masak: you now have another scheduling headache. :) Count me in for your perl6 workshop! 16:32
nwc10 p5eval: $* = \*STDERR; print $*foo 16:33
p5eval nwc10: foo1
16:33 kaleem left
nwc10 where did that 1 come from? 16:33
jnthn return value of print 16:34
nwc10 p5eval: print 1
p5eval nwc10: 11
isBEKaml nwc10: eval thingy return value.
nwc10 p5eval: print "1\n"
p5eval nwc10: 11
nwc10 p5eval: print "hello world Newline!\n"
p5eval nwc10: hello world Newline!1
isBEKaml p5eval: "Hello World!\n";
p5eval isBEKaml: Hello World!
huf p5eval: print "things"; ''
p5eval huf: things
nwc10 ah
huf le trick.
nwc10 p5eval: $* = \*STDERR; print $*foo;
p5eval nwc10: foo1
nwc10 anyway. I'll go back to torturing the perl 5 parser 16:35
isBEKaml .tell masak, 1600-2000 hrs UTC sounds alright to me, though I'm not sure I can last the entire session. Thanks for doing the workshop! 16:36
yoleaux isBEKaml: I'll pass your message to masak,.
masak isBEKaml: :)
isBEKaml yoleaux: you're bad at passing messages.
masak consider the message received, though.
huf :)
isBEKaml masak: :)
masak isBEKaml: if I remember correctly where you live, your TZ and Heather's should be about the same. 16:37
huf i bet there's a million jokes about this situation
isBEKaml masak: If Heather's in UTC+4, I'm about 1.5 hrs east. :)
[Coke] remembers an old google maps-style thing where we could record rough locations of developers for parrot, and wonders if such a thing exists today that doesn't involve over sharing
isBEKaml [Coke]: #haskell too had something like that, I think. 16:38
[Coke] was excited, until he realized he is utc MINUS 4, and therefore no where near isBEKaml. :)
isBEKaml [Coke]: lol, we are all on IRC, right? :) 16:39
huf i live on something like utc-4 or so, but the place i live moves on utc+1 :) 16:40
masak if there are both a lot of UTC-plus people and a lot of UTC-minus people, I could deliver the workshop twice that day -- once in my morning for the easterners, and once in my evening for the westerners. 16:42
that's definitely an option.
geekosaur @localtime
oh, lb doesnt hang here any more
masak thankfully :)
isBEKaml masak++ # more practice, more tuning! but we easterners are the guinea pigs :) 16:43
masak (turns out lambdabot wasn't very compatible with a channel about a language with variables with the @ sigil) :P
I'll only deliver it twice if there are enough signups from both hemispheres, mind.
isBEKaml quick people, overwhelm masak! :P
geekosaur in any case it's just /ctcp time :p 16:44
16:45 sjohnson joined
masak sjohnson! \o/ 16:45
sjohnson :3
hello masak, long time no see
masak indeed!
sjohnson: we're talking about a Perl 6 workshop. would you be interested?
16:46 SamuraiJack joined
sjohnson where would it be located? 16:47
isBEKaml masak: will there be channel logs?
dalek p-jvm-prep: a51b6a4 | jnthn++ | / (2 files):
Basic code-gen support for invokedynamic.
16:49
p-jvm-prep: 36b6176 | jnthn++ | / (2 files):
Start using invokedynamic for wval lookups.

This uses the invokedynamic bootstrap mechanism to install a resolver for the first time the WVal is needed, doing the hash and index lookup once and then using the resolved object. In theory, this tells the JVM enough to make WVals be JITted like static data after a first lookup.
masak isBEKaml: moritz++ says yes.
isBEKaml jnthn: invokedynamic already? are you targetting jdk7? :) 16:50
masak sjohnson: in a channel close to this one.
isBEKaml masak: awesome! moritz++
jnthn isBEKaml: Yeah. That is the very first usage of it, not even for calls but just for wval lookups. It's the Simplest Possible Useful Thing I can do with invokedynamic, which suits me well for the first thing :) 16:51
isBEKaml: Beyond this I plan to start using it for calls.
isBEKaml jnthn: cool, delegates, dispatch? :)
sjohnson masak: oh. sure.
jnthn Guess I'll do sub calls first.
Then look into method invocation.
isBEKaml jnthn++ 16:52
jnthn: I've been out of tune with nqp-jvm tasks and some amount of moe. :(
jnthn It'd be really cool to find a way to integrate it with multiple dispatch too, but I need a bit more thinking time to work that one out.
isBEKaml jnthn: I think jruby had those implemented in terms of invokedynamic. 16:53
jnthn Yes, the jRuby source was what finally made me understand how you do Useful Stuff with invokedynamic :) 16:54
isBEKaml jnthn: that's nice, steal from the best and make ours even better than them! :) 16:55
16:55 PacoAir left 16:56 PacoAir joined 16:57 spider-mario joined
tadzik felher: I envy you for the finished bachelor :) 17:02
lizmat should make spectest of rakudo be clean or not?
tadzik more-less ;) 17:03
lizmat so a failing test because "\c[LINE FEED]" doesn't even compile, should be ok? 17:04
rn: "\c[LINE FEED]"
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Unrecognized character name LINE FEED at /tmp/f2insbnQu3 line 1:␤------> "\c[LINE FEED⏏]"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤ at /home/…
..rakudo 5adc4d: OUTPUT«===SORRY!===␤Unrecognized character name LINE FEED␤at /tmp/8cAFzcnKEi:1␤------> "\c[LINE FEED⏏]"␤»
felher tadzik: Why envy? :)
nwc10 lizmat: I've got some perl 5 code (and C code) which can do all those lookups using only about 300K of data 17:05
including aliases such as "LINE FEED"
lizmat aka, an ICU lib replacement ?
nwc10 aliaes are easy. 300K is not
not an ICU replacement. At all
just name->code point lookup
lizmat ack
a subset of ICU 17:06
nwc10 not a subset. A one trick pony :-)
tadzik felher: I'm going through this now, and it's happening to be a little bit of a PITA
lizmat nwc10: aha, ok 17:07
something to integrate into nqp perhaps ?
[Coke] lizmat: is your rakudo linked to ICU? 17:09
lizmat I thought it was, but am not sure anymore
masak sjohnson: cool! how does May 1 sound? 17:10
felher tadzik: (After looking up PITA) yeah. Especially the last semester was quite stressful. But it was worth the effort :) I wish you the best of luck for your (computer science?) bachelor :)
tadzik: in which semester are you?
[Coke] lizmat: so, might be a test that needs ICU but isn't marked as such.
jnthn shop, dinner, etc &
[Coke] which test?
tadzik felher: yeah, CS, and the last semester
felher: I hope I won't end up delaying it more than half a year :P 17:11
lizmat [Coke]: t/spec/S02-literals/char-by-name.rakudo
17:11 bbkr joined
sjohnson masak: sure 17:12
isBEKaml masak: May 1 sounds good to me too. 17:15
tadzik first of may, first of may
outdoor... hacking starts today
gtodd :)
isBEKaml rappertadzik
[Coke] thanks tadzik for cleaning that up 17:16
tadzik I altered original Coulton's lyrics a bit :P
felher tadzik: Well, while 6 semesters is the official usual duration of a bachelor of CS here, most of us here do it in 7 semesters. Nothing wrong with taking one semester more :)
lizmat wonders how one can attend masak's Perl6 workshop
tadzik felher: it's normally 7 semesters here, then another 3 for a magister, for a total of 5 years
it's my 7th semester now, but they shouldn't sack me unless I delay it more than 2 years ;P
congrats on finishing it :) 17:17
gtodd are there any thought about what might consistitute a sort of almost default per6 GUI toolkit ?
[Coke] lizmat: it's marked as needing ICU.
tadzik gtk was the first one seriously running, I think
felher tadzik: thanks :) I'll hope you get it done without needing four extra semesters ;)
gtodd a la perl/tk except updated so it's really just a WebUI 17:18
tadzik: ah ok ... I thought maybe it would be bundled with it but be some revolutionary thing :)
[Coke] then pick mojo6 and we can run things locally via morbo.
gtodd [Coke]: yeah like that
[Coke] gtodd: there's enough revolution going on. we don't need to look for trouble. 17:19
gtodd haha :)
hoelzro ahoy #perl6
isBEKaml holazro!
gtodd maybe one day some version of perl6 will just tell parrot or whatever "render this in some SVG HTML5 way .." 17:20
tadzik hai hoelzro!
gtodd: I was pondering a thought of something DBI-ish, which abstracts the actual toolkit used and provides a common API for all of them 17:21
17:21 dmol joined
gtodd tadzik: interesting ... I thought there was once a "pure perl" GUI ... that allowed for quick plotting etc. that sort of did the same thing ... kind of like how "R" does dev(jpg|png|opengl|svg|web) 17:24
17:25 BigBear left
tadzik gtodd: Prima, maybe? 17:25
gtodd ok maybe "R" doesn't do opengl
isBEKaml tadzik: I'll be interested to see if you succeed. GUI frameworks currently are a mess of API. :|
gtodd tadzik: yeah ! I was thinking primo or something like that
17:26 snuffles joined
tadzik isBEKaml: well, db's have a common SQL. GUI toolkits have a common...nothing 17:26
gtodd I guess "R" is sort of a console with various graphic plotting methods so comparing it to a full on tool kit for writing applications is probably wrong ...
isBEKaml tadzik: exactly my point. 17:27
tadzik fundamental things like layouts or callbacks are completely different between, say, gtk and qt
17:27 bruges joined
tadzik qt distinguishes between widgets and layouts, gtk doesn't 17:27
gtodd but I'm just thinking of how perl6 could be sort of out of the box outfitted to do different kinds of graphic output not so much a toolkit 17:28
tadzik gtk uses regular callbacks, qt invents signals and slots
isBEKaml tadzik: so if you succeed in unifying them all into a common layer of an interface, that'll be a huge deal.
tadzik yeah
it'll probably end up nothing like either :P
isBEKaml tadzik: so far, I loved qt. GTK was a mess that I couldn't even get past hello world without some jumping around the steaming kettle. :D 17:29
gtodd I installed what used to be a fairly simple application ipython for someone to do math plotting etc ... and 20-30 packages were installed !
isBEKaml tadzik: I never tried any other frameworks, so my experience is little-to-nothing here. 17:30
tadzik isBEKaml: well, I found gtk simple and sane and Qt full of NIH
let's have our own EVERYTHING!
of course I'm exaggarating
gtodd Samsung seems to be building/supporting enlightenment's ETK
tadzik or however you write that
isBEKaml tadzik: heh - we'll turn the jungle by counting the leaves.
tadzik ayes :) 17:31
so yeah, that's a tricky business
gtodd which seems relatively small, featureful, nicely licensed ... 17:32
isBEKaml so keep counting, I'll watch. :P
tadzik I think this will eventually turn into the "a new standard" situation 17:34
gtodd I guess the set of features I'm interested in are more plotting PDL-ish instead of GUI application development toolkits
tadzik oh, you may like Math::Model and SVG::Plot
gtodd :)
isBEKaml gtodd: PDL? Is Rakudo in a state we can freely call into C/C++ libs?
gtodd isBEKaml: don't think so 17:35
isBEKaml gtodd: or fortran. :)
tadzik I do think so
C should be alright
masak lizmat: how to attend: that's a good question. maybe I should have some way to sign up. 17:36
lizmat masak: is it IRL or not? 17:37
gtodd tadzik: I imagine someone could use the *ahem* future new perl6 standard replacement for CGI.pm (dancer mojo plack??) to make something like the julia-lang console in SVG
isBEKaml lizmat: IVL.
lizmat wouldn't mind driving up to Malmö
gtodd tadzik: js etc
masak lizmat: no, it's solely on IRC.
isBEKaml lizmat: or ITL. (this is over IRC)
lizmat ack, ok
no travelling necessary then :-)
masak but I'm now at the point where I'd like to collab over a participants list. 17:38
lizmat fwiw, it's in my agenda now :-)
_sri gtodd: trivial, canvas is more popular for that kinda stuff atm though
masak does anyone know a no-frills online public document editing system?
so that people can easily sign themselves up.
17:39 frdmn left
lizmat wouldnt a wiki be enough? 17:39
[Coke] masak: docs.google.com 17:40
lizmat one needs a google login for that, no?
gtodd _sri: yeah ... I guess when I'm thinking of something like a "defauilt" plotting surface it's a canvas
[Coke] masak: the catchall git repo for perl6.
isBEKaml lizmat: it is possible to make it anon edits too, that is no login necessary. 17:41
[Coke] lizmat: yes.
tadzik masak: doodle.com
masak github.com/perl6/mu/wiki/perl6-wor...p-may-2013
people! sign up!
[Coke] ah, even better.
tadzik that's super-useful for this sort of stuff imo
[Coke] notes that github editing sucks for co-temporal edits. 17:42
dalek rl6-roast-data: 040ecd5 | coke++ | / (3 files):
today (automated commit)
17:43
masak [Coke]: I changed you from "potential" to "audience". might be a safe category for more people. 17:44
isBEKaml masak: you forgot Heather 17:45
masak isBEKaml: and a few others who said yes before we settled on a date. 17:46
isBEKaml masak: ah, okay
masak I'll ask her on twitter.
vaelxon: ping 17:49
timotimo: ping 17:50
TimToady_: ping
[Coke] masak: ok. to me, audience sounds like more of a commitment than I am willing to make, but I defer to your judgement. 17:53
isBEKaml [Coke]: audience is no commitment, it's drive-by assault. :P 17:54
masak [Coke]: I understand. I'm mostly trying to create a category of people who answer "maybe" to the question of whether to participate. 17:57
(because that's not much more informative than what I already had) 17:58
17:59 BigBear joined 18:05 isBEKaml left
gtodd heh if one googles for perl and linenoise (as in linenoise as replacment for readline) you see a lot of complaints about perl's syntax 18:09
masak gtodd: Perl is occasionally ugly. but if you ask me, that's more a statement about the author of the code than about the language. 18:11
gtodd: regardless of the language I'm in, and regardless of the *size* or *lifetime* of the thing I'm writing, I spend quite a bit of time making things readable.
gtodd: compared to other languages, Perl 5 and Perl 6 give me more knobs to twiddle to make things the way I prefer them. 18:12
gtodd: it's only people who are not aware of those knobs (or who don't care enough about them) that will write ugly code.
hope that makes sense.
gtodd masak: agreed it feels more like a real "language" to me (but I'm not a real programmer). Maybe perl6 should build and ship linenoise instead of readline so people can feign misunderstanding of the criticism... "yes perl comes with linenoise" 18:13
18:13 nyuszika7h_ joined
hoelzro a linenoise binding would be easy to write 18:13
with NativeCall
18:13 xilo left
gtodd it's just down the street on github ;-) 18:14
PerlJam masak: you should contrast with python where the code may *look* "pretty" but could be incomprehensible and you wouldn't be able to tell at a glance whereas with perl, it's easy to see :)
hoelzro is working on POSIX bindings, with interesting results
masak PerlJam: yeah. I'd say Python pushes everything into the middle of the bell curve, making everything look the same. possibly prettier/more readable on average, but the brilliant bits are less brilliant. 18:15
gtodd hoelzro: cool ... I'd rather perl's REPL came with linenoise (or libedit or whatever but linenoise is small) and required me to install readline and friends ... :)
PerlJam yes, that's an excellent way to put it.
[Coke] wonders what linenoise is. 18:16
18:16 xilo joined
gtodd github.com/antirez/linenoise 18:16
:-)
18:16 nyuszika7h_ is now known as nyuszika7h
gtodd just a minimalist terminal/line editing library ... I think it forces an assumption of vt100 18:17
18:18 dmol left
[Coke] gtodd: seems like a decent parrot project - add it to the probe when trying to find readline. 18:18
18:19 Heather joined
Heather masak hey 18:19
thank you for invite
masak \o/
Heather: just remembered that you were one of the original interested ones.
Heather =) 18:20
18:20 dmol joined
Heather masak well what's happening here? in nutshell 18:21
gtodd [Coke]: whoa .. that could work
masak Heather: in the workshop? we spend four hours talking about interesting programming topics, how to become a better coder, how to make your code shine, and we experiement a lot with runnin Perl 6 code.
colomon masak++ 18:22
masak Heather: all the participants will do some simple tasks.
18:23 frdmn joined 18:25 dakkar joined 18:30 dakkar left 18:35 tgt left
tadzik let's maybe employ play-perl 18:35
masak no, strike "simple". the tasks will be challenging-ish for newcomers and more experienced coders alike. :)
tadzik: tell me more.
tadzik masak: play-perl.org/player/tadzik
it's a collaborative todo thing
people Like my tasks, and I get karma if I complete them 18:36
18:36 japhb_ joined, SamuraiJack left
masak tadzik: sounds good. if you meant for there to be a connection to the workshop though, I think you have to spell it out. :) 18:36
tadzik hm 18:37
I think 3rd party can also complete the tasks
so people may complete workshop exercises to get karma
or something :
masak I plan to publish the tasks on the day of the workshop, so anyone can do them, participant or not, then or later. 18:38
I... I don't feel a need to do things through a 3rd-party TODO list... :)
tadzik :) 18:39
I know, that's probably overkill
masak especially as that would be One More Dependency, and one more thing for people to sign up to, for little reward.
tadzik ah, sure
masak the idea as such is interesting. just maybe not applicable for the workshop format. 18:40
FROGGS .ask jnthn if I am allowed to push that gist.github.com/FROGGS/5fe2eb96e2515bf02a14 (would make collab easier) 18:41
yoleaux FROGGS: I'll pass your message to jnthn.
18:42 tgt joined 18:46 sqirrel joined, domidumont joined 18:48 fgomez joined 18:51 \\fade joined 18:55 sqirrel left 18:57 gabriel_ joined
Heather masak when it will start? 19:01
ah sorry there is date time
I can't parse it : T16:00Z
moritz 4pm in UTC timezone 19:02
19:02 Celelibi joined
Heather moritz is Txx:xxZ standard format for writing UTC time? 19:02
masak yes.
Heather: what's your time zone, ooc? UTC+4 ? 19:03
moritz Heather: it's ISO 8601 format
Heather masak UTC+4 , right
then it will be 20->24 for me, not that good time I can't guarantee if I will be in 19:04
19:05 fgomez left
FROGGS masak: you are talking about an online perl6 course? 19:07
a 'webinar'
masak FROGGS: yes.
FROGGS: see github.com/perl6/mu/wiki/perl6-wor...p-may-2013
FROGGS that's cool :o)
masak Heather: would it help you if I moved the starting time from 16:00 UTC to 14:00 UTC? 19:08
that would still be workable for most US people, I think.
Heather masak well 16 is even better 19:09
19:09 crab2313 left
Heather well it's not that bad time... ideal time will be something alike 9:00 UTC 19:10
19:10 crab2313 joined
Heather But I understand that it could affect other people 19:10
19:11 domidumont left
jnthn FROGGS: Is there a reason not to parse <version> and then have a if ~$<version><vnum>[0] eq '5' { ...the load stuff... } ? 19:11
yoleaux 18:41Z <FROGGS> jnthn: if I am allowed to push that gist.github.com/FROGGS/5fe2eb96e2515bf02a14 (would make collab easier)
FROGGS jnthn: within the actions?
jnthn FROGGS: No, right there in the grammar
FROGGS: At the moment you parse a normal version number, then check it's not 5 19:12
FROGGS: Why not just put a block instead of an assertion after the <version>, see if it is 5, and do the loading?
FROGGS: Then we always parse <version> and just take action based on what is seen
FROGGS jnthn: ahh, now I know what you mean
jnthn: I did it this way because version have to start with a 'v' 19:13
and to be able to parse old-schools 'use 5.10', I made the 'v' optional
Heather I still think that perl6 needs something for building native image (jit)
I can distribute scripts that easy w/o it 19:14
FROGGS Heather: what is 'native image'?
19:15 fgomez joined
Heather FROGGS machine code 19:15
jnthn std: use 5.10;
p6eval std 86b102f: OUTPUT«===SORRY!===␤Confused at /tmp/igDBTT2w4m line 1:␤------> use ⏏5.10;␤ expecting any of:␤ module_name␤ version␤Parse failed␤FAILED 00:00 40m␤»
FROGGS std: use 6; # should work
p6eval std 86b102f: OUTPUT«===SORRY!===␤Confused at /tmp/x237qmurAZ line 1:␤------> use ⏏6; # should work␤ expecting any of:␤ module_name␤ version␤Parse failed␤FAILED 00:00 40m␤»
FROGGS ohh, wait
std: 6; # this should turn on lax mode 19:16
p6eval std 86b102f: OUTPUT«ok 00:00 41m␤»
FROGGS IIRC
19:16 tgt left
FROGGS jnthn: I know that std does not allow 'use 5.10', but fiddling with hundrets/thousands of cpan-modules is rather a task for 10 years 19:16
.... that's why we should special-case the use of peril 5 19:17
jnthn FROGGS: If we're using a Perl 5 module, should the use statement not carry it (use Foo:from<perl5>)? 19:18
lizmat jnthn: only if "use" is called in a perl6 environment, I would say 19:19
after a "use v5", "use Foo:from<perl5>;" would be a syntax error, no? 19:20
FROGGS right, but I guess after 'use v5' you will only load Perl5 modules 19:21
jnthn lizmat: Sure, but even then we know to interpret the use as a "use a Perl 5 module", so there's not am ambiguity.
FROGGS jnthn: I was hoping to support: bash~$ perl6 old_perl5_script.pl, without the need to change it at all 19:22
jnthn I think I'm fine with the change going in to make "use v5" work, but less comfortable with making "use 5.10" style things happen without somebody like TimToady weighing in.
FROGGS k 19:23
anocelot I'd still lobby for "abuse v5" ^.^
jnthn FROGGS: How many scripts actually start with a "use 5.10" style thing? :)
FROGGS well *cough*, errrmmmm
lizmat jnthn: many, as they are needed to activate features such as "say" 19:24
FROGGS I tend to 'use feature qw(say switch)'
lizmat tends to "use 5.14" :-)
flussence I put "use 5.016" just to be a jerk
FROGGS hehe 19:25
flussence: a Perl joke, nice :o)
flussence though 99% of the time that stuff I write is for a tightly controlled perlbrew env anyway, so I may as well use everything on offer 19:26
19:26 xilo left
lizmat argh, indeed "use 5.014" :-) 19:27
flussence (even though I don't *actually* use anything added since v5.12ish...)
Heather good night #perl6 :) 19:28
19:29 Heather left, kaare_ left
lizmat jnthn: I think when the spec for "use v5" was written, there was only one good Perl 5 around (even pre 5.6, I would think) 19:29
since then, with "use 5.N" activating specific features, there is now much more code with "use 5.N" around then we had around the time the spec was written 19:30
19:31 tgt joined 19:37 arcterus joined 19:43 fgomez left 19:44 fgomez joined
lizmat rn: say 10.rand.perl 19:48
p6eval niecza v24-35-g5c06e28: OUTPUT«0.675530527101611e0␤»
..rakudo 5adc4d: OUTPUT«7.38955708543898e0␤»
lizmat shouldn't that be "10.rand" ?
colomon lizmat: why?
lizmat seems wrong to me that this is constant folded 19:49
19:49 fgomez left
colomon lizmat: it's not 19:49
rn: say (10.rand).perl
p6eval niecza v24-35-g5c06e28: OUTPUT«4.8859148448733212e0␤»
..rakudo 5adc4d: OUTPUT«3.33404456355737e0␤»
colomon you asked it to generate a random Num, then take the .perl of it. 19:50
lizmat $ perl -MO=Deparse -E 'rand 10'
rand 10;
19:51 arcterus left
moritz deparse != .perl 19:51
the correct comparison would be perl -MData::Dumper -E 'print Dumper rand 10'
19:52 rindolf left
lizmat aha, ok 19:52
lizmat adjusts mind
moritz rakudo doesn't have anything depars-y yet
the fairest comparison might be perl -MO=Concise <prog> compared to perl6 --taget=ast <prog> 19:53
FROGGS *--target 19:55
19:56 berekuk joined
moritz ah yes, thanks 19:56
20:00 xilo joined
masak moritz++ # Dumper/.perl != Deparse 20:02
moritz: though Dumper can be made to deparse subrefs, with the appropriate options. 20:03
lizmat wonders whether ".perl" shouldn't really be called ".lave"
but only for a short moment 20:04
20:08 labster joined
rjbs Booooo. :) 20:13
labster masak: I would like to attend your workshop. UTC-7 geographically, though I personally am closer to UTC-10. But I can do normal people hours, for the workshop. 20:14
masak labster: ok, adding you. 20:16
7 people. cool! :)
20:23 pjcj joined 20:24 fgomez joined 20:25 bbkr left 20:26 \\fade left 20:27 pjcj left
lizmat std: my Buf $x; say $x ~< 1 20:27
p6eval std 86b102f: OUTPUT«ok 00:00 43m␤»
lizmat rn: my Buf $x; say $x ~< 1
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: Buffer bitops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3426 (infix:<~<> @ 4) ␤ at /tmp/Kx3TqpwaSx line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.settin… 20:28
..rakudo 5adc4d: OUTPUT«===SORRY!===␤Unable to parse expression in quote words; couldn't find final '>'␤at /tmp/8uNJj4pRtV:1␤------> my Buf $x; say $x ~< 1⏏<EOL>␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ …
20:28 pjcj joined
lizmat I guess the niecza error message is more informative :-) 20:28
dalek p-jvm-prep: 02bb9ef | jnthn++ | src/org/perl6/nqp/ (2 files):
Enable inlining of P6bigint into P6opaque.

A tad cheaty, but will handle Perl 6's needs, which is The Goal. Up to 20 out of 36 passing in 60-bigint.t with this.
20:31
colomon \o/ 20:32
jnthn tries to make sense of nqp::pow_I 20:42
[Coke] instead of .lave, could we call it .blave? (he said, bluffing.) 20:44
21:00 dmol left 21:06 crab2313 left
dalek p-jvm-prep: bccc2af | jnthn++ | src/org/perl6/nqp/sixmodel/reprs/P6bigint.java:
Fix incorrect import.
21:11
p-jvm-prep: 54104a2 | jnthn++ | / (2 files):
Implement pow_I.
arnsholt jnthn: Looks like you were able to make sense of it =) 21:13
jnthn Yeah, I think I got it. :) 21:14
Those more mathematically knowledgable than I are most welcome to review it :)
masak looks nice :) 21:15
arnsholt "Overflows integer. Terrifyingly huge, but try to cope somehow." =)
masak basically, you're finding all the special cases, and then delegating to Math.pow :) 21:16
arnsholt jnthn: The second "base.compareTo(BigInteger.ONE) == 0" is superfluous, isn't it?
It'll always be false, since the first if clause will always catch base == 1 21:17
jnthn oh...
colomon errr, all the logic is duplicated, no? 21:18
jnthn Then I guess the original code in Parrot is also redundant there too
arnsholt Or, at least that's what it looks like to me
jnthn colomon: It's as faithful a translation of nqp_bigint_pow as I could do, fwiw. :)
arnsholt I could be mistaken, obv =)
jnthn arnsholt: Yeah, looks like it to me.
colomon the logic's kind of botched anyway, I think... 21:19
jnthn I can only claim it passes tests :) 21:20
oh ouch...
There's a BigInteger.doubleValue() method
But no method for getting from a double to a BigInteger.
21:21 spider-mario left
lizmat rn: 1.say && 2.say || 3.say 21:21
p6eval rakudo 5adc4d, niecza v24-35-g5c06e28: OUTPUT«1␤2␤»
lizmat rn: 1.say && 2.say S|| 3.say 21:22
p6eval rakudo 5adc4d: OUTPUT«1␤2␤3␤No such method 'postcircumfix:<( )>' for invocant of type 'Bool'␤ in block at /tmp/uLMC7J_Juq:1␤␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤This macro cannot be used as a function at /tmp/5LsNJ3pUsv line 1:␤------> 1.say && 2.say S||⏏ 3.say␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die @ 5) ␤…
jnthn oh...hah. :) BigDecimal.valueOf(num).toBigInteger() 21:23
lizmat S03:4823 states that "The compiler is free to discard any C<S> metaoperator that is provably redundant, such as the one in C<S||>."
so is this a bug?
FROGGS looks like 21:24
jnthn Not sure we ever tried to implement S in Rakudo so far, fwiw
Weird error, though
FROGGS r: say 1 S& 2 21:25
p6eval rakudo 5adc4d: OUTPUT«all()␤»
dalek p-jvm-prep: 4431604 | jnthn++ | / (2 files):
Implement fromnum_I and tonum_I.
jnthn 31 out of 36. At this rate I'll have all the test file passing before sleep :)
lizmat jnthn++ 21:26
FROGGS I wish I'd make such progress :/
currently fighting: while ( ) BLOCK continue BLOCK 21:27
colomon rn: say 2 ** 234582349058390583905839058493859438590385903543535345435
p6eval niecza v24-35-g5c06e28: OUTPUT«(timeout)»
..rakudo 5adc4d: OUTPUT«Inf␤»
colomon rn: say -2 ** 234582349058390583905839058493859438590385903543535345436
p6eval niecza v24-35-g5c06e28: OUTPUT«(timeout)»
..rakudo 5adc4d: OUTPUT«-Inf␤»
colomon ...seems like that should be +Inf, no?
21:28 skids left
lizmat maybe the exponent is too large and became an uneven Num ? 21:29
21:29 bluescreen10 left
colomon lizmat: should be an even Bigint 21:29
21:29 bluescreen10 joined
FROGGS wow, Stage parse: 310s for a macosx in a virtualbox 21:30
lizmat rn: say (1.say & 2.say)
p6eval rakudo 5adc4d: OUTPUT«1␤2␤all(True, True)␤»
..niecza v24-35-g5c06e28: OUTPUT«1␤2␤all(Bool::True, Bool::True)␤»
lizmat rn: say (1.say S& 2.say) 21:31
p6eval rakudo 5adc4d: OUTPUT«1␤2␤all()␤»
..niecza v24-35-g5c06e28: OUTPUT«1␤2␤all(Bool::True, Bool::True)␤»
lizmat something is happening with "S&" in rakudo
masak 'night, #perl6
colomon \o 21:32
dalek p-jvm-prep: 7b74d10 | jnthn++ | / (2 files):
Implement base_I.
FROGGS knight masak
21:33 pib1908 joined
FROGGS lizmat: I have no idea where the metaops live, all I can say is there is no infix:S& 21:34
lizmat yes, I got that 21:35
colomon didn't realize anyone had Sop implemented yet
jnthn Hm, I think it is being parsed...
21:35 PacoAir left
jnthn token infix_prefix_meta_operator:sym<S> { <sym> <infixish('S')> {} <O=.copyO($<infixish>)> } 21:35
colomon rn: say (1 S& 2) 21:36
p6eval rakudo 5adc4d: OUTPUT«all()␤»
..niecza v24-35-g5c06e28: OUTPUT«all(1, 2)␤»
FROGGS lizmat: wrt v5, I have the same issue on my mac
lizmat FROGGS: ack 21:37
FROGGS lizmat: I can 'use v5' though, and it is picking up Perl5 module 21:38
lizmat but that would mean changing the spectests ?
FROGGS but the TAP is exactly like yours, so fudge is ignoring the --add_use_v5 for some reason
lizmat adding 'use v5' to them? 21:39
BigBear jnthn: just came across your perl6-debug screencast, sweet. jnthn++ the simple::poll perl6 code isn't per chance available as a git repo or zip or tarball somewhere? follwoing along woudl make experimenting a litl easier, same for the try and catch sessions. seeing the code in front of me and "playing" with it helps me learn. (in fact it's probably the only way I learned most perl-ish things)
FROGGS add "use Test;\nuse v5;\n"
but that's basically the job of that fudge script :/ 21:40
I'll fix it tomorrow morning, bed time now
21:40 BenGoldberg joined
BigBear tadzik: sorry I missed your comment today. will try to catch you tomorrow ;-) 21:40
jnthn BigBear: Hm, no repo at the moment, but you can copy-paste the code out of the slides at jnthn.net/papers/2012-yapceu-exceptions.pdf 21:42
lizmat gnight FROGGS 21:43
goodnight #perl6 21:49
colomon \o 21:51
jnthn 'night, lizmat 21:52
dalek p-jvm-prep: fab1b73 | jnthn++ | / (2 files):
Implement expmod_I.
p-jvm-prep: ef13c49 | jnthn++ | / (2 files):
Implement div_In.
p-jvm-prep: e9826c5 | jnthn++ | t/nqp/60-bigint.t:
Add fully passing 60-bigint.t.
colomon \o/
jnthn I think there's a handful of things that the tests don't cover, but that should be most of the big integer stuff done. 21:53
BenGoldberg Your big integer pow_I is missing a few special cases... 21:55
When the exponent is positive and even, and the base is neg one, return pos one 21:56
When the exponent is positive and odd, and the base is neg one, return neg one
When the exponent is huge, and the base is less than neg one, return either Inf or -Inf depending on whether the exponent is odd or even 21:57
When the exponent is negative, and the base is zero, return Inf
In that last case, you might want to throw a division by zero, instead. 22:01
22:02 denisboyun_ left 22:03 xilo left
jnthn BenGoldberg: Thanks! I don't have the energy to turn that into code/tests tonight, but I put it in a ticket so it isn't forgotten. 22:05
22:06 BigBear left 22:08 kurahaupo joined
kurahaupo good morning @p6 22:09
dalek p-jvm-prep: f9b69a1 | jnthn++ | src/org/perl6/nqp/runtime/Ops.java:
Big Integer case of boolification spec.
p-jvm-prep: 493742d | jnthn++ | docs/ROADMAP:
Remove some completed ROADMAP items.
jnthn o/ kurahaupo 22:10
22:19 xilo joined
jnthn sleep; 'night o/ 22:20
diakopter o/
22:22 bluescreen10 left 22:34 edgeuplink joined 22:46 edgeuplink left, arcterus joined 22:48 edgeuplink joined 22:50 census joined 22:53 edgeuplink left, skids joined 23:01 arcterus left 23:02 arcterus joined 23:13 census left
japhb_ Did someone succeed in implementing a Perl 6 Grammar for C? 23:14
raiph irclog.perlgeek.de/perl6/2013-03-29#i_6643290 23:16
japb_: c11 parser with grammar: gist.github.com/andydude/5268163 23:19
japhb_: ^^
23:20 arcterus left 23:25 Chillance left 23:28 Patterner left
japhb_ raiph, oh very cool. 23:29
raiph japhb_: yeah, adu++ 23:38
why were you asking about it?
japhb_ Is the intent of 'has $foo;' that $foo have no type constraint (Mu, effectively), or that it be implicitly 'has Any $foo;' ... because Rakudo does not seem to be enforcing that (at least not in the code I'm looking at).
raiph i think the default is supposed to be Any 23:39
(Any) 23:40
japhb_ raiph, As for C grammar, because I was thinking about parsing some C headers into NativeCall bindings. :-) 23:41
r: class Foo { has $.foo; method new($v) { $!foo = $v } }; Foo.new(Mu); 23:42
p6eval rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$v'; expected Any but got Mu instead␤ in method new at /tmp/tSz6xgw5Zt:1␤ in block at /tmp/tSz6xgw5Zt:1␤␤»
japhb_ OK, that way worked. Hmmm.
r: class Foo { has $.foo; method new(Mu \v) { $!foo = v } }; Foo.new(Mu); 23:43
p6eval rakudo 5adc4d: OUTPUT«Cannot look up attributes in a type object␤ in method new at /tmp/LZzbOpwtdc:1␤ in block at /tmp/LZzbOpwtdc:1␤␤»
japhb_ r: class Foo { has $.foo; method new(Mu $v) { nqp::create(self).BUILD($v) }; method BUILD(Mu \v) { $!foo = v } }; Foo.new(Mu); 23:45
p6eval rakudo 5adc4d: ( no output )
japhb_ Ah-ha!
r: class Foo { has $.foo; method new(Mu $v) { nqp::create(self).BUILD($v) }; method BUILD(Mu $v) { $!foo = $v } }; Foo.new(Mu);
p6eval rakudo 5adc4d: ( no output )
23:45 Psyche^ joined, Psyche^ is now known as Patterner
japhb_ r: class Foo { has $.foo; method BUILD(Mu $!foo) { } }; Foo.new(Mu); 23:46
p6eval rakudo 5adc4d: OUTPUT«Cannot call 'new'; none of these signatures match:␤:(Mu : *%attrinit)␤:(Mu : , , Mu *%_)␤ in method new at src/gen/CORE.setting:726␤ in block at /tmp/DpxJtJMbOE:1␤␤»
raiph ++japhb # thinking about a lazy impatient way to make boatloads of C libs available
japhb_ r: class Foo { has $.foo; method BUILD(Mu :$!foo) { } }; Foo.new(:foo(Mu));
p6eval rakudo 5adc4d: ( no output )
japhb_ r: class Foo { has $.foo; method BUILD(:$!foo) { } }; Foo.new(:foo(Mu)); 23:47
p6eval rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$!foo'; expected Any but got Mu instead␤ in method BUILD at /tmp/hGS4NruKnN:1␤ in method BUILDALL at src/gen/CORE.setting:759␤ in method bless at src/gen/CORE.setting:743␤ in method new at src/gen/CORE.setting:728␤ in m…
japhb_ OK, so it looks like it's BUILD that has to enforce the type checking during instance construction ....
r: class Foo { has Any $.foo; method BUILD(:$!foo) { } }; Foo.new(:foo(Mu)); 23:48
p6eval rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$!foo'; expected Any but got Mu instead␤ in method BUILD at /tmp/cI2gHNaDqy:1␤ in method BUILDALL at src/gen/CORE.setting:759␤ in method bless at src/gen/CORE.setting:743␤ in method new at src/gen/CORE.setting:728␤ in m…
japhb_ r: class Foo { has Any $.foo; method BUILD(Mu :$!foo) { } }; Foo.new(:foo(Mu)); 23:49
p6eval rakudo 5adc4d: OUTPUT«Nominal type check failed for parameter '$got'; expected Any but got Mu instead␤ in method BUILD at /tmp/1Yuu6mAyPJ:1␤ in method BUILDALL at src/gen/CORE.setting:759␤ in method bless at src/gen/CORE.setting:743␤ in method new at src/gen/CORE.setting:728␤ in me…
japhb_ ... and it looks like I was right, the 'has $.foo' type stricture is weaker than Any. 23:50
raiph hmm 23:51
japhb_ (At least as Rakudo implements it.)
BenGoldberg How hard would it be to implement a grammer or two to convert lex and yacc into perl6 grammers? 23:54
Then, you could use existing C language grammars
diakopter that's a cool idea 23:56
but since those languages include C.... 23:57
japhb_ BenGoldberg, there is an assumption in yacc's grammar that you are going to be compiling it to C, but you might be able to just ignore the C embedding.
.oO( How do I safely iterate a VM-level hash that may contain unmarshallable values? )
23:59
EDUMPISHARD
diakopter ETRYALAXATIVE
japhb_ ewww.