»ö« 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 moritz on 3 May 2013. |
|||
timotimo | OH! | 00:00 | |
of course | |||
diakopter | two is the name/key, three is the value | ||
timotimo | "file", "nofile", True? | ||
yes | |||
diakopter | yes, it defaults to True | ||
timotimo | # Error: Type check failed in assignment to '$a'; expected 'Tree' but got 'Tree' (Tree and Tree|7052662459765981306 respectively) | ||
diakopter | says the spec anyway | ||
timotimo | why does one have a WHICH with and one a WHICH without a number? | ||
diakopter | o_O | 00:01 | |
timotimo | hopefully one of the experienced rakudo-guts-wranglers sees this is the backlog and knows what's going on | ||
i'll go to bed :) | |||
FROGGS | ya, me too | 00:02 | |
timotimo | gute nacht, FROGGS :) | ||
gnite, rest | |||
FROGGS | schlaf gut :o) | ||
gnight all | |||
timotimo | gebe mir mühe :3 | ||
00:19
PacoAir left
00:23
kurahaupo joined
|
|||
census | gootnight FROGGS | 00:45 | |
00:48
frdmn left,
frdmn joined
00:50
kurahaupo left
|
|||
dalek | ast: c6dcb13 | (Brent Laabs)++ | S32-io/io-spec- (3 files): 405 IO::Spec tests |
01:03 | |
colomon | labster++ | 01:05 | |
labster | most of those come from Perl 5. | ||
colomon | so? no one had raided them in the previous decade. so I say labster++ | 01:06 | |
labster | I feel like a Viking raider. | ||
census | hahah | 01:07 | |
viking | |||
indiana jones | |||
or a robin hood | |||
labster | Maybe Arsène Lupin (but more like Lupin III, probably) | 01:09 | |
01:10
lue left
|
|||
TimToady | The Scarlet Pimpernel | 01:10 | |
01:10
berekuk left
01:14
MrMeek-afk joined
|
|||
labster | Exactly! Saving blue-bloods from the guillotine, dressed like a dandy. But with tests. | 01:14 | |
01:15
kurahaupo joined
01:17
MrMeek left
01:18
grondilu left,
berekuk joined
01:23
lue joined
01:24
FROGGS_ joined
01:28
FROGGS left
01:30
berekuk left
01:56
thou joined
02:15
zacts joined
02:29
census left
02:54
kurahaupo left
02:55
Chillance left
02:58
kurahaupo joined
03:04
kurahaupo left
03:25
kurahaupo joined
03:53
preflex_ joined
03:54
preflex left,
preflex_ is now known as preflex
04:00
zacts left
04:01
jeffreykegler joined
04:03
frd|afk joined
04:06
jeffreykegler left
04:07
frdmn left
04:25
Psyche^ joined
04:29
Patterner left,
Psyche^ is now known as Patterner
04:45
kurahaupo left
05:06
kaare_ joined
05:20
dmol joined
05:45
xinming_ left
05:55
zby_home joined
06:21
CharellKing joined
06:25
xinming joined
06:27
xinming left
06:28
xinming joined
06:39
pecastro left
06:43
CharellKing left,
kaare_ left
|
|||
dalek | ast: 09bd951 | (Brent Laabs)++ | S32-io/io-path-unix.t: added IO::Path::Unix tests |
06:52 | |
Iish: 8a82a8d | moritz++ | lib/DBDish/Pg.pm6: [Pg] reafctoring handling status code |
07:33 | ||
07:38
dmol left
|
|||
moritz | www.debian.org/News/2013/20130504 \o/ wheezy released! | 07:46 | |
08:09
xinming left
08:19
donaldh left
08:21
donaldh joined
|
|||
diakopter | any moose folks around? | 08:21 | |
labster | sorry, I'm not canadian. | 08:25 | |
08:29
FROGGS_ is now known as FROGGS
|
|||
FROGGS | diakopter: no, sorry | 08:29 | |
diakopter | nm, I found #moose-dev | ||
08:35
domidumont joined
08:41
rindolf joined
|
|||
labster | well, just found my first bug in the IO::Spec stuff thanks to the tests. It seems that someone changed the behavior of the ? quantifier while I wasn't looking. | 08:42 | |
moritz | yes | ||
it used to generate a zero- or one-element list, now it generates Nil or Match | |||
labster | It didn't actually produce wrong results, oddly enough; it just complained about Any in string context. | 08:43 | |
08:55
domidumont left,
domidumont joined
|
|||
labster | Well, I have a pull request up for it. A two character swap. | 09:00 | |
dalek | kudo/nom: 1b7852a | (Brent Laabs)++ | src/core/IO/Spec/Win32.pm: fix IO::Spec::Win32 warn due to ?-quantifier |
09:02 | |
kudo/nom: 88f9c9e | moritz++ | src/core/IO/Spec/Win32.pm: Merge pull request #133 from labster/nom fix IO::Spec::Win32 warn due to ?-quantifier |
|||
Nom- | Anyone know the reasoning behind the last statement in a block having an optional semicolon? | 09:04 | |
moritz | Nom-: think of semicolons as statement separators, not statement terminators, and it suddenly makes sense | 09:06 | |
Nom- | ok | 09:08 | |
09:08
kurahaupo joined
|
|||
moritz | jnthn: how hard would it be to implement leave(), and would approach would make sense? | 09:08 | |
09:09
spider-mario joined
|
|||
moritz | s/would/which/ | 09:09 | |
r: my %h = a => 42, b => 1; say %h.sort.perl | 09:14 | ||
camelia | rakudo 88f9c9: OUTPUT«("a" => 42, "b" => 1)» | ||
dalek | Iish: ceb2f8e | moritz++ | t/99-common.pl6: [t] do not compare hashes by string |
09:17 | |
Nom- | all good and well, but i'm struggling to wrap my head around how to correctly handle all scenarios in this experment i'm doing :) | 09:19 | |
It's definitely simpler if they're not optional, but i'll get there | 09:20 | ||
09:20
telex joined,
tangentstorm left
|
|||
FROGGS | Nom-: think of a CSV file, if there where was a , at the end, would it mean it terminates the line or could it mean that there is an empty field after that? | 09:21 | |
Nom- | Yeah, I know how I *want* to do it... I think my issue is I either can't work out how to express it in this grammar i'm toying with, or it doesn't support it | 09:23 | |
Not sure which yet... still diving through it's code to see which is which | |||
moritz | Nom-: are you trying to parse Perl 6 code? | ||
Nom- | NQP | 09:24 | |
dalek | Iish: d7f171d | moritz++ | lib/DBDish/Pg.pm6: [Pg] fix column_names |
||
Nom- | It's a tad simpler as an experiment than Perl6 itself :) | ||
FROGGS | Nom-: uhh, why if I'm allowed to ask? | ||
09:26
zby_home left,
dmol joined
|
|||
Nom- | I like punishing myself it seems :) | 09:26 | |
FROGGS | if it is just about parsing a random language, you may start with an old basic (one with line numbers for example) | ||
Nom- | Nah not random.. | 09:31 | |
I'm hoping to eventually be able to contribute... but I've got a bit of learning to do -- most of my programming career has been around doing Web Apps and stuff .. compilers and parsers are new to me :) | 09:32 | ||
But I like a challenge... just some hurdles that I need to jump over | |||
09:37
berekuk joined
|
|||
masak | antenoon, #perl6 | 09:39 | |
09:39
berekuk left
|
|||
Nom- | What's an "anternoon" ;) | 09:47 | |
diakopter | well, ante- is the Latin prefix for "before" | 09:48 | |
so it's a pun on 'afternoon' | |||
09:48
berekuk joined
|
|||
huf | oh wow this is a word i've been needing since i learned the words "morning" and "afternoon" | 09:49 | |
09:52
Gothmog_ joined
|
|||
masak | you're welcome ;) | 09:52 | |
huf | i never could really accept that 11:00 is still morning :) | 09:53 | |
masak | yeah, it's somewhere around there I draw the line, too. | ||
"they've all gone crazy / mourning all day and mourning all night" -- Lloyd-Webber's Evita | 09:57 | ||
huf | sounds like summer in st petersburg | 09:58 | |
10:03
kurahaupo left
10:08
kivutar joined
10:10
jtpalmer_ joined
10:11
__sri joined,
hrbkid_ joined
10:12
rhr_ joined,
charsbar_______ joined
10:13
moritz_ joined,
xdbr joined,
Juerd_ joined
10:14
Subterra joined,
awwaiid_ joined,
integral_ joined,
integral_ left,
integral_ joined
10:17
shinobicl left,
moritz left,
awwaiid left,
Ayiko left,
lee__ joined,
Juerd_ is now known as Juerd
|
|||
timotimo | whoa | 10:17 | |
10:24
ivan``_ joined,
integral joined,
kurahaupo joined
10:27
Rix left,
wtw left,
moritz_ left,
jtpalmer_ left,
rindolf left,
sftp left,
Bucciarati left,
Nom- left,
LordVorp left,
yoleaux left,
dpk left,
ironcamel left,
mikemol left,
geekosaur left,
mls left
10:28
moritz_ joined,
jtpalmer_ joined,
rindolf joined,
sftp joined,
Nom- joined,
Bucciarati joined,
mikemol joined,
geekosaur joined,
LordVorp joined,
markov joined,
arnsholt joined,
Yappo________ joined,
estrabd_ joined,
Pleiades` joined,
bonsaikitten joined,
gabriel_ joined,
hoelzro joined,
mls joined,
yoleaux joined,
dpk joined,
ironcamel joined,
Rix joined,
wtw joined,
felipe joined,
sjn joined,
labster joined,
jlaire joined,
zamolxes_ joined,
yves_ joined,
atrodo joined,
breinbaas joined,
chee joined,
szbalint joined,
kcwu joined,
tomaw joined,
cotto joined,
scottp joined,
nyuszika7h left
10:33
[particle] left,
integral_ left,
Rix left,
wtw left,
felipe left,
tomaw left,
moritz_ left,
jtpalmer_ left,
rindolf left,
sftp left,
Bucciarati left,
Nom- left,
LordVorp left,
estrabd_ left,
yoleaux left,
dpk left,
ironcamel left,
yves_ left,
kcwu left,
mikemol left,
geekosaur left,
markov left,
bonsaikitten left,
gabriel_ left,
hoelzro left,
mls left,
sjn left,
labster left,
jlaire left,
zamolxes_ left,
atrodo left,
arnsholt left,
Yappo________ left,
Pleiades` left,
breinbaas left,
chee left,
szbalint left,
cotto left,
scottp left,
ivan``_ left,
ivan``_ joined,
integral left,
integral joined,
[particle]1 joined,
Chillance joined,
nyuszika7h_ joined
10:34
nyuszika7h_ left,
bruges left,
skids left,
jaldhar left,
dalek left,
camelia left,
raiph left,
berekuk left,
dmol left,
telex left,
lue left,
lizmat left,
espent left,
`patch` left,
SHODAN left,
swarley left,
Chillance left,
[particle]1 left,
__sri left,
kivutar left,
mtk left,
xenoterracide left,
Kharec left,
wooden left,
Patterner left,
preflex left,
woolfy left,
arlinius left,
araujo left,
bakedb left,
robinsmidsrod left,
Celelibi left,
bloonix left,
japhb_ left,
Maddingue left,
Juerd left,
charsbar_______ left,
REPLeffect left,
cognominal left,
TimToady left,
vaelxon left,
moritz_ joined,
jtpalmer_ joined,
rindolf joined,
sftp joined,
Nom- joined,
Bucciarati joined,
mikemol joined,
geekosaur joined,
LordVorp joined,
markov joined,
arnsholt joined,
Yappo________ joined,
estrabd_ joined,
Pleiades` joined,
bonsaikitten joined,
gabriel_ joined,
hoelzro joined,
mls joined,
yoleaux joined,
dpk joined,
ironcamel joined,
Rix joined,
wtw joined,
felipe joined,
sjn joined,
labster joined,
jlaire joined,
zamolxes_ joined,
yves_ joined,
atrodo joined,
breinbaas joined,
chee joined,
szbalint joined,
kcwu joined,
tomaw joined,
cotto joined,
scottp joined
10:36
sciurius joined,
nyuszika7h joined
10:37
daniel-s_ joined
10:39
sivoais left,
Chillance joined,
[particle]1 joined,
Juerd joined,
charsbar_______ joined,
__sri joined,
kivutar joined,
berekuk joined,
dmol joined,
telex joined,
Patterner joined,
preflex joined,
lue joined,
japhb_ joined,
woolfy joined,
skids joined,
REPLeffect joined,
jaldhar joined,
arlinius joined,
cognominal joined,
lizmat joined,
araujo joined,
mtk joined,
bakedb joined,
xenoterracide joined,
espent joined,
Kharec joined,
wooden joined,
bruges joined,
robinsmidsrod joined,
dalek joined,
Celelibi joined,
camelia joined,
raiph joined,
`patch` joined,
jerome_ joined,
stevan_ joined,
prammer joined,
daniel-s joined,
pmichaud joined,
mathw joined,
baest joined,
hugme joined,
tadzik joined,
PerlJam joined,
masak joined,
betterworld joined,
rajaniemi.freenode.net sets mode: +vvv dalek camelia hugme,
ruoso joined,
flussence joined,
colomon joined,
rurban joined,
ingy joined,
sjohnson joined,
revdiablo joined,
kshannon joined,
snarkyboojum joined,
TimToady joined,
Maddingue joined,
vaelxon joined,
SHODAN joined,
bloonix joined,
swarley joined,
c1sung joined,
patspam_ joined,
BooK joined,
cxreg joined,
simcop2387 joined,
takesako___ joined,
jfried joined,
lestrrat joined,
GlitchMr joined,
smash joined,
sunnavy joined,
genehack joined,
huf joined,
larks joined,
japhb joined,
sdgvf_ joined,
anocelot joined,
apejens joined,
mikec__ joined,
ponbiki joined,
risou joined,
nyuszika7h left
10:40
sivoais joined,
thou left
10:41
salv0 joined,
daniel-s left
10:42
sivoais left,
sivoais joined,
raiph left,
nyuszika7h joined
10:43
erkan left
10:44
raiph joined
10:46
kurahaupo left
10:49
sivoais left
10:50
sivoais joined
10:52
gcole joined
10:55
cognominal left
10:56
cognominal joined
11:00
sivoais left
11:01
sivoais joined
|
|||
masak | nwc10++ # rebasing a merged scenario for better bisectability | 11:04 | |
I had never thought of doing that -- now I must add a slide to our git course :P | |||
general question: if I want to apply a patch to parrot/ in Rakudo, what's the easiest way after that to tell Rakudo's Configure.pl to re-build parrot (and nqp)? | 11:08 | ||
11:09
MAACJVP joined
|
|||
arnsholt | Hmm. Good question | 11:10 | |
11:10
nyuszika7h left,
nyuszika7h joined
|
|||
masak | nwc10: curious question: how do you defined "left" and "right" in the context of a merge? | 11:11 | |
11:11
sivoais left
|
|||
arnsholt | I guess the assignment of current branch and branch being merged in to either of those terms is arbitrary | 11:12 | |
11:12
sivoais joined
|
|||
arnsholt | Depends entirely on how you draw the diagram on paper, I suppose =) | 11:12 | |
masak | that's what I'm thinking. | 11:13 | |
timotimo | that's one of the points where git gets loads of criticism; that you can't tell any more afterwards | 11:14 | |
11:14
PacoAir joined
|
|||
masak | timotimo: that's not true, though. | 11:15 | |
timotimo: in a merge commit, the first parent is the commit you merged into, and the subsequent ones are the commits you merged. | 11:16 | ||
timotimo | mercurial proponents sure keep wiggling that argument at git proponents :) | ||
masak | if you have a URL where that argument is presented, I'd be interested to read it. | ||
timotimo: ooc, do you know if mercurial users use the terms "left" and "right" about merges? | 11:17 | ||
by the way, "java.lang.RuntimeException: Method code too large" is both funny, scary, and worrying all at the same time. | 11:18 | ||
jnthn, what are you making the JVM do? :P | |||
and, heh, the Jython people have found that one too: bugs.jython.org/issue1891 | 11:19 | ||
diakopter | No, JVM, *you're* too large | 11:20 | |
masak | :P | 11:21 | |
11:21
sivoais left
11:22
sivoais joined
|
|||
nwc10 | masak: left and right, as in | 11:31 | |
Merge: 72df616 5cf0134 | |||
^left ^right | |||
I think that "left" or "leftmost" is used somewhere in the git docs | 11:32 | ||
11:32
sivoais left
|
|||
masak | oh, ok. didn't find it in 'git merge --help' | 11:32 | |
anyway, that clarifies you usage. thanks. | |||
11:33
sivoais joined
11:37
preflex_ joined,
preflex left,
preflex_ is now known as preflex
11:38
Subterra is now known as Ayiko
|
|||
masak | your* | 11:39 | |
11:40
mikec__ left
|
|||
moritz_ | r: say Date.new(2013, 1, 31).delta(2, month) | 11:40 | |
camelia | rakudo 88f9c9: OUTPUT«2013-03-31» | ||
11:43
sivoais left
11:44
sivoais joined
11:45
pecastro joined,
rindolf left
11:55
sivoais left
11:56
sivoais joined,
sciurius left
11:59
berekuk left
12:07
sivoais left,
sivoais joined
|
|||
masak | moritz_: do you think spec'ing an object which represented a bunch on deltas on different time scales would be useful? some kind of "duration" or "time span" object? | 12:15 | |
moritz_ | masak: I don't know | ||
masak: but maybe I'll find out soon :-) | 12:16 | ||
timotimo | i don't have a link for that argument right now, sorry | 12:17 | |
moritz_ | I'm implementing what I outlined here: irclog.perlgeek.de/perl6/2013-05-04#i_7019279 | ||
timotimo | moritz_: any clue whatsoever about this error? # Error: Type check failed in assignment to '$a'; expected 'Maybe' but got 'Maybe' (Maybe and Maybe|7052662458959412579 respectively) | ||
(i added the WHICH output to the error message method) | |||
moritz_ | looks like one is a type object and the other an instance | ||
12:18
sivoais left
|
|||
moritz_ | so maybe some definedness thingy? | 12:18 | |
Maybe:D vs. Maybe? | |||
timotimo | that might make sense. in that case, it's even more unhelpful to get the WHICH output | ||
because it will always expect an undefined thing and get a defined thing or an undefined thing | |||
as in, you wouldn't say my 1 $foo = 1; you'd say my Int $foo = 1; | 12:19 | ||
12:19
sivoais joined
|
|||
moritz_ | arnsholt: I have some code that uses DBDIsh::SQLite and segfaults every time I run it | 12:19 | |
arnsholt | moritz_: Gimme! =) | 12:20 | |
timotimo | if you would like to go bug hunting, you can grab my EXPORT_sub branch from github.com/timo/ADT and run t/02-EXPORT.t | ||
moritz_ | \o/ | ||
arnsholt | That was nothing short of perfect timing, BTW | ||
I've literally just come back from a walk outside | |||
timotimo | i'll rest my wrist now. it hurts :( | 12:21 | |
masak | moritz_++ # donor-o-meter | ||
moritz_ | arnsholt: ok, steps to reproduce: | 12:22 | |
1) git clone [email@hidden.address] | |||
2) cd donate-o-meter | |||
12:22
zby_home joined
|
|||
moritz_ | 3) sqlite3 db.sqlite3 < schema.sql | 12:22 | |
4) sqlite3 db.sqlite3 < irclog-data.sql | |||
12:23
kaare_ joined
|
|||
moritz_ | 5) panda install DBIish | 12:23 | |
6) perl6 balance.pl | |||
masak | moritz_: having an object for time spans would re-introduce the ordering issues we avoided with .delta -- but I don't think it'd be so bad, actually. there are two "obvious" orders, and we can just pick the more sensible of those. and most of the "add or subtract time span to/from DateTime" logic can be delegated to .delta | ||
FROGGS | moritz_: where is that donor-o-meter? | ||
masak | FROGGS: it's not complete yet, IIUC. | ||
FROGGS | ahh, k | ||
moritz_ | FROGGS: I've just started implementing it, at [email@hidden.address] | 12:24 | |
FROGGS: once it works, you'll be able to see it on the irc log page | |||
FROGGS | on the today-page too? | ||
otherwise I'd miss it | |||
moritz_ | yes | ||
FROGGS | k, sounds good | ||
arnsholt starts updating his Perl 6 stuff | |||
moritz_ | but it's a long way to go | ||
arnsholt: I've run it with This is perl6 version 2013.02.1-90-g1c99395 built on parrot 4.10.0 revision RELEASE_4_10_0 | 12:25 | ||
masak: the ordering issue can be avoided by just storing a list of (value, unit) pairs, and always processing them in the same order | 12:26 | ||
arnsholt | moritz_: Recent-ish git version, right? | 12:29 | |
12:30
sivoais left
|
|||
moritz_ | arnsholt: February | 12:30 | |
12:30
sivoais joined,
kivutar left
|
|||
masak | moritz_: that's a double-edged sword, though. advantage: more exact in some cases. disadvantage: timespan addition doesn't commute. | 12:31 | |
moritz_ | masak: advantage: timestamp addition doesn't commute. | ||
it doesn't commute, period. | 12:32 | ||
if you write code where it commutes, it can't be correct | |||
s/timestamp/durationi/ | 12:34 | ||
*duration | |||
r: say Date max Date.today | |||
camelia | rakudo 88f9c9: OUTPUT«2013-05-05» | ||
geekosaur | the result is a durr-ation | ||
moritz_ | r: say Date min Date.today | 12:35 | |
camelia | rakudo 88f9c9: OUTPUT«2013-05-05» | ||
dmol | !karma | 12:37 | |
masak | moritz_: you may very well be right, but I don't see it. my mental view of duration objects is that they are "detached" from any actual point on the (civil) timeline. so you can talk about durations without having to care about leap years and leap seconds, and only at the end do you apply it back down and start caring again. | 12:39 | |
moritz_: under that model I do believe duration addition commutes. | |||
12:40
sivoais left
|
|||
moritz_ | masak: ah, my mental model is a bit different. For me a Duration is like a diff that only makes sense in context of applying it to a certain Date(Time) | 12:40 | |
FROGGS | btw, I calculate fees for 550 employees (using p5's DateTime::Span and firends), and you really need span objects | 12:41 | |
so for example I useally create spans like: 1 day, but this doesnt mean it is actually 24 hours long | |||
12:42
sivoais joined
|
|||
FROGGS | only at the time I do: $spanset->intersection( $span_one_day ) it become a 'real time' | 12:42 | |
masak | moritz_: oh, but (again according to my model) that loses one of the big advantages of durations: being able to say "as long after DateTime Z as DateTime Y is after DateTime Z". | 12:44 | |
moritz_: use case: scheduling software: want to move an appointment to some other datetime. want to calculate the end of that appointment. | 12:45 | ||
moritz_ | masak: good and valid point | 12:46 | |
masak | FROGGS: I like the word "span" better than "duration", I think. | ||
it feels more neutral, somehow. | |||
FROGGS | cool, so I have to grep/replace on word less then *g* | 12:47 | |
gtodd | FROGGS: you have 550 employees?! | ||
FROGGS | gtodd: well, not me personally | ||
the company I am working for | |||
gtodd | FROGGS: would be cool if CEO's used IRC :) | ||
FROGGS | maybe it is a german idom to say 'my company' and 'my employees' | 12:48 | |
err, not 'my employees' actually | |||
gtodd | ah yes ok ... my coworkers, fellow employees, etc | ||
moritz_ | I found a really nice implementation of calculating how much recurring transactions contribute to a given time span: github.com/moritz/donate-o-meter/b...nce.pl#L55 | ||
it boils down to return $amount * elems($start, *.delta($interval, $unit) ...^ *>$end); | 12:49 | ||
arnsholt is somewhat embarrased to admit that he has never used Panda before now | |||
masak | moritz_: nice! | ||
moritz_ | arnsholt: you don't actually *need* panda; if you install zavolaj first and then DBIish, you are fine too | ||
masak | every day Perl 6 just grows nicer somehow. | ||
arnsholt | moritz_: I figure it's a good time as any to install it =) | 12:51 | |
12:51
countley joined
12:52
sivoais left
12:53
sivoais joined
12:54
berekuk joined
|
|||
arnsholt | Oh, FFS. Ubuntu has sqlite 2 | 12:54 | |
moritz_: Any idea if your stuff will work with sqlite2 instead? | |||
moritz_ | wtf? sqlite2 is, like, decades dead, isn't it? | 12:56 | |
arnsholt: I'm sure ubuntu has sqlite3 (maybe under the name 'sqlite' though) | 12:57 | ||
the SQL would likely work with sqlite2, but the C api (and thus DBD::SQLite) would not | 12:58 | ||
cosimo | arnsholt: sqlite3 maybe | ||
arnsholt | Bah. | ||
Right. That's libsqlite3-dev installed at least | 13:00 | ||
geekosaur is looking at his mint (ubuntu derivative) system and not seeing sqlite2... | |||
arnsholt | It's just called sqlite | ||
sqlite is sqlite2 and sqlite3 is the new one | 13:01 | ||
It's just that apt-cache search is useless | |||
geekosaur | moo? apt-cache search tells me 'sqlite' is a cli, not a library | ||
moritz_ | geekosaur: the library is probably in a separate package | ||
arnsholt | So I missed the 3-suffixed versions in the midst of the more or less irrelevant stuff | ||
YEah | |||
libsqlite3 | |||
geekosaur | yes, moritz_, libsqlite3 | ||
my point is that what most people think of as sqlite is the library; the cli might well have an independent version number (and work with multiple sqlite lib versions) | 13:03 | ||
moritz_ | by the way, I love sqlite. It has awesome documentation, a simple but powerful C API, comprehensive tests and is generally just awesome | ||
the small number of datatypes can be surprising, but it's well documentation, and it works well in most cases | 13:04 | ||
13:04
sivoais left,
sivoais joined
|
|||
gtodd | liking sqlite can lead to liking fossil :) | 13:06 | |
FROGGS | has rakudo a 'per package' symbol table? | ||
arnsholt | moritz_: perl6 balance.pl prints 15 locally | 13:07 | |
Does the sqlite driver use callbacks, by any chance? | 13:08 | ||
moritz_ | arnsholt: revert to the first commit of that repo please | 13:10 | |
arnsholt: the second commit avoids the segfault by don't talking tot he database at all :-) | 13:11 | ||
arnsholt | Oh, right =) | ||
There we go. Boom. | 13:12 | ||
Looks like it's segfaulting while packaging up a string of return | |||
13:15
sivoais left,
sivoais joined
13:16
MrMeek joined,
MrMeek-afk left
|
|||
arnsholt | moritz_: Oh. It's trying to make a string result from a null pointer | 13:21 | |
FROGGS | why would it want to do that? :P | 13:22 | |
arnsholt | That's a very good question =) | ||
I think it's a braino | 13:23 | ||
13:26
sivoais left,
sivoais joined
|
|||
FROGGS | okay, to answer my question, is is just: ($package.WHO){$name} | 13:28 | |
arnsholt | moritz_: Building NQP with probable fix now | 13:33 | |
moritz_ | \o/ | 13:34 | |
arnsholt | Building Rakudo now | 13:36 | |
13:36
sivoais left
|
|||
FROGGS | .tell jnthn beware: I want to talk about the 'underlying problem' with you *g* | 13:37 | |
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
FROGGS | awesome | ||
13:37
sivoais joined
|
|||
FROGGS | see ya later guys | 13:38 | |
13:41
FROGGS[mobile] joined
13:44
rindolf joined
13:45
rindolf left
|
|||
dalek | p: cdbd822 | (Arne Skjærholt)++ | src/vm/parrot/ops/nqp_dyncall.ops: Correctly handle NULL pointers in make_str_result. |
13:45 | |
volaj: 37f1592 | (Arne Skjærholt)++ | t/03-simple-returns. (2 files): Add test for Str function returning NULL. |
|||
arnsholt | moritz_: That should fix it I think | 13:48 | |
13:48
sivoais left
13:49
sivoais joined
|
|||
arnsholt | Yep. Checked your code now. It works | 13:55 | |
Thanks for finding the bug =) | |||
13:59
sivoais left
14:00
sivoais joined
14:07
countley left
14:10
sivoais left
14:11
sivoais joined
14:21
sivoais left
14:22
sivoais joined
14:32
sivoais left
14:33
sivoais joined
14:36
sivoais left
14:39
spider-mario left,
sciurius joined
14:42
sivoais joined
14:47
CharellKing joined
14:49
CharellKing left
14:52
sivoais left
14:53
sivoais joined
15:03
sivoais left
15:04
sivoais joined
15:14
sivoais left
15:15
sivoais joined
|
|||
masak | answer to my own question previously, about how to tell Rakudo that Parrot needs to be rebuilt: clean -xdf everything. Configure.pl --gen-parrot. patch Parrot and make install it. make install Rakudo. | 15:25 | |
15:25
sivoais left
|
|||
masak | nqp doesn't seem to need to be rebuilt. | 15:25 | |
15:27
sivoais joined
15:30
saxx joined
|
|||
colomon is finally actually trying to set up a smoke tester for the ecosystem. | 15:34 | ||
15:35
spider-mario joined
|
|||
FROGGS[mobile] | colomon++ | 15:36 | |
timotimo | cool :) | ||
that will probably make rakudo star releases smoother | |||
colomon | mind you, I still need to figure out the details of how to do it! | ||
I've created a separate account on my linux box for it. | 15:37 | ||
FROGGS[mobile] | masak: would be cool if dont need to rebootstrap modules after recompiling rakudo | ||
15:37
sivoais left
|
|||
colomon | I'm running a smoke test by hand at the moment there using emmentaler. | 15:37 | |
Now the question is how to automate it all. | |||
15:38
sivoais joined
|
|||
FROGGS[mobile] | fetch module list, smoke em in lastchange order | 15:39 | |
tadzik | and difftool | ||
and irc bot | |||
that | |||
* that'd be Future | |||
colomon | difftool and irc bot? | 15:40 | |
FROGGS[mobile]: I'm looking for something simpler: the best way to automate running a sequence of command lines. cd rakudo; git pull; perl Configure.pl --gen-parrot; etc | |||
arnsholt | colomon: I've thought a bit about that particular problem. On mobile IRC right now, but I'll try to remember to dump my thoughts later | ||
FROGGS[mobile] | colomon: bat and sh files? p5 script | 15:42 | |
? | |||
colomon | was just going to check if CPAN has a solution. | 15:43 | |
15:44
sciurius left
|
|||
masak | my all-day bisect is coming along fine. I've now reduced the suspects to this short-ish list: gist.github.com/masak/5520459 | 15:47 | |
may the betting on the culprit begin. | |||
(my bet is on the merge commit) | |||
15:47
sivoais left
|
|||
masak | or, more exactly, something from that branch. | 15:48 | |
timotimo | 22b3cf3 run S02-magicals/vm.t, timotimo++ - this one most probably didn't introduce the trouble! | 15:50 | |
colomon | FROGGS[mobile]: doing a simple sh script would be easy. but having one that detects when something goes wrong and notifies me is a bit trickier. Or maybe I'm just not thinking of something obvious! | ||
geekosaur | set -e ? | 15:51 | |
15:51
xinming joined
|
|||
FROGGS[mobile] | a cronjob will give you stderr via email | 15:57 | |
16:00
spider-mario left
|
|||
colomon | FROGGS[mobile]: Good point. I never really had that working properly on my old Linux box -- I really need it mailed to my gmail address, not some mail limited to one box that I never actually read. | 16:01 | |
And on the other hand, I don't want the e-mail if everything is working. | |||
geekosaur | colomon, redirect stdout (not stderr) to /dev/null. and add a mail alias redirecting your local account to your gmail account | 16:02 | |
set -e; exec >/dev/null | |||
some crons also support a MAILTO=address in the crontab entry | 16:03 | ||
colomon | MAILTO I understand (though I'm not sure it's the right granularity) . | 16:04 | |
set -e is a mystery to me. | 16:05 | ||
geekosaur | tells the shell to abort if any command not used as a conditional (i.e. "if command ..." or "command || somethingelse") exits nonzero | ||
16:05
sivoais joined
|
|||
colomon | ah! | 16:06 | |
okay, yes that's definitely a good tip! | |||
geekosaur | a related handy tip, if you *do* want to run some command and allow it to fail safely under "set -e", append " || :" to it. (the "||" makes it conditional, and ":" is the null command. you could substitute "true" for ":" if you wanted, but some shells will actually run an external /bin/true in that case; ":" is a shell builtin) | 16:09 | |
colomon | geekosaur++ | 16:14 | |
colomon is currently trying to set up e-mail for the box. | |||
16:16
sivoais left
16:17
sivoais joined
|
|||
colomon | sweet! mail seems to be working | 16:20 | |
16:22
genehack left,
genehack joined
16:26
saxx left
16:27
sivoais left,
sivoais joined
|
|||
moritz_ | masak: what is slow, exactly? | 16:35 | |
16:35
sciurius joined
16:38
sivoais left
16:39
skids left,
sivoais joined
|
|||
moritz_ | ar | 16:43 | |
arnsholt: I'm now testing your nqp fix | |||
that is, running panda and all that stuff again :_) | 16:45 | ||
... and hoping that my laptop doesn't overheat | 16:48 | ||
I've hibernated a few times during rakudo compilation to avoid that | |||
erm, hibernated the laptop, not myself :-) | |||
16:49
sivoais left
|
|||
lizmat hopes that the fan keeps running during hibernation | 16:49 | ||
yoleaux | 4 May 2013 23:03Z <jnthn> lizmat: you want to subclass ClassHOW, I expect. You then write a role with the new functionality you want in, and then arrange for it to be mixed in to every class automatically (easiest is probably method compose($obj) { self.add_role($obj, YourRolewithNewIn); nextsame; } | ||
moritz_ | lizmat: it doesn't :( | 16:50 | |
16:50
skids joined
|
|||
lizmat | then ^Sing maybe better than hibernating to prevent overheating | 16:50 | |
16:50
xinming left,
sivoais joined
|
|||
geekosaur | you mean ^Z? | 16:51 | |
moritz_ | lizmat: good point, I should try that | ||
lizmat | geekosaur: doubting now... | ||
pmichaud | 15:25 <masak> nqp doesn't seem to need to be rebuilt. | 16:52 | |
lizmat | I use ^Z mostly when I'm editing | ||
pmichaud | seems more like the case that nqp is automatically rebuilt. | ||
moritz_ | Ctrl+S should SIGSTOP the process, no? | ||
or does it just lock the terminal? | |||
geekosaur | that's ctrl-z | ||
ctrl-s pauses terminal output, which will eventually cause the program to block | |||
moritz_ | ah, but not during setting compilation | ||
lizmat | ack, geekosaur is right, you want ^Z | ||
moritz_ | fairy 'nuff | 16:53 | |
lizmat | i am crazy | ||
moritz_ | lizmat: tell news :-) | ||
lizmat | note to self: never leave your keyboard unattended when woolfy is around | 16:54 | |
woolfy | :-) | ||
moritz_ | :-) | ||
masak | pmichaud: are we both talking about Rakudo's nqp, not Parrot's? | ||
16:54
sivoais left
|
|||
pmichaud | masak: yes. | 16:54 | |
moritz_ | arnsholt: your fixed works, thank you very much | 16:55 | |
arnsholt++ | |||
masak | in that case, at what part (of the steps I posted) is it rebuilt? I'm not doing a re-Configure. | ||
pmichaud | it's possible that nqp doesn't need rebuilding... but that'd surprise me a bit. | ||
16:55
sivoais joined
|
|||
pmichaud | btw, my bet is on 256339c | 16:55 | |
masak | oh, indeed. | ||
that one is immediately suspect. | |||
moritz_ | what exactly is slow? | 16:56 | |
masak | moritz_: running psyde on my posts. | ||
lizmat | a factor of 10 slower | ||
masak | moritz_: it takes either 4 minutes, or between 40 and 60. | ||
pmichaud | masak: in fact, a quick check would be to pick the 2013.01 rakudo release and build it against the 5.0 parrot. | ||
moritz_ | that's not exactly minimal, I guess :-) | ||
pmichaud | well, "quick" being relative here, of course. :) | 16:57 | |
16:57
berekuk left
|
|||
masak | moritz_: it's not. but it puts the difference in stark contrast. and today, I happen to have the time for this. | 16:57 | |
moritz_: consider it an experiment being repeated $NUMBER_OF_POSTS times with each run ;) | 16:58 | ||
to avoid sampling bias, etc. | |||
350 posts. I seem to have blogged 350 times. | 16:59 | ||
moritz_ finds that he prefers fatarrow over colonpair when vertically aligning the values | |||
lizmat | TIMTOWTPI | ||
masak | ;) | ||
moritz_ | lizmat++ | 17:00 | |
masak .oO( just give me a 351st chance, I think I got it this time... ) | |||
pmichaud | actually, my "quick check" doesn't appear to be able to actually check whatever changed. | ||
moritz_ | and thanks to arnsholt++, I can now account recurring transactions with data from the sqlite database | ||
masak | I'll take the scenic route. | 17:02 | |
I think it'll become pretty evident at what point I'll have something RT-able. | |||
pmichaud | fwiw, I think you can safely skip testing 483ce86 :-) | ||
masak | hehe | 17:03 | |
pmichaud | and | ||
78d2a2a | |||
moritz_ | as well as f67e101, c89dd87 and a763a18 | ||
masak .oO( HOW CAN YOU BE ABSOLUTELY SURE??? ) | |||
pmichaud | because I looked at the commits? | ||
masak | EDEUSEXBISECT | 17:04 | |
pmichaud | so, you could "git bisect skip" those and speed up the bisect just a bit | 17:06 | |
masak | oki | ||
felher | masak: I found some time today to start with your workshop. If you want to take a look or place a link, here's the solutions to roman and promise. | ||
masak: gist.github.com/a8ff211b6f47c9e84024.git | |||
masak | felher: looking. | ||
felher: happy to continue any further conversation over at #masakism ;) | |||
17:08
census joined
|
|||
pmichaud | masak: if the NQP_VERSION bump is the problem commit, then it's going to be something that happened in NQP between commits 883fd06 and f8a37df | 17:11 | |
masak | yes. :) and a new bisect. | ||
pmichaud | that includes the commits where EXPR was converted from PIR to NQP, fwiw. | ||
masak | oh! | ||
pmichaud | there aren't that many commits between the two -- just eight commits. | 17:12 | |
masak | sounds like a very likely slowdown... :/ | ||
moritz_ | masak: do you eval a lot in psyde? | ||
masak | checking. | ||
moritz_ | because EXPR is compile time only, afaict | ||
masak | moritz_: no, no eval in psyde. | ||
moritz_ | masak: or very large amounts of code? | 17:13 | |
pmichaud | gist.github.com/pmichaud/5521439 # commits between 883fd06 and f8a37df | ||
large amounts of code shouldn't affect runtime speed, though. | |||
unless the code itself is taking forever to start. | |||
moritz_ | no, just compile time | ||
masak | moritz_: it's 256 lines of code. | ||
pmichaud | masak: oh! Can I see the code? | 17:14 | |
masak | sure. | ||
pmichaud | that might help me narrow it down really quick. | ||
(256 isn't much at all :) | |||
masak | pmichaud: github.com/masak/psyde/blob/master/psyde | ||
I'm planning to do some refactors to psyde. reduce it down to ~16 lines of code :P | |||
moritz_ | uses lots of stuff that could potentially be slow | 17:15 | |
regexes, trans, IO, list-y stuff | 17:16 | ||
pmichaud | well, there aren't many commits left in the bisect that would seem to be able to affect it | ||
masak | no matter what's affecting what, something slowed down my blog generator 10x. | ||
pmichaud | gist.github.com/pmichaud/5521450 # masak's list reordered by commit date | 17:17 | |
masak | I want to find that something, first the commit, and then the cause :) | ||
moritz_ | masak: does the machine swap when it's that slow? | ||
and then EXTERMINATE it! | |||
masak | moritz_: no, I can't imagine that. | ||
plenty of memory here. | |||
pmichaud | indeed, looking at the remaining commits, it seems it will have to be either 256339c or c255f1d | ||
masak | moritz_: it's definitely CPU-bound. | ||
moritz_ | well, you'd feel it if you're using the computer for other purposes too :-) | ||
lizmat | hmmm… that would explain the spread of 40 .. 60 minutes | ||
masak | moritz_: which I am. | 17:18 | |
pmichaud | masak: does your code have any regex interpolations? | ||
masak | pmichaud: I gave you the code! :P | ||
but no, I don't think so... | |||
pmichaud | masak: I'm still parsing it. | ||
masak: I figure you know the answer already :) | |||
masak | it uses .trans | ||
pmichaud | well, I've always hated the .trans code :) | ||
masak | then write a better one :) | ||
pmichaud | I started to, but I have to understand .trans first. | 17:19 | |
masak | I know you've had bad experiences with that code bringing out failures and stuff... | ||
moritz_ | pmichaud: the spec, or the old code? | ||
masak | ...but the thing that's there today is a great improvement on what we had before. at least in some respects. | ||
pmichaud | moritz_: either. | ||
masak | pmichaud: and I know it's not the end state of that code. | 17:20 | |
pmichaud | in some ways it's like the sequence operator stuff.... I had to carefully parse the spec in my head before I could finally come up with clean code. | ||
moritz_ | does interpolating array variables into regexes work properly? | ||
masak | pmichaud: TimToady keeps mumbling about how .trans should really induce a grammar and piggyback LTM somehow. | ||
pmichaud | masak: I can believe that. | ||
moritz_ | if yes, it's easy to... exactly | ||
masak | but for that, we'd need a kind of API to build a grammar. a bit like a MOP for grammars. I don't know to what extent we have that already. | ||
moritz_ | parts of the awefulness of the current code is that it has to re-invent LTM (with limited scope) | 17:21 | |
masak | I suppose to quite a large extent. | ||
pmichaud | oh, we could definitely improve on that. | ||
array interpolation does have LTM built in now. | |||
masak | it would be a very happy thing to do. | ||
lizmat | so we're sure it's .trans now? | ||
pmichaud | no | ||
moritz_ | we're just speculating while masak++'s machine does the work :-) | 17:22 | |
masak | ...but I wouldn't be surprised... | ||
well, not .trans per se. | |||
pmichaud | There are basically two commits left... one of them changes regex interpolation (which .trans might be doing) | ||
masak | but something slowing down .trans doing whatever the heck it does. | ||
right. | |||
pmichaud | the other one incorporates a number of NQP revisions | ||
17:22
mtk left
|
|||
pmichaud | either one are still candidates for the problem | 17:22 | |
masak | "incorporates a number of NQP revisions"...? so, it's a merge? :P | 17:23 | |
pmichaud | no, it's not a merge | ||
moritz_ | masak: NQP revision bump | ||
masak | oh! the Rakudo commit. | ||
pmichaud | it's an NQP revision bump. | ||
masak | sorry :) | ||
masak is slow today, but not as slow as psyde on the bad commits | |||
pmichaud | masak: eta til we know the result of the 255f1d commit, ooc? | 17:24 | |
er, c255f1d | |||
masak | RSN | 17:25 | |
pmichaud | okay. | 17:26 | |
17:26
mtk joined
|
|||
masak | no more than 40 minutes :) | 17:26 | |
pmichaud | I'm not sure which commit I'm wanting it to be.... :-/ | ||
17:28
Ayiko left
17:29
Ayiko joined
|
|||
pmichaud | oh, wait! | 17:29 | |
masak | hm, I seem to have provided the wrong set of commits we're reduced down to already. here's the real one: gist.github.com/masak/5520459 | ||
pmichaud | right | ||
just looked at that also | |||
masak | :) | ||
the rule is that the currently tested commit should always be in the middle of the list :P | 17:30 | ||
pmichaud | so now there are *more* nqp revisions that could be implicated. | ||
pmichaud looks | 17:31 | ||
moritz_ is guilty of premature OO in his newest project, and already regrets it | 17:35 | ||
pmichaud | gist.github.com/pmichaud/5521515 # list of NQP commits involved in masak's commit range | 17:37 | |
*bisect range | 17:38 | ||
masak | ok, now I can mark c255f1d as bad. | ||
the next suggested one is 78d2a2af. | |||
skipping that one. | 17:39 | ||
pmichaud | +1 | ||
masak | also skipping f67e101e. | ||
pmichaud | +1 | ||
masak | building and testing c89dd87c. | 17:40 | |
pmichaud | isn't that just a bump to VERSION? | ||
masak | yes. | ||
moritz_ | skip it | ||
masak | and hence significant. | ||
moritz_ | no | ||
masak | oh wait. | ||
moritz_ | the only thing it changes is the version of itself that rakudo reports | 17:41 | |
masak | indeed not. | ||
moritz_ | when you do perl6 --version | ||
pmichaud | I'd be very surprised if that affects anything. :) | ||
masak | ok, skipping. | ||
pmichaud | I think we're down to 256339c being the culprit. | ||
masak | also skipping 42f8ead6. | ||
pmichaud | worth a test, definitely | 17:42 | |
masak | yes. building and testing that one now. | ||
17:42
berekuk joined
17:44
spider-mario joined
|
|||
pmichaud | it's looking as though it has to be the EXPR code somehow. :-( | 17:49 | |
17:51
berekuk left
17:53
ggoebel joined
17:54
thou joined
|
|||
pmichaud | oh, and Rakudo's Cursor type calls eval() | 17:54 | |
(for regex interpolation) | |||
okay, I'm off to work on other things.. I eagerly await to hear the bisect results. :) | 17:56 | ||
masak | me too :) | 17:58 | |
hm, 256339c appears to be good. | 17:59 | ||
moritz_ | have to say, error reporting is really nice in comptemporary rakudo | 18:04 | |
s/^/I/ | |||
18:04
kurahaupo joined
|
|||
pmichaud | ...256339c is *good*? | 18:04 | |
masak | yep. | 18:08 | |
surprising, I know. | |||
colomon suspects the changelog. | |||
;) | |||
pmichaud | were you being certain to reset the nqp build on each bisect? | 18:09 | |
timotimo | it's crazy how long these runs take | ||
over an hour vs 5 minutes, holy cow. | |||
pmichaud | (and the parrot build?) | ||
masak | pmichaud: I clean -xdf everything on each bisect step. taking no chances here. | ||
pmichaud | did you clean -xdf in the parrot/ and nqp/ directories, also? | ||
masak | pmichaud: specifically, I did so before that step. | ||
pmichaud: clean -xdf *removes* those directories. | 18:10 | ||
pmichaud | on my system it doesn't. | ||
masak | Removing nqp/ | ||
Removing parrot/ | |||
timotimo | regexes in arrays in regexes o_O | ||
pmichaud | it says "Removing nqp/" and "Removing parrot/", but doesn't actually remove them. | ||
watchs | |||
masak | dammit. | ||
(clean -xdf)-- | 18:11 | ||
masak wonders how far back to rewind the bisect | |||
pmichaud | you may have to start over-ish. | ||
masak | yeah. | ||
timotimo | oh wow | ||
masak | ok, I'll assume the endpoints are accurate. | ||
pmichaud | because any later nqp/parrot would've been considered "good enough" for the builds | ||
masak | aye. | ||
restarting bisect. | 18:12 | ||
pmichaud | gist.github.com/pmichaud/5521625 # git clean -xdf doesn't actually clean parrot/ and nqp/ | ||
masak | TIL | 18:13 | |
jnthn | evening, #perl6 | 18:15 | |
yoleaux | 13:37Z <FROGGS> jnthn: beware: I want to talk about the 'underlying problem' with you *g* | ||
masak | jnthn! \o/ | ||
jnthn | the...what? :P | 18:16 | |
pmichaud | afk, lunch | ||
masak | jnthn: want to talk about THE UNDERLYING PROBLEM with YOU. :P | 18:17 | |
jnthn: AM I MAKING MYSELF CLEAR :P | |||
lizmat | masak: wrt the bisect: maybe you can reduce the run by not doing all documents, so that a bad run will only take 5 mins, and a good one 30 seconds? | 18:18 | |
timotimo | should make sure that that really happens; could be the bad run will only get a growth that bad if the number of articles is huge | 18:19 | |
masak | *sigh* -- all you hectic modern people. here I am, trying to enjoy a slow Sunday bisect... :P | ||
18:19
ggoebel left
|
|||
lizmat | if you are enjoying it, by all means! | 18:20 | |
masak | timotimo: I doubt that, though. I can generally tell just by looking at the speed of the output. (it prints a line of progress output per post). | ||
timotimo | ok | 18:21 | |
masak | and the 10x slowdown shines through a bit. | ||
timotimo | sounds good then | ||
pmichaud | I think I want to add a tools/build/bisect script to make git bisecting a bit more robust in the future | ||
masak | ooh. | ||
pmichaud | (i.e., to avoid the dependency issues masak++ just came up with) | ||
and to avoid re-cloning the nqp/ parrot/ directories at each bisect step | 18:22 | ||
colomon | pmichaud++ | ||
masak | sounds good. | 18:23 | |
pmichaud | but lunch comes first :-/ | ||
anyone else is welcome to contribute a script before me :) | |||
colomon is still working on automatic ecosystem smoke testing. | 18:24 | ||
pmichaud | could also be a --bisect option to Configure.pl, although that doesn't help in the current bisection | 18:25 | |
18:26
ggoebel joined
|
|||
jnthn is very curious what the slowness will turn out to be. | 18:28 | ||
lizmat | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say 3 ~~ Day | 18:30 | |
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«False» | ||
moritz_ | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day(3).defined | 18:31 | |
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«True» | ||
moritz_ | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day(42).defined | ||
lizmat | S12:1887 states: " 3 ~~ Day # True, using Day as a subset of Int" | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: No match at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 2103 (EnumMap._lookup @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1308 (CommonEnum.postcircumfix:<( )> @ 5)… | ||
..rakudo 88f9c9: OUTPUT«False» | |||
masak | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day ~~ Int | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«True» | ||
moritz_ | can it be both a subtype and a subset? | 18:32 | |
that sounds wrong to me | |||
masak | enums are not subtypes, if by "subtype" you mean the thing with the keyword "subset" in Perl 6. | ||
moritz_ | no, I meant "class that inherits from" | 18:33 | |
masak | it's also not a question of inheritance, since infix:<~~> does lots of other things. | ||
well, not *necessarily* a question of inheritance. | |||
jnthn | I suspect if you want to implement those semantics you can get them by hacking on EnumHOW a bit | ||
lizmat is just trying things from the Synopses | |||
jnthn | But what that working really means is "if you match one of the enum value's underlying values it's good enough" | 18:34 | |
masak | yes, that was what I was after. | ||
it doesn't say how it's implemented. | 18:35 | ||
lizmat | fwiw, 3 ~~ Thu works | ||
(as in: returns True) | |||
jnthn | Well, it's kinda significant how you implement it in so far as whether you expect to be able to pass 3 to a sub foo(Day $x) { } | 18:36 | |
masak | oh, sure. | ||
moritz_ | and if the callee can still expect all the goodness of a Day object | 18:37 | |
jnthn | But I suspect "subtype" is being used a bit handwavily in the spec there. | ||
masak | jnthn: does that mean hacking ACCEPT won't be enough? | ||
er, ACCEPTS | |||
jnthn | masak: Well, ACCEPTS for a :U invocant typically delegates to the meta-object. | ||
lizmat | jnthn: indeed | ||
rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; sub foo ( Day $d ) { say "foo" }; foo(3) | |||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties: $d is declared but not used at /tmp/ruUVS3HBNM line 1:------> Tue Wed Thu Fri Sat Sun>; sub foo ( Day ⏏$d ) { say "foo" }; foo(3)Unhandled exception: Nominal type check failed in binding '$d' in 'foo'; got In… | ||
..rakudo 88f9c9: OUTPUT«Nominal type check failed for parameter '$d'; expected Day but got Int instead in sub foo at /tmp/DQ6GB9NyWw:1 in block at /tmp/DQ6GB9NyWw:1» | |||
jnthn | We can special-case ACCEPTS on :U for enum types I guess. | 18:38 | |
masak | \o/ | ||
jnthn | But it'll drag it out of kilter with the usual expectation that ~~ SomeType gives the same answer that a type check would on binding. | ||
So we may want to tread carefully :) | |||
lizmat | but this warrants a rakudobug, right ? | 18:39 | |
masak | absolutely. | ||
a NYI one, I guess. | |||
lizmat submits rakudobug | |||
masak | lizmat++ | ||
jnthn | In so far as "we don't match the spec", yes. But I don't yet feel I've enough information to knwo what the right way to fix it is :) | ||
('cus of the two ways I can think of, both have a slightly unattractive consequence) | 18:41 | ||
masak | yeah. from a spec perspective, it doesn't feel completely "orthogonal" either. | ||
lizmat | fwiw, I think the use of enums is so that you do *not* have to use any numbers | 18:42 | |
masak | I mean, I can see why one would want this sometimes, but it also somehow feels like a big "bend" in the spec for relatively little gain. | ||
lizmat | so, to me, as a lay person, it is perfectly understandable that this doesn't work | ||
masak | lizmat: yeah. | ||
lizmat: obviously the quick-and-easy solution here would be to unspec that one. :) | |||
lizmat | so, this could be considered a spec issue rather than a NYI bug | ||
indeed | 18:43 | ||
masak | lizmat: but I would suggest investigating just how impossible it is first. | ||
lizmat | #117875 has it all | ||
masak | also, an unspec would need to go through TimToady, who will likely have an interesting take on it. | ||
jnthn | Yeah, it's a lang design call. | 18:45 | |
pmichaud | I'd suggest verifying the lang design first before dealing with implementation stuff. | 18:51 | |
We had a similar situation where $value ~~ Grammar was supposed to smart match something against a Grammar, until we pointed out that you couldn't easily type-match. | 18:52 | ||
This sounds.... similar | |||
masak | dealing with implementation stuff sometimes is how we verify the lang design, though. | ||
I agree, though. we should discuss whether this is vital before spending time trying to implement it. | |||
I for one wouldn't lament the unspec'ing of that feature. for the reasons lizmat gave. | 18:53 | ||
lizmat | this I think is a typo in the spec (S12:1910) | ||
rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.invert{3} | |||
camelia | rakudo 88f9c9: OUTPUT«postcircumfix:<{ }> not defined for type List in method gist at src/gen/CORE.setting:10022 in method gist at src/gen/CORE.setting:893 in sub say at src/gen/CORE.setting:10917 in block at /tmp/aIctujKlzU:1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot use hash access on an object of type List at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 352 (Any.at_key @ 9)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/teIKosjtpS line 1 (mainli… | |||
pmichaud | also, having 3 ~~ Day feels wrongish to me, since 3 is an Int and Int !~~ Day | ||
lizmat | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.invert[3] | ||
masak | 3 is an Int, and Day is Int, but I don't have to have 3 being a Day. | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«3 => "Thu"» | ||
masak | especially as (and this is perhaps a convincing point), declaring the enum effectively inserts Day *between* 3 and Int, which... feels weird, conceptually. | 18:54 | |
heh, there's probably some category-theoretical theorem somewhere saying "don't do that, it'll lead to tears" :) | 18:55 | ||
pmichaud | let's assume there is one and fix the spec. :) :) :) | ||
masak | not quite a +1, but no objections either ;) | 18:56 | |
and I'm still curious to hear what TimToady has to say. | 18:57 | ||
(which might well be "screw category theory, we want this for reasons A, B and especially C") | |||
lizmat | so: "Day.enums.invert{3}" doesn't work, but is in the spec, "Day.enums.invert[3]" works as expected | 18:58 | |
masak | r: my %h; say %h.invert.^name | ||
camelia | rakudo 88f9c9: OUTPUT«List» | 18:59 | |
masak | lizmat: .invert{3} looks weird. | ||
it's a List... | |||
lizmat | that was my feeling as well | ||
indeed | |||
pmichaud | rn: my enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.invert.hash{3} | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«Thu» | ||
lizmat | but the fact that it's a list may be the issue? | ||
pmichaud | .invert is returning a list of Pairs | ||
lizmat | no, that's according to spec | 19:00 | |
indeed | |||
lizmat will fix spec with s/{3}/[3]/ ? | |||
pmichaud | there's been some mumbling that a list of Pairs should be able to act like a hash. | ||
masak | lizmat: +1 | ||
jnthn does some mumbling about that idea :) | |||
pmichaud | i.e., that it would be able to understand .{ } | 19:01 | |
masak | pmichaud: I hope that remains a mumbling. | ||
jnthn | .{ } on an array is reserved for custom indexing schems, no? | ||
masak | yeah. | ||
pmichaud | wouldn't .invert be a form of "custom indexing scheme", though? | ||
masak | pmichaud: it's a list because there can be duplicate keys. | ||
jnthn | If it is, it produces a bit more than a nrmal List... :) | ||
pmichaud | masak: yes, I know, but .{ } on such a List could "handle" duplicate keys somehow | 19:02 | |
masak | /o\ | ||
pmichaud | I'm merely point out that .{ } on List is a defined behavior. | ||
*pointing | |||
masak | yes, I agree. | ||
pmichaud | (in S09) | ||
masak | I'm just uncomfortable even going down that road :) | 19:03 | |
pmichaud | and thus enum.invert could produce the results listed in the spec. | ||
masak | s/even going/even imagining going/ | ||
pmichaud | I'd be wary of putting .[3] into the spec. | ||
Yes, it works in the example just given, but that's something of an artifact of how the enum is constructed and/or .pairs is being produced. | 19:04 | ||
19:05
PacoAir left
|
|||
lizmat | maybe I should make an issue out of this? | 19:05 | |
19:05
PacoAir joined
19:06
kurahaupo left
|
|||
pmichaud | rn: my enum Day ( :Mon(1), 'Tue', 'Wed', 'Thu' ); say Day.enums.invert.[3] | 19:06 | |
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«4 => "Thu"» | ||
pmichaud | rn: my enum Day ( :Mon(1), 'Tue', 'Wed', 'Thu' ); say Day.enums.invert.[3]; say Thu; | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«4 => "Thu"Thu» | ||
pmichaud | rn: my enum Day ( :Mon(1), 'Tue', 'Wed', 'Thu' ); say Day.enums.invert.[3]; say +Thu; | 19:07 | |
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«4 => "Thu"4» | ||
pmichaud | note that .[3] doesn't give the enum with value 3 (which would be Wed) | ||
lizmat | that's because the enums start at 1 | 19:09 | |
the list starts at 0 | |||
the list that "invert" returns | 19:10 | ||
moritz_ | but enums can start at any value, and indeed they don't need to be continuous at all | 19:11 | |
lizmat | so you're saying the error in the spec is the missing .hash ? | ||
moritz_ hasn't followed the discussion closely enough to tell | 19:12 | ||
19:13
moritz_ is now known as moritz
|
|||
masak | lizmat: yeah. | 19:13 | |
lizmat: though .hash isn't what we recommend either after an .invert | |||
lizmat: (because that gives last-entry-wins behavior) | 19:14 | ||
lizmat: we recommend pushing the result onto another hash. | |||
lizmat | but in the case of an enum, you never have that problem | ||
masak | troo | ||
...unless you do | |||
lizmat | so is there a reason why .invert on a hash doesn't return a Bag? | 19:15 | |
masak | rn: my enum Ex ( :Foo(1), 'Bar', :Baz(1) ); say Ex.enums | ||
camelia | niecza v24-37-gf9c8fc2: OUTPUT«EnumMap.new(...)» | ||
..rakudo 88f9c9: OUTPUT«("Foo" => 1, "Bar" => 2, "Baz" => 1).hash» | |||
moritz | yes, bags count, but you're not (always) interested in the count | ||
lizmat | true | ||
masak | and you really want inverted Pairs, and a Bag doesn't give you that. | 19:16 | |
lizmat: as you see, duplicate enum values are OK, at least according to the implementations. | |||
lizmat: which means .invert can have duplicate keys. | |||
lizmat | indeed | ||
feels more and more like an issue that requires TimToady's attention, no? | 19:17 | ||
moritz | aye | 19:19 | |
masak | lizmat++ # teasing out issues that require TimToady's attention | 19:20 | |
lizmat | brb | 19:21 | |
moritz notices that the hpmor podcast has nearly caught up to the written hpmor | 19:23 | ||
masak | pmichaud: I tried to reproduce the weird 'git clean -xdf' behavior in a new git repository, but there it works as I expect it to: gist.github.com/masak/5521876 | 19:24 | |
pmichaud: oh! but I bet I know what it is. both nqp and parrot subdirectories have a .git directory in them -- perhaps git-clean special-treats them. | 19:25 | ||
19:25
domidumont left
|
|||
masak | investigating. | 19:25 | |
moritz | yes, it does | 19:28 | |
git clean does not descend into other git repos by default | |||
masak | it does? it just removed mine when I tested here. | ||
moritz: also, I didn't see anything about it in the manpage. maybe I missed it. | |||
moritz: do you agree that it's still surprising/unintuitive that it outputs "Removing parrot/" ? | 19:29 | ||
(and then does nothing) | |||
moritz | yes | ||
lue | hello world o/ | 19:33 | |
masak | moritz: ok, I reproduced it. 'git clean -dfx' stops removing the nested git repo as soon as there's a commit in that repo. | 19:35 | |
moritz: it actually removes it if it's a repo without an initial commit. | |||
moritz | woah. | 19:37 | |
masak: so you bisected, and didn't always have the recommended nqp/parrot revisions? | 19:38 | ||
colomon has done that before. :( | |||
masak | moritz: reporting on #git now. | 19:39 | |
colomon: yeah. but no problem, I can just do it again. | |||
colomon | masak: sure, but you wasted hours, no? | 19:40 | |
masak | nah :) | ||
I did other stuff in the meantime. :) | |||
colomon just started a test smoke run of his new smoking script | |||
masak | learning the hard way. it's often very effective, even if it isn't efficient... | ||
19:43
zby_home left
19:53
kivutar joined
|
|||
colomon | masak: maybe I'm getting old, but I find that if my "learning the hard way" is on something I don't do that often (like a major bisect) I'm apt to forget it by the next time I do it. :( | 19:55 | |
masak | colomon: forgetting things is part of the semantics of "hard" :P | 19:57 | |
moritz | sounds... hard! | 20:01 | |
FROGGS | g'evening | 20:02 | |
lizmat | evening FROGGS! | 20:04 | |
FROGGS | hi lizmat | ||
masak | FROGGS! \o/ | ||
lizmat | to come back to earlier | ||
rn: my enum Day <Sun Mon Tue Wed Thu Fri Sat>; sub foo ( Int $d ) { say $d.WHAT }; foo(Wed) | |||
FROGGS | masak: o/ | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«(Day)» | ||
lizmat | foo accepts Int, is that the way to do this? To still get the types in the sub? | 20:05 | |
FROGGS | jnthn: would be cool if we could talk about what is wrong with things like: | ||
r: our @a = 4, 5 | |||
camelia | rakudo 88f9c9: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block at /tmp/1jwgBF2IVu:1» | ||
colomon | lizmat: absolutely, if B is an A, foo(A $a) should accept B as an argument, and it's still a B even inside foo. | 20:06 | |
lizmat | FROGGS: its another way of saying: $ perl -wE 'our @a=4,5; say @a' | ||
Useless use of a constant (5) in void context at -e line 1. | |||
FROGGS | lizmat: I know what it is, the problem is that this does not work in rakudo | 20:07 | |
colomon | rn: my @a = 4, 5; | 20:08 | |
camelia | niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties: @a is declared but not used at /tmp/8ZFlI4Y5C4 line 1:------> my ⏏@a = 4, 5;» | ||
..rakudo 88f9c9: ( no output ) | |||
colomon | rn: my @a = 4, 5; say @a | ||
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«4 5» | ||
FROGGS | I know now a bit more about how the symbol table in perl 5 works, but I dont see why it actually does not work in rakudo | ||
colomon | rn: our @a = 4, 5; say @a | ||
camelia | rakudo 88f9c9: OUTPUT«No such method 'STORE' for invocant of type 'Any' in block at /tmp/D28gbkOjbM:1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«4 5» | |||
20:09
berekuk joined
|
|||
lizmat | why would there be a difference between "my" and "our" in this case? | 20:09 | |
colomon | looks like a rakudobug to me. | 20:11 | |
FROGGS | well, the difference is where @a is stored, exactly the same like in perl5 | ||
colomon | rn: our @a; say @a; | ||
camelia | rakudo 88f9c9: OUTPUT«(Any)» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«» | |||
FROGGS | colomon: it is | ||
and jnthn said that there is some 'underlying problem' | |||
20:14
berekuk left
|
|||
jnthn | FROGGS: I think the fix may be to install the appropraite kind of container inside the WHO at compile time | 20:24 | |
FROGGS: e.g. have something like install_lexical_contaienr that instead installs it in the package | 20:25 | ||
Then the lexical is just bound each frame entry to that | |||
Not sure if that'll fix it, but I'm hopeful. | |||
FROGGS | jnthn: sounds good | 20:26 | |
and doesnt really sound like a problem | |||
jnthn | Well, the problem is that we dont do anything like that today ;) | 20:27 | |
FROGGS | but we do that for 'my'-vars (not in the package though) | 20:28 | |
timotimo | are we talking about installing things in symbol tables? in my test case for the ADT module, something seems to be going wrong with the EXPORT sub, such that i would get an error like Type check failed in assignment to '$a'; expected 'Maybe' but got 'Maybe' (Maybe and Maybe|7052662458959412579 respectively) | 20:37 | |
FROGGS | timotimo: we are talking about our-vars only | 20:39 | |
timotimo | ok | ||
20:48
FROGGS[mobile] left
|
|||
FROGGS | timotimo: how do you create the Tree class? is that done once, over maybe several times (always when hitting "Tree") ? | 20:49 | |
timotimo | it's created once, as far as i know. then it's passed through a hash into and then as a hash out of my EXPORT sub | ||
lizmat | was there a time in the spec of Perl 6, where Any === Mu ? | 20:50 | |
colomon | lizmat: there was a time when there was no Mu... | 20:51 | |
20:51
kivutar left
|
|||
colomon | probably the most straightforward answer to what I think you mean is "yes". | 20:51 | |
lizmat | indeed.. so I think S12:2387, wherever it says "Cool and Any", it should become "Cool, Any and Mu" | 20:52 | |
timotimo | i don't think you can get more straight forward than a plain "yes" or "no". | ||
colomon | timotimo: but I might be mistaking what she means, which is why the qualifiers. ;) | 20:53 | |
lizmat | e.g. on the ^parents method: " :excl exclude Cool and Any (the default)" | ||
that should be: " :excl exclude Cool, Any and Mu (the default)" | |||
rn: say Str.^parents :all | |||
camelia | rakudo 88f9c9: OUTPUT«(Cool) (Any) (Mu)» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method parents in type ClassHOW at /tmp/by2CUfeDlK line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583)  at… | |||
colomon | lizmat: I'm not sure that's a fair assumption -- Mu and Cool came about at the same time, as I recall. | 20:54 | |
20:54
bruges_ joined
|
|||
colomon | or did they? | 20:54 | |
20:54
skids left
|
|||
jnthn | lizmat: I suspect Mu is implied transitively. | 20:54 | |
lizmat | then why is it listed specifically with :all ? | 20:55 | |
colomon was here when Mu and Cool were invented, but doesn't necessarily remember all the details. | |||
jnthn | lizmat: Dunno. :all includes all the things, not adding that means "stop searching when you hit Cool or Any" | 20:56 | |
20:56
bruges left
|
|||
lizmat | lines were added in 2010 by TimToady | 20:56 | |
jnthn | Feel free to make them match, anyway. We certainly exclude the stuff in Mu. | 20:57 | |
lizmat | 2010-09-24 09:38:47 -0700, did we have Mu then already? | ||
FROGGS | r: class A { has @.a = 7 }; my $a = A.new | ||
camelia | rakudo 88f9c9: ( no output ) | ||
FROGGS | r: class A { has @.a = 7 }; my $a = A.new; say $a.a | ||
camelia | rakudo 88f9c9: OUTPUT«7» | ||
jnthn | I'm fairly sure that :all came some time after Mu did. | ||
lizmat | I will make them match | ||
20:59
skids joined
21:08
kaare_ left
|
|||
lizmat | scratch that: S12:2511 states "Note that when we say "C<Cool> and C<Any>" above, we really mean those types as well as any types outside of them, such as C<Mu> or C<Junction>. | 21:08 | |
feels a bit like monkeypatching to me, but there you go ;-) | 21:09 | ||
jnthn wasn't keen on meta-methods lying by default... :) | 21:12 | ||
OK, it's past midnight here, so sleep... & | |||
lizmat | S12:2501 has a rationalisation for that | 21:13 | |
goodnight jnthn! | |||
masak | lizmat: I've never been keen on making C<Any> and C<Cool> "special". feels like it clutters the type system. | 21:14 | |
feels like a design smell. | |||
FROGGS | gnight jnthn | ||
masak | lol, I blogg'd. strangelyconsistent.org/blog/after-...m-workshop | 21:24 | |
FROGGS | lol, I read | 21:25 | |
tadzik | lol, do want | 21:27 | |
21:28
berekuk joined
|
|||
tadzik | yeah, that was awesome :) | 21:29 | |
lizmat | masak++ again! | ||
and on that thought, I'm calling it a day: "a day" | 21:30 | ||
masak | \o/ | ||
FROGGS | maybe I have time at the next event too, on may 1st I could just lurk a bit the last 30mins :/ | 21:31 | |
masak | FROGGS: when would be a good time for you? | 21:33 | |
FROGGS | more like 9pm to > midnight (berlin time) | 21:34 | |
I think we are one hour off atm | |||
masak | FROGGS: I think we're both on CET. | 21:35 | |
FROGGS | or, before 18pm on weekend | ||
it is 23:35p.m here | |||
masak | here too. | ||
FROGGS | I just was thinking the we must be of because jnthn said something about already midnight | ||
off* | |||
masak | (though 23:35 am would be weird) :P | 21:36 | |
FROGGS: well, jnthn is one timezone to the west at present :P | |||
don't assume that just because we're neighbors, we're in the same time zone :P | |||
er, east* | |||
FROGGS | ahh, I see *g* | 21:37 | |
lue is in an awkwardly position timezone for suggesting times (PDT/PST), relative to the most common timezones of #perl6 :P | 21:38 | ||
labster | I already live in PDT (Pacific Standard Time), so that sounds good to me :P | 21:39 | |
masak | how can I get lots of people to commit on four hours of workshop time that would suit them? | 21:40 | |
sort of like a kickstarter but for scheduling. | |||
lue | (#perl6's off-hours to me tend to be from 16:00 to somewhere in the 00:00..02:00 range) | 21:41 | |
21:41
kurahaupo joined
|
|||
masak | I know about doodle.com -- I'm curious if there's something people like even more. | 21:42 | |
FROGGS | I just wanted to say that | ||
I dont know something similar though | 21:43 | ||
21:45
PacoAir left
|
|||
gtodd | www.whenisgood.com ? doodle.com is the simplest I've seen | 21:46 | |
21:46
spider-mario left
|
|||
masak | all I know is May is out of the question. middle of June is the earliest I could commit to. | 21:46 | |
FROGGS | same for me | 21:47 | |
masak | oh, and if I don't hear from anyone about desired topics and tasks, I'm going to simply improve the current material, trying to make it more effective. | ||
but I'm very open for suggestions. | |||
lue | same here on the "after May" bit | ||
masak | ok, let me just throw a date out there: June 19. | 21:48 | |
and, since FROGGS requested it, from 18:00Z to 22:00Z. | 21:49 | ||
labster | Well, I haven't done all of the original material yet, so that works for me | ||
en.wikipedia.org/wiki/Juneteenth ? | |||
masak | (which will make it more difficult for Asians to attend, but maybe easier for people from the New World) | ||
I put it in my work schedule. | |||
we'll let it brew for a while, and make it official if people seem OK with that datetime. | 21:50 | ||
labster: oh, I didn't know that date had any special significance like that. | |||
labster: does that make it worse, or better, from your perspective? or doesn't matter? | 21:51 | ||
21:51
erkan joined,
erkan left,
erkan joined
21:53
Moukeddar joined
|
|||
labster | I'm on the west coast, and it's not celebrated out here. But for the places that it's a holiday, it would likely be easier. | 21:53 | |
lue | sounds like a good time to me :) | 21:55 | |
labster | It's not a major holiday, anyway, and it's the middle of the week. | ||
21:55
cognominal left
21:56
cognominal joined
|
|||
labster | 18-22Z sounds good to me, too | 21:56 | |
lue imagines the possible day when #masakism is a big enough deal to warrant a 24-hour workshop, just to avoid scheduling issues :) | 21:57 | ||
labster | that sounds like more of a #masakre | 21:59 | |
r: say IO::Path::Win32.new("\\\\server\\share\\").Str | 22:04 | ||
camelia | rakudo 88f9c9: OUTPUT«\\server\share\\» | ||
labster | dang, bugs already. harmless ones, but still. | ||
masak | one nice thing about repeatedly generating HTML for all of my posts all day is that I'm reminded of old posts. :) | 22:18 | |
for example, this is what programming on Rakudo was like in 2009: strangelyconsistent.org/blog/three-...-right-now | |||
we have *markedly* improved in the past four years. | |||
here's hoping the next four years will bring an improvement of the same magnitude. | 22:19 | ||
22:19
kurahaupo left
|
|||
census | yay for masakism | 22:20 | |
masak | census: glad you liked it ;) | 22:21 | |
22:22
kurahaupo joined
|
|||
lue | .oO(There was a time rakudo devs were nowhere to be seen?) |
22:23 | |
masak | or masak-of-2009 was using hyperbole. possibly. | 22:27 | |
22:33
cosimo left,
cosimo joined
22:35
Moukeddar left
22:36
dmol left
|
|||
cognominal | I commented about returning Nil on a failed match github.com/rakudo/rakudo/commit/5e...nt-3148676 | 22:52 | |
masak | 'night, #perl6 | 22:56 | |
labster | cognominal: you should try perl6-debug. it does a great job showing regex-in-progress. | ||
night, masak. | |||
23:19
itz__ joined,
Chillance left
23:21
rafl joined
23:31
census left
23:37
grondilu joined
|
|||
grondilu | rn: my $x = 13; say $x[0] | 23:44 | |
camelia | rakudo 88f9c9, niecza v24-37-gf9c8fc2: OUTPUT«13» | ||
23:44
berekuk left
23:45
berekuk joined
|
|||
geekosaur eyes that suspiciously | 23:47 |