»ö« 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:10
grettis left
00:13
Hor|zon joined
|
|||
TimToady et al. now at SEA, waiting to go to SFO | 00:17 | ||
yoleaux | 14 Oct 2014 08:54Z <psch> TimToady: irclog.perlgeek.de/perl6/2014-10-13#i_9499127 might have been irclog.perlgeek.de/perl6/2014-08-15#i_9188841 | ||
00:17
Hor|zon left
|
|||
timotimo | TimToady: glad to hear your first flight portion went well | 00:18 | |
00:19
xenoterracide__ joined
|
|||
TimToady | 1st two, actually, we did MUC -> AMS -> SEA | 00:19 | |
timotimo | ah. well, portion doesn't necessarily mean "smallest atomic portion" :) | ||
.o( as suggestive "suggested" serving sizes suggest ) | 00:20 | ||
TimToady | treu | ||
timotimo | i was able to annoy ven by saying "on deh twah" | ||
vendethiel: it seems like karma swung back around and got me a little laceration on my knee :\ | 00:21 | ||
now i'm actually sorry for being annoying and mean sometimes^Wmost of the time | |||
i wonder how fast the Techno_Z people will make the video recordings available to "our people" and how fast "our people" will be able to publish them | 00:24 | ||
b2gills | kv slicing in Perl5: $ perl-5.20.0 -E' my @a = "a".."d"; say %a[0..3] ' # 0a1b2c3d | 00:32 | |
or more clearly as: perl-5.20.0 -Mfeature=postderef -E' my @a = "a".."d"; say @a->%[0..3]' # 0a1b2c3d | |||
timotimo | can you explain how that works exactly? | ||
oh, just slicing an array with a % sigil gives you a hash, so to speak | 00:33 | ||
what would it look like to iterate over that with 1) a key and a value available in the loop body, 2) the key and then the value being available in separate iterations | 00:34 | ||
basically the equivalent of these: | |||
m: my @a = "a".."d"; for @a.kv -> $k, $v { say "k: $k, v: $v" } # 1 | |||
camelia | rakudo-moar 8b3e8c: OUTPUT«k: 0, v: ak: 1, v: bk: 2, v: ck: 3, v: d» | ||
timotimo | m: my @a = "a".."d"; for @a.kv -> $thing { say "thing: $thing" } # 1 | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«thing: 0thing: athing: 1thing: bthing: 2thing: cthing: 3thing: d» | 00:35 | |
timotimo | er, i neglected to update the comment at the very end. | ||
BenGoldberg | s/# 1/# 2/; # ? | ||
timotimo | exactly | ||
00:36
_slade_ joined
00:59
molaf joined
01:00
woolfy left
01:01
woolfy joined
01:12
Mso150 joined
01:30
mathw_ joined,
brother joined
01:31
oetiker_ joined,
integral_ joined
01:32
nebuchad` joined,
xenoterracide__ left,
yogan_ joined
01:33
integral left,
oskie joined,
oetiker left,
geekosaur left
01:34
timotimo joined
01:36
xenoterracide__ joined
01:37
Mso150 left
01:38
Mso150 joined
01:40
Gruber joined,
oskie_ joined
01:41
[TuxCM] joined,
TimToady_ joined
01:42
petercom1and joined,
huf_ joined,
djanatyn1 joined,
kurahaupo left,
petercommand left,
anocelot_ joined,
oskie left,
muraiki left,
TimToady left,
[Tux] left,
slavik left,
anocelot left,
Grrrr left
01:43
muraiki joined,
slavik joined,
danaj_ joined
01:44
b2gills joined
01:46
oetiker_ left
01:49
Mso150 left,
kurahaupo joined,
kurahaupo left
01:52
geekosaur joined,
geekosaur left
01:54
geekosaur joined
01:57
odc joined
01:58
kurahaupo joined
01:59
kurahaupo left
02:00
oetiker_ joined
02:14
Hor|zon joined
02:19
Hor|zon left
02:42
chenryn joined
02:48
noganex_ joined
02:51
noganex left
02:58
dayangkun left
03:01
davido__ joined
03:13
_slade_ left,
_slade_ joined
03:15
dayangkun joined
03:19
mauke_ joined
03:22
mauke left
03:23
pdcawley_ left
03:25
mauke_ is now known as mauke,
pdcawley joined
03:33
molaf left
03:46
chenryn left
03:48
chenryn joined
03:53
camelia left
03:54
dayangkun left
03:56
camelia joined,
flaviusb joined
03:57
ChanServ sets mode: +v camelia
04:04
Woodi_ joined
04:07
anaeem1 joined
04:09
xenoterracide__ left
04:11
BenGoldberg left
|
|||
b2gills | For one thing you can't iterate 2 at a time in Perl5 | 04:11 | |
04:15
Hor|zon joined
04:20
Hor|zon left
|
|||
b2gills | P5: `%array[keys @array]` === P5: `@array->%[keys @array]` === P6: `@array[keys @array] :kv` | 04:20 | |
04:21
petercom1and is now known as petercommand
04:38
chenryn left
04:44
kaare joined,
kaare is now known as Guest49673
04:45
ggoebel11111110 joined
04:47
ggoebel1111119 left
05:09
chenryn joined
05:15
gfldex joined
05:16
chenryn left
05:22
ezra1 joined
|
|||
masak | m: my @array = <foo bar baz>; .say for @array :kv | 05:28 | |
camelia | rakudo-moar 8b3e8c: OUTPUT«===SORRY!=== Error while compiling /tmp/XrrEwAP_BqYou can't adverb thatat /tmp/XrrEwAP_Bq:1------> ray = <foo bar baz>; .say for @array :kv⏏<EOL> expecting any of: pair value» | ||
masak | m: my @array = <foo bar baz>; .say for @array[]:kv | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«0foo1bar2baz» | ||
masak | b2gills: no need to write out the `keys @array`; can just leave the slice empty and you'll get all'uvit. | 05:29 | |
05:46
chenryn joined
|
|||
vendethiel | masak: have you seen my link earlier? actually, last night ~11pm | 05:50 | |
masak | oh, the nephrite one? | 05:51 | |
vendethiel | yes | ||
masak | yes, I skimmed through it. | ||
vendethiel | oke. | ||
masak | I was thoroughly confused by the test file, which I usually use to orient myself in a new module. | ||
vendethiel | have a nice day, #perl6 o/ | ||
masak | it contained only a commented-out `is()` call. | 05:52 | |
and a lot of seemingly unrelated stuff. | |||
conclusion: I don't know what this module does. | |||
06:02
bartolin joined
06:08
leont joined
06:09
gfldex left
06:16
Hor|zon joined
06:21
Hor|zon left
06:41
nebuchad` is now known as nebuchadnezzar,
leont left
|
|||
dalek | ast: 9cafef7 | usev6++ | S02-names-vars/names.t: Add test for RT #116182 |
06:42 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116182 | ||
06:48
rurban joined
|
|||
lizmat | good *, #perl6! | 06:50 | |
06:50
zakharyas joined
|
|||
lizmat | decommute commences& | 06:50 | |
06:50
lizmat left
06:51
rindolf joined
06:53
woolfy left
|
|||
masak | and a good whatevs to you too, lizmat | 06:53 | |
06:56
jerrycheung joined
|
|||
masak had not seen jnthn++'s github.com/jnthn/css-tiny-presentation before, but enjoyed it now | 06:59 | ||
07:01
FROGGS joined,
SamuraiJack joined
07:06
virtualsue joined
|
|||
masak | jnthn: I just tried using github.com/jnthn/perl6-reactive-sa...-commit.p6 -- it doesn't seem to react to changes, but it does make moar start using 199% CPU :/ | 07:07 | |
07:08
pepl joined
|
|||
masak | (on my machine) | 07:08 | |
I would have preferred the opposite: detect changes, not so much CPU :) | |||
I thought the neat thing about this notification thing was that it wasn't so resource-heavy... | |||
07:13
abraxxa joined
07:14
ptc_p6 joined
|
|||
dalek | ast: 1e08ea2 | usev6++ | S03-operators/misc.t: Add test for RT #117045 |
07:21 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117045 | ||
07:21
rurban left
07:22
rurban joined
07:23
[TuxCM] left
|
|||
TimToady_ home | 07:23 | ||
07:24
TimToady_ is now known as TimToady
|
|||
masak | willkommen, bienvenu, welcome | 07:24 | |
07:24
ptc_p6 left
|
|||
TimToady home too | 07:24 | ||
07:25
ptc_p6 joined
07:26
cognome joined
07:27
[TuxCM] joined
|
|||
moritz | \o | 07:27 | |
07:29
azawawi joined,
fhelmberger joined
|
|||
sergot | o/ | 07:34 | |
07:35
cognome_ joined,
cognome left
07:37
_slade_ left
07:38
cognome joined,
cognome_ left
|
|||
FROGGS | o/ | 07:41 | |
mephinet | $work | ||
azawawi | hi everyone | 07:42 | |
is there is a source tidy tool for Perl 6 like Perl::Tidy for Perl 5? | 07:43 | ||
tadzik | nope | ||
07:44
SamuraiJack left
|
|||
timotimo | o/ | 07:46 | |
azawawi | interesting behavior... | ||
perl6 -t makes you enter REPL :) | |||
masak | azawawi: we're still weak in the source processing department. paradoxically -- we should be really strong there, given Perl 6's and Rakudo's parsing prowess. | ||
azawawi | perl6 -t0 # to be exact... | 07:47 | |
masak: can STD.pm be now parsed by rakudo? | |||
masak: i remember i worked a lot on STD.pm + syntax highlighting | 07:48 | ||
masak | azawawi: my guess would be "no", but don't take my word for it. | ||
azawawi | github.com/perl6/std/blob/master/s..._highlight # to be exact was my work along with moritz++ :) | 07:52 | |
07:53
Mouq left
07:54
denis_boyun joined
|
|||
timotimo | unfortunately all common syntax highlighting schemes use declarative style instead of actual code, so you're not getting terribly far with something that | 07:55 | |
masak | right. | ||
parsing Perl 6 is Perl 6-complete. | 07:56 | ||
timotimo | if you can ignore custom operators, you should be okay | ||
07:56
ghostlines joined
07:57
pecastro left
07:58
denis_boyun left
|
|||
azawawi | if i understand correctly... there should be a sanity check after tidying code to make sure that the byte code is the same as before and we did not introduce a tidy source bug | 07:58 | |
07:58
denis_boyun joined
07:59
virtualsue left
|
|||
azawawi clones STD.pm again | 07:59 | ||
timotimo | could do that, except compiling code is always a bit dangerous as we have BEGIN blocks and blocks for constants | ||
azawawi | true | ||
timotimo | on top of that, the bytecode contains references to cuuids, which contain the unix timestamp of when they were created | 08:00 | |
azawawi | i see | ||
timotimo | STD, however, doesn't do that | ||
azawawi | so we need to compare the Q|J|AST... :) | ||
moritz | azawawi: also byte code contains line number annotations | ||
azawawi | the AST should be the same for a correctly tidied source, right? | 08:01 | |
moritz: hi :) | |||
moritz | hi azawawi | ||
only if you discount annotations | 08:02 | ||
also, we generate unique IDs for temporary symbols | |||
08:03
kjs_ joined
|
|||
timotimo | the temporary symbols have non-random ids though | 08:04 | |
moritz | currently. | ||
timotimo | and you may use the ast generated from stage ast rather than optimize | 08:05 | |
azawawi | timotimo: i think the BEGIN and END blocks getting executed during are one of the things preventing Perl in general from being "safe" when parsing Perl code | ||
08:05
ecocode joined
|
|||
timotimo | agreed, it's a thing i'm interested in having fixed, but i have no good ideas for actually *doing* the fixing | 08:05 | |
there ought to be a white list for stuff in begin/end blocks, though | |||
moritz | as well as all the implicit BEGIN blocks | ||
like in 'use' and 'constant' | 08:06 | ||
timotimo | aye. | ||
azawawi | agreed | ||
moritz | m: my constant x = say 42; BEGIN exit | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«42» | ||
timotimo | if you completely disregard precompiled modules and have some scheme that applies that kind of whitelist to all modules transitively ... that could work | ||
(very slowly) | |||
sort of how the grammar debugger and the regular debugger work, actually | 08:07 | ||
azawawi | moritz: why do we need BEGIN and END blocks in Perl 6 again? what was the reason? | ||
moritz | azawawi: language mallability | 08:08 | |
azawawi: if you want to 'use' a module that gives you operators or other syntax extensions (or just symbols you want declared, and must consider during the parsing), you need to be able to import them - at compile time | 08:09 | ||
timotimo | at least we have something nicer than BEGIN { @*INC.push: '...' } now :P | ||
azawawi | so basically no hope in achieving safety during a simple syntax check :) | ||
timotimo | that also means you call sub EXPORT if it exists | ||
azawawi | timotimo: it is cool but do we actually need it? | 08:10 | |
timotimo | what exactly? | ||
08:10
Hor|zon joined
|
|||
azawawi | timotimo: BEGINs and ENDs | 08:10 | |
timotimo | not entirely sure | ||
it'll be more interesting to do the imports at compile time properly | 08:11 | ||
moritz | there are a lot more cases though | ||
for example type composition must happen at compile time | |||
timotimo | that's the same problem with having ide support for pretty much everything | ||
moritz | otherwise we couldn't do any type checking at compile time | ||
timotimo | .o( and we are supposed to have a COMPOSE phaser, too ) | ||
moritz | which would be clear loss | ||
also, times would have to be re-created at runtime | |||
which is a huge performance penalty that we had in pre-nom days | 08:12 | ||
timotimo | types* | ||
moritz | right | ||
azawawi runs ./viv ~/farabi6/lib/Farabi6.pm # and waits... | |||
timotimo | we'll want more advanced things like suggesting methods if we have a type annotation to work off of and stuff like that | 08:14 | |
and, of course, "jump to definition" will be a big feature | |||
there's simpler transformations that you can do, like extract subs from sections of code | 08:15 | ||
that wouldn't require total parsing + running | 08:16 | ||
azawawi | m: my $uri = "test "; $uri ~~= s/(\?.*)$//; | ||
camelia | ( no output ) | ||
azawawi | m: my $uri = "test "; $uri ~~= s/(\?.*)$//; say $uri; | 08:17 | |
camelia | rakudo-moar 8b3e8c: OUTPUT«test » | ||
azawawi | std: my $uri = "test "; $uri ~~= s/(\?.*)$//; say $uri; | ||
camelia | std bd22b5c: OUTPUT«===SORRY!===Cannot make assignment out of ~~ because chaining operators are diffy at /tmp/ohH76IS2lm line 1:------> my $uri = "test "; $uri ~~=⏏ s/(\?.*)$//; say $uri;Check failedFAILED 00:01 144m» | ||
azawawi | interesting | ||
08:17
Mso150 joined
|
|||
azawawi | std caught an error while rakudo didnt? | 08:17 | |
moritz | yes, happens | 08:18 | |
timotimo | i've wanted to start on a project to prototype some IDE-relevant tools, but it was quite daunting at that moment | 08:19 | |
08:20
Hor|zon left
|
|||
azawawi | so basically to achieve better syntax checking in farabi6, STD.pm viv should be used if possible otherwise fallback back to $*EXECUTABLE | 08:20 | |
timotimo | if you're already going to run code anyway, the only bad thing that can happen if you use vanilla rakudo itself for checking stuff is that a begin block or something like that could end up infinilooping for you | 08:21 | |
azawawi | one of the thing i noticed while working a lot in Java is that they designed their tools right | ||
the compiler tools is a jar that any application can use | |||
any application = IDE in the end ofcourse | |||
08:21
Hor|zon joined
|
|||
timotimo | to be fair, you can just nqp::getcomp at the moment, or import :from<NQP> to get the Perl6::Compiler object | 08:21 | |
azawawi | cool so i can access the REPL? | 08:22 | |
timotimo | for example, yes | ||
azawawi a week long question in progress :) | |||
08:22
cognome left
|
|||
timotimo | :S | 08:22 | |
azawawi starts dancing | 08:23 | ||
08:23
cognome joined
|
|||
timotimo | i think the IANA should start assigning hashtags so that something like the APW2014 thing doesn't happen again | 08:24 | |
at least the other APW2014 hashtag isn't completely drowning out our austrian perl workshop stuff | |||
peteretep | What was the other APW? | ||
timotimo | Anti-Poverty Week | 08:26 | |
peteretep | ah | 08:27 | |
08:27
cognome left
|
|||
tadzik | I wonder how many hashtags are there that were only used once | 08:28 | |
like #oldmilkinmyfridge or so | |||
timotimo | i can't believe that's only been used once. | ||
peteretep | There used to be a term for google searches that returned exactly one hit | 08:30 | |
08:30
Mouq joined
|
|||
tadzik | I now see that I don't have any stupid hashtags in my twitter feed | 08:30 | |
08:30
kaare_ joined
|
|||
tadzik | that's a good thing :) | 08:30 | |
Timbus | a googlewack | ||
or googlewhack maybe | |||
08:31
dakkar joined
|
|||
peteretep | hashwhack | 08:32 | |
that has a satisfying number of h's | |||
08:34
Guest49673 left
|
|||
masak | tadzik: #veryfunnyspocknowbeamupmypantstoo | 08:39 | |
er, scotty* | |||
tadzik | :D | ||
jnthn | morning, #perl6 | 08:43 | |
08:47
bjz joined
08:49
jack_rabbit left
08:51
anaeem1 left,
anaeem1 joined
08:52
Mso150_h joined
08:53
Mso150 left
08:54
azawawi left
08:56
virtualsue joined
|
|||
masak | jnthn: I had some problems using your inter-commit.p6 in le backlog. | 08:59 | |
jnthn: I also found your css-tiny-presentation talk. jnthn++ | 09:00 | ||
09:04
jerrycheung left,
Mso150_h left
09:05
azawawi joined
|
|||
azawawi | masak: i watched it yesterday and it was really great... www.youtube.com/watch?v=6TcoCH1qJX8 | 09:06 | |
jnthn++ | |||
i learned a couple of tricks from it :) | |||
where is the Perl 6 book btw? | |||
jnthn | masak: It may well be behind with latest supply impl... | 09:07 | |
09:08
broquaint joined
|
|||
tadzik | azawawi: github/perl6/book | 09:08 | |
masak | jnthn: maybe I can golf it to something small that obviously doesn't work... | 09:09 | |
jnthn | masak: Maybe...otherwise just leave a ticket on the repo so I don't forget I've got it to look at ;) | ||
09:11
Woodi_ left,
Woodi joined
|
|||
azawawi wonders how farabi6 storyboard can be integrated with the perl6 book | 09:12 | ||
09:12
lue left
09:13
Hor|zon left
|
|||
masak | jnthn: github.com/jnthn/perl6-reactive-sa...s/issues/1 | 09:14 | |
azawawi | it would be interesting if we had a book in electronic format that can actually run itself through the farabi6 web interface... text + snippets | 09:15 | |
09:17
rmgk_ joined,
rmgk is now known as Guest99146,
Guest99146 left,
rmgk_ is now known as rmgk
09:20
Hor|zon joined
09:23
Mouq left
|
|||
moritz | agreed | 09:27 | |
and it would even be interesting to have a book in the first place, one that's actively developed/maintained | |||
09:30
azawawi left
09:35
pecastro joined
09:44
virtualsue left
09:45
kurahaupo joined
09:46
Hor|zon left
09:52
Hor|zon joined
|
|||
grondilu | Hello. No commit yesterday? What's up? | 09:52 | |
jnthn | grondilu: No commit where, exactly? I'm sure I've seen some go by in the last 24 hours... :) | 09:54 | |
grondilu enjoys updating rakudo frequently and is always a bit disappointed when 'git pull' returns 'Already up-to-date.' | |||
jnthn | Ah :) | ||
Well, I'd blame it on a large number of key contributors doing some mix of travel or enjoying their last Schnitzel pre-travel. :) | 09:55 | ||
09:55
ecocode left,
Mouq joined
09:57
ecocode joined
10:00
virtualsue joined
10:08
Mouq left
10:16
azawawi joined
|
|||
moritz is pretty happy with the flame graphs nine_++ built into the profiler | 10:16 | ||
azawawi | github.com/azawawi/farabi6/issues/9 # Initial REPL... need to figure out how to catch stdout/stderr from comp.eval | 10:17 | |
10:17
darutoko joined
|
|||
dalek | ast: 245c598 | usev6++ | S02-types/bag.t: Add test for RT #117915 |
10:22 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117915 | ||
bartolin | grondilu: ha, a commit! (not for rakudo but for one of your tickets ;-) | ||
10:26
jerrycheung joined
|
|||
rurban | We want to change parrot behaviour regarding illegal escape chars: github.com/parrot/parrot/issues/1103 | 10:39 | |
Up until now illegal escape chars were silently changed, e.g. from \o to o | |||
This leads to easier perl6 diagnostics with bad imcc quoting behavior | 10:40 | ||
timotimo | azawawi: IMO, you'll most probably do the repl with Proc::Async instead of having the repl directly in your web server process | 10:41 | |
rurban | Should we keep the old behavior for a deprecation period, and just warn? | ||
10:41
[particle] joined
|
|||
timotimo | no way to handle an infinilooping piece of code for example | 10:41 | |
moritz | rurban: does rakudo compile and spectest cleanly if parrot barfs? | ||
rurban | I'll try. The underlying problem is a perl6 bug with .lex which is caused by a imcc quoting bug with .lex :) | 10:44 | |
10:45
kjs_ left
|
|||
rurban | By fixing the escaping rules the diagnose is much easier. You wont get name clashes with wrong quotings anymore. | 10:45 | |
10:46
kurahaupo left
|
|||
FROGGS | rurban: rakudo should never quote things that result in illegal escape sequences, for one because it uses parrot's escape method :o) | 10:47 | |
rurban | See github.com/parrot/parrot/issues/1095 for the broken parrot escaping rules | 10:48 | |
moritz | unless some code path forgets to call it | ||
FROGGS | jnthn: I implemented the multi-byte line separator in moar yesterday, though I did it differently than we decided :S | ||
jnthn | I hope by multi-byte you mean multi-char :P | 10:49 | |
FROGGS | well, one thing might imply the other :o) | ||
timotimo | i thought it was all about "multiple line separators" | ||
FROGGS | jnthn: that means, I do not use \0 to join several seps, because \0 can happily be a valid separator | ||
timotimo: both | 10:50 | ||
timotimo | OK | ||
10:50
chenryn left
|
|||
jnthn | FROGGS: Point...of course we could reserve a negative for it. :) | 10:50 | |
FROGGS: What did you end up doing, anyways? | 10:51 | ||
timotimo | you know how in grocery stores you'd put a little separator between your items and the items of the person who comes after you? | ||
FROGGS | jnthn: well, right now I just have a MVMString** of seps, and walk their grapheme's and compare these to the given string or codepoint | ||
timotimo | how do you do that in a grocery-store-conveyor-belt-separator-store? | ||
jnthn | FROGGS: Do they get GC-marked appropriately, ooc? | 10:52 | |
FROGGS | (string or codepoint because we have two code paths, one for actually splitting the lines and one for filling a buf until a sep is found) | ||
jnthn: I bet not | |||
moritz | timotimo: by boxing and/or rotating the separators that you buy :-) | ||
FROGGS | jnthn: that's why I might have weird problems :o) | ||
timotimo | ah, rotation is an interesting way to do that | ||
10:52
jerrycheung left
|
|||
jnthn | FROGGS: Quite possibly ;) | 10:52 | |
FROGGS | jnthn: that's my code (quite WIP): gist.github.com/FROGGS/923b97f208ddb4fef181 | 10:54 | |
line 23 of the diff might be off | |||
10:55
huf_ is now known as huf
10:56
anaeem___ joined
|
|||
FROGGS | jnthn: I did it that way because I found it easier walking the codepoints/"graphemes" using such an grapheme iterator, then to pass char* around and perhaps Do The Wrong Thing | 10:56 | |
jnthn | FROGGS: Well, we need it to be fast, and iterating the string every time won't quie cut it | 10:58 | |
FROGGS: You could make it cheap *and* avoid the GC bug by having an MVMCodepoint32 ** | 10:59 | ||
10:59
anaeem1 left
|
|||
jnthn | FROGGS: That way you only need grab the graphemes out of the string once. | 10:59 | |
FROGGS | okay... | ||
jnthn | FROGGS: And they're handily available. | ||
Plus strings are always immutable so it it's safe :) | |||
10:59
Mouq joined
|
|||
FROGGS | and that will work for graphemes as well? | 10:59 | |
jnthn | uh, sorry | ||
I *meant* MVMGrapheme32 :) | |||
FROGGS | ahh | 11:00 | |
:o) | |||
jnthn | 'cus we're dealing with the grapheme stream here... | ||
timotimo | but you still need to copy it out | ||
FROGGS | okay | ||
yes | |||
timotimo | otherwise it may be freed at some point and you'll stumble over things | ||
jnthn | timotimo: Yes, that's exactly what I was poroposing | ||
timotimo | oh | ||
of course | |||
jnthn | timotimo: Except it's not just "copy it out" | ||
FROGGS | I pass a string to nqp::setseparatorfh, and extracts its graphemes... | ||
jnthn | timotimo: Because you might be a weird situation where the seperator is two strands or so | ||
11:01
anaeem___ left
|
|||
timotimo | ah | 11:01 | |
jnthn | So the copying out needs an MVMGraphemeIter | ||
FROGGS | then we would handle the string case, but not yet the list case | ||
jnthn | Which is why to do it once :) | ||
timotimo | do we work with strands at all yet? | ||
.o( and also, we're not handling ascii-only strings yet ) | |||
FROGGS | I guess I need to invent a new op that will take a list_s | ||
jnthn | timotimo: Yes, remember the big string re-work I did a while back that sped up the concat benchmarks quite a way? ;) | ||
11:01
anaeem1 joined
|
|||
timotimo | .o( and also i didn't write the code yet to have a single-grapheme string be cheaper than longer strings ) | 11:01 | |
11:01
[particle]1 joined
11:02
[particle] left
11:04
kjs_ joined
11:08
[particle]1 left
11:09
chenryn joined
|
|||
timotimo | jnthn: are we actually stashing the exact hash result value in a string's body? | 11:10 | |
and then using that reliably across the whole code base? | |||
that'd probably be a much saner place to handle different types of strings to be hashed than looking at the type of string we have at the place we're actually interested in the hash | |||
11:12
anaeem___ joined
11:14
anaeem___ left
11:15
anaeem1 left,
anaeem1__ joined
11:16
Mouq left
|
|||
dalek | ast: d45a075 | usev6++ | S03-operators/set.t: Add tests for RT #117997 |
11:16 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117997 | ||
11:17
camelia left
|
|||
jnthn | timotimo: Except the hash is calculated lazily on first need | 11:23 | |
timotimo | right, but that requires us to sprinkle "what is this" checks and special behavior all over our codebase ... | 11:24 | |
i remember trying to do that once and that was not fun | |||
11:24
camelia joined
|
|||
timotimo | well, i suppose we can do it eagerly for at the very least the single-grapheme-strings and perhaps also for the ascii-only strings | 11:24 | |
i should probably look at how exactly the current code handles strands vs flat strings | |||
jnthn | timotimo: No, it shouldn't require that with a decent design. | 11:25 | |
timotimo | i'm not a good source for decent designs :)) | ||
11:25
ChanServ sets mode: +v camelia
11:27
sivteck joined
11:28
sivteck left
|
|||
FROGGS | timotimo: except when it is about explosions and chain reactions :o) | 11:33 | |
timotimo | ah, extract key flattens the string in order to calculate the hash value | 11:34 | |
jnthn | timotimo: Right, that bit is what I want to eventually kill of | 11:35 | |
*off | |||
timotimo | yeah | ||
at least that makes it easy to add the single-grapheme-string-storage thing without breaking everything ... again | 11:37 | ||
should probably also work with the 8bit grapheme list | |||
we don't have that implemented yet, right? | 11:38 | ||
oh, at the moment of hashing that, we're actually replacing the string's storage completely | |||
so as soon as a string goes into a hash as a key, any given storage advantage we may have had ... gone | 11:39 | ||
if we had a "generate hash cache" op instead that would just temporarily create a string to run the hash algorithm over instead of replacing the storage for all the rest of time ... | |||
11:41
Mouq joined
|
|||
jnthn | timotimo: Well, I was planning deeper changes so we don't have to mutate anything at all, just compute the hash as if things were normalized. | 11:43 | |
timotimo | that'd be perfect | 11:44 | |
jnthn | No, because we don't know the keys up front. #awfulcompscipun | ||
timotimo | heh. | 11:45 | |
is there actually any way we could offer perfect hashing to a user? | |||
masak | timotimo: not in the general case, no way. | ||
timotimo | well, giving the player the ability to pregenerate a perfect hashing function based on a set of keys | 11:46 | |
is what i thought that meant | |||
jnthn | Given how easy it is to implement custom data structures that behave like the built-in ones, and given what masak said, then it sounds a great thing for module space. :) | ||
timotimo | mhm mhm | ||
i want to compare how many strings get stored as non-Grapheme32-storage and how many get turned into Grapheme32 storage in order to get stashed into a hash | 11:47 | ||
i know for a fact that we put all strings into a big hash at compile time to intern them and only emit a single copy of each hash in the bytecode file | |||
11:51
kurahaupo joined
|
|||
dalek | ast: 9602762 | usev6++ | S0 (2 files): Correct use of message in matcher hash in throws_like for 3 tests |
11:54 | |
timotimo | blogs.plos.org/scied/files/2013/01/..._words.jpg - this is very cute | 11:55 | |
11:59
flaviusb left
|
|||
masak | just in case people were traveling or eating their last Wienerschnitzel yesterday -- comments warmly appreciated on strangelyconsistent.org/blog/macros...ing-macros | 12:01 | |
12:07
Hor|zon left
12:09
Ven joined
|
|||
Ven | .tell masak right. You kind of need to launch it to see the output for now | 12:09 | |
yoleaux | Ven: I'll pass your message to masak. | ||
Ven | erm, I guess you're here, masak . | 12:10 | |
masak | maybe. | ||
yoleaux | 12:09Z <Ven> masak: right. You kind of need to launch it to see the output for now | ||
Ven | masak: wow, 3 bloggages in a day! | 12:11 | |
masak | Ven: in this case, after not getting any insight from either the README or the test file, I gave up -- deciding to ask you what the thing is. | ||
Ven: so, what is it? :) | |||
besides something that parses something indented, that is. | |||
Ven | masak: considering the name "doc-html", it's an HTML template engine :P. | ||
haml-like (but actually it's jade, hence the "nephrite" pun) | 12:12 | ||
masak: on your feedback blogpost, "to types of macro" (not sure if intended) | |||
masak | ah. fixing. | ||
it's a direct quote, but I think I prefer to change it to be correct. | 12:13 | ||
Ven | I guessed it was :). | ||
I'm still very much thinking about this... Not sure about how, even without macros, make a declarative ORM DSL | 12:14 | ||
model Actor { also will have_columns(<foo bar baz>) } ? | |||
masak | Ven: in case you're wondering, I'll probably make a post about anaphoric macros (and other things I find in "50 years of Lisp") | ||
Ven | masak: nice. I'm glad you started your journey in that book :) | ||
masak | Ven: well, *some* of those DSLs can simply hook into the MOP, as jnthn++ has been famously doing of late. | 12:15 | |
I mean, if your DSL is enough like a class. | |||
12:15
JimmyZ joined,
Alula joined
|
|||
Ven | masak: yes, that's the point here | 12:15 | |
masak | actors definitely are. | ||
Ven | If you tell me "every macro in that book, I have something in mind to do those in p6", I'll be very happy. | ||
masak | :) | ||
Ven | But of course, you start hitting the "keywords aren't composable lol" kind of problem | ||
masak | I think that would make pmurias happy, too. | ||
Ven | (pmurias's happiness)++ :P | 12:16 | |
masak | I definitely want us to have a story for composability, on various levels. | ||
Ven | masak: yes, they can hook into the MOP, but you also need to make it look nice. jnthn++'s state machine with listed states and macro-checked state is something I consider to be "Very Good™" | ||
(as in, I'm not sure we can offer *more* to the user) | 12:17 | ||
(or *should* offer more – but that's the same point, having too much kruft is a disservice to the user anyways) | |||
masak | I'm sorry, I didn't get the "jnthn++'s state machine" reference. | ||
are you referring to something I forgot, or simply don't know about? | 12:18 | ||
jnthn | If recent, the macro-checked cond vars | ||
Ven | masak: erm, I'm talking about his wait-state/emit-state I think | ||
masak | oh, ah. | ||
Ven | or was it wait-event? | ||
yes, thanks jnthn | |||
jnthn | wait-condition and meet-condition iirc | ||
masak | I wasn't aware that was driven by macros <3 | ||
jnthn | masak: See OO::Monitors. | ||
masak does, with a quickness | 12:19 | ||
jnthn | It's my first actual use macros in a module :) | ||
Ven grinned when he heard that there :P | |||
jnthn | *use of | ||
masak | oh wow. github.com/jnthn/oo-monitors/blob/...ors.pm#L79 | ||
masak so happy | |||
Ven | :P | 12:20 | |
masak | ok, what's the most disruptive thing I can do today with macros *and* the MOP? I should've asked this question much sooner. | ||
anyway, jnthn++! | |||
Ven | hahahah. | ||
masak: your "is inside()" seems a bit... funny to me. I'm not sure those should ... "explicited" :) | 12:21 | ||
CL macros mostly use macrolet to define (sub)lexical macros inside of some block (here, to declare commit or rollback inside of transaction, most probably) | 12:22 | ||
masak | feel free to write me a gist that shows what you mean. otherwise it's just words. | ||
kthx | 12:23 | ||
Ven | masak: actually, it's just in 50 years of lisp :) | ||
which is why I didn't start with a gist | |||
npnp. | |||
jnthn is always happy to push at the boundaries of what we can do in Perl 6. :) | 12:24 | ||
masak will try to take the "bear with a very little brain" approach to the macro design/implementation | |||
[Coke] finds that his wife had a chance to eat stroopwafel and did not! | |||
jnthn | o.O | 12:25 | |
Ven | masak: I think I really can't explain it better than that book. And I don't think you'll need any kind of discussions with me once you've read it :) | 12:26 | |
12:26
notfix is now known as xfix
|
|||
masak | pretty sure I will still need discussions :) | 12:26 | |
Ven | well, I hope for the best | 12:28 | |
[Coke] | m: Int:erator$; | 12:31 | |
camelia | rakudo-moar 8b3e8c: OUTPUT«===SORRY!=== Error while compiling /tmp/0vlprhYWVgTwo terms in a rowat /tmp/0vlprhYWVg:1------> Int:erator⏏$; expecting any of: pair value postfix infix stopper i…» | ||
Ven | m: @$$a # leont++ :P | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«===SORRY!=== Error while compiling /tmp/EU0tT4HIZuVariable '$a' is not declaredat /tmp/EU0tT4HIZu:1------> @$$a⏏ # leont++ :P» | ||
Ven | oooh, that's be unspecced already | ||
[Coke] | m: Int:erator:$; | 12:33 | |
camelia | rakudo-moar 8b3e8c: OUTPUT«===SORRY!=== Error while compiling /tmp/uszt7h4uQWMissing semicolon.at /tmp/uszt7h4uQW:1------> Int:erator:$⏏; expecting any of: colon pair» | ||
[Coke] | ah, there we go. What do you mean, no semicolon? | ||
12:34
Gruber is now known as Grrrr
|
|||
masak | that is an odd message, yes. | 12:34 | |
the semicolon is, like, "I'm right here!" | |||
masak submits LTA rakudobug | |||
[Coke] | inspired by jnthn's css:tiny talk, no really. | ||
jnthn | std: Int:erator:$; | 12:35 | |
camelia | std bd22b5c: OUTPUT«===SORRY!===Confused at /tmp/q8C2RbTAy2 line 1:------> Int:erator:$⏏; expecting signatureUndeclared name: 'Int:erator' used at line 1Parse failedFAILED 00:01 140m» | ||
12:40
azawawi left
|
|||
Ven | oO it thinks Int:erator is a valid name? | 12:40 | |
timotimo | hm, like with foo:bar<baz>? | 12:41 | |
12:41
xenoterracide joined
|
|||
Ven | m: infix:<+> | 12:41 | |
std: infix<+> | |||
sigh. | |||
fair enough, it's valid in this position :) | 12:42 | ||
12:44
bjz left,
camelia left
|
|||
masak | people here who like types are likely to appreciate psnively.github.io/blog/2014/10/14/...-Ultimate/ | 12:47 | |
though it seems to be the middle of a debate rather than the start of it. | |||
HN discussion: news.ycombinator.com/item?id=8457345 | |||
PerlJam | masak: Just reading nesting macros ... "Grammars to it bottom-up" needs more "do" and less "to" | ||
masak | thanks | 12:49 | |
12:50
camelia joined
12:51
ChanServ sets mode: +v camelia
|
|||
JimmyZ | tl:dr :P | 12:52 | |
masak | ok, noted. | ||
"I didn't have time to write a shorter one." :) | |||
JimmyZ 's english still is bad :( | 12:53 | ||
timotimo | that's because english is bad | 12:54 | |
masak | JimmyZ: tl;dr: 博客文章谈到把一个macro在另一个macro。这就是一切。 | 12:55 | |
12:55
anaeem1__ left
|
|||
masak | JimmyZ: 'I fully expect there to be a general framework through which macros could do this the "hard way" [...] What I'm proposing here is basically just sugar [...] to set up this [...] the "easy way"' | 12:56 | |
JimmyZ | masak: I see a chinese version zh.wikipedia.org/wiki/%E6%9F%AF%E9%...C%E6%9E%84 | 12:57 | |
about Curry-Howard | |||
looks like something like parametric, am I right? | 12:59 | ||
masak | oh, that post. | ||
JimmyZ: Curry-Howard asserts that there is a pretty deep link between the world of types and the world of logic. | |||
13:00
Hor|zon joined
|
|||
JimmyZ | yeah | 13:00 | |
masak | JimmyZ: more exactly, for every primitive one uses in logic, there's a corresponding one in types, and vice versa. | ||
13:00
bjz joined
|
|||
masak | JimmyZ: pairs (A, B) in types correspond to logical conjunction A ∧ B in logic. | 13:01 | |
JimmyZ | but a -> a in Curry-Howard makes me think of parametric | ||
pmichaud | good morning, #perl6 | ||
JimmyZ | good moarning, pmichaud | ||
masak | pmichaud! \o/ | ||
jnthn | o/ pmichaud | 13:02 | |
masak | JimmyZ: function types A -> B in types correspond to implication A ⇒ B in logic. | ||
JimmyZ: it's fascinating stuff, really. | |||
13:03
Ven left
|
|||
JimmyZ | en.wikipedia.org/wiki/Haskell_Curry # I thought it's about haskell language ... | 13:05 | |
masak | both names "Haskell" and "Curry-Howard" take their name from that guy, yes :) | ||
13:07
chenryn left
|
|||
JimmyZ | oh, it is | 13:07 | |
13:11
FROGGS left
|
|||
masak | errand & | 13:16 | |
gtodd | currying has nothing to do with food ... other than making you hungry | 13:18 | |
13:19
nwc10 joined
|
|||
gtodd | pmichaud: which blog are you using for your eventual ... updates, notices ... ermm GLR catechisms | 13:20 | |
13:20
nwc10 left
13:22
xinming left
13:23
xinming joined
|
|||
masak | pmthium.com/ , I guess. | 13:23 | |
rurban | I got strange t/spec/S32-io/spurt.rakudo.parrot errors with 23, 25. Is this new? | ||
gtodd | masak: thanks ... | 13:26 | |
13:27
xenoterracide left
|
|||
gtodd | rurban: last week I got the warning "Please use IO::Path.spurt instead." in there somewhere | 13:32 | |
rurban: (started getting that warning) after some commits by lizmat ... oh wait I wasn't roasting with perl6-p parrot though | 13:35 | ||
bartolin | [Coke] reported those two failures for parrot as well (for about a week IIRC) | 13:37 | |
[Coke] | SOMEONE WAS LISTENING! | 13:45 | |
those tests don't error on moar or jvm, just parrot. | 13:46 | ||
2662e01 was the last clean r-p; 0730d44 was the first bad one. | 13:48 | ||
that corresponds with roast de7eb2d and roast afbef95 | 13:49 | ||
13:49
erkan left
13:50
erkan joined
|
|||
rurban | What is the rakudo mailing list? [email@hidden.address] | 13:57 | |
[Coke] | that's theoretically for talk about rakudo dev, yes; in reality, that mostly just happens here. | 13:58 | |
rurban | ok | ||
dalek | ast: bcacc07 | rurban++ | S (2 files): todo parrot tests: S32-io/spurt: 23,25. S05-mass/charsets: 8,9 |
13:59 | |
ast: 69f5590 | (Will Coleda)++ | S (2 files): Merge pull request #48 from rurban/master todo parrot tests: S32-io/spurt: 23,25. S05-mass/charsets: 8,9 |
|||
14:01
anaeem1 joined
|
|||
[Coke] | ^^ we could use RTs on those recent fudges, too, new bugadmin guy. :) | 14:01 | |
rurban | yes, probably. | 14:02 | |
bartolin | Oh NOES! (new bugadmin guy) | ||
[Coke] | muahahah | ||
rurban | I was not sure if it's a nqp or parrot problem with spurt | 14:03 | |
[Coke] | rurban++ keeping parrot alive and kicking, bartolin++ cleaning up years of bug detritus. | ||
rurban | FROGGS++ for the same reasons | ||
Where can I read about perl6 coro's? I want to change the documented behavior also | 14:04 | ||
timotimo | perl6 only really exposes coros via gather/take, i believe | 14:06 | |
jnthn | Yeah, and gather/take is agnostic as to how it is implemented. | 14:07 | |
dalek | ast: 85396dd | usev6++ | S09-hashes/objecthash.t: Add test for RT #118037 |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118037 | ||
jnthn | It's done as del conts on r-m/r-j... | ||
14:08
rindolf left
|
|||
timotimo | i wonder how take-rw will interact with the changes to GatherIter | 14:09 | |
jnthn | While it ain't a concern for r-p, await will likely also end up using a similar mechanism. | 14:10 | |
masak | bartolin++ # RT ticket decreaser guy | ||
it's more fun to be the increaser guy when there's a decreaser around :> | |||
14:13
anaeem1 left,
anaeem1__ joined
14:14
molaf joined
|
|||
gtodd | ... gather the bugs and take them away to a better place ... | 14:15 | |
bartolin | maybe we can make a deal: for every 5 old tickets I close someone with more perl6-fu comments on a ticket of my choice? ;-) | ||
gtodd | :-D | 14:16 | |
masak | bartolin: sounds fair. | ||
bartolin: please keep count, point out the ticket of your choice when it's time, and hold us to it. | |||
PerlJam | who decides what "more perl6-fu" means and who has it? :) | 14:17 | |
bartolin | me decides! | ||
gtodd | cool :-) the irc channel logs will serve as an accounting system for this new "protocol" | ||
masak wishes he could come up with similar accounting systems for [Coke]++ and moritz++, who sometimes highlight important things or request help in various ways | 14:19 | ||
gtodd | maybe you need a fu-bot (errm possibly a better name could be found) | ||
;-) | |||
masak | truth is, at bottom it's all driven by people, and a combination of responsibility, enthusiasm, and compassion. | ||
jnthn | It's successor would be called the equally unfortunate fu2 bot :P | 14:20 | |
PerlJam | gtodd++ nah, that's a good name. Very punny. | ||
masak | (what's known as "tuits") | ||
we should figure out more in detail how that works, and harness it :) | |||
jnthn: fu u 2! :P | |||
gtodd | does anyone have a sense when the REPL line issues RT #122914 | 14:21 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122914 | ||
gtodd | started? | ||
jnthn | gtodd: No, though it's surprising we noticed it only recenlty... | 14:22 | |
PerlJam | maybe it only recently broke | ||
bartolin | I can't tell; I only stumbled about it last week when testing something | 14:23 | |
14:25
ecocode left
|
|||
gtodd | (regarding "fu" we do have "Mu" and there maybe some linguistic or deep cultural "Ur-language" linkage there) | 14:27 | |
14:28
chenryn joined
|
|||
[Coke] | rant: RT treats pasted REPL output as quoted text. | 14:29 | |
PerlJam | yeah, that's *so* annoying. | ||
14:29
spider-mario joined,
[particle] joined
|
|||
PerlJam | well ... the annoying part is that it hides what it thinks is quoted text | 14:30 | |
but if there were a way to turn that off, I would. | |||
14:30
dwarring left
|
|||
gtodd | bartolin: it must be recentish ... I was trying code from one of the Advent cycles ... I'm pretty sure it worked a relatively short while back I *might* have pasted it differently ... (I collect gems from advent posts and polish them :-) ... sometimes there are explanations in the comments re: deprecations etc. when code doesn't work) | 14:31 | |
bartolin: the code worked when all on one line .... hmm there was something else that needed everything to be on one line in the REPL | 14:32 | ||
bartolin | I found this one: RT #78068 | 14:34 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=78068 | ||
14:37
abraxxa left
|
|||
PerlJam | Does the REPL do that for all backends? | 14:38 | |
bartolin | kids need me, bbl | 14:40 | |
Woodi | hi everyone :) | 14:41 | |
14:41
Mahmoud joined
|
|||
masak | Hoowdy, Woody | 14:42 | |
14:42
Mahmoud is now known as Guest44162
|
|||
tadzik | hey #perl6, what do you say we participate in www.google-melange.com/gci/events/google/gci2014 | 14:42 | |
we have to apply on 27 Oct | |||
gtodd | oh ... when no strict was introduced you could only use it in the REPL if everything you wanted non-strict stayed on one line so probably not related | ||
tadzik | (or a wee bit later, but not too much) | ||
14:42
Guest44162 left
|
|||
[Coke] | PerlJam: upper right hand corner just under history "show all quoted text". bet I can offer you | 14:43 | |
masak | tadzik: I vote "Yes" :) | ||
gtodd | azawawi: that is different than GSoC correct? | ||
tadzik | yes | ||
gtodd | tadzik: I meant :-\ | ||
14:44
flaviusb joined
|
|||
tadzik | gtodd: it's for 13-17 people, tasks are smaller, rewards are smaller, pressure is smaller etc | 14:44 | |
and participants are great in both quality and quantity | |||
Woodi | this looks strange :) : say await $log.latest-entries(Error); # from jnthn OO::Actor | 14:45 | |
gtodd | tadzik: fix extend the REPL would count ;-) | ||
tadzik | lessons learned from previous years: avoid translation tasks like a plague | ||
Woodi | what if promises will be more first class in future languages ? :) | ||
tadzik | gtodd: if it's easy enough :) | ||
gtodd | hehe | ||
tadzik | tasks tend to be very simple, students will sometimes do a dozen of them or more | 14:46 | |
moritz | do we have very simple tasks in sufficient quantity? | ||
14:46
djanatyn1 is now known as djanatyn
|
|||
tadzik | in module space I'm sure we do | 14:46 | |
14:46
chenryn left
|
|||
tadzik | documentation too | 14:46 | |
tutorials | 14:47 | ||
14:47
atta joined
|
|||
jnthn | Not to mention making nice demo/example apps for some interesting modules... | 14:48 | |
tadzik | yep | ||
gtodd | then there are people doing things in module space that require some some hook or code in nqp-[p,m,j] | ||
tadzik | we could draw some fresh blood | ||
jnthn | Indeed. | ||
I'd be willing to come up with some tasks for it, if we can get in. | |||
But would need others to come come up with some too. :) | |||
gtodd | macros! :-) | 14:49 | |
tadzik | we should create a wiki or a gist or something | 14:50 | |
I suppose we'd need something to show google with our application, "here's how much we have to do, here's how many people can mentor it" | |||
masak | gtodd: we want to attract youngsters, not fry their brains. ;) | ||
PerlJam | gtodd: good idea! We should sprinkle in some "hard" problems just in case we run across a prodigy who will actually get it done. | ||
gtodd | :-D | ||
tadzik | i.imgur.com/c7NJRa2h.jpg | ||
masak | tadzik: :P | 14:52 | |
[Coke] | belatedly, it's for 13-17 _year old_ people | ||
14:53
chenryn joined
14:54
Mouq left
14:55
rindolf joined
14:57
chenryn left
14:59
Hor|zon left
|
|||
masak .oO( "belatedly"? you'd rather recruit 9-year-olds!? ) :P | 14:59 | ||
15:03
Hor|zon joined
15:06
anaeem1__ left
15:07
anaeem1 joined
|
|||
pmichaud | okay, I blogged: pmthium.com/2014/10/apw2014/ | 15:07 | |
comments, corrections, improvements welcomed | |||
masak | pmichaud++ # reading | 15:10 | |
timotimo is reading, too | 15:11 | ||
JimmyZ | pmichaud++ # reading too | 15:13 | |
timotimo | !$PIO.eof - this was supposed to read $!PIO.eof, right? | ||
er | 15:14 | ||
!$! rather | |||
pmichaud | timotimo++ # fixing | ||
masak | pmichaud: s/Infact/In fact/ | 15:16 | |
moritz | m: .say for [1, 2, 3].flat | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«123» | ||
timotimo | oooooh | 15:18 | |
Your blog, Weekly changes in and around Perl 6, appears to be getting more traffic than usual! | |||
masak | spurt busted in Rakudo HEAD: gist.github.com/masak/72aaae65040419832daf | ||
pmichaud | masak++ # Infact it's now fixed. | ||
masak submits rakudobug! | |||
timotimo | i probably should post the post-apw update; especially since i can now link to pm's summary post | ||
masak | if someone would care to verify locally, that'd be "great" | ||
15:20
davido__ left
|
|||
masak | pmichaud: so far, my wish for a postfix op for .flat is so small as to be negligible. especially when both .for and (things like) .flat.map exist. there's something to be said for spelling things out. | 15:20 | |
15:20
Hor|zon left
|
|||
JimmyZ wonders why .pick and pick xx, xx is different | 15:20 | ||
15:21
davido__ joined
|
|||
pmichaud | masak: yes, I'm leaning that direction also. | 15:23 | |
moritz | JimmyZ: if that was a question, I can't parse it :-) | ||
masak | pmichaud: loving the headings :) | ||
pmichaud | I think we should defer that until we see if programmers are getting tired of adding .flat all over the place. And I suspect that may not be so much. | ||
JimmyZ | (@a, @b, @c).pick(1) vs pick 1, @a, @b, @c | ||
timotimo | agreed, masak | ||
b2gills | masak: the `keys @array` isn't needed on P6 but *is* needed on P5, That is what I was showing | ||
15:24
denis_boyun left
|
|||
pmichaud | JimmyZ: if they're to work the same, which interpretation would you want? | 15:24 | |
PerlJam | (and how would I get the other?) | ||
pmichaud | well, I know how to get the other. :) | 15:25 | |
JimmyZ | don't know, just curious :P | ||
moritz | without having been part of the discussion, I'd guess that the function form looks like p5, and behaves like p5 | ||
but if we make all forms flatten by default, there's not much point in preserving the structure at all | |||
pmichaud | JimmyZ: it's just the way things tend to work out. Everyone at APW2014 seemed to like that the .pick, .sort, etc didn't flatten their inputs. | 15:26 | |
PerlJam | pmichaud: Yeah, but making him think about it might give an "aha!" moment :) | ||
masak | pmichaud: ss/programmers would rarely encounter<(ed)>// | ||
moritz | PerlJam: (@a, @b, @c).flat.pick, pick 1, (@a, @b, @c).lol # not sure about the last | ||
pmichaud | but when we started writing the functional forms of pick, sort, etc., people really thought flattening was more desirable | ||
pick 1, $@a, $@b, $@c # would also work | 15:27 | ||
and probably pick 1, lol @a, @b, @c should be made to work | |||
15:27
ghostlines left
|
|||
JimmyZ | maybe Trade-off between consistency and inconsistency :P | 15:27 | |
PerlJam | I have to say I'm just a little sad that Parcel is going away. (only a little ;) | ||
moritz | masak: spurt busting confirmed | ||
masak | moritz: thanks. | 15:28 | |
PerlJam: not I! | |||
moritz had a great lunch with lizmat++, wendy++ and leont++ today | |||
pmichaud | masak++ # fixed another incorrect spelling encountered | ||
JimmyZ | oh | ||
so lizmat got a meet with you eventually :P | 15:29 | ||
moritz | JimmyZ: yes, on her way home | ||
timotimo | there's also "is parcel"; is that going to get a new name? | 15:32 | |
pmichaud | timotimo: I think perhaps that one could stay. | ||
colomon just defined infix:<++> list concatenation for himself in a script, and the resulting code works and looks better. :) | 15:33 | ||
15:33
rurban left
|
|||
timotimo | .u comma | 15:33 | |
yoleaux | U+002C COMMA [Po] (,) | ||
15:34
Mouq joined
|
|||
timotimo | what's the flipped comma called? where the little winky bit goes to the right instead of left? | 15:34 | |
pmichaud | .u 2e41 | 15:36 | |
yoleaux | No characters found | ||
arnsholt | Inverted comma, probably | ||
pmichaud | .u u+2e41 | ||
yoleaux | No characters found | ||
pmichaud | grrrr | ||
colomon | github.com/colomon/tune-index/blob...t-index.pl | ||
pmichaud | looks like unicode 7.0 defines "REVERSED COMMA" | 15:37 | |
www.fileformat.info/info/unicode/ch.../index.htm | |||
15:38
njmurphy joined
|
|||
pmichaud | colomon: how does that avoid conflicting with postfix:<++>, ooc? | 15:38 | |
timotimo | .o( just spaces? ) | ||
masak | pmichaud: postfix and infix never conflict. | ||
pmichaud: postfix needs no space or unspace. | 15:39 | ||
as does postcircumfix. | |||
pmichaud | ummm..... | ||
masak | it's convenient to think of them as being in entirely different namespaces. | ||
colomon | my understanding matches masak's | 15:40 | |
PerlJam | masak: sounded like you just said "magic" :) | ||
masak | pmichaud: hence `5\km`, not `5 km` | ||
colomon | note that the code there is working. :) | ||
pmichaud | I'm not sure about "never conflict" | ||
masak | no, they can't conflict. | ||
they never candidate at the same time. | |||
pmichaud | r: sub postfix:<+>($a) { say 'hello'; }; say 1+2; | ||
camelia | rakudo-{parrot,moar} 8b3e8c: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> stfix:<+>($a) { say 'hello'; }; say 1+⏏2; expecting any of: postfix infix stopper…» | 15:41 | |
masak | oh, ok :) | ||
colomon | r: sub postfix:<+>($a) { say 'hello'; }; say 1 + 2; | ||
masak | yeah, "never conflict" is clearly wrong. | ||
camelia | rakudo-{parrot,moar} 8b3e8c: OUTPUT«3» | ||
pmichaud | colomon: yes, thus you're relying on spaces for disambiguation. | ||
masak | they never conflict when the parser is in op position. | ||
15:42
fhelmberger_ joined
|
|||
pmichaud | if defining infix:<++>, one would never be able to write "@a++@b" because postfix:<++> would conflict. But we probably don't want people writing "@a++@b". :-D | 15:43 | |
anyway, infix and postfix _can_ candidate at the same time. | 15:44 | ||
colomon | pmichaud: I wasn't necessarily proposing infix:<++> as something that should go into p6. I'm not even clear if there's a need for list concatenation post-GLR. I was just amused that the need for it cropped up in the code I was writing today. :) | ||
JimmyZ finished reading | 15:45 | ||
15:46
fhelmberger left
|
|||
masak | I found the error message that spurt emits. it's in Moar. github.com/MoarVM/MoarVM/blob/2565...file.c#L89 | 15:46 | |
15:46
Hor|zon joined
15:47
fhelmberger_ left,
amkrankruleuen joined
|
|||
masak | FROGGS++ has since made that error not happen: github.com/MoarVM/MoarVM/commit/03...6379049bee | 15:47 | |
so it's possible that the simplest way to unbreak spurt would be to make Rakudo depend on a newer Moar. | |||
15:48
chenryn joined
|
|||
gtodd | JimmyZ: .pick versus pcik() in general (and this could be WAY WRONG) I started to think of perl6's .method calls as being syntactically "quicker" do exactly onlyl that version (so for .pick it woouldn't flatten unless you tell it first) and the function picik() variant as being more thorough | 15:49 | |
JimmyZ: but that's probably just me trying to find patterns in the clouds ... | 15:50 | ||
15:50
Akagi201 joined
15:51
Hor|zon left
|
|||
JimmyZ | hope p6ers won't be surprised :P | 15:51 | |
timotimo | introducing picik as well as pcik may confuse p6ers | 15:52 | |
masak | pmichaud++ # pmthium.com/2014/10/apw2014/ | 15:53 | |
PerlJam | timotimo: but we'll have to add picnic somehow. | ||
15:54
pecastro left
|
|||
timotimo | interestingly, in the (or at least a part of the) community surrounding twitch.tv, saying "picnic" is the usual way to signal to the streamer that the stream has gone off-line unexpectedly | 15:54 | |
PerlJam | pmichaud: btw, once the GLR is done, does that mean your grant will finally be done? (or was that closed long ago?) | 15:57 | |
JimmyZ | good night, all | 15:59 | |
00:00 am here ... | |||
15:59
JimmyZ left
|
|||
timotimo | i am here, too! | 15:59 | |
15:59
jorol joined
16:01
Hor|zon joined
16:03
Mouq left
|
|||
pmichaud | PerlJam: technically, my grant is done once I update S07. Which could happen independently of the GLR. :) | 16:03 | |
in fact, it's very likely I'll draft S07 before doing the coding work. | |||
since doing so might point up other things we ought to consider | 16:04 | ||
16:05
treehug88 joined
|
|||
masak | +1 | 16:05 | |
gtodd | as it stands (unfinished?) S07 was pretty boggling what with Parcels and Lists ... wheee :-) | 16:07 | |
pmichaud | colomon: (list concatenation) I have an outstanding spec request to TimToady about how one can lazily concatenate lists: github.com/perl6/specs/issues/18 | 16:08 | |
although I suspect List.concat isn't out of the question for that | 16:09 | ||
anyway, lunchtime here -- bbiaw | |||
thanks everyone for the comments/fixes with the APW2014 post | 16:10 | ||
16:13
Mouq joined
16:15
virtualsue left
|
|||
jdv79 | That LGR writeup was fun to read. I guess once complexity gets to a certain point the "purity/cleanliness/idealism" has to drop a bit. | 16:20 | |
nine_ | GLR done in just six weeks? Wow, that would be amazing. Thought that it would take much longer. | 16:21 | |
The only thing I'm not quite comfortable with is the difference between functions and methods WRT flattening. There's just no reason for the programmer to expect a difference there. | 16:22 | ||
16:23
gfldex joined
16:24
_slade_ joined,
grettis joined
|
|||
colomon | pmichaud++ # github.com/perl6/specs/issues/18 | 16:25 | |
colomon thinks an operator would be good, too, but it's easy enough to make one if you have a sub or a method for it. | |||
AFK # bells | 16:28 | ||
PerlJam | nine_: note that it's a "hope" that "most of the GLR" will be complete by turkey day. | 16:29 | |
16:33
guru joined,
guru is now known as ajr_,
pepl left
16:34
anocelot_ is now known as anocelot
16:36
zakharyas left
16:40
chenryn left
16:41
chenryn joined
16:45
Mso150 joined
|
|||
masak | (List.concat)++ | 16:46 | |
16:46
anaeem1 left
16:48
cognome joined
16:50
pmurias joined
|
|||
gtodd | does .plan do concat? | 16:50 | |
oh .plan is for Array | 16:51 | ||
errm | |||
pmurias | if I want to store/view/search events generated by a whole page javascript app (angularjs), what's a good way? currently I'm sending them to google analytics (but I want an alternative that gives me instant access) | 16:52 | |
16:53
SamuraiJack joined
16:55
FROGGS joined
|
|||
ChoHag | In a word, or a short sentence at least, how is concurrency support in moar coming along? | 16:56 | |
I should hopefully have time to resume my perl 6 hackery soon. | |||
16:56
dakkar left
|
|||
FROGGS | ChoHag: in short: very well, though we have to work more on stability soonish | 16:57 | |
16:57
FROGGS[mobile] joined
|
|||
ChoHag | Software development in a nutshell. | 16:58 | |
FROGGS[mobile] | you should take a look at the latest slides from jnthn | 17:00 | |
17:00
dwarring joined,
xinming left
|
|||
FROGGS[mobile] | jnthn.net/papers/2014-apw-objects-...rrency.pdf | 17:01 | |
ChoHag | Saw that linked on reddit. | 17:02 | |
17:02
rjbs joined
|
|||
ChoHag | I can't read slides. | 17:02 | |
rjbs reads the GLR notes. I think the flattening change will almost certainly ease some of my problems I'd had last time I was doing a bit of p6 puttering. | 17:03 | ||
FROGGS[mobile] | ChoHag: don't get me wrong, it is usable and very handy, though we just need to get our focus away from features | ||
17:03
FROGGS left
|
|||
itz_ | pmichaud++ # brilliant explanation of GLR understandable even by the stupid | 17:04 | |
ChoHag | Software development in a nutshell. | ||
:) | |||
FROGGS[mobile] | *g* | ||
rjbs | itz_: not sure how to feel about that comment... ;) | ||
I think it may be that my difficulties will be replaced with new ones. We'll see. | 17:05 | ||
itz_ | I meant even by dumb internals n00bs such as myself :) | ||
17:05
anaeem1_ joined
|
|||
rjbs | (Behind my difficulties there let there be find my difficulties.) | 17:05 | |
17:06
anaeem1_ left,
anaeem1 joined
|
|||
pmichaud | itz_: glad the explanation has helped :) | 17:07 | |
I'll be even gladder when we get to the "what was all that fuss about?" stage | 17:08 | ||
FROGGS[mobile] | I would not be surprised if Gloria actually wrote it :o) | ||
17:09
SamuraiJack left,
SamuraiJack joined
|
|||
pmichaud | yeah, I wonder if the post should've mentioned Gloria's excellent contributions. She was quite involved in the discussions as well. | 17:10 | |
FROGGS[mobile] | nod | 17:11 | |
17:11
anaeem1 left
17:13
chenryn left
17:15
Hor|zon left
17:16
FROGGS joined
|
|||
gtodd | pmichaud: "that sinking feeling" :-) ++ | 17:19 | |
so as part of GLR .sink will become something like a "wantvoid" (? struggling for the right p5-ism here) and allow routines that need it to offer themselves up for some kind optimization ? | 17:20 | ||
17:22
flaviusb left
17:25
danaj_ left
17:26
virtualsue joined
|
|||
masak | pmurias: (re saving events) -- have the root scope store them in an array, and expose the array somewhere? | 17:30 | |
17:30
Mouq left
17:31
Mouq joined
17:33
molaf left
|
|||
pmurias | masak: the part I have most doubts is what do I do with my events after I store them somewhere, and where should I store them | 17:34 | |
17:35
jorol left
|
|||
pmurias | is storing events one per line in a text file the state of the art? | 17:36 | |
nine_ | pmurias: when it's JSON encoded I guess yes ;) | ||
pmurias | :/ | 17:37 | |
17:38
danaj_ joined
|
|||
b2gills | gtodd: The P5 expression for determining if you are in void context is `not defined wantarray` | 17:47 | |
17:47
_sri joined
17:53
psch joined,
kjs_ left
|
|||
psch | hi #perl6 | 17:53 | |
17:54
kjs_ joined
|
|||
gtodd | b2gills: yeah I thought perl6 had its own ways of determining context or just didn't :-) ... I didn't realize sink was used as often .Anyway if I'm understanding things correctly it seems that changes to how routines use sink context could offer speed gains or optimization of frequently used code | 17:55 | |
17:55
kjs_ left
17:56
ezra1 left
|
|||
psch | the fact that --stagestats can have an optional value is bothering me slightly, especially as S19#336 says whitespace is ok as separator for an option and its value. | 17:56 | |
pmichaud | gtodd: .sink is the way you tell an object "you're being evaluated in sink context". It'll remain much the same. | 17:57 | |
TimToady | but we'll optimize it away much of the time, hopefully | ||
pmichaud | what changes is that something like "sink foo()" will let foo() know that it's being run in sink context | ||
psch | from how stagestats is used i think there's some internal use-case for it having a value sometimes, but no other option has that, and S19 doesn't say that optional values should be | ||
but then i distinctly remember moritz++ someone saying "take S19 with a grain of salt", so maybe implementors are to spec more precisely? | 17:58 | ||
gtodd | pmichaud: oh ... so then foo can do things with that info | ||
psch | s/someone// | ||
pmichaud | so, within the definition of foo, there can be something like "INSINK" or "WANTSINK" that lets foo know "hey, you're running in sink context" | ||
TimToady | going-to-the-store-want-anything? | 17:59 | |
TimToady should not post when he's coming down with a cold | |||
hopefully it'll be as mild as Glo's was | 18:00 | ||
gtodd | presumably so folks can write code to do special things in that case and the builtin routines can do the same | ||
pmichaud | gtodd: exactly. | ||
so, for example, a map() running in sink context knows it doesn't have to be lazy, and it doesn't have to build a list of return values. | 18:01 | ||
TimToady | and if your outer thing within a sub is already sensitive, you don't have to check it specifically; the optimization will be negotiated for you | 18:04 | |
even if it has to be negotiated at run time | |||
gtodd | nice ... the first time I saw the GLR described it was something about helping perl6 figure out how to make Lists not be lazy when not needed ... etc. | 18:05 | |
18:05
zakharyas joined
|
|||
pmichaud | really I think of GLR as improving performance and cleaning up the spec | 18:06 | |
dalek | : f721d10 | moritz++ | docs/feather/script/update-syn: [update-syn] avoid syntax error |
||
TimToady | yes, returning negotiators instead of lists is just one part of it | ||
moritz | pmichaud: ^^ this was the reason that perlcabal.org/syn/ didn't update | 18:07 | |
gtodd | so more than one way of doing this will be found ... hehe. plus no Parcels for Christmas :-) | ||
pmichaud | moritz++ # thank you! | ||
afk, meeting | |||
dalek | : 7bf192b | moritz++ | docs/feather/script/update-syn: [update-syn] avoid "git pull" git pull merges, and merges requires human interaction, which gets cron jobs stuck |
18:09 | |
moritz | pmichaud: sorry that it took so long, I meant to look into that days ago | ||
18:12
pmurias left
18:13
PZt left
|
|||
dalek | : 03f4cca | moritz++ | docs/feather/syn_index.html: perlcabal.org/syn: move less relevant text to below the synopsis list |
18:14 | |
moritz | and pmichaud++ # GLR blog post | ||
cognome | moritz, where does pmichaud blog? | 18:17 | |
cognome did not read the backlog, ... yet | |||
18:18
retupmoc1 is now known as retupmoca
|
|||
moritz | cognome: pmthium.com/2014/10/apw2014/ | 18:19 | |
cognome | moritz++, thx | ||
18:30
mauke left
18:32
Mouq left,
Mso150 left,
timbunce joined
18:33
zakharyas left
18:34
Mso150 joined
18:35
mauke joined
18:36
Mouq joined
18:37
FROGGS[mobile] left
18:41
kjs_ joined
18:46
Hor|zon joined
18:48
mauke left
19:07
ilogger2 joined,
ChanServ sets mode: +v ilogger2
19:10
ilbot3 joined
19:16
zakharyas joined
19:17
anaeem1_ joined,
anaeem1_ left
19:18
anaeem1_ joined,
anaeem1_ left,
anaeem1_ joined
19:19
lizmat joined
19:23
denis_boyun joined
19:35
Mso150 joined
|
|||
dalek | ast: 502f2ca | usev6++ | S02-types/baghash.t: Add test for RT #117773 |
19:37 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117773 | ||
19:41
mauke joined
|
|||
dalek | ast: ef1a317 | (David Warring [email@hidden.address] | S19-command-line-options/01-multiple-e.t: remove tests for multiple '-e' arguments - no longer valid |
19:43 | |
19:47
Mso150 left,
Mso150 joined
19:49
lue joined
19:56
PZt joined
20:02
zakharyas left
20:03
woolfy joined
20:04
jack_rabbit joined
|
|||
FROGGS | bartolin: the bare a will result in a named argument, where the quoted "a" will construct a pair and pass that | 20:04 | |
woolfy & lizmat++ are home after apw - we had a nice time and a good ride home with leont++ as excellent passenger - underway we had excellent lunch with moritz++ in his $work-town - happy happy | |||
FROGGS | bartolin: and methods like (like .new in this case) happily eat named (optional by default) arguments, which is to spec | 20:05 | |
woolfy: nice :o) | 20:06 | ||
bartolin | FROGGS: thanks for explaining | ||
mauke waves to woolfy | 20:07 | ||
vendethiel waves to mauke and woolfy :-) | |||
bartolin | FROGGS: do you think we need a test for that case (a happily eaten named argument)? I tend to close the ticket without a further test (but with adding this explanation) | ||
FROGGS | jnthn: I changed my line sep code to MVMGrapheme32 **, and it seems to work... though I need to handle latin1 and utf8 now, and do more testing... | 20:08 | |
jnthn: after that I'll put it in a branch for review | |||
jnthn: (not necessary by you) | 20:09 | ||
woolfy waves to cloud of nice people | |||
colomon | o/ | ||
virtualsue watches itz playing timotimo’s game | |||
FROGGS | bartolin: yes, this behaviour (aka "interface consistency") shall be tested | ||
bartolin | FROGGS: okay, will do that. | 20:10 | |
FROGGS | bartolin++ | ||
bartolin: you're doing an awesome work | |||
virtualsue | apw was really good | 20:11 | |
bartolin | FROGGS: thanks. as I mentioned the other day it helps me to get familiar with the language. | ||
FROGGS | bartolin: and it also helps us :o) | ||
gnight all o/ | |||
bartolin | (though I'm afraid, I have to slow down in the next days) | ||
gnight FROGGS | |||
woolfy | virtualsue: the hackathon was also very productive, too bad you and itz could not stay the whole two days | 20:12 | |
sleep well FROGGS | |||
virtualsue | it would have been nice | 20:13 | |
woolfy | virtualsue: indeed | 20:14 | |
Highlight for me as spectator was the "long" (ahum, understatement) discussion about parcels and the replacement / substitution for it and how to do it and what are the consequences. | 20:16 | ||
Lots of people around the flipover, writing stuff on the paper, discussing it at length. | |||
mauke | massively multiplayer programming language design | 20:17 | |
woolfy | Well, it felt sometimes like it was a Perl-version of Monty Python | 20:18 | |
's Philosopher's World Cup of soccer: www.youtube.com/watch?v=92vV3QGagck | |||
But I am quite sure that this makes me blasphemous and insulting, so I immediately apologise for the comparison. | |||
jnthn | Wowza...a single naga jolokia really adds a flavor to a dish... | 20:23 | |
20:23
Mso150 left
|
|||
jnthn | pmichaud++ # both informative and entertaining write-up! | 20:23 | |
TimToady | well, yeah, nj can run over a million scovilles... | 20:25 | |
20:25
pmurias joined
|
|||
jnthn | .tell FROGGS will be happy to review the patch | 20:25 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
dalek | ast: 9186415 | usev6++ | S02-types/baghash.t: Extend tests for RT #117773 |
20:27 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117773 | ||
20:27
ptc_p6 joined
|
|||
pmurias | is the list flattening behavior important or just a desire to retain a convenience we got used to in Perl 5? | 20:31 | |
TimToady | yes | ||
Juerd | :) | ||
20:31
ptc_p6 left
20:35
colomon joined
|
|||
masak | 'night, #perl6 | 20:36 | |
pmurias | night | 20:37 | |
vendethiel | woolfy: it's quite something to see everybody with a deep knowledge say stuff about the language :P | 20:38 | |
somebody says something, you're thinking "oh that sounds nice" and then pmichaud++ has around 36 examples to debunk it :P | 20:39 | ||
dalek | ast: 4485db4 | usev6++ | S06-signature/defaults.t: Add test for RT #118063 |
20:41 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118063 | ||
20:42
denis_boyun left
|
|||
lizmat is sorta back but tired | 20:42 | ||
pmichaud | woolfy: I love the comparison with the philosophers' world cup. Although I think we were a bit more animated than they were. | 20:47 | |
colomon | pmichaud: was all excited by your mention of "lazy while". But as far as I can tell, currently for is lazy in input but not lazy in output... | 20:48 | |
woolfy | vendethiel: I did like that indeed, and I also tremendously likes Gloria commenting on things "from the sideline" and everybody looking surprised like "hey, she has a very valid point there"... | 20:49 | |
colomon has been deeply impressed by his conversations with Gloria, but had not the faintest idea she had an opinion on lists. | |||
woolfy | pmichaud: I have dozens of pictures that show that you were just a little bit more animated... :-) | ||
pmichaud | colomon: do you have an example? | 20:50 | |
woolfy: I'd like to get any photos you have like that. :) I've seen some of them on facebook, but if you have others/more I'd like them too :) | |||
colomon | pmichaud: gist.github.com/colomon/f2672ed9a2cbb6eecdd5 | ||
pmichaud | colomon: interesting. But 'for' is allowed to work ahead unless it's told to be strictly lazy. | 20:52 | |
colomon | m: gist.github.com/colomon/f2672ed9a2cbb6eecdd5 | ||
vendethiel | woolfy: Gloria made the best comments! :D | ||
camelia | rakudo-moar 8b3e8c: OUTPUT«gist not found» | ||
colomon | pmichaud: how do you tell it to be strictly lazy? | ||
pmichaud | colomon: nyi in rakudo, but ultimately it'll be | 20:53 | |
lazy for 1..20 { ... } | |||
colomon | pmichaud: ah. | ||
+1 | |||
pmichaud | actually, it's also the range that is working ahead here | ||
the 'for' statement asks the range for 1 element, and the range hands back 20 | 20:54 | ||
so another formulation could be for lazy 1..20 { ... } | |||
TimToady | yeah, that's one that I installed last year | ||
woolfy | pmichaud: lizmat and I made 1,400+ pictures of the whole event. I have them sorted already, but now picking the best ones... (plus cropping, resizing, uploading to my Flickr page, tagging, describing), that's a day's job. | ||
colomon | woolfy++ | ||
pmichaud | woolfy: I'm fine with uncropped/resized :) | ||
vendethiel | woolfy: now tell me how many are of me :o) | 20:55 | |
(that you made just to annoy me) | |||
TimToady | she did them all to annoy you :P | 20:56 | |
vendethiel | ...yes. | ||
by the end of it, I had to seek refuge near pmichaud and jnthn :( | 20:57 | ||
woolfy | vendethiel: I think I have at least 200 pictures where you are visible (or the main subject, but mostly among other people)... :-) | ||
pmichaud: I gave Denis a USB-stick with all the pictures that we took with the big Nikon. We still have to copy and process the pictures from our iPhones... | 20:58 | ||
vendethiel | you heard it a long time ago, folks. woolfy's a bully | ||
20:59
cognome joined
|
|||
TimToady | yeah, she made me hug her :) | 20:59 | |
nine_ | What terrible fate :) | ||
woolfy is not a bull! You know, my species is know for eating bulls. Grawllll.... | 21:00 | ||
Ow sorry TimToady, I never meant to hurt you, physically nor traumatically.... | |||
jnthn is glad to see woolfy and lizmat made it home safely. :) | 21:02 | ||
lizmat | yeah, the road was long, but we had a nice break in the middle | ||
jnthn | :) | ||
21:03
Hor|zon joined
|
|||
pmichaud | lizmat: hope you get some rest and feeling better. | 21:03 | |
lizmat | the feeling better is already happening :-) | ||
pmichaud | +1 | 21:04 | |
21:07
Hor|zon left
21:10
leont joined
21:13
colomon left
21:22
pierrot joined
|
|||
dalek | ast: 82b0065 | usev6++ | S03-operators/assign.t: Add test for RT #118075, remove 5 duplicate tests, cosmetics |
21:26 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=118075 | ||
21:27
BenGoldberg joined
21:29
cognome left
21:30
cognome joined
21:34
cognome left
21:35
colomon joined
21:38
pierrot left
21:40
pierrot joined
|
|||
dalek | nda: c1fd655 | jnthn++ | bootstrap.pl: Fix Win32 detection on latest Rakudo. |
21:47 | |
lizmat | jnthn: Distro actually as an "is-win" attribute | 21:50 | |
*has | |||
which is actually defined as: $!is-win = so $!name eq any <mswin32 mingw msys cygwin>; | 21:51 | ||
21:58
Mouq joined
|
|||
raydiak | good afternoon, #perl6 | 21:58 | |
lizmat | raydiak o/ | 22:01 | |
22:03
Hor|zon joined
22:09
Hor|zon left
|
|||
dalek | kudo/nom: af95ace | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: Add support for "from" and "removed" version Unfortunately, due to some settings order issues with regards to Version and v-strings, versions will need to be specified as strings in the setting, rather than as Versions. This does not adapt the "is DEPRECATED" trait yet. |
22:09 | |
22:10
Alina-malina joined
|
|||
lizmat | sleep& | 22:18 | |
raydiak | good night lizmat | 22:19 | |
timotimo | oh hello raydiak | 22:23 | |
long time no read :) | |||
raydiak | I am having a hard time figuring out how to go about writing a basic algebra grammar | 22:24 | |
oh hi timotimo :) | |||
timotimo | algebra as in mathematical expressions? | ||
raydiak | right | ||
gave it a shot a couple weeks ago or something | |||
but the way I tried to do it doesn't work with one-pass parsing I don't think, just ended up with infinite loops and stuff in my grammar | |||
timotimo | left-recursion makes perl6 grammars unhappy | 22:25 | |
raydiak | yeah I tried changing my rules to recognize whole op chains instead of recursing, but my approach is still fundamentally wrong, I'm just a bit not sure how to go about it | ||
timotimo | have you looked at rosettacode for a shunting yard algorithm for parsing mathematical expressions with precedence? | 22:26 | |
raydiak | I am now :) never heard of a shunting yard algorithm | ||
timotimo | i probably botched the spelling | ||
rosettacode.org/wiki/Parsing/Shunti..._algorithm | 22:27 | ||
raydiak | ah I see | 22:28 | |
22:28
anaeem1_ left
|
|||
timotimo | it's kind of counter-intuitive. perl6 grammars are supposedly very powerful, but something "as simple as mathematical expressions" isn't easily done with it | 22:29 | |
raydiak | yeah I noticed trying to make it do it the way my brain was doing it wasn't working very well | ||
timotimo | yeah | ||
raydiak | I feel like it's one of those "infinitely powerful if you can squeeze your head through a counter-intuitive transformation" kind of things | 22:30 | |
jercos never quite learned how to handle infix expressions mentally | 22:31 | ||
raydiak wonders if there's not a layer of higher-level shiny awesome waiting to be built on top of P6 grammars | |||
jercos | it's obvious how "4 * 2 + 7" fits together, but applying general rules to large equasions causes trouble :| | ||
thus why I just work in RPN when I can. Or use lots of parenthesis. | 22:32 | ||
timotimo | if you put all parens everywhere, it's fine | 22:33 | |
arnsholt | timotimo: The problem with infix notation and grammars is that you need to teach it about precedence | ||
And precedence really is quite annoying | |||
timotimo | yes. | 22:34 | |
BenGoldberg | The other tricky part of algebraic notation is that when you have two terms adjacent to one another, there's an implicit multiplication. | ||
timotimo | i'll head off to bed | 22:36 | |
itz_: it'd be great if you gave me feedback about the game; and feel free to hack on the source as much as you want! :) | |||
22:36
Mouq left
|
|||
timotimo | i shall refactor it to become a bit less gnarly | 22:36 | |
one big thing is that the enemies should really be hittable even when they are rotated | 22:37 | ||
itz_: if you want to fix that exact thing; there's currently a check to figure out which wing got hit which just subtracts the position of bullet and enemy and figures out if it's negative or positive. it should instead take the .polar[1] (angle) and compare that to the enemy's velocity's polar angle | 22:38 | ||
or something like that | |||
o/ | |||
raydiak | my main grammar problem is how to write "an expression can be a value or a series of operations on further values or expressions" without recursing infintely into "expression" | 22:39 | |
g'night timotimo, hope you get some good rest | |||
22:41
colomon left
|
|||
arnsholt | raydiak: If you don't care about operator precedence, it's pretty straightforward | 22:42 | |
But if you care about precedence, it's actually a moderatly tricky problem | |||
The NQP grammar handles it by having a hand-written operator precedence parser. It doesn't use the grammars for operators | 22:43 | ||
raydiak | arnsholt: I do care in the end of course, but I'd settle for understanding this part for now | ||
how would I go about it, ignoring the glaring precedence disability? | |||
arnsholt | Something like atom -> number | '(' expression ')'; expression -> atom+ % operator | 22:45 | |
raydiak | oh maybe I figured it out...handling the whole chain of infix ops w/o recursion made it easier | ||
arnsholt | Yeah, just make it a flat tree | ||
raydiak | cool, got it...thanks | ||
arnsholt | There are techniques that let you handle precedence in this kind of setting, but basically you need a special grammar rule for each level of the precedence hierarchy | 22:46 | |
So for example yacc also has special facilities to let you do operator precedence with less grunt-work | 22:47 | ||
raydiak | or I could have my grammar call an action on the infix chain part that processes it w/a regular sub or something? | ||
arnsholt | Yeah, that should work | ||
You can shunting-yard the flat tree from the grammar rule, probably | 22:48 | ||
raydiak | alright, I think I'm un-stuck...thanks arnsholt++ and others! | 22:51 | |
22:55
pmurias left
23:16
ezra1 joined,
ivanshmakov joined
23:22
Mouq joined
23:24
Hor|zon joined
23:30
Hor|zon left
23:33
mmcleric joined
23:45
ezra1 left
23:52
lue left
23:54
colomon joined
23:56
aborazmeh joined
23:57
ezra1 joined,
ezra1 left
23:59
ezra1 joined
|