»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:05 tadzik joined 00:11 Mouq joined
Mouq .tell Ven FWIW, here is what I put together the last time I was creating html from perl6 code: github.com/Mouq/perl6-feast/blob/m...n/feast.pl 00:13
yoleaux Mouq: I'll pass your message to Ven.
Mouq s/from/within/, but the meaning is conveyed
00:14 xenoterracide_ left
timotimo would you do it with .&xml nowadays? 00:22
00:22 adu joined 00:23 telex left
raiph m: my Str $foo = 'abc'; say "Hey <a>{$foo}</a>" # vendethiel: why does this warrant a p6-- for too aggressive interpolation? 00:23
camelia rakudo-moar d2dfb6: OUTPUT«Hey <a>abc</a>␤»
Mouq timotimo: I don't feel bad about using `augement` here, because it really is kind of DSL-y
timotimo OK
what does the output of that look like?
oh, i think i recall that 00:24
Mouq timotimo: mouq.github.io/feast.html
00:24 telex joined
timotimo feel like updating that to the newest daily? 00:24
Mouq timotimo: Trying to get the html+css to do what I wanted was the hardest part of it, and it's why I kind of lost enthusiasm 00:25
timotimo ah, yeah :(
hate that part, too
Mouq timotimo: Hmm
timotimo protip: you can turn the S** headings into "labels" for their checkboxes
Mouq timotimo: Sure
timotimo so that you can click the text instead of having to aim for the checkbox
Mouq timotimo: Thanks! 00:26
timotimo i like that project
can you try to add code to figure out a likely line number for an output by finding the text in the code?
like for todos and skippeds?
also: how long's the run time for that script? 00:27
i would imagine it takes quite a while >_<
Mouq timotimo: I was wondering the latter myself…
I think my biggest problem was trying to get the tables to work like I wanted and still have it be variable-width... I'm thinking maybe fixed, relative width would work better 00:31
00:31 lizmat joined
timotimo maybe :| 00:32
i can see how that would be quite fiddly and annoying
Mouq perl6 bin/feast.pl 125.44s user 0.72s system 99% cpu 2:06.56 total 00:34
clkao `. 00:35
00:36 kbaker joined
Mouq Oh.. Somehow I only did rakudo.jvm and rakudo.parrot? 00:40
'k, fixed that. Now for all the other things I left in a broken state… 00:44
timotimo .o( $failure-summary seems to only ever be read, never written ) 00:45
Mouq timotimo: Yeah, that was something I apparantly fixed but never committed >_> 00:46
timotimo: It turns out I tried using a div-based layout… so it's pretty borked visually atm 00:47
segomos Mouq: what are you trying to do?
timotimo i'll better go to bed now-ish 00:48
dalek kudo/nom: 631f02e | jnthn++ | src/core/Supply (2 files):
Implement schedule_on.

This allows a supply's more/done/quit to be scheduled on another scheduler. Useful in GUI situations, for example, where the final stage of some work needs to be done on some UI scheduler in order to have UI updates run on the UI thread.
timotimo ooooh, that seems very handy! 00:49
Mouq 'night timotimo :) whenever that happens
timotimo if i am not able to fall asleep soon-ish, i'll just get back up, have a stab at the ops that we know do boxing for spesh and see if that changes anything at all
jnthn sleep & 00:50
Mouq segomos: I wanted to be able to show where the implementations were lacking in Roast, basically. If I pick this back up, I'm probably going to really change my approach from what it was 3 months ago, though
jnthn++: 'night
perl6 bin/feast.pl 354.87s user 1.74s system 99% cpu 5:58.05 total 00:51
segomos i mean, what are you trying to do with the divs? just even space them responsively?
Mouq With everything other than pugs (perl6-m)
segomos: Something like that
segomos do you have a sample page i can play with?
i'm writing an xpath query thing and it's hurting my brain
Mouq sergot: XPath always hurts my brain :) 00:52
lemme push
timotimo Mouq: if you're running it on moar, maybe it'd be a good idea to try to parallelize it :)
(also, might make a good stability testing ground)
bbl.
segomos timotimo: can you link your parallelelizer article from yesterday?
Mouq segomos: feast.html @ github.com/Mouq/perl6-feast/
segomos basically..you want those boxes to look like a table grid? 00:55
xx tests aborted etc
Mouq segomos: Yeah, I have no idea what I was trying to do before o_O 00:56
00:57 a3gis left, dayangkun left, dayangkun joined
Mouq wonders why he has so many needlessly dynamic variables... 00:59
segomos they look cool
Mouq segomos: :) 01:00
01:00 adu left
segomos that might be easier to just change to a table.. how do you want it to break down if the browser is more narrow than the content 01:00
Mouq segomos: dunno.. I'm too tired to do design right now :P 01:01
01:02 klapperl joined 01:05 klapperl_ left 01:06 hoverboard left, btyler joined 01:12 adu joined 01:23 FROGGS_ joined 01:26 FROGGS left
Mouq timotimo: I don't think start {} and m// work together well :( 01:27
timotimo: I have a couple `when m[…] {…}` inside the `start {…}` that seem to think $/ is empty inside the `when`, even though that's nonsensical. 01:29
(the start {…} is per-file, btw)
timotimo: To clarify: they often *do* have $/ set. They also often do not. Declaring `my $/;` inside the start block leads to the error 01:32
===SORRY!===
No exception handler located for warn
Unhandled exception: Cannot call 'say'; none of these signatures match:
:(Mu: *%_)
So... 01:33
idk
bedtime for Mouq
segomos: If you do any work at all, feel free to PR me :) if you are interested I can add you as a collaborator 01:34
in the mean time, o/ #perl6
01:34 Mouq left 01:42 atroxaper left
BenGoldberg m: my $p = start { $/ = 123; say "in Promise [$/]"; when /123/ { say 'when' }; say 'after when'; }; say $p.result; 01:48
camelia rakudo-moar 631f02: OUTPUT«in Promise [123]␤after when␤True␤»
BenGoldberg m: $/ = "123"; say "blah [$/]"; when /123/ { say 'when' }; say 'after when'; 01:49
camelia rakudo-moar 631f02: OUTPUT«blah [123]␤after when␤»
BenGoldberg D'oh
m: $_ = 123; say "blah [$_]"; when /123/ { say 'when' }; say 'after when'; 01:50
camelia rakudo-moar 631f02: OUTPUT«blah [123]␤when␤»
BenGoldberg m: my $p = start { $_ = 123; say "in Promise [$_]"; when /123/ { say "when [$/]" }; say 'after when'; }; say $p.result; 01:51
camelia rakudo-moar 631f02: OUTPUT«in Promise [123]␤when [123]␤True␤»
BenGoldberg m: my $/; $_ = 123; say "blah [$/]"; when /123/ { say "when [$/]" }; say 'after when'; 01:52
camelia rakudo-moar 631f02: OUTPUT«Potential difficulties:␤ Redeclaration of symbol $/␤ at /tmp/UTserf2NtG:1␤ ------> my $/⏏; $_ = 123; say "blah [$/]"; when /123/ ␤use of uninitialized value of type Any in string context␤blah []␤when [123]␤»
01:57 adu left 02:01 kbaker left, [particle] joined 02:04 skids joined
skids No fair releasing so many neat features when I'm pinned down with $dayjob! 02:04
02:06 woosley joined 02:09 adu joined 02:27 hoverboard joined, atroxaper joined 02:29 Bryanstein joined 02:31 cooper left 02:32 xragnar_ joined, xragnar is now known as Guest50762, Guest50762 left, xragnar_ is now known as xragnar 02:39 rurban joined 02:42 cooper joined, cooper left, cooper joined 02:44 cognominal left, hlin_ joined, rurban left, rurban joined 02:56 skids left 03:24 atroxaper left 03:25 atroxaper joined 03:29 atroxaper left 03:31 atroxaper joined 03:35 raiph left
raydiak it loops, I'd assume 03:43
erm
wrong window
as long as I'm here, though, are you around, timotimo? 03:44
03:53 plobsing joined 04:13 atroxaper left 04:14 atroxaper joined 04:19 atroxaper left 04:28 darutoko joined 04:30 Psyche^_ joined 04:34 Psyche^ left 04:35 kaleem joined 04:42 Bryanstein left 04:44 kivutar joined 04:51 hoverboard left 04:52 kivutar left 04:57 kivutar joined 05:02 raiph joined 05:03 SamuraiJack_ joined 05:04 denis_boyun_ joined
raiph "you can never (in any programming language other than COBOL) test a fractional number for “exact equality.”" (from perlmonks.org/?node_id=1083255) 05:05
05:06 kivutar left 05:07 Bryanstein joined, btyler left
raydiak does COBOL have Rat too? 05:07
moritz replies 05:08
05:11 eiro left 05:12 atroxaper joined 05:13 eiro joined 05:15 Bryanstein left, BenGoldberg left 05:17 kaare_ joined 05:19 kivutar joined, rurban left 05:23 SamuraiJack_ left 05:24 Bryanstein joined 05:38 Bryanstein left
raiph moritz++ # PM post 05:42
(contains fun spello "actual fractual")
raydiak that was my favorite part :) 05:43
05:43 atroxaper left 05:44 atroxaper joined
moritz it tells something about your writing if people's favorite parts are your typos :-) 05:44
05:45 Bryanstein joined
raydiak hah 05:45
raiph My predictions for sundialsvc4. He will respond. He will A) speak against P6, B) speak against speaking about P6, C) note connection between P6 and COBOL, D) say overflow caveat proves it's useless, E) use italic, bold AND underline. Wonder if I can score 5 out of 5? :) 05:47
05:48 atroxaper left
moritz raiph: it's *not* too /hard/ to make accurate predictions about sundialsvc4 :-) 05:49
raiph: I predict that if he answers, he'll have some totally unrelated paragraph, for example about project management, or the value of accuracy in programming, or something like this 05:50
05:50 rurban joined, atroxaper joined
raiph moritz: :) 05:53
05:54 hoverboard joined, rurban left 05:55 xinming_ left 05:56 xinming_ joined 05:57 denis_boyun_ left 06:02 xinming__ joined 06:06 xinming_ left 06:12 Bryanstein left 06:16 Bryanstein joined, kivutar left
avuserow m: "abc".encode("utf16").bytes # bytes seems to be a bit of a misnomer here? 06:21
camelia ( no output )
avuserow m: say "abc".encode("utf16").bytes # bytes seems to be a bit of a misnomer here?
camelia rakudo-moar 631f02: OUTPUT«3␤»
avuserow I guess I need to continue investigating Bufs and stuff another day... 06:22
vendethiel raiph: it's "too agressive" without the {}. see TimToady's comment 06:25
moritz avuserow: yes, .elems would be the better name, IMHO
avuserow .elems is also defined 06:26
raiph vendethiel: gotchya and agree
06:29 grep0r left 06:30 grep0r joined 06:41 kaleem left 06:43 salv0 left, rindolf joined, kaleem joined 06:45 [Sno] joined 06:48 kivutar joined
raiph I've golf'd a problem I have with the rakudo debugger. 06:48
I'd appreciate confirmation from someone else.
Load a three line file:
{1
then a completely blank line, no spaces
}
06:52 zakharyas joined 06:53 rurban joined 06:57 rurban left 07:04 [particle] left 07:16 Ven joined, logie_ left, atroxaper left 07:17 atroxaper joined 07:18 Bryanstein left, salv0 joined 07:21 Bryanstein joined 07:22 atroxaper left, Bryanstein left 07:27 adu left 07:36 atroxaper joined, hummeleB1 joined 07:37 atroxaper left 07:38 atroxaper joined 07:40 atroxape_ joined
moritz slightly off topic, but can anybody recommend a good book on software architecture? 07:42
07:42 atroxaper left 07:44 atroxape_ left, atroxaper joined 07:53 hoverboard left 07:56 atroxaper left 07:57 atroxaper joined 07:58 atroxape_ joined, atroxaper left 08:00 Bryanstein joined, gaussblurinc_ joined 08:01 gaussblurinc_ left 08:04 arturo_ joined 08:06 arturo_ left 08:07 [particle] joined 08:08 hlin_ left 08:27 FROGGS_ left 08:32 spider-mario joined 08:37 bjz left 08:38 raiph left 08:42 kivutar left 08:49 dmol joined 08:51 atroxape_ left 08:52 atroxaper joined 08:53 atroxaper left, atroxaper joined 08:54 rurban joined, FROGGS joined 08:59 rurban left, fhelmberger joined 09:03 sqirrel joined 09:04 haroldwu left, haroldwu joined 09:09 SamuraiJack_ joined 09:25 atroxaper left 09:27 atroxaper joined 09:28 gaussblurinc1 joined
gaussblurinc1 hi! how to parse nested parenthesis with grammar? I thought about '(' ~ ')' <expression>, but it seems not work :( 09:29
jnthn gaussblurinc1: something like that should work... 09:30
arnsholt That bit looks correct. Perhaps you could put a full example in a nopaste? 09:31
gaussblurinc1 arnsholt: yes, I want to parse expression like this: - ( 100 - 5 ) + 4 * ( 10 / 7 ) 09:32
arnsholt Right. Then it looks like the problem is with your expression rule
FROGGS '(' <expression> ')' is sometimes better 09:33
gaussblurinc1 FROGGS: what is the difference between them?
FROGGS gaussblurinc1: what I pasted is slightly smarter about finding the stopper 09:34
gaussblurinc1 FROGGS: in formal definition: '(' ~ ')' <expression> will find latest ')' (bigger) sequence that match? 09:35
yakudza hello ppl. Cam I compile perl6 application into native code ? 09:36
so I dont need to install any VM on client side
? 09:37
gaussblurinc1 yakudza: addition to your question: how fast this code could be?
FROGGS m: say "(foo)" ~~ / '(' .+ ')' / 09:40
camelia rakudo-moar 631f02: OUTPUT«「(foo)」␤␤»
FROGGS m: say "(foo)" ~~ / '(' ~ ')' .+ /
camelia rakudo-moar 631f02: OUTPUT«Unable to parse expression in ; couldn't find final ')' ␤ in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1146␤ in method ACCEPTS at src/gen/m-CORE.setting:13029␤ in block at /tmp/dwUwu_fucr:1␤␤»
FROGGS gaussblurinc1: see, the .+ eats the ')' and then the goal fails
gaussblurinc1 m: say "foo" ~~ / '('.+?')' / 09:41
camelia rakudo-moar 631f02: OUTPUT«Nil␤»
gaussblurinc1 FROGGS: strange. I try to write a grammar for parsing numeric expression with +-/* signs like this: expression := <expression> [+-*/] <expression> | '('<expression>')' |<number> 09:44
09:44 kaare_ left
FROGGS in your snippet before the last you forgot the parens 09:45
gaussblurinc1 FROGGS: hm, yes. I want to parse in final expression like this: ((DEV) ? (10 / 3) : (5.f)). But for now I want to learn how to parse simple numeric expressions with signs and parens 09:50
FROGGS gaussblurinc1: you can look at JSON::Tiny about how to parse numbers, strings, and so on 09:52
09:52 atroxaper left 09:53 atroxaper joined
gaussblurinc1 FROGGS: this is what I do now :) but strings and numbers not a problem cause they are simple. problem is parens and nesting :( 09:53
FROGGS I cannot really help right now because I am in a conference :/
gaussblurinc1 oh, sorry. maybe later you can help me. interesting/boring conference? 09:54
09:57 atroxaper left 09:58 kaare_ joined
jnthn yakudza: No, and even if we do provide some AOT support there'll still be a hefty runtime service needed. Essentially, you'd just be bundling the VM in. 10:00
You gotta put the GC and numerous other bits of runtime support somewhere.
FROGGS m: my token expr { '(' ~ ')' <expr=&expr> || <[\d\-\+\s\/]>+ || <expr=&expr> <[\d\-\+\s\/]>+ <expr=&expr> }; say '(2 / 3) + 1' ~~ /<expr>/ 10:01
camelia rakudo-moar 631f02: OUTPUT«「(2 / 3)」␤ expr => 「(2 / 3)」␤ expr => 「2 / 3」␤␤»
FROGGS :/
gaussblurinc1: interface testing with a customer (webservices)
so, kinda fun, kinda not :o) 10:02
10:06 a3gis joined, cognominal joined 10:07 anaeem1 joined
Woodi hallo everyone :) 10:10
10:12 salv0 left
sergot hi Woodi o/ 10:19
10:25 sqirrel left 10:26 salv0 joined
Woodi moritz: you need _books_ :) "Patterns of Enterprise Application Architecture" by M.Fowler is good "manual". discusions on c2.com/ are very good too. but actually every domain have their own patterns/solutions. eg. compilers or dbs. but generally (taken from Christopher Alexander) things are build with centers, cooperative centers 10:27
masak moritz: www.amazon.com/Domain-Driven-Design...0321125215 10:29
Woodi hi masak !
I found Text::CSV and there is grammar there. is it possible to build simpler grammar for parsing data in lines maybe ? I am starting to hate \N... 10:30
10:32 denis_boyun_ joined, pecastro left 10:39 itz_ left, itz left, itz joined
moritz Woodi: I'll look at it, thanks 10:46
masak: I'm looking more for an overview and introduction, not single methodology (which DDD seems to be, to my limited understanding) 10:47
dalek kudo/nom: e4508d9 | jnthn++ | src/core/Supply (2 files):
Implement start method on supplies.

Takes a closure and, for each supplied value, schedules the closure to run on another thread. It then more's a Supply (resulting in us having a supply of supplies) that will either have a single value more'd and then be done if the async work completes successfully, or quit if the work fails. Useful for kicking off work on the thread pool if you do not want to block up the thread pushing values at you (maybe 'cus you are reacting to UI events, but have some long-running work to kick off).
10:51
10:52 itz_ joined
FROGGS jnthn: do you an opinion about gist.github.com/FROGGS/a78ff92ec5e7ce2f8fda ? 10:54
I mean, it is pretty straight forward, resolves an inconsistency and does no harm 10:55
10:56 rurban joined
jnthn FROGGS: Really needs TimToady++ to make a call on it, since it's a lang design issue. 11:00
11:00 rurban left
FROGGS k 11:00
tadzik oh, it's nice, like _ in Go 11:01
FROGGS before you had to use $ in declarations with assignment and * in assignments only 11:02
m: my ($, $, $x) = (1, 2, 3); say $x; (*, *, $x) = 4, 5, 6; say $x
camelia rakudo-moar 631f02: OUTPUT«3␤6␤»
11:20 kurahaupo joined 11:24 prevost joined
dalek kudo/nom: 64f1110 | jnthn++ | src/core/Supply (2 files):
Implement unchanged on supplies.

Waits for the value to have been stable for a certain amount of time before passing it along. If it changes within that time, then the timer is reset. Useful for any situation where you want the data to stabalize before doing further work.
11:30
jnthn That was a fun one to write. :)
FROGGS O.o 11:32
that is called debouncing in electronics me thinks
11:33 Alula_ left
moritz imagines a jnthn++ bouncing up and down, and a huge, soft cushion debouncing him 11:34
11:34 Alula_ joined, atroxaper joined
FROGGS *g* 11:34
and who is the one with the soft cushion? ingy? 11:35
FROGGS is afraid of that situation now
moritz sometimes pmichaud, somtimes TimToady :-)
FROGGS ohh, that it is alright :o)
11:37 kaleem left
dalek kudo/nom: 8983aa3 | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm:
Fix a problem with timed schedules and loads

We need to look at what .loads is actually supposed to do.
11:42
ast: 3a83c5f | (Elizabeth Mattijsen)++ | S17-concurrency/scheduler.t:
Fudge .loads related tests for now
11:43
11:45 anaeem1 left 11:46 anaeem1_ joined 11:48 apejens joined
Woodi is it possible to use Supplies to pass data betwin processess ? API is nice, maybe could be reused ? 11:52
timotimo jnthn: do we already know how to fix multiple threads using literal regexes, like m//? 11:55
jnthn timotimo: Got a snippet that shows the problem? 11:56
11:56 gaussblurinc1 left
jnthn oh wait, this was shown earlier... 11:57
I suspect that we need to declare new $/ and $! somewhere though.
timotimo may be, aye
they are currently declared in the setting
mouq wanted to declare his own, but got a mysterious error about no error handler being installed to report a warning
jnthn oh, *that* one I know 11:58
Warnings on threads are fatal at the moment.
timotimo that seems like an easy-ish thing to fix?
jnthn kinda
timotimo (for you) :P
jnthn Well, first I had to think about *where* to fix it
I realized it wants to be fixed in class Thread
And then the thread pool gets it for free
11:59 atroxaper left 12:00 atroxaper joined, a3gis left 12:01 a3gis joined
lizmat masak: jnthn just pointed out to me that List.squish/uniq have "as" as a named parameter, rather than "by" (like e.g. min, just a few lines down in the spec) 12:03
masak: jnthn thinks it would be more consistent if List.uniq/squish would also use "by" rather than "as"
It seems that you specced that last August: was that just reinforcing the then implementation? 12:04
12:04 atroxaper left 12:05 a3gis left 12:06 atroxaper joined
retupmoca how does one use UDP sockets in perl6? 12:06
lizmat is thinking of deprecating ":as" in favour of :by 12:07
moritz might not be implemented yet
lizmat thoughts anyone?
retupmoca (or better yet, is there a module that uses them that I can use as an example?)
lizmat one doesn't do UDP sockets in rakudo yet, as nobody implemented them yet 12:08
jnthn only did TCP ones for Moar.
timotimo jnthn: should i also attempt to handle unbox_[ins] by looking at the boxing slot and trying to discover the actual value?
moritz you could try to open a UDP socket, but it'd fail silently... :-) 12:09
retupmoca alright. If I feel adventurous, I might look at it (but probably not soon)
jnthn Um...well, if it's unobxing a wval then yeah, we can just take the value as is.
And turn it into a const_i64
timotimo and if it's a known value 12:10
right?
well, "if it's a wval" just means it'll end up with the known value flag when we reach the unbox operation 12:11
actually, here's an idea for a maybe helpful tool: we could dump all the facts and then collect things like "the op foo_bar had a known_type in its nth slot x times" 12:12
yakudza jnthn, just because of not compiling to bytecode perl6 loose many use cases. So bundling the VM in is also variant if after that it will start to work by double clicking on executable 12:13
timotimo yakudza: froggs is working on exactly that :) 12:14
yakudza coool
12:17 xenoterracide_ joined
jnthn yakudza: I didn't say it couldn't compile to bytecode. I said there's not a Perl 6 -> native code compiler in the "what a C compiler does" sense. 12:20
timotimo aye. those are very different things
jnthn timotimo: Yeah, wval is just typical example of "known object value".
dalek kudo/nom: 61af179 | jnthn++ | src/core/Supply (2 files):
Implement migrate on supplies.

Works on a supply of supplies. Taps the first one that arrives, and passes on its values. When another one arrives, closes the tap on the first and starts passing on values from the second, and so forth. Very useful for preventing race conditions when you have supplies that represent the latest work needed, and want to ignore previous work set in motion (e.g. auto-search text box that does some work to make suggestions).
12:21
timotimo oooooh
all those combinators
that's going to be an interesting talk ): 12:22
:)
jnthn hah, you figured it's CDD :P
timotimo oh, what about things like islist, ishash, isint, isnum, isstr?
12:23 rindolf left
timotimo should i try to spesh those? 12:23
12:24 kbaker joined
jnthn yeah, I think so 12:24
Time to go cycling & 12:25
oh, ENOTYET
tadzik this would be EEKTOOWET in Poland now :P 12:26
jnthn oh, it's sunny here :) 12:28
12:31 a3gis joined 12:33 a3gis_ joined 12:36 a3gis left 12:38 a3gis_ left 12:39 bjz joined 12:43 a3gis joined 12:50 rindolf joined
timotimo hm. i don't get debug output from the isstr/isnum/isint/islist/ishash optimization throughout the whole build process of nqp and rakudo 12:52
that's not a good sign
FROGGS :/ 12:53
12:55 salv0 left 12:57 rurban joined
timotimo huh. 12:58
it bails out because it thinks the value is not compile-time-known
but it really should
ah, it's because it gets decont'd before the is* op is called on it 13:00
and we lose the known type annotation
jnthn: can the decont optimization do something special if the cont'd value is known? 13:01
13:01 rurban left
dalek kudo/nom: 48937da | (Elizabeth Mattijsen)++ | src/core/Supply (2 files):
Implement Supply.uniq(:expires) for throttling

Only for the non :with case so far
13:02
timotimo alternatively, perhaps it makes sense to remember the "original" register for decont operations so that would still be accessible?
haha, for a moment i thought "wtf is !===&]===" 13:03
er
"wtf is !===&[==="
tadzik I stil l don't know wtf it is :D 13:04
jnthn timotimo: We never know a cont'd *value*, but if we know it's not cont'd and we eliminate the decont, then yeah, the value is clearly what it was.
timotimo well, it really is !=== &[===]
jnthn: in this case, the decont doesn't get eliminated
(not ever, apparently)
should i just drop the opt in a branch to perhaps be recovered later?
jnthn timotimo: yeah...but is the data wval? 13:05
'cus then it should know enough to eliminate it...
13:05 xenoterracide_ left
timotimo oh 13:06
actually
gist.github.com/timo/c46c135b040398c32dfa - look at this :D 13:07
const_s, hllboxtype, box_s, decont, isstr
13:08 anaeem1_ left
timotimo actually, islist is checking for known value, but should be checking for known type 13:09
13:09 anaeem1_ joined
timotimo which will make this thing work as soon as i put in the known type inference for box_[ins] instructions 13:10
13:11 salv0 joined 13:15 anaeem1 joined, anaeem1_ left
timotimo jnthn: i also have to make sure i return 0 for objects that are 0; do i have to check for an extra flag in order to do that? 13:16
13:17 xenoterracide_ joined
timotimo or does KNOWN_TYPE imply "not null"? 13:17
jnthn Doesn't imply anything about nullness 13:23
timotimo that means at best i can replace the islist/... ops with an isnotnull 13:24
(which does not exist)
jnthn cycling & 13:27
13:27 xenoterracide_ left 13:29 pecastro joined 13:32 kaare_ left 13:39 bluescreen10 joined 13:44 btyler joined 13:48 bluescreen100 joined 13:49 salv0 left 13:50 guru joined, guru is now known as ajr_ 13:52 bluescreen10 left 14:04 thou joined 14:06 logie joined 14:08 [Sno] left 14:10 rindolf left 14:12 rindolf joined 14:15 rurban joined 14:19 [particle] left 14:24 [particle] joined 14:25 dwarring left, a3gis left
masak today's autopun (from my fortune file): "You're a very redundant person, that's what kind of person you are." 14:27
14:27 salv0 joined
tadzik :D 14:29
FROGGS *g* 14:30
14:31 salv0 left, kaare_ joined 14:38 atroxaper left
dalek Heuristic branch merge: pushed 240 commits to nqp/loop_labels by FROGGS 14:38
14:39 atroxaper joined
timotimo oooh, you're touching that again :3 14:40
FROGGS yes, so you can haz labels in nqp-p :P
timotimo only so that you can make me want to have labels in nqp-m :| 14:41
PerlJam what timotimo said
FROGGS that might even be easier to do than for the jvm
timotimo sadly, we will only really be able to use it once it's on all three back ends :|
FROGGS I mean, it is not that much: github.com/perl6/nqp/compare/loop_labels 14:42
timotimo: and once it left the protective shell of nqp's own grammar
14:43 atroxaper left 14:44 salv0 joined 14:48 treehug88 joined 14:52 atroxaper joined 15:01 SamuraiJack_ left 15:09 denis_boyun_ left 15:19 atroxaper left 15:20 atroxaper joined 15:22 kurahaupo left 15:23 FROGGS left, raiph joined 15:24 atroxaper left 15:27 FROGGS[mobile] joined, cooper left 15:30 bluescreen100 left 15:31 bluescreen10 joined 15:32 kaare_ left
japhb Anyone have a favorite type graph from doc.perl6.org? I need one as an example for a Perl 6 lightning talk I'm writing, and I want an illustration of how the types are laid out. Not super wide or tall is better. My current best is doc.perl6.org/images/type-graph-Numeric.svg . Any other nominations? 15:37
Also, who controls the DNS for perl6.org? A CNAME from docs.perl6.org to doc.perl6.org would be nice (right now if you type the first one, you get sent to perl6.org, the main web site, but that seems Not Quite Awesome). 15:40
raiph yarr++ (yet another rindolf redux): non XS 5.16 perl targeting Javascript via Emscripten: www.shlomifish.org/microperl-web-re.../repl.html 15:46
rindolf raiph: hi.
raiph: yes, you can now use some built-in modules there. 15:47
But if there's an error, it doesn't get displayed.
raiph hi rindolf. it's great to see someone do that, especially you.
arnsholt japhb: Numeric is probably a good choice since it's a well known domain as well 15:48
15:49 zakharyas left 15:51 arturo_ joined
raiph rindolf++ # I'll be adding some questions to www.reddit.com/r/perl/comments/23qy...avascript/ over the next few days. is that the best place to discuss it? 15:53
15:54 molaf joined
Ven FROGGS: can't you avoid duplication like that ? 16:05
yoleaux 00:13Z <Mouq> Ven: FWIW, here is what I put together the last time I was creating html from perl6 code: github.com/Mouq/perl6-feast/blob/m...n/feast.pl
16:05 kst joined
Ven Ah, I should speak here more often . 16:06
16:06 FROGGS joined
Ven yeah it's basically working the same as mine, except I went one step further to avoid that extra space when there's no attributes :p 16:07
oh actually, that doesn't happen
16:08 kaleem joined
Ven `<div>.xml` hehe 16:08
Ven is not going to use indent stuff because it fails inside textarea, and is more bytes overall 16:09
FROGGS Ven: what should I avoid? I don't know what you are talking about :o) 16:12
16:12 arturo_ left, FROGGS[mobile] left
Ven FROGGS: I mean, in the loop branches 16:13
for Actions.nqp. but it's pretty minor anyway
FROGGS ahh, that one
there might be a cleanup possible, but I wanted to make it work first 16:14
and when there is a cleanup, it should make the code more readable, not only short
16:16 hoverboard joined
rindolf raiph: thanks. :-) 16:17
Ven FROGGS: :) 16:18
16:20 molaf left
rindolf raiph: the effort was started by github.com/themucker (I added a link to his GitHub page to the credits now). 16:25
16:28 [Sno] joined 16:30 [Sno] left 16:36 pecastro left, arturo_ joined
raydiak morning #perl6 16:39
16:41 kaleem left 16:42 anaeem1 left, fhelmberger left, bluescreen10 left 16:51 [Sno] joined 16:54 bluescreen10 joined 16:55 eternaleye left 16:57 Rotwang joined 16:58 vaskozl joined
vaskozl Hello! 16:58
Aheem,.. Hello? 16:59
timotimo hi 17:00
vaskozl timotimo: yo
I'm a perl newbie.
Just over a month or so of learning perl5.
Should I go ahead and install a perl6 interpreter and have a go with writing my scripts with it? 17:01
masak vaskozl: sure, why not?
vaskozl or should I stick to perl5 and wait till I'm more experienced
masak vaskozl: if nothing else, Perl 6 is refreshingly free of some of the long-lasting problems of Perl 5.
vaskozl: I think there are only good things that can come out of knowing a little bit of both. 17:02
vaskozl: would you like a tour? :)
vaskozl masak: so should I expect the same kinda thing I can do with perl every day?
masak vaskozl: yes, you should expect that and more! :)
vaskozl writing logic, managing text and piping around with it?
masak oh yes.
vaskozl ok thx for all the positive feedback
timotimo those parts are vastly nicer to write
though usually run a bit slower
masak vaskozl: stick around.
vaskozl yay thank you! 17:03
masak vaskozl: here, have a look.
m: say 1 / 3
camelia rakudo-moar 48937d: OUTPUT«0.333333␤»
masak vaskozl: you know how you do that on a calculator, and then multiply by 3 again, and the answer is 0.999999 ?
vaskozl and I heard there was an interactive shell as well?
masak vaskozl: good news: that never happens in Perl 6. 17:04
vaskozl masak: wohoo
masak m: say (1 / 3) * 3
camelia rakudo-moar 48937d: OUTPUT«1␤»
raiph vaskozl: is this for fun or for work? how patient are you? what are your expectations?
masak why? here's why:
m: say (1 / 3).WHAT
camelia rakudo-moar 48937d: OUTPUT«(Rat)␤»
masak behold, our Rats! :P
vaskozl I also liked the prompt 'Type text witohut needing chomp and <STDIN>!';
masak vaskozl: oh, oh, and look at this:
vaskozl and ofcourse say from v10
masak: I'm looking 17:05
masak m: class Dog { method bark { say "woof" } }; Dog.new.bark
camelia rakudo-moar 48937d: OUTPUT«woof␤»
masak \o/
timotimo vaskozl: it can be hard learning perl 5 regexes and perl 6 regexes at the same time; especially since you're going to miss the ease and clarity of perl 6 regexes :)
vaskozl that's a bit beydong me for now
masak oh, ok.
raiph vaskozl: is your interest in perl about fun or $work? 17:06
vaskozl so I'm getting Rakudo right?
raiph: about home fun
masak vaskozl: right.
17:06 ajr_ left
vaskozl just writing cool neet scripts, be it for a WM, volume bar, voice app or irc client 17:06
17:07 kaare_ joined
masak nice! 17:07
we're all about writing cool neat scripts here.
17:08 hoverboard left
timotimo and more (hopefully ;) ) 17:08
vaskozl ok I'm compiling Rakudo!!!
timotimo there's no shame in stopping at the "cool neat script" phase, of course
vaskozl well in the world of .*nix you can do anything with the help of a shell and a few tools 17:09
I hated pythong because I couldn't figure out why `` werent working and why the best solution was to right a dozen pointless words 17:10
I love perl for the sugar!
and for some reason I've always understood perl better... no matter what they say 17:11
everytime I tried to make a python script my own I would fail, but perl and perl6 more so are self explanatory
*this is all comming from a noob 17:12
not to mention larry wall 17:13
timotimo larry wall is self explanatory, too?
vaskozl he alone is the reason to learn perl :D 17:14
The first thing I'll do with perl6 is a 4x4x4 3d tic tac toe game
timotimo: huh?
timotimo :P
17:14 grondilu joined
timotimo we don't have very advanced gui toolkit libraries, or opengl bindings 17:15
so that game would have to be http or console or something like that
vaskozl timotimo: I mean to play it in the console
timotimo that'll work very well then.
vaskozl with --- | ---- | ----
and X and O's
timotimo i'd recommend looking through the unicode characters for better stuff :P
vaskozl it's going to be 4 of 4x4 squares
labled one trough four
timotimo: yeah I'll do that 17:16
timotimo rosettacode.org/wiki/Draw_a_cuboid#Perl_6 - something silly like the braille characters used here :P
vaskozl so each square would go on top of the other
raydiak I played a board game like this called Score Four, where you dropped wooden beads on a 4x4 grid of pegs tall enough for 4 beads each
vaskozl yah that's pretty cool 17:17
raydiak (though the beads fall to the bottommost position in gravity)
vaskozl 4x4x4 means that you can need to align 4 in any straight line
it can be the long diagonals trough the centre 17:18
or along the sides
it's loads of fun on paper!
timotimo quite similar to this game: en.wikipedia.org/wiki/Connect_Four
but one dimension more
vaskozl I guess
raydiak yep
timotimo en.wikipedia.org/wiki/Connect_4x4 - ah, this is probably it 17:19
vaskozl I like how you liked wikipedia instaed of just saying connect 4 :D
17:19 rurban left
timotimo well, first i put in the german name into the german wikipedia and clicked the "english" link at the side 17:20
so i had the url ready to go :P
raydiak en.wikipedia.org/wiki/Score_Four - the one I played
timotimo hmm, i think i've seen this before
vaskozl raiph: exactly like taht but I wasn't planning on gravity for now
raydiak nice, that'll be fun 17:21
vaskozl I think of the hanoi towers when I see that... Oh the spent time as a child..
rakudo is supposed to take some time to download right?
* clone from git that is 17:22
raiph vaskozl: (you meant raydiak) P6 is immature. tech and doc. P6 isn't remotely like P5 from that perspective. if you focus on the Ofun.pm (perl6.org/fun/) aspect and treat #perl6 as a home you'll be, er, right at home. :) 17:23
timotimo vaskozl: the biggest part of a rakudo clone is NQP, which has had binary files that have been updated lots of times in the past 17:24
vaskozl raiph: that's what I'm all about
raiph vaskozl: then welcome home :)
vaskozl thank you for the warm welcome
raydiak timotimo: not sure if you saw my latest perl6-bench PR, but just added to it 17:26
grondilu updated github.com/jnthn/zavolaj/issues/21 as NativeCall fails to pass tests on my 32bits machine. 17:27
jnthn: maybe if you need access to a 32bit machine, I can give you a ssh access to my PC. Let me know if you're interested. 17:28
vaskozl I'm having some trouble compiling the source, should I just use the debian package instead (there is one right)? 17:29
timotimo raydiak: lovely! :)
would you like me to merge it now? 17:30
raydiak timotimo: thanks :) was originally going to ask you about the layout of the test code, it looked ugly, but I used the same solution you provided for the checkboxes and stuffed them in a slide-away div
timotimo: yep, that's a good stopping point for now
timotimo yup 17:31
i thought the code looked a bit out of place
but the pull-down is a nice solution indeed
vaskozl what part of java do I need for rakudo?
dalek rl6-bench: bb64173 | raydiak++ | analyze:
Add global toggles to charts
rl6-bench: b93234f | raydiak++ | analyze:
Show test code under each graph when available
rl6-bench: 875a3d9 | raydiak++ | analyze:
Move test code into a pull-down div
perl6-bench: 23d5bca | timo++ | analyze:
perl6-bench: Merge pull request #7 from raydiak/master
perl6-bench:
vaskozl I get a javac not found error
raiph: nice!
raydiak vaskozl: you need a jdk
timotimo you only need java if you want to build a rakudo-jvm; otherwise parrot or moarvm will be good enough
also, the java version of rakudo takes hilariously long to start up, so it's not very useful for one-liners on the console 17:32
vaskozl so when the shell tells me javac is not found?
timotimo japhb: cyberuniverses.com/perl6-bench/ ← these are raydiak++ 's changes so far. i really like them!
vaskozl I have java -v
timotimo that's the jre - "java run-time environment" 17:33
but what you need to compile a rakudo is the jdk - "java development kit"
vaskozl oh I need the development kit!
right
masak vaskozl: I once wrote a Connect-4 in Perl 6. you can have a look if you want: strangelyconsistent.org/blog/june-2...-connect-4
vaskozl masak: thx I'll have a look
raydiak reminds me, in one random ray-tracing benchmark yesterday, moar matched/barely edged out jvm for the first time 17:35
masak raydiak: nice! 17:36
timotimo glad to hear it
just wait for jnthn to port the improvements moar has recently seen to jvm and it will be back on top, perhaps dramatically so 17:37
raydiak I should try it on the concurrency branch soon, since moar does that too now 17:38
does we have mutable Bufs yet?
masak I thought Bufs were mutable. 17:39
raydiak last I checked (a couple months ago), not yet
vaskozl So could someone explain to me the different backend businsess/
masak vaskozl: sure. Rakudo runs on Parrot, the JVM, and MoarVM. 17:40
vaskozl so I should use parrot right?
masak up to you. 17:41
FROGGS vaskozl: depends
vaskozl are there any advantages or disadvantages to each?
masak yes.
moritz MoarVM has the lightest memory footprint
and is generally faster than parrot
masak JVM is the fastest once it gets going.
moritz the JVM is usually faster for longer-running processes, but uses more memory than the others 17:42
and the startup time is horrible
masak but there seem to be some known NullPointerExceptions in Java.
FROGGS jvm backend takes about 5s to start up
also, see perl6.org/compilers/features
masak s/Java/JVM/
vaskozl so why should one use parrot instead of moarvm?
moritz the parrot backend has been around the longest, so it has the best module support at the moment
FROGGS there you can see that we've not yet implemented threads on parrot
vaskozl alright
moritz we expect the module support to change eventually :-) 17:43
vaskozl well that's fine I'm not looking to do heavy stuff
FROGGS threads are kinda stable on jvm, but more like experimental on moarvm I think (I am not sure about that though)
vaskozl as long as it's lightweight
FROGGS choose MoarVM if you wanna lightweight stuff
moritz moar is the new hotness, and users love it, so module support will improve soon
raiph vaskozl: note that a big part of the "fun" of P6 dev is dealing with thousands of things that need to be fixed, even in the most basic doc, and constant change. our release approach and procedures offer a stability path for users but we have to ensure we enable rapid lang/compiler/ecosystem evolution
vaskozl yah I don't think I'll be able to help much in that regard :D 17:44
but hopefully, one day...
ideally what would the backend be? 17:46
FROGGS there are many things to tackle, what I'd love to see is a growing number of module authors and users (so we get more feedback)
vaskozl why are modules different for parrot and moar? 17:47
raiph vaskozl: I wasn't meaning for you to help but to appropriately set your expectations
17:47 benabik left
FROGGS vaskozl: modules don't have to be different 17:47
moritz vaskozl: there are a few backend-specific bugs
vaskozl: but not many; most modules work fine on all backends
FROGGS vaskozl: but you can use backend specific stuff, like PIR code 17:48
vaskozl god these take forever to compile..
I should've probably just inalled one backend to begin with
moritz try to compile gcc, for comparison :-)
FROGGS vaskozl: yeah :o)
vaskozl moritz: how does one compile gcc?
moritz vaskozl: usually with an older version of gcc, or some other compiler 17:49
dalek kudo-star-daily: 909ede9 | coke++ | log/ (5 files):
today (automated commit)
BinGOs I believe a gcc build is called a tedium
raiph vaskozl: for most of the last decade parrot was the only backend; for the last year the JVM has been an option; in about a month or two the obvious pick for most folk including newbies will be moarvm 17:50
(and is already probably the right pick)
[Coke] wonders if the java runs have gotten markedly faster.
17:50 rurban joined
raiph (except for long running programs in which case the JVM will often win) 17:51
(it depends on other stuff too but that's my summary) 17:52
17:53 Alula_ left, Alula_ joined
FROGGS raiph: that I a good approximation I think 17:54
[Coke] was referring to the roast runs, not the ongoing JVM conversation. 17:55
[Coke] catches up, for now.
17:55 hummeleB1 left 17:56 rurban left
Ulti the perl6-bench web results are really nice! 17:58
17:58 cognominal left
Ulti as in the interface, the actual speed improvements are good too ;P 17:58
17:59 benabik joined 18:00 anaeem1_ joined
timotimo oh, moarvm also has a fec asynchronous I/O things that i think are not yet available on jvm 18:00
18:00 Sqirrel joined
jnthn back 18:01
18:10 denis_boyun joined 18:11 hoverboard joined
vaskozl so if I wanted to make moar default of parrot I would bo to the bin folder and simply mv perl6 perl6-p;mv perl6-m perl6 18:12
FROGGS vaskozl: no
timotimo those are symlinks usually
so try ln -sf perl6-m perl6
FROGGS do: perl Configure.pl --backends=moar --gen-moar --make-install
timotimo but putting moar first in the --backends= will have the same effect and a tiny bit more 18:13
er, what?
that --make-install flag is news to me
FROGGS vaskozl: when you only want to build moar, do it like I pasted
colomon --make-install ?
FROGGS timotimo: see, even you can still learn :o)
yesh
moritz++ # IMO 18:14
vaskozl when I do make install does the installer actually do anything outside the folder?
FROGGS no 18:15
it install to rakudo/install by default
and then you have to put rakudo/install/bin in PATH 18:16
18:16 dwarring joined
FROGGS installs* 18:16
vaskozl ok did that
what about the man pages?
timotimo actually, there's a program called "rakudobrew" that automates building rakudo, installing panda and switching between the three back-ends 18:17
we have man pages?
>_<
Ulti comes up with a curl one liner for rakudobrew setup
timotimo i'd like to popularize putting something like | sha1verify asdfasdfasdfasdasfadsadafs | perl into these curl-based one-liners 18:21
so that if you spread these, you can be sure that your friends who execute what you paste are not being exploited. 18:22
raiph I'd like to try debug an installed module 18:23
it's in install/languages/perl6/site/lib/Debugger/UI/CommandLine.pm
can i put my own working copy somewhere which overrides that? 18:24
or, rather, what's typical practice for that?
timotimo "use lib '.'"? 18:25
raiph thx
colomon are people using rakudobrew? It bombed miserably for me the first time I tried it (admittedly quite a while ago) and I hadn't tried it again since.
timotimo well, i keep recommending it and people don't seem to complain too much 18:26
masak vaskozl: re "I don't think I'll be able to help much in that regard" -- you can help more than you think. even asking questions like you are doing helps us a lot to streamline documentation, FAQs, and on-ramps. so keep at it ;) 18:27
raiph colomon: I just setup a dev env for myself on feather. rakudobrew wfm
colomon it's true I was missing the last three months of patches. :) 18:28
vaskozl what am I doing wrong: echo "This is cool" | perl6 -pe 's/cool/nice' ?
moritz vaskozl: first of all you're not closing the substitution 18:30
vaskozl: second, I'm not sure you can cluster those options
try -p -e instead
vaskozl: third, it helps to actually produce an error message
vaskozl yah I was closing it fucked up when retypin
colomon is trying rakudobrew again
retupmoca on perl6-m: 18:31
> echo "This is cool" | perl6 -p -e 's/cool/nice/'
===SORRY!===
Error while compiling op callstatic: QAST::Var with scope '' NYI
vaskozl yah
moritz eeks
raiph me too
masak :/
moritz does it work with -n and a final ; .say ?
timotimo seems like people have not been testing -p at all >_<
retupmoca echo "This is cool" | perl6 -n -e 'say s/cool/nice/'
^ that works
(so does ';.say') 18:32
vaskozl the first thing I tried :D
ok got it
so use -n
masak vaskozl: see? :)
vaskozl: you're helping already!
masak submits rakudobug
dalek kudo/nom: ad4b22b | (Elizabeth Mattijsen)++ | src/core/List.pm:
Implement List.(index|rindex)
18:33
lizmat basically: $ perl6 -e 'my @a = <a b c d e f g>; say @a.index("e"); say @a.rindex("f")' 18:35
4
5
moritz lizmat: that looks wrong to me
lizmat: .index should be a Cool method that coerces to Str
lizmat what does? the name?
moritz lizmat: yes
lizmat how would you call it then? 18:36
first_index ?
moritz lizmat: it violates the "one operation per name" rule
lizmat well, it feels like the same operation to me, but not on strings
18:36 isBEKaml joined
lizmat on lists instead 18:36
moritz but that makes it very relevant if something returns a one-element list or a string 18:37
18:37 rurban joined
benabik I find it reasonable as well, although I’m fairly used to the idea that a string is basically a list of chars with extra operations. 18:37
18:37 Ven left
masak I was wondering "where the heck is this spec'd and how did I miss it?" 18:37
18:37 treehug8_ joined 18:38 treehug8_ left
lizmat it's not specced, but I need the functionality for Supply.uniq( :expires) 18:38
moritz maybe first-index, grep-index
lizmat actiually Supply.uniq( :&with, :expirees)
masak :expirees ? 18:39
18:39 treehug8_ joined
lizmat :expires 18:39
masak heads to the spec
lizmat not specced yet
the idea is that you get a Supply that only returns unique values
masak :/
lizmat maybe I should spec first :-) 18:40
18:40 treehug88 left
masak possibly. anyway, no wonder I felt confused! :P 18:40
moritz first-index, last-index, grep-index ?
18:40 darutoko left
masak in almost *any* search operation we're sometimes interested in the index. 18:41
lizmat first-rindex instead of last-index, I would think
well, yes, there's the idea of just adding a named parameter :index
masak maybe a named boolean arg instead of a proliferation of new methods?
18:41 isBEKaml left
masak max-index, min-index... 18:41
18:41 denis_boyun___ joined
colomon +1 to first-index, grep-index 18:41
jnthn Named parameter for differnet return type is odd 18:42
first-index wfm
18:42 telex left
jnthn Agree that calling it index breaks the differnet operation = different name thing. 18:42
masak yeah.
timotimo if we do a named argument, we could also have :10st and friends
colomon though I can see an argument for returning index => thing, too
18:42 denis_boyun left
moritz aye, we had quite some trouble with .reverse would be either string or list reversal 18:42
nwc10 we could just call everything "smurf" and be done :-) 18:43
yoleaux 22 Apr 2014 23:08Z <lizmat> nwc10: jnthn and I found the problem that caused t/spec/S17-concurrency/promise.t to fail
22 Apr 2014 23:09Z <lizmat> nwc10: the fix is going to need some thought in ThreadPoolScheduler
moritz nwc10: smurf-index :-)
lizmat first-index, first-rindex and grep-index it will be then
moritz lizmat: which first-rindex over last-index? 18:44
timotimo will grep-index give you all indices of the thing?
lizmat that would be the plan, yes, as a lazy list
well, as lazy as the original list :-)
18:44 telex joined
moritz nwc10: incidentally at $work we used to have a dev with nickname 'smurf' who named a database column 'bla' 18:44
lizmat nwc10: actually, that fix is already committed 18:47
18:52 prevost left 18:54 atroxaper joined
timotimo i'll be afk for a bit; if nobody has had a look at it until then, i'll look for a fix for -p 18:56
FROGGS ++timotimo 18:57
18:58 zakharyas joined 18:59 atroxaper left 19:02 denis_boyun___ left 19:03 anaeem1_ left 19:05 anaeem1__ joined 19:10 woolfy1 joined, denis_boyun joined
colomon hmmm, rakudobrew won't build jvm on linux for me. 19:13
dalek kudo/nom: ed692e3 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Implement grep-index, first-index, first-rindex

Names still provisionally awaiting agreement and spec
moritz $ echo foo | ./perl6-m -p -e 's:g/o/a/'
faa
colomon java.lang.OutOfMemoryError: Java heap space
in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
thou colomon: I had that too, and just rebuilt and it worked. :-/ 19:14
dalek kudo/nom: f724dd5 | moritz++ | src/Perl6/Actions.nqp:
unbreak -p on MoarVM; fixes RT #121719
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121719
colomon thou: I will try again once parrot has finished building. :)
19:16 anaeem1__ left
masak moritz++ # f724dd5 19:19
colomon vaskozl: you found a bug, it was fixed within an hour. woo-hoo! 19:20
19:22 anaeem1_ joined
moritz looks at the Test::Util is_run calls, and wonders who has designed this... "API". Probably himself. 19:24
nwc10 moritz: I found that the docs for a certain JavaScript thing made as much sense with s/asynchronous/smurf/ 19:26
but were a lot less stressful to read with that transformation
oh, forgot the g
and I can't remmeber how it's done in Perl 6
moritz s:g///
19:28 rindolf left
moritz man, rakudo-m IO is weird 19:30
moritz reproduces with minimal example, and bugrepots 19:31
vaskozl colomon: it got fixed! 19:33
awesome
colomon vaskozl: Admittedly haven't tested it myself, but I trust moritz++ 19:34
moritz but, uhm, if you use it with moarvm, use pipes for input, not redirects :/
arnsholt How settled is S15? (That's the Unicode one, for those won don't remember) 19:35
vaskozl colomon: so I have to reocompile?
moritz vaskozl: yes, git pull && make install
(in rakudo; no need to build nqp or moar or parrot)
FROGGS arnsholt: I at least the stuff about NFG will not settle as long it is NYI (that is at least my opinion) 19:36
moritz submitted as #121720 19:37
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121720
19:38 guru joined, guru is now known as ajr_ 19:39 anaeem1_ left
vaskozl moritz: is it supposed to make jar files again? 19:41
masak moritz: fwiw, the symptom is exactly the same as the recently-fixed #121693.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121693
moritz vaskozl: if you built the JVM backend too, yes 19:42
colomon ooo, hey, just installed ABC on moar! \o/ 19:43
colomon hadn't realized that bug had been fixed. suspects it is a jnthn++
dalek rlito: ddcbb9f | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
Perlito5 - Perlito5::Grammar::Regex5 character classes
19:44
ast: 3c5b51b | moritz++ | S19-command-line-options/03-dash-p.t:
rewrite dash-p.t to use Test::Util

hangs on MoarVM due to RT #121720
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121720
19:48 bluescreen10 left, bluescreen10 joined 19:50 woolfy1 left, woolfy joined
dalek kudo/nom: 261f440 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Implement Supply.uniq( :with, :expires)

And fix Supply.uniq( :expires ) (without :with)
19:54
raiph jnthn: I'm trying to debug the CommandLine.pm UI front end to the debugger. 19:56
Is it possible to finagle 'bp add' to work on CommandLine.pm? 19:57
19:57 cooper joined, cooper left, cooper joined
vaskozl moritz: yay it works now! Thank you for fixing it 19:57
jnthn raiph: As in, use the debugger to debug CommandLine.pm itself? No.
raiph thx 19:58
timotimo moritz: thanks for fixing it :)
ah, seems like the fix was as simple as i'd anticipated 19:59
vaskozl I've always wondered how the command line flags work 20:00
why doesn't -pe work?
obviously -p -e works
timotimo hm, that must be our command line parsing
you can probably find it in perl6/nqp inside the src/HLL folder 20:01
vaskozl timotimo: it even has examples! 20:02
20:06 woolfy left
masak vaskozl: I *do* wish -pe worked. but I haven't bothered to figure out how it works, or if it's difficult to implement, so I'm at least a little bit hypocritical/lazy... 20:06
vaskozl I always wondered how programs like tar do it :D 20:07
in the perl5 one liners I'd often see -lpe
masak yeah, it's useful. 20:10
raiph jnthn: while i'm at the debugger prompt, after the debugger has thrown an exception internally (from within CommandLine.pm), can i do an equivalent of `$s` etc. but for variables in CommandLine.pm via some global or some such?
moritz vaskozl: it's by design; the specs says that only options that don't take arguments can be clustered 20:11
raiph jnthn: I'm working on github.com/jnthn/rakudo-debugger/issues/19
moritz vaskozl: wouldn't be too hard to change
20:12 woolfy joined
vaskozl by official perl6 design or? 20:12
moritz aye
S19
japhb timotimo: Saw your highlight from earlier (though otherwise 4-5 days backlogged in this channel) -- yes, raydiak's improvements are looking good. There is a somewhat increased tendency for hover text to get "stuck on", especially when it appears below the key of the graph, rather than inside the graph proper. Otherwise, very nice indeed. What all has been changed other than test-global maximum comparison, page-global line toggles, and the color scheme?
vaskozl so it shouldn't work
alright 2 more characters is not much
FROGGS r: say $*ARGFILES.eof 20:13
camelia rakudo-jvm ad4b22: OUTPUT«(timeout)»
..rakudo-moar ad4b22: OUTPUT«No such method 'opened' for invocant of type 'Any'␤ in method eof at src/gen/m-CORE.setting:14354␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot ad4b22: OUTPUT«No such method 'opened' for invocant of type 'Any'␤ in method eof at gen/parrot/CORE.setting:14323␤ in block at /tmp/tmpfile:1␤␤»
retupmoca moritz, masak: I have a nqp patch locally to enable -pe 'stuff' - can push it if we do want to enable that syntax 20:14
moritz retupmoca: I'm of two minds 20:16
vendethiel built rakudo for a friend and was like masak++ with his "look at all that shiny stuff you can do !"
retupmoca (note that right now you can do -pes/foo/bar and it works, so it's a little inconsistant now maybe)
timotimo i'm looking into the commandline option parser 20:17
it *does* handle grouped values, but apparently it won't eat an argument after the last grouped or something
moritz retupmoca: that's compatible with perl 5
$ echo foo| perl -pe1
foo
retupmoca $ echo foo| perl -pe 1 # also works though 20:18
dalek kudo/nom: 5d8225a | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Pass on expires properly to Supply.uniq
timotimo ah
i think i see why it doesn't work yet
oh! 20:19
-pe'say "hi"' does work
moritz retupmoca: whatever, go for it
dalek p: 8ec9562 | (Andrew Egeler)++ | src/HLL/CommandLine.nqp:
Fix perl6 -pe 'stuff'
20:20
moritz not the first time that perl 5 folks are confused by it
timotimo oh!
damnit, i won't get to fixing anything today! :D
vaskozl you guys are super fast 20:21
masak vaskozl: they are eager to impress the new guy :P 20:22
...or gal, what do I know. 20:23
vaskozl I'm just a guy
masak anyway, retupmoca++
japhb
.oO( I'm just a gigolo and everywhere I go ... )
20:26
timotimo :)
raiph vaskozl: most of P6 is written in P6, and most of that is reasonably well written, so fixing compiler things is relatively easy and fun in principle -- it isn't like it is with most other langs where the primary compiler is written in another low level lang 20:28
in P6's case there is a lower lang, namely NQP, which is used for some of the compiler, but even that is a relatively high level lang (it's a simple subset of P6 to a first approximation) 20:30
20:30 effbiai left
raiph so one routinely sees someone turn up, note some bug, and then it's fixed that week (or that hour) 20:31
vaskozl raiph: that's quite awesome
masak that's the goal. 20:32
20:36 effbiai joined
raiph say 42.WHY # Because lizmat++ saw me say "can we please one day have 42.WHY respond with ..." on Easter Sunday irclog.perlgeek.de/perl6/2014-04-20#i_8614800 20:36
20:37 pippo joined
pippo m: my @a = 1..10; say @a.rindex("0"); say @a.index(0); 20:38
camelia rakudo-moar 261f44: OUTPUT«19␤19␤»
pippo ^^ 19?
m: my @a = 1..10; say @a.index("0"); say @a.index(0);
camelia rakudo-moar 261f44: OUTPUT«19␤19␤» 20:39
timotimo that's ... not quite right
moritz why not? 20:40
m: my @a = 1..10; say @a.Str
camelia rakudo-moar 261f44: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
moritz m: my @a = 1..10; say @a.Str.substr(19, 1)
camelia rakudo-moar 261f44: OUTPUT«0␤»
moritz looks fine to me.
PerlJam pippo: what were you expecting? 20:43
pippo my @a = 1..10; say @a.index(3); say @a.Str.substr(4,1) 20:44
m: my @a = 1..10; say @a.index(3); say @a.Str.substr(4,1) 20:45
camelia rakudo-moar 261f44: OUTPUT«4␤3␤»
raiph pippo: does that now make sense to you? 20:46
pippo mumbling...
masak .index is a string operation.
pippo so the returned index is the position of @a.Str? 20:48
so the returned index is the position in @a.Str?
moritz yes 20:50
20:50 zakharyas left
pippo moritz: seems not. 20:50
PerlJam m: 3.1415926535.index(9) 20:51
camelia ( no output )
PerlJam m: 3.1415926535.index(9).say
camelia rakudo-moar 261f44: OUTPUT«6␤»
lue pippo: it does. The use of substr proves it :) .
pippo m: my @a = 1..10; say @a.index(3);
camelia rakudo-moar 261f44: OUTPUT«4␤»
FROGGS m: my @a = 1..10; say @a.substr(4,1) 20:52
camelia rakudo-moar 261f44: OUTPUT«3␤»
FROGGS m: my @a = 1..10; say ~@a
camelia rakudo-moar 261f44: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
FROGGS that seems alright 20:53
PerlJam pippo: strings are indexed from 0 (is that the problem?)
pippo m: my @a = 1..10; say @a.Str.substr(4,1)
camelia rakudo-moar 261f44: OUTPUT«3␤»
pippo m: my @a = 1..10; say @a.Str.substr(4,1); say @a.substr(4,1)
camelia rakudo-moar 261f44: OUTPUT«3␤3␤»
masak 'night, #perl6
FROGGS gnight masak
PerlJam good night masak! 20:54
FROGGS and you also have to count the space chars
pippo OK got it. Thank you all!
FROGGS you're welcome
PerlJam FROGGS++ 20:55
20:55 atroxaper joined
dalek kudo/nom: 34cc2d2 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Change semantics of Supply.uniq( :expires )

Only after we actually more'd a value, do we reset the expiry. This actually makes more real world sense.
20:56
20:59 Rotwang left 21:00 atroxaper left 21:02 dayangkun left 21:04 kaare_ left
vendethiel m: say [map { " " }, 1..5].perl; say [" " x 4].perl; 21:07
camelia rakudo-moar 261f44: OUTPUT«[" ", " ", " ", " ", " "]␤[" "]␤»
vendethiel m: say [map { " " }, 1..5].perl; say [" " xx 4].perl;
camelia rakudo-moar 261f44: OUTPUT«[" ", " ", " ", " ", " "]␤[" ", " ", " ", " "]␤»
21:07 kurahaupo joined
vendethiel m: my @board = [" " xx 5] xx 5; say @board.perl; 21:07
camelia rakudo-moar 261f44: OUTPUT«Array.new([" ", " ", " ", " ", " "], [" ", " ", " ", " ", " "], [" ", " ", " ", " ", " "], [" ", " ", " ", " ", " "], [" ", " ", " ", " ", " "])␤»
vendethiel is reading masak++'s blog post 21:11
m: my @row = " " xx 5; say @row.fmt("%s", " | "); say @row.join(' | '); 21:13
camelia rakudo-moar 261f44: OUTPUT« | | | | ␤ | | | | ␤»
dalek kudo/nom: cf82ef2 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Make sure Supply.uniq handles different threads
21:14
vendethiel m: my @rows = [[True, False].roll xx 5] xx 5; my $offx = 3; my $offy = 2; say @rows[$offy - 1, $offy, $offy + 1][$offx - 1, $offx, $offx + 1].perl; 21:16
camelia rakudo-moar 261f44: OUTPUT«([Bool::True, Bool::False, Bool::True, Bool::False, Bool::True],)␤»
vendethiel 5? 21:17
21:17 dayangkun joined
timotimo 5 what? 21:17
vendethiel results in the array
timotimo oh 21:18
huh, how does that work.
hm
that may want to be .>>[...]
what you're getting right now is the following:
vendethiel m: my @rows = [[True, False].roll xx 5] xx 5; my $offx = 3; my $offy = 2; say @rows[$offy - 1, $offy, $offy + 1]>>.[$offx - 1, $offx, $offx + 1].perl; 21:19
camelia rakudo-moar 261f44: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in sub METAOP_HYPER_CALL at src/gen/m-CORE.setting:17307␤ in block at /tmp/FP3tHfsQiL:1␤␤»
timotimo @rows[1, 2, 3] gives you (first row, second row, third row)
and (first row, second row, third row)[3 - 1, 3, 3 + 1] gives you only one result back
the third row, that is.
vendethiel makes sense, I guess
m: my @rows = [[True, False].roll xx 5] xx 5; my $offx = 3; my $offy = 2; say (do for ($offx - 1, $offx, $offx + 1) X ($offy - 1, $offy, $offy + 1) { @rows[$^a][$^b] }).perl; 21:21
camelia rakudo-moar 261f44: OUTPUT«(Bool::True, Bool::False, Bool::False, Bool::True, Bool::False, Bool::False, Bool::False, Bool::True, Bool::False).list␤»
timotimo m: my @rows = [[True, False].roll xx 5] xx 5; my $offx = 3; my $offy = 2; say @rows[$offy - 1, $offy, $offy + 1].>>[[$offx - 1, $offx, $offx + 1].perl;
camelia rakudo-moar 261f44: OUTPUT«===SORRY!=== Error while compiling /tmp/4Q177FnZU6␤Unable to parse expression in subscript; couldn't find final ']' ␤at /tmp/4Q177FnZU6:1␤------> ].>>[[$offx - 1, $offx, $offx + 1].perl;⏏<EOL>␤ expecting an…»
vendethiel that works too.
timotimo mhh
the inner pieces could also be $offx X+ (-1, 0, 1) :) 21:22
dalek kudo/nom: 9047e09 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Make sure Supply.squish handles different threads
vendethiel timotimo : ah, yeah! I still can't really about list flattening :). 21:25
dwarring r: for 42 {NEXT (state $val) = $_; LAST {say $val}} 21:26
timotimo "reason"?
camelia rakudo-{parrot,jvm} 261f44: OUTPUT«42␤»
..rakudo-moar 261f44: OUTPUT«Cannot assign a null value to a Perl 6 scalar␤ in block at /tmp/tmpfile:1␤␤»
timotimo r: for 42 {NEXT { (state $val) = $_ }; LAST {say $val}} 21:27
camelia rakudo-{parrot,jvm,moar} 261f44: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$val' is not declared␤at /tmp/tmpfile:1␤------> XT { (state $val) = $_ }; LAST {say $val⏏}}␤ expecting any of:␤ postfix␤»
timotimo r: for 42 {NEXT ( (state $val) = $_ ); LAST {say $val}}
camelia rakudo-{parrot,jvm} 261f44: OUTPUT«42␤»
..rakudo-moar 261f44: OUTPUT«Cannot assign a null value to a Perl 6 scalar␤ in block at /tmp/tmpfile:1␤␤»
timotimo huh.
vendethiel timotimo: it's not "fluent". doesn't fit how I think. I always forget about it. (and that's one of the things I don't really like in p6, though I havn't been biten yet by it)
dwarring golfed that from perl6advent.wordpress.com/2012/12/1...t-to-stun/ 21:28
21:28 denis_boyun left
dwarring (scores example) 21:29
I'll put in an RT
FROGGS dwarring++
21:32 kurahaupo left
dalek p: b596f16 | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump moar rev for eof fix
21:33
kudo/nom: 270088d | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp/moar rev for eof fix
21:38 rurban left 21:41 kbaker left 21:42 sftp left 21:43 ajr_ left
dalek kudo/nom: 84fecfa | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Make sure Supply.rotor handles different threads
21:46
timotimo vendethiel: i think the [...;...] syntax ought to help here 21:49
but it's (of course) NYI
21:58 donaldh joined 22:01 bluescreen10 left 22:02 sftp joined
dalek ast: 4d38b1f | (David Warring [email@hidden.address] | integration/advent2012-day15.t:
adding advent 2012 day 15
22:07
timotimo i'm being asked to give a talk at the GPN
22:09 rurban joined, a3gis joined, dmol left 22:10 spider-mario left
lizmat GPN? 22:12
timotimo gulaschprogrammiernacht
lizmat ah 22:13
cool!
timotimo hacking / art conference party thingie in karlsruhe
since i've got nothing else in my life at the moment, it'll probably be ... about perl6 :)
lizmat :-)
22:15 rurban left
timotimo "Perl 6 - So schnell werdet ihr mich nicht los!" 22:16
dalek kudo/nom: 3018590 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Make sure Supply.batch handles different threads
22:16 hoverboard left
lizmat timotimo: sounds interesting, what is it about ? :-) 22:22
timotimo i have no idea
but it should be better than last year's
for example: the text ought to be readable on the recorded video
jnthn tries to translate that without knowing much German...
timotimo "you aint gettin' rid of me that quickly!" 22:23
jnthn So fast...mumble...me not God!
oh :)
timotimo as in: i did one last year already, but i'll do it again, ha-ha!
of course parallel programming stuff would be interesting, as well as reactive 22:24
lizmat plenty of primitives now :-) 22:27
pippo 'night #perl6 22:29
timotimo 'night pippo :)
pippo :-)
timotimo lizmat: this time i really ought to start much, much earlier with the preparations
22:29 pippo left
timotimo and be done more than just 5 minutes before start 22:30
lizmat yes, that helps :-)
jnthn just started on his slides :P
japhb timotimo: I think my last year's talks were proof that you can start well ahead of time and still only just finish in time. I was changing slides pretty much until I walked to the room. 22:31
timotimo i have about 2 months to prepare it, fortunately 22:32
22:38 FROGGS left 22:41 thilp left
timotimo which means i'll spend about 2 months procrastinating and get drunk (on caffeine probably) the night before my talk and then ... :| 22:42
22:43 cognominal joined
lizmat perhaps Gulash would work better under the circumstances ? 22:50
timotimo there's only gulasch during one of the days 22:51
lizmat :-( 22:55
22:57 atroxaper joined 23:01 benabik left, atroxaper left 23:03 treehug8_ left, rurban joined
timotimo can i pass a CurrentThreadScheduler to code being run in a different thread and cause the work to be scheduled on the original thread where the CTS has been created from? 23:05
or is there something for that?
23:05 benabik joined
jnthn timotimo: No. 23:06
It means the thread you're currently on.
It just does it right away
timotimo ah
i read something in a recent commit message that you could cause stuff to be run, for example, in the gui thread
how would that work?
jnthn Oh
That is a custom scheduler. 23:07
That I did in some other (unpublished) work
But we can write an EventLoopScheduler.
Where you basically can make a thread sit in a run loop for a bit and give stuff do it.
timotimo ah 23:08
that sounds nice to have
it could also integrate with other event loops; most event loops offer a "pump one event" function
or "poll for events" or stuff like that
jnthn Right. 23:09
23:12 rurban left 23:15 rurban joined 23:22 BenGoldberg joined 23:24 a3gis left 23:27 benabik left
dalek kudo/nom: fcedf60 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Code esthetics: make Supply parameter $s
23:30
kudo/nom: 375404d | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Oops, Parcels are immutable
23:31 donaldh left
dalek ast: 6f8a5d1 | (Elizabeth Mattijsen)++ | S17-concurrency/supply.t:
Add tests for Supply.uniq( :expires )
23:32
23:35 xenoterracide_ joined 23:41 benabik joined
lizmat goes to rand.sleep 23:42
jnthn figures he'll do similar 23:46
Presentation steadily tarting to exist :D
uh, starting
'naight
23:47 woolfy left, ivan`` left 23:48 ivan`` joined, woolfy joined
timotimo :) 23:49
23:52 rurban left 23:56 benabik left 23:57 benabik joined 23:58 xenoterracide_ left
timotimo a tweet just showed up in my perl6 search because an url shortener happened to use "PeRl6 23:59