»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by masak on 28 November 2015. |
|||
timotimo | computer is back! | 00:02 | |
dalek | c: 809fde6 | ab5tract++ | doc/Type/Hash.pod: Make the example work for more than two instants |
||
00:03
kid51 joined
00:06
cpage_ joined
|
|||
lizmat | jdv79: three letters SW7 | 00:06 | |
it was nice, it was 3D, it had a lot of action, and felt like a re-imagination of SW4 to me | 00:07 | ||
timotimo | i sure hope my blog post text isn't gone now ... | 00:09 | |
it's still there \o/ | 00:12 | ||
lizmat | :-) | ||
timotimo | hm, i didn't check exactly how far our sized and signedness support for lexicals and such has come | 00:15 | |
m: my int8 $foo = 10000; say $foo; | |||
camelia | rakudo-moar cfb1f3: OUTPUT«16» | ||
timotimo | ah, neat. | ||
m: my int8 $foo = -1; my uint8 $bar = -1; say $foo; say $bar; | |||
camelia | rakudo-moar cfb1f3: OUTPUT«-1255» | ||
00:17
davercc` joined
00:18
kid51 left
00:19
kid51 joined
00:20
rurban_ left
|
|||
timotimo | .u two | 00:20 | |
yoleaux | U+0012 DEVICE CONTROL TWO [Cc] (␒) | ||
U+001E INFORMATION SEPARATOR TWO [Cc] (␞) | |||
U+0032 DIGIT TWO [Nd] (2) | |||
ab6tract | m: my $x = 'hitchhikers'; my %answers := :{ $x => 42 }; for %answers.keys -> $k is rw { $k = 'not-' ~ $k } | 00:21 | |
camelia | rakudo-moar cfb1f3: OUTPUT«Parameter '$k' expected a writable container, but got Str value in block <unit> at /tmp/5kYyd3vXvc:1» | ||
timotimo | .u three | ||
yoleaux | U+0013 DEVICE CONTROL THREE [Cc] (␓) | ||
U+001D INFORMATION SEPARATOR THREE [Cc] (␝) | |||
U+0033 DIGIT THREE [Nd] (3) | |||
timotimo | oh lord. | ||
how many of those are there ... | |||
m: (128 .. 0x1000).grep( .uniname ~~ / DIGIT / ).map( .chr.say ) | 00:22 | ||
camelia | rakudo-moar cfb1f3: OUTPUT«Method 'uniname' not found for invocant of class 'Any' in block <unit> at /tmp/FbmBulbwSl:1» | ||
ab6tract | so .keys doesn't seem to fully respect object hashes... | ||
timotimo | m: (128 .. 0x1000).grep( .&uniname ~~ / DIGIT / ).map( .chr.say ) | ||
camelia | rakudo-moar cfb1f3: OUTPUT«Cannot call uniname(Any); none of these signatures match: (Str:D $str) (Int:D $code) in block <unit> at /tmp/zsI0FOPjdh:1» | ||
timotimo | huh, what am i doing wrong here? | ||
m: (128 .. 0x100).grep( * < 20) | |||
camelia | ( no output ) | ||
timotimo | m: (128 .. 0x100).grep( * < 20).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«()» | ||
timotimo | m: (128 .. 0x100).grep( * < 2000).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«(128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191…» | ||
timotimo | m: (128 .. 0x100).grep( *.uniname ).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«(130 131 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195…» | ||
flussence | m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( .chr.say ) | 00:23 | |
timotimo | m: (128 .. 0x100).map( *.uniname ).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«Method 'chr' not found for invocant of class 'Any' in block <unit> at /tmp/OpeNS4z5OV:1» | ||
rakudo-moar cfb1f3: OUTPUT«( BREAK PERMITTED HERE NO BREAK HERE NEXT LINE (NEL) START OF SELECTED AREA END OF SELECTED AREA CHARACTER TABULATION SET CHARACTER TABULATION WITH JUSTIFICATION LINE TABULATION SET PARTIAL LINE FORWARD PARTIAL LINE BACKWARD REVERSE LINE FEED SINGLE SHIF…» | |||
timotimo | oh, duh | ||
thank you, flussence :) | |||
flussence | I got it wrong the other day too :) | ||
00:23
protium left
|
|||
timotimo | i was operating on the completely wrong $_ | 00:23 | |
i feel really tired and i must finish that blog post :) | |||
m: (128 .. 0x1000).grep( *.&uniname ~~ / DIGIT / ).map( .chr.say ) | |||
camelia | rakudo-moar cfb1f3: OUTPUT«WhateverCode object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/1WW15xDpwT:1Method 'chr' not found for invocant of class 'Any' in block <unit> at /tmp/1WW15xDpwT:1» | ||
timotimo | %) | ||
m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( .chr.say ) | |||
camelia | rakudo-moar cfb1f3: OUTPUT«Method 'chr' not found for invocant of class 'Any' in block <unit> at /tmp/1gwqf29BIJ:1» | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.chr.say ) | 00:24 | |
camelia | rakudo-moar cfb1f3: OUTPUT«٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹ݳݴݵݶݷݸݹݺݻݼݽ߀߁߂߃߄߅߆߇߈߉०१२३४५६७८…» | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DIE / }).map( *.chr.say ) | ||
camelia | ( no output ) | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.chr.say ) | ||
camelia | ( no output ) | ||
timotimo | where them die at | ||
.u dice | |||
yoleaux | No characters found | ||
timotimo | .u die | ||
yoleaux | U+2680 DIE FACE-1 [So] (⚀) | ||
U+2681 DIE FACE-2 [So] (⚁) | |||
U+2682 DIE FACE-3 [So] (⚂) | |||
timotimo | there they are | ||
00:24
raiph left
|
|||
timotimo | m: say +⚂ | 00:24 | |
camelia | rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dmFiSBa72BPrefix + requires an argument, but no valid term foundat /tmp/dmFiSBa72B:1------> 3say +7⏏5⚂ expecting any of: prefix» | ||
timotimo | m: say +"⚂" | ||
camelia | rakudo-moar cfb1f3: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5⚂' (indicated by ⏏) in block <unit> at /tmp/KW6A8aJ2nd:1Actually thrown at: in block <unit> at /tmp/KW6A8aJ2nd:1» | ||
timotimo | ah, symbol/other doesn't do it | ||
too bad :) | |||
flussence | m: say '⚀'.unival | 00:25 | |
camelia | rakudo-moar cfb1f3: OUTPUT«NaN» | ||
timotimo | m: say ٦ + ݺ | ||
camelia | rakudo-moar cfb1f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ABhEg0IOdaUndeclared routine: ݺ used at line 1» | ||
timotimo | oh, damn! | ||
i forgot the unicode consortium didn't put values to them | |||
m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.uniprop ).Bag.say | 00:26 | ||
camelia | rakudo-moar cfb1f3: OUTPUT«bag()» | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DICE / }).map( *.uniprop ).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«()» | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.uniprop ).say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«(Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Lo Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd Nd …» | ||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).map( *.uniprop ).Bag.say | ||
camelia | rakudo-moar cfb1f3: OUTPUT«bag(Lo(11), Nd(160), No(17))» | ||
00:26
lsm left
|
|||
timotimo | which of those do we accept for numbers? probably only Nd? | 00:26 | |
m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).grep( *.uniprop eq 'Nd' ).join.say | 00:27 | ||
camelia | rakudo-moar cfb1f3: OUTPUT«1632163316341635163616371638163916401641177617771778177917801781178217831784178519841985198619871988198919901991199219932406240724082409241024112412241324142415253425352536253725382539254025412542254326622663266426652666266726682669267026712790279127922793…» | ||
timotimo | haha | ||
m: (128 .. 0x1000).grep({ .uniname ~~ / DIGIT / }).grep( *.uniprop eq 'Nd' ).map( *.chr ).join.say | |||
camelia | rakudo-moar cfb1f3: OUTPUT«٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬੭੮੯૦૧૨૩૪૫૬૭૮૯୦୧୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧౨౩౪…» | ||
timotimo | m: say ৪ + ૪ | ||
camelia | rakudo-moar cfb1f3: OUTPUT«8» | ||
timotimo | good | ||
m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).grep( *.uniprop eq 'Nd' ).map( *.chr ).join.say | |||
camelia | rakudo-moar cfb1f3: OUTPUT«» | ||
00:27
hankache left
|
|||
timotimo | m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).map( *.uniprop ).Bag.say | 00:27 | |
camelia | rakudo-moar cfb1f3: OUTPUT«bag(Mn(2), No(3))» | ||
timotimo | wow, that's really not many, he? | 00:28 | |
m: (128 .. 0x1000).grep({ .uniname ~~ / SUPERSCRIPT / }).map( *.chr ).join.say | |||
lucasb | tomorrow you will wonder who created this huge backlog :) | ||
camelia | rakudo-moar cfb1f3: OUTPUT«²³¹ٰܑ» | ||
dalek | c: cc397c0 | ab5tract++ | doc/Type/Hash.pod: Document in-place editing of hash values |
||
timotimo | i'm good at skipping my own crap. but do you want me to do this stuff locally? | ||
that'd probably be better | |||
geekosaur | there's also /query | ||
lucasb | timotimo++, I'm just kidding :) | ||
ab6tract | timotimo: i usually cut myself off at 5 consecutive camelias :) | 00:29 | |
lizmat | ab6tract: keys are always supposed to be ro | ||
timotimo | good point, yeah | 00:31 | |
oh hey lizmat, you're still awake, too | |||
how's your flu tonight? | 00:32 | ||
00:32
firstdayonthejob left
|
|||
lizmat | today was the first day we went out of the door... to the cinema, at 22:15 | 00:33 | |
still not 100%, :-( | |||
TEttinger | m: say ٦ + ٧ + ٨ | ||
camelia | rakudo-moar cfb1f3: OUTPUT«21» | ||
00:33
ab6tract left
|
|||
lizmat | TEttinger: isn't there a factor 2 missing? :-) | 00:34 | |
TEttinger | m: say ٦³ + ٧ + ٨ | ||
camelia | rakudo-moar cfb1f3: OUTPUT«231» | ||
TEttinger | so ٦ is 6 | 00:35 | |
timotimo | i can't help but think people are going to use this as a reason to say perl6 is stupid. | ||
TEttinger | stupid LIKE A FOX | 00:36 | |
ShimmerFairy | timotimo: honestly, I think it'd be dumb if we supported unicode variable/function/etc. names, but not unicode numbers (which is why I put in the digit support in the first place) :) | ||
timotimo | ShimmerFairy: don't get me wrong. i kind of love it, personally. | ||
00:36
davercc joined
|
|||
ShimmerFairy | Yeah, I just wanted to mention the positive about it :) | 00:37 | |
timotimo | .u - | ||
yoleaux | U+002D HYPHEN-MINUS [Pd] (-) | ||
timotimo | is "HYPHEN-MINUS" retconned? %) | ||
00:38
lsm joined
|
|||
lizmat | good night, #perl6! | 00:38 | |
timotimo | gnite and get well soon, lizmat :) | ||
TEttinger | FEEL AFFLUENT AND FLUENT RATHER THAN FLUISH SOON... | 00:39 | |
_nadim | night all | 00:40 | |
Juerd | Welterusten | 00:41 | |
00:41
lucasb left
00:42
cpage_ left,
ShimmerFairy left
00:48
cpage_ joined
00:51
ShimmerFairy joined
|
|||
dalek | kudo-star-daily: 9721109 | coke++ | log/ (8 files): today (automated commit) |
00:54 | |
00:57
koo8 left
|
|||
grondilu | off topic but livetream for spaceX launch in half-hour is starting: www.youtube.com/watch?v=O5bTbVbe4e4 | 00:58 | |
01:02
yeahnoob joined
01:05
grondilu left,
grondilu joined
|
|||
timotimo | cool | 01:08 | |
i'll hopefully be in bed sleeping by that time | |||
but ... will not likely make that | |||
01:10
raiph joined
|
|||
[Coke] | just got an error doing a make install. | 01:11 | |
01:21
lsm left
01:23
adu joined,
lsm joined
01:25
lsm left
01:26
lsm joined
01:27
protium joined
01:30
woodruffw left,
lsm left
01:31
woodruffw joined
01:33
Brian__ joined,
Brian__ left,
ellybelly left,
bdmatatu joined
|
|||
timotimo | p6weekly.wordpress.com/2015/12/22/...e-release/ - post publisherized! | 01:34 | |
01:36
[Sno] joined
01:38
sno left
|
|||
grondilu | holy crap they did it | 01:39 | |
timotimo | wow | 01:40 | |
it landed | |||
grondilu | the Falcon 9 landed | ||
timotimo | and it's upright | ||
01:46
molaf_ joined,
lsm-desktop joined,
molaf left
01:48
psy_ joined
01:49
psy_ left,
psy_ joined
|
|||
timotimo | okay, now off to bed | 01:51 | |
gfldex | .tell timotimo the monkeyness of EVAL was weekly forgotten | 02:05 | |
yoleaux | gfldex: I'll pass your message to timotimo. | ||
02:08
vendethiel joined
02:09
bdmatatu left
02:10
molaf__ joined
02:12
molaf_ left
|
|||
diakopter | cool, yeah [OT] falcon 9 landing youtu.be/MFN1jcFgJfw | 02:16 | |
02:18
zhi joined
02:21
cpage_ left,
xpen joined
02:22
cpage_ joined
02:31
vendethiel left
02:36
zengargoyle left
02:37
rhr left
02:38
rhr joined,
rurban1 left
02:39
kaare_ joined
02:57
rhr left
02:58
rhr joined
03:01
cpage_ left
03:13
zengargoyle joined
03:22
noganex_ joined
03:23
kid51 left
03:24
noganex left
03:26
asdf-man joined
03:29
asdf-man left
03:36
protium left
03:39
cpage_ joined,
kaare_ left
03:57
molaf__ left
04:00
zhi left
04:05
n0tjack joined
04:06
CQ2 joined
04:08
CQ left,
CQ2 is now known as CQ
04:10
n0tjack left,
yqt left
04:16
AndyDee left
04:18
psy_ left,
adu left
04:20
AndyDee joined
04:24
xpen left
04:33
BenGoldberg_ joined
04:37
quester joined
04:38
xpen joined
|
|||
quester | yoleaux .botsnack | 04:38 | |
04:50
adu joined,
adu left
|
|||
skids | Hrm. This one's going to be hard to golf. Under some certain combination of concurrent constructs, Proc::Async, and Test, a script that uses Test hangs. | 05:03 | |
skids thinks he'll leave that one till later. | |||
probably MONKEY-SEE-NO-EVAL related. | |||
05:14
BenGoldberg_ left
05:39
khw left
|
|||
TimToady et al. in SoCal | 05:41 | ||
05:53
raiph left
06:00
skids left
|
|||
uruwi | is Template::Mojo not fixed yet...? | 06:17 | |
TimToady | doesn't look lik eit | 06:19 | |
06:22
darutoko joined
|
|||
uruwi | Technically I can start developing now! | 06:42 | |
06:46
labster joined
06:48
pierre-vigier left,
labster left
06:56
geraud left,
pierre-vigier joined
06:58
n0tjack joined
07:00
pierre-vigier left,
pierre-vigier joined
07:01
pierre-vigier left
07:03
n0tjack left,
uruwi left
07:05
uruwi joined
07:09
pierre-vigier joined
07:13
FROGGS joined
07:19
ellybelly joined
07:20
ellybelly left,
ellybelly joined
07:23
pierre-vigier left
07:25
pierre-vigier joined,
pierre-vigier left
07:28
xpen left
|
|||
[Tux] | test 50000 23.593 23.481 | 07:30 | |
test-t 50000 13.948 13.836 | |||
csv-parser 50000 51.062 50.950 | |||
07:36
xpen joined
|
|||
raydiak | good evening, #perl6 | 07:40 | |
just rakudobrewed, and panda seems broken due to missing Shell::Command | 07:41 | ||
07:41
vividsnow left
07:42
mohae left
|
|||
nine | raydiak: can you give me details? | 07:43 | |
raydiak | sure, what kind of details? | 07:44 | |
nine | The full error message would be a start | 07:46 | |
raydiak | any invocation of panda gives gist.github.com/anonymous/24eb0adbc81ce4a0a238 | 07:47 | |
07:48
[Sno] left
|
|||
dalek | kudo/nom: e19dab5 | usev6++ | t/spectest.data: Do not run UDP tests on JVM (NYI) |
07:48 | |
kudo/nom: 73d193b | FROGGS++ | t/spectest.data: Merge pull request #647 from usev6/spectest_udp_jvm Do not run UDP tests on JVM (NYI) |
|||
nine | And perl6 -MShell::Command -e '' # gives you the same? | 07:49 | |
raydiak | I deleted ~/.rakudobrew/moar-nom and started it recompiling before I thought to mention the problem here, so I can let you know in a couple minutes when it's done if it's still broken :) | 07:51 | |
nine | It may have sufficed to just run panda's bootstrap.pl ;) | 07:52 | |
El_Che | I noticed precomp generating false warning when developing a module (when the source is changed): gist.github.com/nxadm/1726865fe240719ae7d7 | ||
07:53
silug left
|
|||
raydiak | nine: already tried that, didn't help | 07:53 | |
El_Che | even when you don't delete .precomp, the first run of the program (when not in a row) gives the warning: Use of uninitialized value %ENV of type Any in string context | ||
nine | El_Che: can you get the exact location of that message with --ll-exception? | 07:54 | |
El_Che | ok | ||
nine: identical output | |||
it doesn't look like an exception, the program runs fine | 07:55 | ||
07:57
hartenfels left
|
|||
El_Che | it's weird. If I run it in a series, only the first runs has it. If I wait a few minutes, the first time after that gives the warning. | 07:57 | |
ow, it's certainly related to 'run' | |||
my $proc = run ~$.bin, ~$.file_left, ~$.file_right, :out; my $diff = $proc.out.slurp-rest; | 07:58 | ||
commenting the run line out makes the warning disappear | 07:59 | ||
nine | El_Che: do you access %*ENV anywhere before that? | 08:01 | |
raydiak | nine++ : that seems to have fixed it, I guess it was just something to do with recent changes and trying to rakudobrew over a rather old version...thanks for the help though :) | 08:02 | |
nine | raydiak: glad it works for you now :) | 08:03 | |
08:04
lustlife joined
08:05
CIAvash joined
08:12
rurban joined
08:13
[Sno] joined
08:15
silug joined
|
|||
nwc10 | stmuk: Well, this was an "install party" so it seemed "on topic". And, for some reason (not planned) I have 2 bottles. Well, had. | 08:17 | |
08:19
km3 joined
08:24
firstdayonthejob joined
08:28
RabidGravy joined
|
|||
_nadim | Good morning all | 08:29 | |
RabidGravy | morning! | ||
08:38
luiz_lha joined
08:39
luiz_lha is now known as Guest94351
08:43
Guest94351 left
08:45
luiz_lah joined
|
|||
dalek | ast: ec013cb | usev6++ | S10-packages/precompilation.t: Fix typo: test newly created array @precompiled2 |
08:45 | |
08:47
stmuk left
08:48
luiz_lah is now known as luiz_lha
08:49
CIAvash left
08:53
rurban_ joined,
CIAvash joined
08:54
rurban left,
stmuk joined
08:55
mre joined
09:01
dakkar joined
09:10
labster joined
|
|||
El_Che | nine: no. | 09:14 | |
09:16
jdrab_ left
|
|||
RabidGravy | I asked thiis a long time ago, but I forgot the answer, how do I find whether a system is 32 or 64 bits (in a program) | 09:16 | |
I thought it was $?BITS but no | |||
m: say $?BITS | |||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AoHnQIqjDEVariable '$?BITS' is not declaredat /tmp/AoHnQIqjDE:1------> 3say 7⏏5$?BITS» | ||
nine | RabidGravy: oh, that's trivial! my constant $?BITS = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? 64 !! 32; } | 09:19 | |
RabidGravy | Oh yeah I'm looking at the code for that right here ;-) But I thought it was exposed somewhere | 09:21 | |
El_Che | sorry nine, I was doing an intervention. Db is aan indexing now :) | ||
lizmat | m: say $*KERNEL.bits | ||
camelia | rakudo-moar 73d193: OUTPUT«64» | ||
El_Che | nine: you get the same behaviour when using run in the repl, btw | ||
lizmat | RabidGravy: ^^^ | 09:22 | |
RabidGravy | :) see I knew someone else would remember ;-) cheers lizmat | ||
lizmat | moarn! | 09:23 | |
RabidGravy | strangely though | ||
m: use nqp; my constant $?BITS = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? 64 !! 32; }; say $?BITS | |||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lEJ5Xjqk38Constants with a '?' twigil not yet implemented. Sorry. at /tmp/lEJ5Xjqk38:1------> 3qp::iseq_i($a,8589934591) ?? 64 !! 32; }7⏏5; say $?BITS» | ||
RabidGravy | so how does that code in Int even work? | ||
nine | Maybe it's just allowed in the setting | 09:24 | |
lizmat | only core settings are allowed to do $?FOO | ||
at least until 6.c | |||
RabidGravy | ah okay | ||
lizmat | fwiw, the implementation of bits is now: $!bits //= $.hardware ~~ m/_64|w|amd64/ ?? 64 !! 32; | ||
perhaps nine's code would be better ? | 09:25 | ||
nine | lizmat: it's not mine :) I found it in Int.pm | ||
lizmat | interesting | ||
RabidGravy | it's used for calculating the Range of an Int | 09:26 | |
nine | Also those are answers to different questions: $*KERNEL.bits tells you if the operating system is 64 or 32 bits while $?BITS tells you what your rakudo supports. You could run a 32 Bit rakudo on a 64 Bit OS | 09:27 | |
lizmat | hmmm... I vaguely remember some discussion about whether or not to expose $?BITS | ||
RabidGravy | m: use nqp; my constant MyInt = do { my int $a = 0x1ffffffff; nqp::iseq_i($a,8589934591) ?? int64 !! int32; }; say MyInt | 09:28 | |
camelia | rakudo-moar 73d193: OUTPUT«(int64)» | ||
RabidGravy | that's sorta kinda what I want | ||
lizmat | RabidGravy: isn't that just "int" ? | 09:29 | |
RabidGravy | is it? that would be lovely | ||
nine | int should be the platform int IIRC | 09:30 | |
lizmat | afaik, "int" is defined as the platform int | ||
hmm.... | |||
m: say int.Range | |||
camelia | rakudo-moar 73d193: OUTPUT«-9223372036854775808..9223372036854775807» | ||
lizmat | would be different on a 32bit build | ||
RabidGravy | I'm sure I had difficulty with it in a native binding before, but I'll try it and see | 09:31 | |
(what's a core dump among friends ;) | 09:32 | ||
lizmat | :-) | ||
afk for a few hours& | |||
09:32
cuonglm joined
|
|||
cuonglm | Hi, anyone get error when installing rakudo from source with the latest git? | 09:34 | |
I got this error pastebin.com/3DiUSMn5 | 09:35 | ||
It seems that `tools/build/install-core-dist.pl` did not looking up the right destination dir | |||
nine | cuonglm: please remove your install/share/perl6 directory and run make install again. It's a one time issue caused by a change of versioning of the CORE dist | 09:37 | |
09:39
brrt joined
|
|||
cuonglm | :nine I used stow to manage /usr/local | 09:40 | |
09:40
rindolf joined,
quester left
|
|||
nine | stow? | 09:41 | |
brrt | good hi #perl6 | 09:42 | |
yoleaux | 21 Dec 2015 15:02Z <RabidGravy> brrt: fixed LibraryCheck with v0.0.5 | ||
brrt | RabidGravy++ | ||
are LPW2015 videos online yet | |||
cuonglm | :nine It's GNU stow | ||
:nine Anyway, it worked now, remove my /usr/local/stow/perl6/share then make install again | 09:43 | ||
:nine So every time version in CORE dist changed, I must do this action? | 09:44 | ||
nine | cuonglm: no, this one time only. We didn't change just the version but the way the version gets generated. Unfortunatly the new versions are lower than the old ones. | ||
09:45
labster1 joined
|
|||
cuonglm | :nine Yeah, thanks for the information. | 09:45 | |
09:45
labster left
09:47
labster joined
09:49
nwc10 left
09:50
labster1 left
09:52
yeahnoob left
09:54
cuonglm left
09:56
xinming left
|
|||
uruwi | Strangely, on 64-bit platforms int is 64-bit on Linux but 32-bit on Windows | 10:02 | |
Or maybe it's because I was testing it on 2015.09 for Windows | |||
dalek | blets: 2854610 | lichtkind++ | docs/appendix-b-grouped.txt: fix whitespace |
||
nine | uruwi: there are different models for what int should be on a 64 bit system. And I seem to remember that this is indeed a difference between Linux and Windows | 10:03 | |
uruwi | m: my int $a = 2**63-1; ++$a; say $a; | ||
camelia | rakudo-moar 73d193: OUTPUT«-9223372036854775808» | ||
brrt | yes, windows is evil | ||
nine | uruwi: en.wikipedia.org/wiki/64-bit | 10:04 | |
uruwi | That works on one line, but if I type each line individually on the REPL, the second line chokes the program | ||
moritz | uruwi: natives in the REPL are a known problem | ||
RabidGravy | uruwi, nine that's fine, what I'm doing is unlikey to work on windows anyway :) | 10:07 | |
10:07
xinming joined
|
|||
masak | good antenoon, #perl6 | 10:08 | |
RabidGravy | good 10ish GMT masak | 10:09 | |
10:09
bitman joined
|
|||
brrt | good sometime masak | 10:10 | |
10:11
thomax joined,
bitman left
10:17
rindolf left
|
|||
dalek | blets: 71ca088 | lichtkind++ | docs/appendix-b-grouped.txt: testing new navigation for index B |
10:20 | |
blets: e648d95 | lichtkind++ | docs/appendix-b-grouped.txt: next bunch of set ops |
|||
10:21
labster left
|
|||
_nadim | Hmmm! why can't I camm a sub X? X1 is fine | 10:26 | |
call a sub X | |||
10:28
M-Illandan1 left,
eternaleye left
|
|||
RabidGravy | there's an X operator | 10:29 | |
m: sub X { } say X | |||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OXNjBmbtnuStrange text after block (missing semicolon or comma?)at /tmp/OXNjBmbtnu:1------> 3sub X { }7⏏5 say X expecting any of: infix infix stopper statemen…» | ||
RabidGravy | m: sub X { }; say X | 10:30 | |
camelia | rakudo-moar 73d193: OUTPUT«(X)» | ||
RabidGravy | or rather | ||
m: say X.perl | |||
camelia | rakudo-moar 73d193: OUTPUT«X» | ||
RabidGravy | m: say X.WHAT | ||
camelia | rakudo-moar 73d193: OUTPUT«(X)» | ||
RabidGravy | m: sub X() { }; say X() | 10:31 | |
camelia | rakudo-moar 73d193: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CoercionHOW' in block <unit> at /tmp/QlUWPk7py1:1» | ||
nine | m: sub X($a) { $a }; say X(1) | 10:32 | |
camelia | rakudo-moar 73d193: OUTPUT«Cannot invoke this object in block <unit> at /tmp/U2pOFhEt0l:1» | ||
_nadim | I just stumbled on it, not calling things X, I tried to find the operator X, X, and then had to dig in the long (but goody) list of operators | 10:33 | |
10:36
espadrine joined,
riatre left
10:37
RabidGravy left
|
|||
gfldex | .tell timotimo please ignore me, i'm visually challenged | 10:38 | |
yoleaux | gfldex: I'll pass your message to timotimo. | ||
timotimo | gfldex: sure | ||
yoleaux | 02:05Z <gfldex> timotimo: the monkeyness of EVAL was weekly forgotten | ||
10:38Z <gfldex> timotimo: please ignore me, i'm visually challenged | |||
_nadim | Can someone please remind me (again) how I can return a reference? sub my_sub { my %h ; .... ; return %h, 42} (%h,$i) = my_sub ; | 10:39 | |
timotimo | i just woke up for this | ||
nine | _nadim: &my_sub | ||
_nadim | nine: thanks, and the explanation for this ugliness is? | ||
10:42
M-eternaleye joined
|
|||
_nadim | well that actually makes no difference! | 10:43 | |
gfldex | _nadim: you can return anything but a reference | ||
there may be reasons to return an explicit capture in some cases tho | 10:44 | ||
_nadim | that's what I thought but I get odd number of elements, 2 secs | ||
llfourn | m: sub my_sub { return { a => 'b'}, 42 }; my (%h,$i) := my_sub(); %h.say; $i.say #crosses fingers | 10:45 | |
camelia | rakudo-moar 73d193: OUTPUT«a => b42» | ||
llfourn | is that what you wanted _nadim? | ||
10:46
cibs left
|
|||
nine | _nadim: oh, sorry, I misunderstood your question | 10:47 | |
_nadim | m: sub my_sub {my %h = a => 1 ; %h, 42} ; my (%h, $i) = my_sub() ; | ||
camelia | rakudo-moar 73d193: OUTPUT«Odd number of elements found where hash initializer expected in block <unit> at /tmp/gtJBEp3mcf:1» | ||
_nadim | nine: :) | ||
FROGGS | the %h will gobble the stuff | ||
m: sub my_sub {my %h = a => 1 ; %h, 42} ; my ($h, $i) = my_sub(); | |||
camelia | ( no output ) | ||
FROGGS | m: sub my_sub {my %h = a => 1 ; %h, 42} ; my ($h, $i) = my_sub(); say $h | ||
camelia | rakudo-moar 73d193: OUTPUT«a => 1» | ||
FROGGS | _nadim ^^ | 10:48 | |
timotimo | maybe we should warn when we see something like (%h, $i) = ... ? | ||
_nadim | anything that doesn't force me to change sigil? | ||
nine | timotimo: and (@a, $i) = ... | ||
llfourn | _nadim: the reason it errored in your last example was because you didn't use := | ||
timotimo | yeah | ||
_nadim | Argggg! | 10:49 | |
and I knew that | |||
gfldex | a slurpy has to be at the end of a parameter list | ||
timotimo | well, it's not really a slurpy | ||
FROGGS | m: sub my_sub {my %h = a => 1 ; %h, 42} ; my (%h, $i) := my_sub(); say %h | ||
camelia | rakudo-moar 73d193: OUTPUT«a => 1» | ||
timotimo | slurpyness only works on signature binding | ||
FROGGS | so yeah, we should warn and hint at these two options | 10:50 | |
timotimo | in this case it's just regular assignment that breaks things | ||
_nadim | I was a bit proud that I finally used := for something yesterday and now it bites me back | ||
gfldex | binding is hard | ||
10:52
cibs joined,
M-Illandan joined
|
|||
timotimo | when trying to wake up i had the excellent idea for a toy language named "SnoozePL" | 10:53 | |
you get a barrage of random statements and all you can do is snooze them or execute them | |||
so it's more like a interactive programming experience | |||
gfldex | is that the language electronic sheep deam in? | 10:54 | |
uruwi | Hmm, even having a terminal-like character grid in the browser poses a big problem.] | ||
timotimo | i wouldn't recommend dreaming in that language | ||
uruwi: hum? | 10:55 | ||
uruwi | all fun and games until you want to display Japanese | ||
(was going to use unicodetiles.js for frontend) | |||
10:55
crux left
|
|||
uruwi | at least it works in dom mode | 10:57 | |
timotimo | i have kind of no clue what you're talking about | 10:58 | |
uruwi | Now I'm considering a still text-based, but having stuff like tables interface | ||
TEttinger | uruwi: rot.js ? | ||
uruwi | I planned on a text-based RPG | ||
timotimo | text-based RPG: easy. text-based JRPG: really difficult! | 10:59 | |
uruwi | TEttinger: I looked at it, but I just need a way to display things as most of the work will be in Perl 6 | ||
10:59
cibs left
|
|||
TEttinger | ah ok | 10:59 | |
timotimo: sounds like Tinder: the PL | 11:01 | ||
swipe left or right | |||
uruwi | at least this works imgur.com/x11ALpc, but I'm worried about how much space English text will take then | 11:02 | |
11:02
rindolf joined
|
|||
timotimo | hehe | 11:02 | |
"what kind of statement do you like?" | |||
uruwi | (as I also plan on supporting multiple languages) | ||
timotimo | you're using double-width ascii? | 11:03 | |
actually, compared between the japanese and english characters it looks like the ascii is quad-width | |||
11:04
cibs joined
|
|||
uruwi | Well, it's not supposed to be double-width; that's just how it looks once you put fullwidth characters in DOM mode | 11:05 | |
in WebGL or canvas display, half the character gets cut off. | |||
Plus all the space between the lines; I'm afraid that UT won't work. | 11:06 | ||
lizmat | m: class A { }; sub A { say "foo" }; A # the problem is not limited to X | ||
camelia | rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/qLVdu97Ftf:Useless use of constant value A in sink context (line 1)» | ||
lizmat | we should probably warn on creating a sub with the name of a class in scope | 11:07 | |
uruwi | At least not for anything outside a map interface, so the HTTP protocol will be more complex. | ||
lizmat | m: { class A { } }; sub A { say "foo" }; A # and class being our by default, makes things more complicated | ||
camelia | rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/FpkouGVDea:Useless use of constant value A in sink context (line 1)» | 11:08 | |
uruwi | Or resort to extreme methods such as having the server send JS for the client to execute | ||
lizmat | m: { my class A { } }; sub A { say "foo" }; A # only if you make the class lexical, are we ok | ||
camelia | rakudo-moar 73d193: OUTPUT«foo» | ||
timotimo | m: my class A { }; sub A { say "urgh" }; A | 11:09 | |
camelia | rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/Ub7wPkEmrB:Useless use of constant value A in sink context (line 1)» | ||
timotimo | mhm mhm | ||
11:10
administrator joined
11:11
administrator is now known as Guest79423
|
|||
jnthn | There was already an xmas RT or two on the type vs. sub distinction; the answer was the type wins. | 11:11 | |
yoleaux | 21 Dec 2015 16:15Z <pmurias> jnthn: why is isbig_I checking for the value fitting in 32bits when long is 64bits on the jvm? | ||
jnthn | Meaning A() where A is a type will consistently produce a coercion type | 11:12 | |
lizmat | but shouldn't we at least warn when someone is creating a sub with the same name as a class in a scope ? | ||
timotimo | well, it can still be reached with &A | ||
lizmat | hence the warn :-) | 11:13 | |
jnthn | There already *is* a warning on the mistaken usage. | ||
lizmat | well, ok, maybe not... | ||
jnthn | But also | ||
lizmat | anyways, good noon, jnthn :-) | ||
timotimo | do we have something that turns warnings off if you know what you're doing? | ||
jnthn | Subs/methods get lowercase names by standard coding conventions. | ||
timotimo | yup, goon nood, dood! | ||
jnthn | And types uppercase (aside from natives) | ||
11:16
czester joined,
czester left
11:17
czester13 joined
|
|||
FROGGS | o/ | 11:17 | |
11:18
cibs left,
cibs_ joined
|
|||
czester13 | hi, I have one question .. what should be value of 'enc' parameter of 'slurp' function to allow 'cp1250' encoding? | 11:21 | |
11:23
cibs_ left,
cibs joined
11:25
cibs left
|
|||
lizmat | czester13: have you tried :enc<cp1250> ? | 11:25 | |
11:26
km3 left
|
|||
FROGGS | czester13: windows-1252 | 11:26 | |
timotimo | also, it might not be implemented yet on moarvm ... | ||
lizmat | FROGGS: 1252 ? | ||
FROGGS | there is no shortcut for cp1250 yet | ||
ohh, hups | |||
11:26
firstdayonthejob left
|
|||
FROGGS | well, windows-1252 is the only we have implemented | 11:26 | |
11:27
AlexDaniel joined
|
|||
AlexDaniel | m: my Int $x = Inf; | 11:27 | |
camelia | rakudo-moar 73d193: OUTPUT«===SORRY!===Cannot find method 'value'» | ||
FROGGS | czester13 / lizmat: look: github.com/rakudo/rakudo/blob/nom/...#L236-L257 | ||
11:28
firstdayonthejob joined,
Guest79423 left
|
|||
lizmat | FROGGS: should we add cp1250 as an alias for windows-1250 at least ? | 11:28 | |
11:28
cibs joined
|
|||
AlexDaniel | m: say Int.Range | 11:29 | |
camelia | rakudo-moar 73d193: OUTPUT«-Inf..Inf» | ||
FROGGS | lizmat: that won't help if we do not support 1250 at all | ||
AlexDaniel | perhaps it should say -Inf^..^Inf ? | ||
czester13 | FROGGS: ok, thanx for info :) | ||
lizmat | AlexDaniel: well, that would perhaps convey better that we can't put an Inf into a bigInt | 11:30 | |
FROGGS | czester13: perhaps you can slurp in a byte buffer and extend Encode for your needs... github.com/sergot/perl6-encode | ||
11:30
kid51 joined
|
|||
FROGGS | lizmat: the design docs state that Int should be able to store Inf | 11:31 | |
11:33
brrt left
|
|||
timotimo | oh, yeah. i remember lots of talk about that, FROGGS | 11:34 | |
AlexDaniel | timotimo: was there any final decision? | ||
11:35
andreoss joined
11:36
lucasb joined
|
|||
lizmat | before Christmas, no Inf in Int | 11:36 | |
timotimo | i'm not sure. i remember there being serious worries it can be done without running into implementation problems? | ||
lizmat | after Christmas, who knows, but chances are not good, afaiu | ||
thomax | do we get perl 6.christmas? | 11:39 | |
11:40
regreg joined
|
|||
AlexDaniel | thomax: you can write a letter to Santa :) | 11:41 | |
11:41
ZoffixWin joined
|
|||
ZoffixWin | .u ૪ | 11:41 | |
yoleaux | U+0AEA GUJARATI DIGIT FOUR [Nd] (૪) | ||
ZoffixWin | m: ૪૪૪ + 42 | ||
camelia | rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/GylQwEjmWF:Useless use of "+" in expression "૪૪૪ + 42" in sink context (line 1)» | ||
thomax | i did 15 yrs ago. | 11:42 | |
ZoffixWin | hm, weird. | ||
AlexDaniel | ZoffixWin: weird what? Looks like it works | ||
lizmat | m: say ૪૪૪ + 42 | ||
camelia | rakudo-moar 73d193: OUTPUT«486» | ||
AlexDaniel | thomax: good! Then there is a high chance that we will get it this year :) | 11:43 | |
lizmat | assuming gujarati numerics are decimal ? | ||
ZoffixWin | AlexDaniel: ah, right | ||
timotimo: ^^ looks like your Weekly is wrong. It's not just for single digits. | |||
m: say ٦1٥٠3 + ٤६੬៩ - ৭۹੧ | |||
camelia | rakudo-moar 73d193: OUTPUT«65381» | ||
timotimo | oh? | ||
OK, perhaps it only applies to categories that don't map exclusively to 0-9 | 11:44 | ||
like roman numerals | |||
AlexDaniel | .u ٤ | ||
yoleaux | U+0664 ARABIC-INDIC DIGIT FOUR [Nd] (٤) | ||
11:44
administrator joined
|
|||
AlexDaniel | .u Ⅳ | 11:45 | |
yoleaux | U+2163 ROMAN NUMERAL FOUR [Nl] (Ⅳ) | ||
11:45
administrator is now known as Guest19112
|
|||
AlexDaniel | [Nd] [Nl] | 11:45 | |
lizmat | m: say Ⅳ + Ⅳ | ||
camelia | rakudo-moar 73d193: OUTPUT«8» | ||
lizmat | m: say ⅣⅣ | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ek_fgPKzehBogus postfixat /tmp/Ek_fgPKzeh:1------> 3say Ⅳ7⏏5Ⅳ expecting any of: infix infix stopper postfix statement end statement mod…» | ||
AlexDaniel | which means, um, no idea. Numeric digit, numeric letter? | ||
ZoffixWin | That makes sense since I don't think "ⅣⅣ" is a valid number | 11:46 | |
lizmat | numeraL | ||
AlexDaniel | oh well, let's see | 11:47 | |
stmuk | twitter.com/despair .. The "Windows" section of every open-source project's "how to compile and install" file: | 11:48 | |
AlexDaniel | m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nl’/ })».chr | ||
camelia | rakudo-moar 73d193: OUTPUT«ᛮᛯᛰⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂↅↆↇↈ〇〡〢〣〤〥〦〧〨〩〸〹〺ꛦꛧꛨꛩꛪꛫꛬꛭꛮꛯ𐅀𐅁𐅂𐅃𐅄𐅅𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎…» | 11:49 | |
AlexDaniel | m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nd’/ })».chr | ||
camelia | rakudo-moar 73d193: OUTPUT«0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬੭੮੯૦૧૨૩૪૫૬૭૮૯୦୧୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧…» | ||
AlexDaniel | actually, not too many! | ||
Full: ᛮᛯᛰⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿↀↁↂↅↆↇↈ〇〡〢〣〤〥〦〧〨〩〸〹〺ꛦꛧꛨꛩꛪꛫꛬꛭꛮꛯ𐅀𐅁𐅂𐅃𐅄𐅅𐅆𐅇𐅈𐅉𐅊𐅋𐅌𐅍𐅎𐅏𐅐𐅑𐅒𐅓𐅔𐅕𐅖𐅗𐅘𐅙𐅚𐅛𐅜𐅝𐅞𐅟𐅠𐅡𐅢𐅣𐅤𐅥𐅦𐅧𐅨𐅩𐅪𐅫𐅬𐅭𐅮𐅯𐅰𐅱𐅲𐅳𐅴𐍁𐍊𐏑𐏒𐏓𐏔𐏕𒐀 | 11:50 | ||
And: 0123456789٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३४५६७८९০১২৩৪৫৬৭৮৯੦੧੨੩੪੫੬੭੮੯૦૧૨૩૪૫૬૭૮૯୦୧୨୩୪୫୬୭୮୯௦௧௨௩௪௫௬௭௮௯౦౧౨౩౪౫౬౭౮౯೦೧೨೩೪೫೬೭೮೯൦൧൨൩൪൫൬൭൮൯෦෧෨෩෪෫෬෭෮෯๐๑๒๓๔๕๖๗๘๙໐໑໒໓໔໕໖໗໘໙༠༡༢xE0 | |||
𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩𖩠xF0 | |||
11:52
Psyche^ joined
|
|||
timotimo | stmuk: hah, never noticed the "0.0833 FT.", who came up with that? %) | 11:52 | |
AlexDaniel | .u ½ | 11:53 | |
yoleaux | U+00BD VULGAR FRACTION ONE HALF [No] (½) | ||
AlexDaniel | oh there's also No | ||
11:53
TEttinger left
|
|||
timotimo | No. | 11:54 | |
№1 | |||
AlexDaniel | yeah, No. Not gonna paste it here, enough unicode spam | ||
11:54
ZoffixWin left
|
|||
AlexDaniel | “timotimo i can't help but think people are going to use this as a reason to say perl6 is stupid.” yes. Though one day they will probably get over it | 11:55 | |
hmmm so does it mean that I can copy any part of that and camelia will eat it? | 11:56 | ||
m: say ൭൮൯෦෧෨෩෪෫෬෭෮෯๐๑๒๓๔๕๖๗๘๙໐໑໒໓໔໕໖໗໘໙༠༡༢༣༤༥༦༧༨༩၀၁၂၃၄၅၆၇၈၉႐႑႒႓႔႕႖႗႘႙០១២៣ | |||
camelia | rakudo-moar 73d193: OUTPUT«7890123456789012345678901234567890123456789012345678901234567890123» | ||
11:56
Psyche^_ left
|
|||
AlexDaniel | m: say +join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘No’/ })».chr | 11:56 | |
camelia | rakudo-moar 73d193: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5²³¹¼½¾৴৵৶৷৸৹୲୳୴୵୶୷௰௱௲౸౹౺౻౼౽౾൰൱൲൳൴൵༪༫༬༭༮༯༰༱༲༳፩፪፫፬፭፮፯፰፱፲፳…» | ||
timotimo | ah, it has the superscripts | ||
AlexDaniel | ah that's a wrong one | 11:57 | |
m: say +join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Nd’/ })».chr | |||
camelia | rakudo-moar 73d193: OUTPUT«1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456…» | ||
AlexDaniel | yeeaaaaaaaah | ||
timotimo | yeah, thanks obama^Wcamelia | 11:58 | |
11:58
smash joined
|
|||
AlexDaniel | Nd is “Number, decimal digit”. Nl is “Number, letter” and No is “Number, other” | 11:59 | |
so I guessed it right | |||
and you can only use these things as digits if they are decimal digits, totally makes sense | |||
by the way, I remember somebody here liked dashes | 12:01 | ||
m: say join ‘’, (0..0x1FFFF ==> grep { .uniprop ~~ m/‘Pd’/ })».chr | |||
here is a special category for dashes! | |||
camelia | rakudo-moar 73d193: OUTPUT«-֊־᐀᠆‐‑‒–—―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-» | ||
AlexDaniel | .oO( let's allow all of them in variable names! ) |
||
12:03
Skarsnik joined
|
|||
Skarsnik | Hello | 12:03 | |
lucs | It's me | ||
lucasb | Oh hai | 12:04 | |
12:07
Begi joined
|
|||
thomax | m: ⠎⠁⠽⠀⠄⠠⠓⠑⠇⠇⠕⠀⠠⠸⠺⠲⠄ | 12:09 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VCoia9VyEeBogus statementat /tmp/VCoia9VyEe:1------> 3<BOL>7⏏5⠎⠁⠽⠀⠄⠠⠓⠑⠇⠇⠕⠀⠠⠸⠺⠲⠄ expecting any of: prefix term» | ||
AlexDaniel | timotimo: “Rakudo now understands × and ÷ operators” it also understands ∞ | 12:12 | |
m: say ∞ | |||
camelia | rakudo-moar 73d193: OUTPUT«Inf» | ||
thomax | m: say ⠼⠃⠉+⠼⠙⠃; | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/hFQzsZyAAD:1------> 3say7⏏5 ⠼⠃⠉+⠼⠙⠃;Bogus postfixat /tmp/hFQzsZyAAD:1------> 3say 7⏏5⠼⠃⠉+⠼⠙⠃; expecting any of: infix …» | ||
thomax | m: say :⠼⠃⠉"+"⠼⠙⠃"; | 12:13 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/HjEFB_5xCv:1------> 3say7⏏5 :⠼⠃⠉"+"⠼⠙⠃";Confusedat /tmp/HjEFB_5xCv:1------> 3say :7⏏5⠼⠃⠉"+"⠼⠙⠃"; expecting any of: colon …» | ||
AlexDaniel | m: say bool.Range | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/90S6N9TliKUndeclared routine: bool used at line 1» | ||
thomax | no braille support yet? | ||
AlexDaniel | .u ⠼ | 12:14 | |
yoleaux | U+283C BRAILLE PATTERN DOTS-3456 [So] (⠼) | ||
FROGGS | Script, other? | ||
AlexDaniel | thomax: Braille is a symbol, not a number | ||
thomax: that's according to unicode | |||
pochi | m: sub foo(Int $a) { say "the integer is $a" }; foo(False) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is False» | ||
pochi | this can't be right? | ||
thomax | but it has digits? | 12:15 | |
Skarsnik | Bool being enum (so Int) is an issue, yes | ||
FROGGS | m: say False.^mro | ||
camelia | rakudo-moar 73d193: OUTPUT«((Bool) (Int) (Cool) (Any) (Mu))» | ||
pochi | ok, but it's not supposed to be like that? | ||
AlexDaniel | pochi: I don't think that it is supposed to be like that… | 12:16 | |
FROGGS | Bool is supposed to be an enum | ||
AlexDaniel | m: sub foo(Int $a) { say "the integer is {+$a}" }; foo(False) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 0» | ||
FROGGS | well, it kinda makes sense | ||
since this always worked | |||
pochi | m: sub foo(Int $a) { say "the integer is $a" }; foo("5") | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xKrXa0266HCalling foo(Str) will never work with declared signature (Int $a)at /tmp/xKrXa0266H:1------> 3oo(Int $a) { say "the integer is $a" }; 7⏏5foo("5")» | ||
pochi | then that should work too? | 12:17 | |
Skarsnik | It's an issue that Bool could match Int | ||
FROGGS | pochi: why? a string is not an Int | ||
AlexDaniel | pochi: ah no, that should not | ||
Skarsnik | What was the motive to have Bool an enum? | ||
FROGGS | m: say Str.^mro | ||
camelia | rakudo-moar 73d193: OUTPUT«((Str) (Cool) (Any) (Mu))» | ||
AlexDaniel | pochi: basically if you use + in front of it then it will kinda cast to Int | ||
pochi | so much for type safety? | ||
AlexDaniel | pochi: in other words, Bool is always safe in such respect | ||
FROGGS | m: sub foo(Int() $a) { say "the integer is $a" }; foo("5") # pochi: you can coerce it | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 5» | ||
lucasb | I think things like 'sub f(SuperClass() $x) {...}; f(SubClass.new)' are confusing | 12:18 | |
FROGGS | m: sub foo(Int() $a) { say "the integer is $a" }; foo("5foo") # pochi: only with valid numbers | ||
camelia | rakudo-moar 73d193: OUTPUT«Cannot convert string to number: trailing characters after number in '035⏏5foo' (indicated by ⏏) in sub foo at /tmp/If1791OYs2:1 in block <unit> at /tmp/If1791OYs2:1Actually thrown at: in sub foo at /tmp/If1791OYs2:1 in block <…» | ||
lucasb | people expect SubClass to be coerced to SuperClass | ||
FROGGS | lucasb: aye | ||
pochi | but I didn't expect bool to be subclass of int ... | ||
FROGGS | lucasb: I tripped over that too | ||
uruwi | I'm a bit confused about sockets. If I have only one client, I can just call .accept once, right? | ||
FROGGS | pochi: it is an eNUMERation though | ||
Skarsnik | For me, Bool should not match the Int type | 12:19 | |
pochi | explicit conversion is fine, but implicit? | ||
sounds scary to me | |||
FROGGS | Skarsnik: and I'd like to be able to specify that I want to accept Int, and not its subtypes in a signature | ||
AlexDaniel | pochi: but hey, you can pass any enum thingy into that, as far as I can see | ||
FROGGS | pochi: there is no implicit conversion | ||
Skarsnik | m: say True ~~ Numeric; | 12:20 | |
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
Skarsnik | It should not work ~~ | ||
FROGGS | let Larry judge I'd say (in case he has not already) | ||
AlexDaniel | m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Cat) | 12:21 | |
camelia | rakudo-moar 73d193: OUTPUT«the integer is Cat» | ||
AlexDaniel | meh | ||
Skarsnik | lol | 12:22 | |
uruwi | m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is {$a.Int}" }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 0» | ||
AlexDaniel | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is Cat» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is {$a.Int}" }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 0» | ||
AlexDaniel | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is {+$a}" }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 0» | ||
AlexDaniel | m: enum Animal <Cat Dog>; sub foo(Int() $a) { say "the integer is $a" }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is Cat» | ||
AlexDaniel | ouch | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is Dog» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(int $a) { say "the integer is $a" }; foo(Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 1» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int:D $a) { say "the integer is $a" }; foo(Dog) | 12:23 | |
camelia | rakudo-moar 73d193: OUTPUT«the integer is Dog» | ||
uruwi | I'm a bit confused about sockets. If I have only one client, I can just call .accept once, right? | ||
AlexDaniel | "is $a"? | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int:D $a is Int) { say "the integer is $a" }; foo(Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/d5BG80tBW2Can't use unknown trait 'is ' in a parameter declaration.at /tmp/d5BG80tBW2:1 expecting any of: rw readonly copy required raw le…» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo($a is Int) { say "the integer is $a" }; foo(Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D3vcU95FmICan't use unknown trait 'is ' in a parameter declaration.at /tmp/D3vcU95FmI:1 expecting any of: rw readonly copy required raw le…» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo($a) { say "the integer is $a" }; foo(Dog) | 12:24 | |
camelia | rakudo-moar 73d193: OUTPUT«the integer is Dog» | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is Dog» | ||
thomax | m: enum Bool <Cat Dog>; sub foo(Int $a) { say "the integer is " ~ $a*1 }; foo(Cat) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 0» | ||
uruwi | TMTOWTDI, indeed. | ||
AlexDaniel | thomax: haha, that might be a bit too explicit :D | ||
FROGGS | you are not surprised that you can do math with enums, right? | ||
uruwi | m: enum Animal <Cat Dog>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog + Dog) | ||
camelia | rakudo-moar 73d193: OUTPUT«the integer is 2» | ||
uruwi | m: enum Animal <Cat Dog Rabbit>; sub foo(Int $a) { say "the integer is $a" }; foo(Dog + Dog) | 12:25 | |
camelia | rakudo-moar 73d193: OUTPUT«the integer is 2» | ||
AlexDaniel | FROGGS: personally I'm surprised that it is stringified into Dog | ||
lucasb | .oO( camelia, also available in your nearest /query window ) |
||
uruwi | m: enum Animal <Cat Dog Rabbit>; say Dog + Dog; | ||
camelia | rakudo-moar 73d193: OUTPUT«2» | ||
uruwi | m: enum Animal <Cat Dog Rabbit>; say Dog + Dog - Rabbit; | ||
camelia | rakudo-moar 73d193: OUTPUT«0» | ||
FROGGS | AlexDaniel: string interpolation calls .Stringy on it | ||
uruwi | m: enum Animal <Cat Dog Rabbit>; say (Dog + Dog).Animal; | ||
camelia | rakudo-moar 73d193: OUTPUT«Method 'Animal' not found for invocant of class 'Int' in block <unit> at /tmp/iAdpWzXRXg:1» | ||
FROGGS | and an enum stringifies to its name | ||
uruwi | m: enum Animal <Cat Dog Rabbit>; say Animal(Dog + Dog); | ||
camelia | rakudo-moar 73d193: OUTPUT«Rabbit» | ||
timotimo | why do people keep saying "wtf, bool is an int?" :( | 12:26 | |
thomax | m: enum Animal <Cat Dog Rabbit>; say (Dog + Dog - Rabbit).Animal; | ||
camelia | rakudo-moar 73d193: OUTPUT«Method 'Animal' not found for invocant of class 'Int' in block <unit> at /tmp/CU6bH456aL:1» | ||
AlexDaniel | FROGGS: I understand, but it's all is just kinda weird… I was expecting an int and now boom! It stringified into Dog… | ||
FROGGS | if enums would not be a subclass anymore, how do you want to OR flags together? | ||
AlexDaniel | FROGGS: I agree that it makes sense, but it is going to be a pitfall for sure | ||
nine | uruwi: you can /msg camelia m: say "foo"; # for playing around | ||
uruwi | m: enum Animal <Cat Dog Rabbit>; say Animal(Dog + Dog - Rabbit); | ||
camelia | rakudo-moar 73d193: OUTPUT«Cat» | ||
timotimo | subclass means "where you expect an A, every B will work, too if B is A" | ||
and Bool is Int | |||
so everywhere that expects an Int, a Bool works, too | |||
Skarsnik | But it does not feel right | 12:27 | |
FROGGS | Skarsnik: the other way around would defeat subclassing | ||
nine | Skarsnik: it may not feel right but it will be very usefull when communicating with systems that use 0 and 1 for boolean values (like databases) | 12:28 | |
Skarsnik | I get the idea of being able to do math with enum. but it should not match for Int signature | ||
AlexDaniel | and imagine perl6critic: “It seems like you are using $a (which is Int) inside double quotes. You should be using {+$a} instead!” | ||
timotimo | should we disallow subclassing Int completely? | ||
because people expect every Int to stringify to the value as decimal digits | 12:29 | ||
Skarsnik | And I was not able to make enum work with NC value. I had to match again MY_VALUE_OF_ENUM.value | ||
AlexDaniel | timotimo: or… there could be a special numeric stringification? | ||
Skarsnik | so I don't get the point x) | 12:30 | |
FROGGS | Skarsnik: enums and NC work pretty well together... can you show your problem in a one liner? | 12:31 | |
thomax | the current debian rakudo version is 2014.07-4 | ||
Skarsnik | hm | ||
timotimo | thomax: wow, that's not even from the last 12 months :( | ||
Skarsnik | for stable | ||
thomax | unstable | 12:32 | |
AlexDaniel | 2015.09-2 in unstable | ||
timotimo | that's quite a bit more reasonable | ||
thomax | oh, but than the packet version isn't updated | ||
uruwi | m: say Instant.new(1) | 12:33 | |
camelia | rakudo-moar 73d193: OUTPUT«Cannot make a Instant object using .new in block <unit> at /tmp/YbHG2LwJOM:1» | ||
thomax | oh, my fault, just saw the stable | 12:34 | |
12:36
jczeus joined
|
|||
Skarsnik | m: my int32 $a = 42; enum piko (HELLO, NYO => 42); given $a {say "Nyo" when NYO;} | 12:36 | |
camelia | rakudo-moar 73d193: OUTPUT«===SORRY!===Cannot invoke this object» | ||
Skarsnik | hm | 12:37 | |
enum syntax is really weird btw (for me) | 12:39 | ||
AlexDaniel | m: enum Bool (Cat, Dog => 42) | ||
camelia | rakudo-moar 73d193: OUTPUT«===SORRY!===Cannot invoke this object» | ||
Skarsnik | m: my int32 $a = 42; enum piko (HELLO => 1, NYO => 42); given $a {say "Nyo" when NYO;} | 12:40 | |
camelia | rakudo-moar 73d193: OUTPUT«Nyo» | ||
Skarsnik | hm nvm it works x) | ||
AlexDaniel | so it only works if you specify all of the values? | ||
12:41
kid51 left
|
|||
AlexDaniel | m: enum Bool (Cat); | 12:42 | |
camelia | rakudo-moar 73d193: OUTPUT«===SORRY!===Cannot invoke this object» | ||
AlexDaniel | m: enum Bool «:Cat(1) Dog»; say +Dog | 12:43 | |
camelia | rakudo-moar 73d193: OUTPUT«2» | ||
AlexDaniel | right | ||
Skarsnik: ^ | 12:44 | ||
m: enum Bool «Cat :Dog(42)»; say +Dog; say +Cat | |||
camelia | rakudo-moar 73d193: OUTPUT«420» | ||
pochi | m: enum Bool <True False>; say False.Int | 12:45 | |
camelia | rakudo-moar 73d193: OUTPUT«1» | ||
AlexDaniel | pochi: I've thought about it :) | ||
lucasb | pochi: you change the whole meaning of the universe doing that :) | ||
AlexDaniel | lucasb: isn't it locally scoped? | 12:46 | |
lucasb | AlexDaniel: idk, just kidding | ||
pochi | why am I allowed to do that at all? | ||
lizmat | m: say Date.new(:2016year,:2month,:29day).later(:1year) # is this a bug ? | ||
camelia | rakudo-moar 73d193: OUTPUT«day of 2017/2 out of range. Is: 29, should be in 1..28 in block <unit> at /tmp/Oct1qHeUJv:1» | ||
pochi | m: enum Bool <True False>; enum Bool <Dog Cat> | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ii85IzFvMVRedeclaration of symbol Boolat /tmp/ii85IzFvMV:1------> 3enum Bool <True False>; enum Bool7⏏5 <Dog Cat>» | ||
pochi | I can redeclare once, but not twice? | ||
AlexDaniel | m: enum Bool <True False>; { enum Bool <Dog Cat> } | 12:47 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/K_EQtSevmlRedeclaration of symbol Boolat /tmp/K_EQtSevml:1------> 3enum Bool <True False>; { enum Bool7⏏5 <Dog Cat> }» | ||
thomax | m: enum Bool <Dog Cat>; | 12:49 | |
camelia | ( no output ) | ||
thomax | m: enum Bool <Dog Cat>; enum Bool <True False>; | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uxjbm2kYJDRedeclaration of symbol Boolat /tmp/uxjbm2kYJD:1------> 3enum Bool <Dog Cat>; enum Bool7⏏5 <True False>;» | ||
lucasb | lizmat: I remember masak already talked about this issue. do you think it's better to give an error or advance to the next day, in this case March 1st ? | ||
AlexDaniel | lizmat: I'd say that it is. It feels like “later” is supposed to handle that kind of stuff | 12:50 | |
m: say Date.new(:2016year,:2month,:29day).later(:1days) | |||
camelia | rakudo-moar 73d193: OUTPUT«2016-03-01» | ||
lizmat | m: say Date.new(:2016year,:1month,:31day).later(:1month) # in the case of months, we move to the last day of the month | ||
camelia | rakudo-moar 73d193: OUTPUT«2016-02-29» | ||
lucasb | anyway, date handling is already confusing enough, that I think in edge cases like these, it's better to give an error | 12:51 | |
lizmat | so it would seem logical to me to do the same for moving with years | ||
AlexDaniel | lizmat: oh, then yes! | ||
Skarsnik | FROGGS, returning Buf in NC does not work? | 12:52 | |
AlexDaniel | lizmat: indeed, now it totally makes sense. Now I'm starting to think though what is going to happen if you give a combination of those | 12:53 | |
Juerd | lizmat: Rockchip didn't mind having 31 November though :) lkml.org/lkml/2015/12/2/1202 | ||
FROGGS | Skarsnik: no, a Buf needs to now its .elems | ||
Skarsnik: I could imagine a 'returns blob8[32]' though | 12:54 | ||
AlexDaniel | there is a much easier way to handle dates by the way: en.wikipedia.org/wiki/Internationa...d_Calendar | ||
Skarsnik | I was pondering how to handle BLOB field in DBIish | ||
pochi | m: say enum Int <1 2 3> | ||
camelia | rakudo-moar 73d193: OUTPUT«Map.new(("1" => 0,"2" => 1,"3" => 2))» | ||
AlexDaniel | though it means that we have to throw away our buggy calendars :) | ||
12:55
kaare_ joined
|
|||
timotimo | Skarsnik: that'd map to Blob, i'd expect | 12:55 | |
FROGGS | Juerd: ohh wow *g* | ||
12:56
xpen left
|
|||
thomax | m: say Date.new(:1752year,:9month,:3day) | 12:58 | |
camelia | rakudo-moar 73d193: OUTPUT«1752-09-03» | ||
thomax | hmm.. there was no 3.9.1752 | ||
Skarsnik | hm mysqlclient you are *** MYSQL_TYPE_BLOBBLOB or TEXT field | 12:59 | |
Nice way to know if you have to apply an encoding or not xD | |||
AlexDaniel | m: say Date.new(:1000year,:9month,:3day) | 13:00 | |
camelia | rakudo-moar 73d193: OUTPUT«1000-09-03» | ||
AlexDaniel | thomax: there was no 1000-09-03 either according to this logic? | ||
thomax | try `cal 1752` | ||
AlexDaniel | thomax: I know, but all operations are on Gregorian calendar, whatever that means | 13:01 | |
13:01
hankache joined,
lucasb left
|
|||
thomax | ok, right by definition | 13:02 | |
FROGGS | didnt they even made up an entire century around 900bc? | ||
AlexDaniel | m: say Date.new(year => -5000,:2month,:28day) | 13:03 | |
camelia | rakudo-moar 73d193: OUTPUT«-5000-02-28» | ||
AlexDaniel | thomax: ↑ like, you know… | ||
jnthn resolves the multis/roles RT, meaning we're now down to 2 xmas RTs. | |||
One of which is already fixed, and just testneeded | 13:04 | ||
AlexDaniel | thomax: but the whole calendar thing is fucked up, I don't think that there is any way to do it right… | 13:05 | |
thomax | AlexDaniel: well. better to have the idea going. bugs are free to fix. | 13:06 | |
13:06
psy_ joined
|
|||
AlexDaniel | I'm kinda glad that at least the clock is not so bad. Unless you start thinking about sexagesimal numeral system that we are still using for whatever reason… | 13:08 | |
hankache | jnthn++ | ||
AlexDaniel | thomax: but the definition of “right” is a bit weird here. If we start following the history then basically we are introducing all of these exceptions into the user land | 13:09 | |
13:09
hankache left
|
|||
AlexDaniel | thomax: so personally I think that it is much more elegant to break the history for consistency | 13:10 | |
Skarsnik | timotimo, you should add in the weekly post that the 'bool' exist only on NativeCall | 13:11 | |
timotimo | www.reddit.com/r/perl/comments/3xt...e_release/ - random microbenchmark nonsense | ||
thomax | would be nice. but hey, there are so many testers out there, it will take a while to get all the bug fixes in order after there will be serious release. | 13:12 | |
Skarsnik | wow += is very slow | ||
timotimo | yeah | ||
it used to be faster than ++ on native ints apparently | 13:13 | ||
i wonder if i should have named my reddit account "timotimotimotimotimotimo" instead of "6timo" | |||
Skarsnik | lol | ||
timotimo | Skarsnik: instead of "wow, += is slow", you could also have said "damn, native ints are great!" | 13:14 | |
AlexDaniel | timotimo: optimist detected | 13:15 | |
timotimo | i'm optimotimo | ||
dalek | href="https://perl6.org:">perl6.org: b8cc699 | (Zoffix Znet)++ | fetch-recent-blog-posts.pl: Fix broken automated Recent Blogs refresh |
13:16 | |
timotimo | Skarsnik: did you also notice that += on a native int is almost 2x faster than on an Int? | 13:18 | |
Skarsnik | FROGGS, are the Str returned by native routine encoded? | 13:24 | |
FROGGS | Skarsnik: yes, and there is a trait to specify something non-utf8 | ||
To specify how to marshal string return types, just apply this trait to the routine itself. | 13:25 | ||
sub input_box() returns Str is encoded('utf8') is native('libgui') { * } | |||
that's a quote from doc.perl6.org/language/nativecall | |||
Skarsnik | and for CArray[Str] ? | 13:26 | |
FROGGS | hmmm | ||
no idea | |||
timotimo | i'll go sit in my car for a few hours now ... | 13:27 | |
cya! | |||
FROGGS | o/ | ||
must be nice, sitting in a new car... touching leather... :o) | |||
Skarsnik | actually it's probably an issue for class A is cstruct { has Str $a} ? | ||
thomax | :-) | ||
timotimo | it's not a new car, though | ||
FROGGS | Skarsnik: we implemented it for Parameter and Routine... that we didnt implement it for Attribute is just an oversight | 13:29 | |
thomax | wow, i really like to see a js implementation of perl6 | ||
like amber-smalltalk | 13:31 | ||
13:34
zakharyas joined
13:35
rurban_ left
|
|||
pochi | m: my $c = False; say $c+1; say ++$c | 13:35 | |
camelia | rakudo-moar 73d193: OUTPUT«1True» | ||
13:37
loren joined
|
|||
Begi | "False + 1 = 1" because (False = 0) I guess ? | 13:39 | |
Skarsnik | m: my $c = False; say $c+2 | 13:40 | |
camelia | rakudo-moar 73d193: OUTPUT«2» | ||
Skarsnik | m: my $c = False; say ++$c; say ++$c; | 13:41 | |
camelia | rakudo-moar 73d193: OUTPUT«TrueTrue» | ||
gfldex | m: my enum MyBool ( False => 0, True => 1 ) | ||
camelia | ( no output ) | ||
gfldex | that's why | ||
13:41
raiph joined
|
|||
Skarsnik | m: my enum MyBool ( False => 0, True => 0...Inf) | 13:41 | |
camelia | rakudo-moar 73d193: OUTPUT«===SORRY!===Method 'succ' not found for invocant of class 'Pair'» | ||
Skarsnik | m: my enum MyBool ( False => 0, True => 0..Inf) | 13:42 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XVjtNUA8IqType error in enum. Got 'Range' Expected: 'Int'at /tmp/XVjtNUA8Iq:1------> 3num MyBool ( False => 0, True => 0..Inf)7⏏5<EOL>» | ||
pochi | m: my $c = False; $c++; $c++; $c++; say $c; $c--; say $c | 13:44 | |
camelia | rakudo-moar 73d193: OUTPUT«TrueFalse» | ||
Skarsnik | that a weird Int x) | 13:45 | |
lizmat | m: say Inf++ # same thing | ||
gfldex | m: (False,True)>>.value.say | ||
camelia | rakudo-moar 73d193: OUTPUT«Cannot call postfix:<++>(Num); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) (num …» | ||
rakudo-moar 73d193: OUTPUT«(0 1)» | |||
lizmat | mebbe not :-) | ||
gfldex | m: (False,True)>>.key.say | 13:46 | |
camelia | rakudo-moar 73d193: OUTPUT«(False True)» | ||
lizmat | m: my $a = Inf; $a++ | ||
camelia | ( no output ) | ||
lizmat | m: my $a = Inf; $a++; say $a | ||
camelia | rakudo-moar 73d193: OUTPUT«Inf» | ||
gfldex | you make Inf as big as you want :) | ||
lizmat | m: my $a = Inf; $a--; say $a # making Inf smaller :-) | 13:47 | |
camelia | rakudo-moar 73d193: OUTPUT«Inf» | ||
13:48
czester13 left
|
|||
Begi | m: my $a = Inf; my $b = Inf; my $c = $a - $b; say $c; | 13:48 | |
camelia | rakudo-moar 73d193: OUTPUT«NaN» | ||
Begi | What's this output ? | ||
lizmat | wonder if it would make sense to add a postfix:<++>(Mu:D) candidate (without the "is rw") for better errors | 13:49 | |
pochi | sub inc1(Int $a is rw) { $a++; return $a }; say inc1(my $c=42); say inc1(my $d=False) | 13:51 | |
m: sub inc1(Int $a is rw) { $a++; return $a }; say inc1(my $c=42); say inc1(my $d=False) | |||
camelia | rakudo-moar 73d193: OUTPUT«43True» | ||
pochi | m: sub inc2(Int $a is rw) { $a+=1; return $a }; say inc2(my $c=42); say inc2(my $d=False) | ||
camelia | rakudo-moar 73d193: OUTPUT«431» | ||
pochi | shouldn't they both do the same? | 13:52 | |
I'd exepect so | |||
moritz | pochi: only if you return with "return-rw" instead of "return" | ||
pochi | using return-rw seems to give the same results | 13:54 | |
lizmat | Begi: NaN is Not a Number | 14:01 | |
nothing edible :-) | |||
Begi | Oh ok thanks | 14:02 | |
nine | Skarsnik: of course Bool has somewhat different behavior than Int. Otherwise it would not make any sense for it to exist at all and we could just use Int instead. | 14:03 | |
Subclasses have different behavior than their parents. I really don't get why people are surprised by the relationship between Bool and Int when they're accepting the same as a given for all other subclasses. | 14:04 | ||
14:07
psy_ left
|
|||
moritz | nine: I think one reason is that folk expects "subclasses can do everything the parents can, and more" | 14:07 | |
Skarsnik | the issue Bool ~~ Numeric should not be true (like sub foo(Int) should not catch Bool) since it's definitly not the same meaning and just an implementation quirk | ||
moritz | Skarsnik: but you can use True and False like numbers | 14:08 | |
nine | moritz: which is wrong | ||
moritz | m: sub multiply(Numeric $x) { $x * 42 }; say multiply(True); say multiply(False) | ||
camelia | rakudo-moar 73d193: OUTPUT«420» | ||
moritz | no surpises here | ||
Skarsnik | it's not a matter of True/False having a integer value. It just True and False have not the same meaning as 0 and 1 | 14:09 | |
nine | Skarsnik: if you want to argue about this, please use other arguments than "I just don't want it so" | 14:12 | |
14:15
loren left
|
|||
thomax | in other languages bools don't have a obvious other value than true and false (no int or anything). but hey, i can live with it easily | 14:17 | |
nine | In most other languages, True and False are exactly equivalent to 1 and 0 respectively. | ||
huf | and in most of the rest, they degrade to 0/1 *somehow* | 14:18 | |
thomax | 0 is false, true is not 0. thats good enough for me. | 14:19 | |
gfldex | if only computers could do more then just numbers | ||
huf | shell true is amazing though :) | ||
thomax | gfldex: semantics. they should have an understanding of common sense. | 14:20 | |
14:23
andreoss left
|
|||
Juerd | Skarsnik: Are Python and Javascript 'wrong' too? True is 1 in Python. true is 1 in Javascript. | 14:24 | |
Actually, in a quick search for languages that don't let you use true as a number, or where true as a number is not 1, I'm only finding Ruby | |||
Ruby says: -e:1:in `<main>': undefined method `+' for true:TrueClass (NoMethodError) | |||
When you try to do true + 1 | |||
thomax | Juerd: there is no right or wrong in this question. it's a matter of definition | 14:25 | |
Juerd | thomax: I agree. | ||
Skarsnik | It's not about 1 being True and 0 False, it's about Bool being of type Int x) | ||
Juerd | Note that True in Perl 6 is not "the" true value, but "a" true value. | ||
There are many more true values, like 42 and "hello". | 14:26 | ||
thomax | Juerd: smalltalk also defines bool as a set of the values true and false | ||
nine | m: sub foo(Int $a) { say $a; }; constant a = 1; foo(a); | ||
camelia | rakudo-moar 73d193: OUTPUT«1» | ||
nine | Skarsnik: should this also not work? ^^^ | ||
14:27
cygx joined,
dakkar left
|
|||
thomax | the int in the parameter definition is the problem here | 14:27 | |
Skarsnik | m: sub serialize($a) {say "Doing some stuff"; given $a {say "serialize integer" when Int; say "serialize bool" when Bool; say "Serialize string" when Str}}; serialize(True); | ||
camelia | rakudo-moar 73d193: OUTPUT«Doing some stuffserialize integerserialize bool» | ||
thomax | and the 1. of cause | ||
cygx | Juerd: true is *not* 1 in JS, there's just a bunch of implicit conversions | ||
Juerd | Skarsnik: Did you just change your opinion? First you say "It just True and False have not the same meaning as 0 and 1" and then you say "It's not about 1 being True and 0 False" | ||
cygx | personally, I can live with true ~~ Int, but there are arguments against it | 14:28 | |
nine | Skarsnik: so you have some buggy code that doesn't properly consider subclasses and that's why we should change the definition of the language? | ||
cygx | the boolean algebra is sufficiently different from the integers | ||
hahainternet | a quick diverted question, if i read in chunks of a file i get a 'supply', now i'd like to distribute things reponding to that supply over threads as perl6 sees fit | ||
cygx | the integer-like thing with elements 0,1 is Z_2 | 14:29 | |
hahainternet | what is the right way now to create something that should 'autothread' over this? | ||
Juerd | cygx: Perl 6 has different operators for boolean operations, that work on logical truthy and falsy values, rather than only True and False. | ||
nine | m: class A {}; class B is A {}; sub serialize($a) {say "Doing some stuff"; given $a {say "serialize A" when A; say "serialize B" when B; say "Serialize string" when Str}}; serialize(B.new); | ||
camelia | rakudo-moar 73d193: OUTPUT«Doing some stuffserialize Aserialize B» | ||
Skarsnik | nine, Why Bool should be a subtype of Int? I mean I can understand Bool coercible to Int. It's does not feel right on a semantic level that Bool ~~ Int | ||
nine | Skarsnik: ^^^ exactly the same issue | ||
Juerd | Skarsnik: Quite often, in Perl 6 the semantics are chosen to be practical and useful, not necessarily to feel right :) | 14:30 | |
cygx | Juerd: that's orthogonal | ||
Juerd | cygx: Yes. | 14:31 | |
nine | Skarsnik: Bool is an enumeration. That comes from latin "numerus" meaning "number". Enumerations are just closed sets of names for values. enum Bool < False True > is about the same as package Bool { constant False = 0; constant True = 1; } | ||
Juerd | Skarsnik: An example of this is that :15th is turned into :th(15). Might not feel right, but it is very useful. | ||
Skarsnik: In fact, the thing that understands :th also understands :st and :nd for :1st and :2nd | 14:32 | ||
nine | Skarsnik: what type of value would be more natural for Bool than 0 and 1, i.e. Int? | ||
hahainternet | ah, i can share a supply | ||
excellent | |||
Juerd | hahainternet: What you're doing is something that I've been meaning to find out. Will you share your code when you get it working? | ||
hahainternet | Juerd: if i do get it working sure | 14:33 | |
it won't be soon | |||
fighting C currently | |||
p6 comes later | |||
Juerd | hahainternet: Research .hyper and .race if you haven't done so already :) | ||
I'm not entirely sure if these apply here, because you're getting values from a supply. | |||
14:35
dakkar joined
|
|||
Skarsnik | nine, on a semantic level Boolean has not the same meaning as numbers for me. That Boolean end up being a sub set of number is just an implementation purpose, It could very be "str:True" and "str:False" I will be fine with it | 14:35 | |
thomax | nine: in predicate logic there is no 0 or 1 | ||
nine | Skarsnik: and what use cases would that improve? Which ones would it make harder? | 14:36 | |
uruwi | I know when I first programmed in Java that I was disappointed that I couldn't use 0 or 1 for false or true | 14:37 | |
hahainternet | m: True + 1 | ||
camelia | rakudo-moar 73d193: OUTPUT«WARNINGS for /tmp/wGdK0gQsO6:Useless use of "+" in expression "True + 1" in sink context (line 1)» | ||
hahainternet | m: say True + 1 | ||
camelia | rakudo-moar 73d193: OUTPUT«2» | ||
hahainternet | that's a bit wacky | ||
thomax | but in bool algebra is 0 and 1. well. i really don't care. i just hope the fastcgi interface runs well, also the dbiish connectors and stuff like that | ||
hahainternet | so i can see it from that perspective | ||
Skarsnik | nine, for me when you work on semantic stuff (like comparing type) Bool should not be a Numeric, for the rest it's perfectly fine for me | 14:39 | |
thomax | true + 1 is like true + true and should be true and not 2. | ||
Skarsnik | say True + False | ||
m: say True + False | |||
camelia | rakudo-moar 73d193: OUTPUT«1» | ||
uruwi | I'm finding a way to shoehorn that into a rhythm | ||
Skarsnik | well + coerce to Int, so it's normal x) | ||
nine | Skarsnik: again, which use cases would be improved by having Bool not be Numeric and which would be made harder? | ||
uruwi | Well, I found it useful on calculators | 14:40 | |
14:40
loren joined
|
|||
hahainternet | it is 'normal', but it's also a little surprising | 14:40 | |
thomax | nine: if bool is a enumeration with false and true it can't be 2 | ||
uruwi | But it doesn't lead to as neat as code | ||
thomax | nine: if false is 0 and true is 1 | 14:41 | |
uruwi | IE it makes it harder to read | ||
We've got ?? !! anyway. | |||
hahainternet | it looks like a Bool in a signature is strict enough not to allow Ints to pass, so i think that's probably sufficient | 14:42 | |
thomax | there is no 2 in the enumerated type bool | ||
hahainternet | whether or not it smartmatches is kinda irrelevant as smart matching is 'smart' | ||
nine | thomax: that's just based on your "it should be", which is no good base for drawing conclusions. | ||
14:42
prammer joined
|
|||
Skarsnik | thomax, the + operator force to numeric value | 14:42 | |
uruwi | m: sub f(Bool $b) {say "a bool $b"}; f(3); | ||
camelia | rakudo-moar 73d193: OUTPUT«Type check failed in binding $b; expected Bool but got Int in sub f at /tmp/vjFVsmGNs_:1 in block <unit> at /tmp/vjFVsmGNs_:1» | ||
uruwi | m: sub f(Bool $b) {say "a bool $b"}; f(so 3); | 14:43 | |
camelia | rakudo-moar 73d193: OUTPUT«a bool True» | ||
mspo | i.imgur.com/dAEp7Wu.jpg?1 | ||
Skarsnik | :m class P { method Int returns Int () {return 42};} my P $p = P.new; say 1 + $p; | ||
m: class P { method Int returns Int () {return 42};} my P $p = P.new; say 1 + $p; | |||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qZABB84k4sMissing blockat /tmp/qZABB84k4s:1------> 3class P { method Int returns Int7⏏5 () {return 42};} my P $p = P.new; say 1» | ||
Skarsnik | m: class P { method Int() {return 42};} my P $p = P.new; say 1 + $p; | 14:44 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AuR8buDWgLStrange text after block (missing semicolon or comma?)at /tmp/AuR8buDWgL:1------> 3class P { method Int() {return 42};}7⏏5 my P $p = P.new; say 1 + $p; expecting any of: …» | ||
thomax | Skarsnik: than make a bool aware infix op + and * for bool :-) it's possible these day | 14:45 | |
14:45
harrison_ joined
|
|||
Skarsnik | why whould I want + doing boolean algebra x) | 14:46 | |
14:46
darutoko left,
darutoko joined
|
|||
thomax | Skarsnik: because + is logic or and * is logic end (by definition of bool algebra..) | 14:47 | |
please, someone raise a more interesting topic. | |||
^end^and | |||
Skarsnik | logic or? there is 'or' and || already x) | 14:48 | |
14:48
ellybelly left
|
|||
thomax | m: say true || false; | 14:48 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/s3WwplZIamUndeclared routines: false used at line 1 true used at line 1» | ||
14:48
ellybelly joined,
ellybelly_ joined
|
|||
harrison_ | Fun Fact: I am the only one who uses Perl for coding in Kenya at Multimedia University. | 14:48 | |
thomax | m: say true | false; | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/65LN1ojpcJUndeclared routines: false used at line 1 true used at line 1» | ||
14:49
ZoffixW joined
|
|||
ZoffixW | m: say True || False; | 14:49 | |
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
thomax | oh, these caps.. | ||
cygx | harrison_: what are the more popular choices? | ||
thomax | m: say True && False; | ||
ZoffixW | The True + 1 resulting in True because there's a Bool can be just as equally argued should result in 2, because there's an Int :) | ||
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
harrison_ | People talk more of Java and PHP, there is Python too. | 14:50 | |
lizmat | m: say True + 1 | ||
camelia | rakudo-moar 73d193: OUTPUT«2» | ||
lizmat | ZoffixW: ^^^ | ||
ZoffixW | Is there? I thought Python was just a creepy cult who practice Two Minutes of Hate about Perl | ||
thomax | lizmat: not again :-p | ||
ZoffixW | lizmat, yeah, I saw that. Makes sense to me. | ||
harrison_ | They do hate on Perl code, believe me. Funny though how they complain solely based on sigils. | 14:51 | |
lizmat | m: say ?(True + 1) | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
mspo | harrison_: perl6 can be sigil-less | ||
ZoffixW | m: say True + True + True == ٣ =='٣' | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
ZoffixW | X) | ||
mspo | harrison_: but normally adds *additional* characters! $*, $! and so on :) | ||
14:52
daxim joined
|
|||
harrison_ | mspo_: I so love it! And Perl 5 too! | 14:52 | |
mspo | harrison_: yeah I could never get over the additional complexity of python | ||
14:53
rurban joined,
zakharyas left
|
|||
mspo | harrison_: but since perl was the first thing I learned it's probably messed up my brain | 14:53 | |
ZoffixW | I learned Python before Perl. | ||
uruwi | ^ | ||
ZoffixW | Never really cared about it. | ||
harrison_ | ZoffixW, for real? | ||
uruwi | Though not very deeply. | ||
Just enough to write what I needed. | |||
mspo | all of my python scripts immediately use 100% cpu for some reason | 14:54 | |
ZoffixW | harrison_, well... yeah, I could write simple programs in Python before I even heard of Perl, but I kinda put it back where I found it and never looked back. The whole indent-declares-blocks feels like a straight-jacket to me | ||
El_Che | I learnt spanish and dutch way before perl :) | ||
ZoffixW | So I never made any real programs with Python, but I "learned" it :) | ||
thomax | mspo: it's because the p6 release date is close. now the python scripts speed up a bit. | ||
harrison_ | ZoffixW, I know! Although I do write better code than some of the Python purists, which is funnier. | 14:55 | |
cygx learned Java before Perl | |||
mspo | I couldn't get over __init__() being in the "not line noise" language | ||
uruwi learned Java before Perl | |||
cygx | at that point, my brain had already been damaged by C, though ;) | ||
El_Che | ZoffixW: didn't you go through the huge and complicated shell scripts phase before that? | ||
harrison_ | mspo: hahaha | ||
uruwi also learned C before Java | |||
ZoffixW | El_Che, nope :) | ||
El_Che | ZoffixW: you missed a lot of fun | ||
ZoffixW | heh | ||
uruwi learned TI-89 Basic before C | 14:56 | ||
mspo | that was my (sysadmin) progression- shell, awk, perl, $therest | ||
thomax learned 6502 first, than, basic, pascal, c, shell, lisp and years later perl | |||
harrison_ | A Python purist came to me saying Julia will be Python's reply to Perl 6. | ||
mspo | also leaving .pyc files all over the place.. what a damned mess | ||
lizmat | ah... 6502 assembly... :-) | ||
El_Che : (some) pascal, shell, perl, rest (Java, Ruby, some pyhton, some perl6 :) ) | 14:57 | ||
uruwi | harrison_ But eww, 1-based indexing | ||
lizmat | my first assembly was 8080 / Z80 though | ||
cygx has fond memories of QBasic and nibbles | |||
uruwi | Z80 is the only one I even kinda know though | ||
thomax | i had a z80 card with cp/m on my apple ii | ||
uruwi : GML > 83+ Basic > 89 Basic > C > Java > Racket > Scala > Python > Danmakufu (language used to program STGs) > Perl6 | 14:58 | ||
thomax | and used ucsd pascal and borland pascal on it | ||
El_Che | I remember a fun C personal project. It took time to finish it. I replaces by a few hundreds of line of perl5 :) | ||
lizmat | Ah, the Apple Ⅱ | ||
mspo | I like how perl6 is almost always the shortest answer in rosettacode | 14:59 | |
thomax | yepp, and ucsd pascal had a virtual machine as well | ||
14:59
hankache joined
|
|||
mspo | which is why I'm trying to stick with it | 14:59 | |
harrison_ | mspo, Yes! | ||
mspo | unlike erlang which I've given up on twice | ||
thomax | mspo: shortest answer means nothing. it should be a) readable and b) fast | ||
uruwi | mspo: But also not a very fast answer | ||
14:59
raiph left
|
|||
mspo | shorter has a lot of to with understandable, imho | 15:00 | |
uruwi | saying it as someone who did AoC in p6 | ||
mspo | just say what you want done without all of the distractions | ||
maybe I should learn prolog instead ;) | |||
"I want X, you figure it out" | |||
thomax | haha | ||
mspo | (coffee) | ||
dalek | rl6-roast-data: cdd5c86 | coke++ | / (7 files): today (automated commit) |
15:01 | |
hankache | .tell tadzik can you please check the PR on github.com/tadzik/Template-Mojo | ||
yoleaux | hankache: I'll pass your message to tadzik. | ||
grondilu | J often wins in shortness though. But it's most obscure. | ||
mspo | grondilu: if I were younger I'd learn J and just hang out on wall st | 15:03 | |
mm monies | |||
grondilu | not sure how well are unsigned native integers are integrated now, but replacing `my @` by `my uint32 @` in rosettacode.org/wiki/SHA-256#Perl_6 changes the digest result. | 15:04 | |
15:05
skids joined
|
|||
AlexDaniel | m: say -Inf^..^Inf | 15:05 | |
camelia | rakudo-moar 73d193: OUTPUT«-Inf^..^Inf» | ||
AlexDaniel | m: say Inf^..^Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«Inf^..^Inf» | ||
ZoffixW | m: say 1^..^1 | 15:06 | |
camelia | rakudo-moar 73d193: OUTPUT«1^..^1» | ||
ZoffixW | m: say (1^..^1).elems | ||
camelia | rakudo-moar 73d193: OUTPUT«0» | ||
ZoffixW | m: say (Inf^..^Inf).elems | 15:07 | |
camelia | rakudo-moar 73d193: OUTPUT«Inf» | ||
ZoffixW | orly | ||
m: say (-Inf^..^Inf).elems | |||
camelia | rakudo-moar 73d193: OUTPUT«Inf» | ||
ZoffixW | neat | ||
AlexDaniel | ZoffixW: yeah, it is great | ||
ZoffixW | m: say Inf == Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
AlexDaniel | it's one of those times when I expect it to give garbage and it actually makes it right | ||
ZoffixW tries to wrap head around meaning of Inf^..^Inf | 15:08 | ||
and why its .elems be Inf and not 0, since it's two same infinities | |||
AlexDaniel | m: .say for Inf..Inf | ||
grondilu | it has no meaning | 15:09 | |
ZoffixW | Right | ||
camelia | rakudo-moar 73d193: OUTPUT«(timeout)InfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfInfI…» | ||
ZoffixW | hm | ||
grondilu | imho Inf..Inf and similar hsould fail | ||
cygx | m: say Inf < Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
ZoffixW | grondilu, agreed | 15:10 | |
AlexDaniel | well, either it fails or does what it does | ||
tadzik | hankache: yeah :) | ||
yoleaux | 21 Dec 2015 03:15Z <skids> tadzik: I sent PRs on Shell-Command and on Panda to remove "as" in case there is a rushed pre-xmas removal of it. | ||
15:01Z <hankache> tadzik: can you please check the PR on github.com/tadzik/Template-Mojo | |||
AlexDaniel | because basically what you get is an infinite list… | ||
thomax | inf is as well just a conept | ||
ZoffixW | But what it does is meaningless :) | ||
tadzik | hankache: merged, thanks a lot! | ||
15:10
darutoko left
|
|||
ZoffixW | Well, no, what is does is wrong, because you're asking for something meaningless but you get Inf | 15:10 | |
AlexDaniel | ZoffixW: if only you treat Inf as a number | 15:11 | |
tadzik | skids: alright, will take a look | ||
15:11
xpen joined
|
|||
skids | tadzik: someone merged them already, I thought you... | 15:11 | |
tadzik | oh | ||
maintainers++ <3 | |||
ZoffixW | m: say 'a'..'c' | ||
camelia | rakudo-moar 73d193: OUTPUT«"a".."c"» | ||
ZoffixW | m: say |'a'..'c' | 15:12 | |
camelia | rakudo-moar 73d193: OUTPUT«1.."c"» | ||
geekosaur | [22 15:09] <cygx> m: say Inf < Inf mathematically this is nonsense... | ||
ZoffixW | m: say |('a'..'c') | ||
camelia | rakudo-moar 73d193: OUTPUT«abc» | ||
AlexDaniel | geekosaur: False is probably a good answer for nonsense? :) | ||
ZoffixW | It's possible for one infinity to be smaller than the other, tho | ||
AlexDaniel | maybe not though | ||
geekosaur | not really. you can for example confuse the heck out of a sort that way | 15:13 | |
15:13
xpen left
|
|||
AlexDaniel | m: say -Inf < Inf | 15:13 | |
ZoffixW | hmhmhmh | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
geekosaur | arguably it should return a nonvalue | ||
AlexDaniel | m: say Inf > Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
AlexDaniel | m: say Inf > -Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
ZoffixW | That is nonsense ^ | ||
15:13
xpen joined
|
|||
AlexDaniel | m: say Inf <=> -Inf # I wanted this | 15:13 | |
camelia | rakudo-moar 73d193: OUTPUT«More» | ||
Skarsnik | is that possible to defined a = operator for a particular left Type? lik my Type $a = $b; | 15:14 | |
ZoffixW | Or is it? My brain's collapsing on itself /o\ | ||
m: say Inf -1 > Inf | |||
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
ZoffixW | m: say Inf > Inf -1 | ||
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
ZoffixW | m: say Inf == pi.chars | 15:15 | |
camelia | rakudo-moar 73d193: OUTPUT«False» | ||
thomax | m: say Inf - Inf | ||
camelia | rakudo-moar 73d193: OUTPUT«NaN» | ||
AlexDaniel | come on, we are not going to return undef for numeric comparison operators | 15:16 | |
thomax | as a system programmer i'm happy to don't deal with concepts like Inf | ||
AlexDaniel | or are we… | ||
thomax: unless you use infinite lists? :) | 15:17 | ||
gtodd | ZoffixW: infinities ... are cool :-0 | ||
cygx | m: say Inf ~~ Cool | ||
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
cygx | checks out | ||
skids | tadzik: Oh damn. The githib quickedit faked me out again so the Shell::Command fix was never actually PRd. | ||
ZoffixW | m: say (1, 2, 3 ... *) < (0.1, 0.2, 0.3 ...* ) | ||
camelia | rakudo-moar 73d193: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/nw0qfQUgIG:1Actually thrown at: in block <unit> at /tmp/nw0qfQUgIG:1» | ||
ZoffixW | aww :( | ||
15:17
xpen_ joined
|
|||
gtodd | oh I though Inf was a C OO L :-P | 15:18 | |
tadzik | ow | ||
ZoffixW | m: my @smaller-inf = (1, 2, 3 ... *); my @larger-inf = (0.1, 0.2, 0.3 ...* ); say so @smaller-inf.elems < @larger-inf.elems | 15:19 | |
camelia | rakudo-moar 73d193: OUTPUT«Cannot .elems a lazy list in block <unit> at /tmp/vGHUoqNPVr:1Actually thrown at: in block <unit> at /tmp/vGHUoqNPVr:1» | ||
skids | tadzik: IIRC it was just line 47 needing Str() | ||
gtodd | if perl6 is consistent-ish with the latest math geek thinking about Infinite Infinities and has real numbers :-D it will be very Cool | ||
15:20
pmurias joined
|
|||
ZoffixW | m: say 1/∞ | 15:20 | |
camelia | rakudo-moar 73d193: OUTPUT«0» | ||
ZoffixW | wat :| | ||
That should be NaN | 15:21 | ||
15:21
xpen left
|
|||
AlexDaniel | m: .say for Inf..1 | 15:21 | |
camelia | ( no output ) | ||
FROGGS | m: .say for -Inf..1 | ||
camelia | rakudo-moar 73d193: OUTPUT«(timeout)-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-Inf-I…» | ||
pmurias | Juerd: I wouldn't use JavaScript as an example of thought out design | 15:22 | |
AlexDaniel | jnthn: It looks like rt.perl.org/Public/Bug/Display.html?id=125336 is now fixed. Um, all by itself. I don't know, maybe you want to take a look. If it is, then just mark it as “tests needed” perhaps? | ||
FROGGS | design just happened to JavaScript when it was a teenager | 15:23 | |
hankache | tadzik: no worries dear, thank you. | 15:24 | |
15:26
prammer left
|
|||
ZoffixW | m: my \ⁿ = pi; say eⁱ*ⁿ+1 ≅ 0 | 15:26 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eLQVchD_XjUndeclared routine: eⁱ used at line 1» | ||
15:27
lnrdo_ joined
|
|||
ZoffixW | huh | 15:27 | |
m: sub eⁱ { say e**i }; eⁱ | |||
camelia | rakudo-moar 73d193: OUTPUT«0.54030230586814+0.841470984807897i» | ||
ZoffixW | :o | ||
15:27
flaviusb left
|
|||
ZoffixW | m: $x₁ = 2; $x₂ = 4; say $x₁² + $x₂² | 15:29 | |
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/khpUMXKSFmVariable '$x' is not declaredat /tmp/khpUMXKSFm:1------> 3<BOL>7⏏5$x₁ = 2; $x₂ = 4; say $x₁² + $x₂²» | ||
ZoffixW | aww | ||
lnrdo_ | ZoffixW: Just retried the process to install moar, panda & Task::Star. It worked. DBIish is not a dep anymore and do not work by it self. Just to inform. | ||
15:29
flaviusb joined,
lnrdo_ left
|
|||
ZoffixW | Yeah, I think someone tossed failing modules from Task::Star last night. | 15:29 | |
oh | 15:30 | ||
Skarsnik | duh, DBIish should work | ||
ZoffixW | m: my $x₁ = 2; my $x₂ = 4; say $x₁² + $x₂² | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BL5YoorgiTBogus postfixat /tmp/BL5YoorgiT:1------> 3my $x7⏏5₁ = 2; my $x₂ = 4; say $x₁² + $x₂² expecting any of: constraint infix infix stopper …» | ||
ZoffixW | dammit | ||
My hopes were raised and dashed expertly :) | |||
It'd be pretty cool to make it work tho | |||
15:30
loren left
|
|||
thomax | DBIish should work, indeed | 15:30 | |
ZoffixW | m: my \x₁ = 2; my \x₂ = 4; say x₁² + x₂² | ||
camelia | rakudo-moar 73d193: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RjDSHgfvFeTerm definition requires an initializerat /tmp/RjDSHgfvFe:1------> 3my \x7⏏5₁ = 2; my \x₂ = 4; say x₁² + x₂²» | ||
ZoffixW | m: sub term:<x₁> {2}; sub term:<x₂> {4}; say x₁² + x₂² | 15:31 | |
camelia | rakudo-moar 73d193: OUTPUT«20» | ||
ZoffixW | \o/ | ||
15:31
rurban_ joined
|
|||
ZoffixW | m: my \xₙ = 2; my \xₘ = 4; say xₙ² + xₘ² | 15:32 | |
camelia | rakudo-moar 73d193: OUTPUT«20» | ||
ZoffixW | It's kinda weird that subscribt letters work, but numbers don't | ||
thomax | :-) | ||
15:33
loren joined,
rurban left
|
|||
ZoffixW | m: my \xₙ = 3; my \xₘ = 4; my \yₔ = 5; say xₙ² + xₘ² == yₔ² | 15:33 | |
camelia | rakudo-moar 73d193: OUTPUT«True» | ||
ZoffixW | :D | ||
thomax | in a programming language, i wouldn't use any characters i can't reach via a plain vt102 terminal | 15:34 | |
ZoffixW | But why? | ||
I think it's important to progress a programming language closer to how humans communicate with each other, using plain language, symbols and math | 15:35 | ||
thomax | because my programs should be editable under any circumstances | ||
geekosaur sometimes needs to get at code from e.g. an Android terminal program (think connectbot) that may not be very Unicode-y | |||
ZoffixW | What I hear you saying is much of current software is shit and can't handle Unicode correctly :) | 15:36 | |
The solution is to fix that software and to force people to stop writing such software. Not to remain in the stoneage and avoid Unicode :) | |||
geekosaur | what you hear me saying is that I do not have control over everything between me and something I need to debug\ | ||
ZoffixW points at how Apple murdered Flash | |||
geekosaur | and it is pointless to whine about how everyone ought to update to the latest everything when there is large enterprise change control in play | 15:37 | |
thomax | yepp | 15:38 | |
but for sure, it looks nice | |||
lizmat | .oO( Flash was so bad, even Adobe doesn't want to have anything to do with it ) |
15:39 | |
dalek | kudo/nom: 0be08d5 | lizmat++ | src/core/Temporal.pm: Small speedup on days-in-month calculation |
15:40 | |
cygx | who needs flash? silverlight is, like the future, man! | ||
ZoffixW | heh | ||
15:40
loren left
|
|||
thomax | silverlight? | 15:41 | |
Skarsnik | FROGGS, I have weird issue with Pointer.deref comparing to calling nativecast directly | ||
ZoffixW | thomax, microsoft's failed attempt at doing the same thing as Flash | 15:42 | |
Skarsnik | I am not sure how to golf that ~~ | 15:43 | |
thomax | ah, ok. m$. not my world. | ||
geekosaur | silverlight's already on life support | 15:44 | |
ZoffixW | m: sub fib (Int $n) { my \φ = (1+sqrt(5))/2; ( φ**$n - (-1/φ)**$n ) / sqrt(5) }; say fib 10000 | ||
camelia | rakudo-moar 73d193: OUTPUT«Numeric underflow in sub fib at /tmp/Am3Mgb7SW4:1 in block <unit> at /tmp/Am3Mgb7SW4:1Actually thrown at: in sub fib at /tmp/Am3Mgb7SW4:1 in block <unit> at /tmp/Am3Mgb7SW4:1» | ||
ZoffixW | underflow? :( | ||
m: say (1/1², 1/2², 1/3² ... 1/*²)[5] | 15:46 | ||
camelia | rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/IklxrSAMHz:1» | ||
15:46
RabidGravy joined
|
|||
ZoffixW | m: say map 1/*², 1..* | 15:47 | |
camelia | rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/YUSVjNGiNh:1» | ||
ZoffixW | bruh | ||
m: say map 1/***2, 1..* | |||
camelia | rakudo-moar 73d193: OUTPUT«Cannot call Numeric(Sub: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/cHBu_ggyxk:1» | ||
ZoffixW | heh | ||
Skarsnik | FROGGS, Internal error: inconsistent bind result in method deref at /home/skarsnik/.rakudobrew/moar-nom/install/share/perl6/sources/C7890ECB4E25D599B1CAB139328C93400ABB5545:52 I think it's because the implicit return try to bind and for some reason that not good? | ||
RabidGravy | erp | 15:48 | |
FROGGS | Skarsnik: I dunno, I'd need a golf I'd think | 15:49 | |
Skarsnik | The issue it does not fail for every data I get ~~ | ||
cygx | o/ | 15:52 | |
15:52
cygx left
|
|||
ZoffixW | m: my $*TOLERANCE = 1e-4; say π²/6 ≅ [+] map { 1/$_² }, 1..50000 | 15:54 | |
camelia | rakudo-moar 0be08d: OUTPUT«True» | ||
ZoffixW | \o/ | ||
15:57
jczeus left
|
|||
lizmat | .tell masak looking at DateTime.now.later(:hour(1.5)) : is there a reason for not allowing that? | 15:57 | |
yoleaux | lizmat: I'll pass your message to masak. | ||
thomax | how do you create such a sign with a standard keyboard? | ||
ZoffixW | \o/ lizmat++ | ||
lizmat | .tell masak e.g., because not every hour is 3600 seconds ? | ||
yoleaux | lizmat: I'll pass your message to masak. | ||
ZoffixW | m: say DateTime.now.later: :months(1.5) | 15:58 | |
camelia | rakudo-moar 0be08d: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/CzZMKBfONL:1» | ||
ZoffixW | m: say DateTime.now.later: :months(1) | ||
camelia | rakudo-moar 0be08d: OUTPUT«2016-01-22T16:58:31.469671+01:00» | ||
hankache | .tell MadcapJake can you please check the issue I opened related to github.com/MadcapJake/language-perl6fe | ||
yoleaux | hankache: I'll pass your message to MadcapJake. | ||
lizmat | ZoffixW: fwiw, months I can see being an issue | ||
as not every month has the same length | |||
same goes for years | 15:59 | ||
15:59
darutoko joined
|
|||
lizmat | but days/hours/minutes have the same length, very generally | 15:59 | |
except for leap secs of course | |||
grondilu | m: my $*TOLERANCE = 1e-4; say π²/6 ≅ [+] map 1/*², 1..50000 | ||
camelia | rakudo-moar 0be08d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/DxqQMJSTBs:1» | ||
ZoffixW | lizmat, I recall a discussion on this topic in here like a 6-12 months ago. With the decision that if you overflow you'd use last day or first day or something | ||
lizmat | I'm not talking about that | 16:00 | |
I'm talking about the fact that if we allow fractions for hour / minute/ day | |||
what it means: | |||
gfldex | thomax: github.com/jshholland/irssi-script...igraphs.pl | ||
ZoffixW | m: say DateTime.now.clone( :1month :31day ).later: :months(1) | ||
camelia | rakudo-moar 0be08d: OUTPUT«2015-02-28T17:00:51.971010+01:00» | ||
grondilu | can't curry ²? | ||
lizmat | is 1.5 hour always 5400 seconds ? | ||
ZoffixW | No | 16:01 | |
grondilu | m: say map *², ^10; | ||
camelia | rakudo-moar 0be08d: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/Foc8fWg_De:1» | ||
lizmat | is 1.5 minute always 90 | ||
ZoffixW | Leap seconds is a thing | ||
But we do handle leap months. I dunno how hard it'd be to handle leap whatever | |||
s/months/days/ | |||
lizmat | well, that's the question really | ||
if we say ".later(:hour(1.5)) | 16:02 | ||
ZoffixW | m: say DateTime.now.clone( :2month :28day ).later: :days(1) | ||
camelia | rakudo-moar 0be08d: OUTPUT«2015-03-01T17:02:15.567692+01:00» | ||
lizmat | does that always mean 5400 seconds? | ||
or sometimes 5401 seconds ? | |||
ZoffixW | m: say DateTime.now.clone( :2000year :2month :28day ).later: :days(1) | ||
camelia | rakudo-moar 0be08d: OUTPUT«2000-02-29T17:02:25.426656+01:00» | ||
Skarsnik | it's weird, there is lot of test in DateTime for that x) | ||
16:02
prammer joined
|
|||
lizmat | ZoffixW: as long as they're Int's the meaning is clear | 16:03 | |
ZoffixW | Doesn't seem there's a solid formula for leap seconds: en.wikipedia.org/wiki/Leap_second#...ap_seconds | ||
They just decide when to put them in | |||
geekosaur | yes, the earth doesn't provide nice timetables for how its rotation changes | 16:04 | |
16:04
xpen_ left
|
|||
ZoffixW | ¯\_(ツ)_/¯ my usecase for :hours(1.5) was calculating UTC offsets | 16:04 | |
geekosaur | too many variables | ||
lizmat | I guess one alternative could be to just convert to seconds, find out what later is, then find out if there was a leap sec in between | 16:05 | |
thomax | afaik, there is one single person on earth who ajust leapseconds every X years | ||
16:06
iH2O joined
|
|||
gtodd | thomax: and to quote sys.admin.recovery (??) they could be replaced by a perl script ;-) | 16:07 | |
iH2O | p6: say 3 | ||
camelia | rakudo-moar 0be08d: OUTPUT«3» | ||
gtodd | thomax: or perl6 which could take it to infintiy | ||
and beyond | |||
iH2O | God loves perl6 | 16:08 | |
16:08
mohae joined
|
|||
thomax | at www.iers.org/ maybe | 16:08 | |
geekosaur | alt.sysadmin.recovery >.> | 16:09 | |
16:09
kjs_ joined
|
|||
dalek | kudo/nom: ebe1c79 | lizmat++ | src/core/Temporal.pm: Speed up day-of-year a bit |
16:09 | |
nine | We should fix earth to get this rotation thing right instead of working around the real issue. | ||
16:09
jevin_ left
|
|||
gtodd | m: say 3++ ; | 16:10 | |
camelia | rakudo-moar 0be08d: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) (num …» | ||
ZoffixW | nine, that's pretty easy. We just need to get rid of the Moon :P | ||
gtodd | :-D | ||
thomax | rofl | ||
gtodd | ok ... so ∞++ is not going to work | ||
nine | ZoffixW: well volunteered! | 16:11 | |
ZoffixW | lol | ||
thomax | and 365 days also don't fit in any logical category | 16:12 | |
geekosaur | and stop all earthquakes and stop global warming so the glaciers will stop melting and do something about the mantle plume under Iceland and ... | 16:13 | |
gtodd | m: say ∞ ; | ||
RabidGravy | so. if I implement an Associative type myself and have a say .values is there any way that it can "know" that the target is rw? | ||
camelia | rakudo-moar 0be08d: OUTPUT«Inf» | ||
gtodd | m: say ∞ + 1 ; | ||
camelia | rakudo-moar 0be08d: OUTPUT«Inf» | ||
gtodd | m: say "∞ and beyond" | ||
camelia | rakudo-moar 0be08d: OUTPUT«∞ and beyond» | ||
RabidGravy | e.g. if I have "my %h = Foo.new; for %h.values <-> $v { }" can it know that? | 16:14 | |
16:15
tadzik left
|
|||
hankache | panda install Pod::To::HTML is unsuccessful, any ideas why ? | 16:16 | |
Skarsnik | how does it fail? | 16:17 | |
16:17
khw joined
|
|||
hankache | the last test fails | 16:17 | |
ZoffixW | m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1second | ||
camelia | rakudo-moar 0be08d: OUTPUT«2015-06-30T23:59:60Z» | ||
hankache | t/05-zero-width-index.t .. | ||
ZoffixW | lizmat, ^ seems we handle leap seconds already, so I'd think making :hours(1.5) work should be trivial | 16:18 | |
m: say DateTime.new( :2016year :6month :30day :23hour :59minute :59second ).later: :1second | |||
camelia | rakudo-moar 0be08d: OUTPUT«2016-07-01T00:00:00Z» | ||
lizmat | m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1minute | 16:19 | |
camelia | rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:59Z» | ||
ZoffixW | m: say DateTime.new( :2015year :6month :30day :23hour :59minute :0second ).later: :1minute | ||
camelia | rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:00Z» | ||
lizmat | m: say DateTime.new( :2015year :6month :30day :23hour :59minute :59second ).later: :1minute # 1 minute is 61 seconds | 16:20 | |
camelia | rakudo-moar 0be08d: OUTPUT«2015-07-01T00:00:59Z» | ||
16:20
xpen joined,
xpen left
16:21
rindolf left
|
|||
ZoffixW | weird | 16:21 | |
m: say DateTime.new( :2016year :6month :30day :23hour :59minute :59second ).later: :1minute | |||
camelia | rakudo-moar 0be08d: OUTPUT«2016-07-01T00:00:59Z» | ||
lizmat | the minute is logical, not 60 seconds ;-) | 16:22 | |
16:22
andreoss joined
|
|||
ZoffixW | m: say DateTime.new( :2015year :6month :30day :23hour :59minute :60second ).later: :1minute | 16:22 | |
camelia | rakudo-moar 0be08d: OUTPUT«2015-07-01T00:01:00Z» | ||
16:25
rurban_ left
|
|||
ZoffixW detracts previous comments about 1.5 being trivial | 16:25 | ||
Anyone knows where the sauce for DateTime is? I don't see it in nom/src/core | 16:29 | ||
Skarsnik | core/Timeline | ||
lizmat | src/core/Temporal | ||
ZoffixW | Thanks | 16:30 | |
Skarsnik | yes Temporal xD | ||
hoelzro | o/ #perl6 | ||
ZoffixW | \o | ||
pmurias | hoelzro: \o | 16:31 | |
hoelzro | o/ ZoffixW, pmurias | ||
ZoffixW | huh | ||
lizmat | ZoffixW: ?? | ||
16:32
mohae left
|
|||
ZoffixW | Oh, nm. confused .clone with .later | 16:32 | |
It's not documented that that both 'second' and 'seconds' work :) | 16:33 | ||
m: say DateTime.now.later: :2seconds | |||
camelia | rakudo-moar ebe1c7: OUTPUT«2015-12-22T17:33:19.489182+01:00» | ||
MadcapJake | hankache: I just fixed your issue. Somehow missed an alternation when I added the `size_t` type. Thanks for posting the issue! | 16:34 | |
yoleaux | 15:58Z <hankache> MadcapJake: can you please check the issue I opened related to github.com/MadcapJake/language-perl6fe | ||
ZoffixW | Ah, it is. Just not under each unit | 16:35 | |
hankache | MadcapJake Thanks dear :) | ||
dalek | p: 0ea455c | (Pawel Murias)++ | t/nqp/81-radix.t: Makes radix test with lowercase really use lowercase. |
16:36 | |
p: 05c2690 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: [js] Fix bug with slurpy params. |
|||
p: e1c72a9 | (Pawel Murias)++ | src/vm/js/ (3 files): [js] Implement nqp::radix_I. |
|||
p: 73c1e7f | (Pawel Murias)++ | t/nqp/81-radix.t: Test nqp::radix_I. |
|||
ZoffixW sees a solution for :hours(1.5) | 16:39 | ||
16:40
iH2O left
|
|||
Skarsnik | if you are bored you can change the . for subsecond in the default formater to a coma x) | 16:40 | |
ZoffixW | Before entering the given $unit {...} change unit to a next smaller one, multiplying the given number by how many of those smallers units fit into the larger one | ||
16:41
rurban_ joined
16:42
rindolf joined
16:43
hankache left
|
|||
ZoffixW | Hm, that won't work for :months(1.3) or :years(1/378432000) | 16:44 | |
Dates suck :( | |||
gfldex .oO( Dem Glücklichen schlägt keine Stunde. ) | 16:45 | ||
ZoffixW | What?! Get out! My mother was a saint! | 16:46 | |
16:47
hankache joined
|
|||
dalek | kudo/nom: 77e3d4b | lizmat++ | src/core/ (3 files): Make tai-utc a class with class methods Our subs are notoriously slow atm, so replace the module by a class that has class methods, which optimize better in the current context. |
16:47 | |
16:47
FROGGS left
16:48
xfix joined
16:51
keix left
16:53
ZoffixW left
|
|||
hankache | what is the equivalent of s/// in Perl 6? | 16:56 | |
andreoss | m: role F { has $.a = "defaulty" } ; class D does F { } ; class S is D { has $.a = "hello" }; say S.new.a; | ||
camelia | rakudo-moar 77e3d4: OUTPUT«hello» | ||
andreoss | okay | ||
hankache | #search and replace using regex | ||
andreoss | m: role F { has $.a = "defaulty" } ; class D does F { has $a. = "fail" } ; class S is D { has $.a = "hello" }; say S.new.a; | ||
camelia | rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SO57isM1pOUnsupported use of . to concatenate strings; in Perl 6 please use ~at /tmp/SO57isM1pO:1------> 3"defaulty" } ; class D does F { has $a.7⏏5 = "fail" } ; class S is D { has $.a = "» | ||
andreoss | m: role F { has $.a = "defaulty" } ; class D does F { has $.a = "fail" } ; class S is D { has $.a = "hello" }; say S.new.a; | ||
camelia | rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gyxMcabIawAttribute '$!a' already exists in the class 'D', but a role also wishes to compose itat /tmp/gyxMcabIaw:1» | ||
nebuchadnezzar | m: my $v = "foo"; $v ~~ s/foo/bar/; say $v | 16:57 | |
camelia | rakudo-moar 77e3d4: OUTPUT«bar» | ||
hankache | ah ok so same syntax as Perl 5 | 16:58 | |
thanks nebuchadnezzar | |||
thomax | but s///g didn't work, or? | 16:59 | |
nebuchadnezzar | doc.perl6.org/language/regexes | 17:00 | |
lizmat | m: my $a = "foo"; $a ~~ s/o/a/; say $a | ||
camelia | rakudo-moar 77e3d4: OUTPUT«fao» | ||
nebuchadnezzar | adverbs are put in front now | ||
lizmat | m: my $a = "foo"; $a ~~ s:g/o/a/; say $a | ||
camelia | rakudo-moar 77e3d4: OUTPUT«faa» | ||
hankache | m: my Str $x = "Time to feed the cat!"; $x ~~ s/ cat / hacker /; say $x; | 17:02 | |
camelia | rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker !» | ||
17:02
rurban_ left
|
|||
hankache | why is it space sensitive?? | 17:02 | |
^^ | |||
m: my Str $x = "Time to feed the cat!"; $x ~~ s/ cat / hacker /; say $x; | 17:03 | ||
camelia | rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker !» | ||
hankache | is this normal? s/not sensitive to whitespace/sensitive to whitespace ? | 17:04 | |
nebuchadnezzar | hankache: the replacement string is litteral | ||
m: my Str $x = "Time to feed the cat!"; $x ~~ s/ cat /hacker/; say $x; | 17:05 | ||
camelia | rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker!» | ||
andreoss | can i proto class? | ||
17:05
risou is now known as risou_awy
|
|||
nebuchadnezzar | hankache: the regexp part is not whitespace sensitive | 17:05 | |
andreoss | m: proto class Foo {*}; say Foo.WHAT | 17:06 | |
camelia | rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rBhi6RY_KYMissing blockat /tmp/rBhi6RY_KY:1------> 3proto class7⏏5 Foo {*}; say Foo.WHAT expecting any of: new name to be defined» | ||
17:06
risou_awy is now known as risou
|
|||
nebuchadnezzar | hankache: you have quite extensive informations in the documentation | 17:06 | |
dalek | p: 5376b23 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js: [js] Make radix_I and radix accept all the flags. |
||
p: 8c64347 | (Pawel Murias)++ | t/nqp/81-radix.t: Test radix flags. |
|||
hankache | nebuchadnezzar++ | 17:07 | |
17:08
rvchangue left
|
|||
andreoss | m: class Foo { ... }; say Foo.WHAT | 17:12 | |
camelia | rakudo-moar 77e3d4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dDPHPbTmgwThe following packages were stubbed but not defined: Fooat /tmp/dDPHPbTmgw:1------> 3class Foo { ... }; say Foo.WHAT7⏏5<EOL> expecting any of: postfix st…» | ||
17:12
hankache left,
harrison_ left,
keix joined
17:13
AlexDaniel left
17:16
pmurias left
17:22
rvchangue joined
17:29
lucasb joined
17:32
prammer left
|
|||
dalek | kudo/nom: 1088291 | lizmat++ | src/core/ (2 files): Move get-local-timezone-offset to Rakudo::Internals Also streamline a bit |
17:33 | |
flussence | (subs are that much slower than methods? I would've assumed the opposite to be true) | 17:34 | |
lizmat | flussence: it's the lookup of *our* subs! | ||
A::foo() vs A.foo() | |||
flussence | oh, "my" subs are fine then? | ||
lizmat | yup | ||
which is the default, yes | |||
flussence | that's a relief :) | ||
«Stage parse : 124.864» -- owww... that's 150% of normal | 17:41 | ||
lizmat | huh? | 17:42 | |
flussence | I usually get 80-90s for that, the other numbers have scaled up a bit too... | 17:43 | |
lizmat | have been getting between 48/49 secs so far | ||
are you at nom? | |||
flussence | just built 1088291, yep | 17:44 | |
oh whoops, false alarm | |||
forgot I had another window open doing other compilation stuff... | |||
awwaiid | Can someone with powers for doc.perl6.org take a look at github.com/perl6/doc/issues/253 ? Basically it requires a new rakudo, as the current one doesn't know about MONKEY-SEE-NO-EVAL but the code has been updated to use the pragma | 17:46 | |
17:49
dakkar left
|
|||
TimToady | m: my Str $x = "Time to feed the cat!"; $x ~~ s[ cat ] = 'hacker' ; say $x; | 17:50 | |
camelia | rakudo-moar 77e3d4: OUTPUT«Time to feed the hacker!» | ||
timotimo | my driving was a success | ||
moritz | awwaiid: doing it now | 17:51 | |
awwaiid | thank you moritz | ||
thomax | timotimo: oh, i thought you just sit in the car. didn't aware that you drove it. | ||
TimToady | .tell hankache see irclog.perlgeek.de/perl6/2015-12-22#i_11759252 for how to put spaces around the replacement | 17:52 | |
yoleaux | TimToady: I'll pass your message to hankache. | ||
flussence | .oO( it's one of them classic cars, with a steering wheel... ) |
||
17:53
s_kilk joined
|
|||
timotimo | thomax: the car kind of sort of drove itself | 17:53 | |
i mean, i didn't put much work into the driving part | |||
RabidGravy | I just sit in the car, I even have beer | ||
thomax needs to fix some issues on his simson schwalbe | 17:55 | ||
17:56
brrt joined
|
|||
lucasb | m: { !! } | 17:58 | |
camelia | ( no output ) | ||
lucasb | m: { say !! } | ||
camelia | rakudo-moar 108829: OUTPUT«Non ast passed to WANTED: NQPMuNon-QAST node visited NQPMuWeird node visited: NQPMuWeird node in analyze: NQPMu===SORRY!===Unknown QAST node type NQPMu» | ||
lucasb | without the block, it's an error, as expected | ||
17:59
mohae joined
|
|||
moritz | oom | 18:00 | |
installing panda with a freshly brewed rakudo fails | 18:01 | ||
with an error that looks like it's coming from Test.pm | |||
18:01
harrison_ joined
|
|||
moritz | EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override, | 18:01 | |
at /home/rakudobrew/rakudobrew/moar-nom/install/share/perl6/sources/F8FD1F2FA036B47A236AF2A54FCFD435C80D7177:195 | |||
flussence just successfully installed everything up to linenoise, but isn't using rakudobrew | |||
moritz | ------> llable ?? $op !! try EVAL "&infix:<$op>"⏏ -> $matcher { | ||
llfourn | moritz: I had the same problem earler today | ||
moritz | so, it is picking up an older, precompiled version of Test.pm? | 18:02 | |
llfourn | had to rm rakudo/install | ||
flussence | moritz: that sounds like a familiar problem | ||
llfourn | and make install...yep that's what seemed to be happening | ||
TimToady | yes, I've been carping about that failure mode, but you can blow away install/share/perl6 to fix it | 18:03 | |
moritz | that makes me worry that the dependency tra<cking in curli is somehow broken :/ | ||
TimToady | metwo | ||
thomax | does error codes stay like this? ...l6/sources/F8FD1F2FA036B47A236AF2A54FCFD435C80D7177:195 | ||
aeh, not codes but context hints | 18:04 | ||
TimToady | it could perhaps put the original name in parens? | ||
moritz | TimToady: that would help immensely | ||
flussence | it could put the original name somewhere in the filename... | ||
TimToady | well, there's no guarantee the original filename will even work in the filesystem | 18:05 | |
flussence | even a module name squashed to ascii alnum's better than nothing :) | ||
TimToady | I do like having an identity that (very nearly almost) can't collide | 18:06 | |
but it's not terribly user-friendly in its aspect :) | |||
18:08
lucasb left
|
|||
dalek | href="https://perl6.org:">perl6.org: 9fb575b | moritz++ | / (5 files): Change some HTTP links to HTTPS |
18:08 | |
moritz | Public Service Announcement: IRC logs now with SSL: irclog.perlgeek.de/ | 18:09 | |
flussence | having {$sha1}-{$sanitized-name}" as the filename could work, I'm averse to suggesting things that might cause slowdown though. | ||
yay! moritz++ | |||
TimToady | I do think just saying the name in parens will be sufficient to pacify the masses | 18:10 | |
flussence | good enough for me :) | ||
TimToady | who, if they see only sha-1s will rise up and slay us | ||
18:11
ChanServ sets mode: +o moritz
|
|||
TimToady | but it's very nice to be able to copy/paste the actual filename to look at, so I still think the hash should be primary | 18:11 | |
thomax | yepp! don't force me to build checksums of those dirs! | ||
moritz | »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! | 18:11 | |
geekosaur | should std: still be mentioned there? | 18:12 | |
timotimo | honestly, i'd prefer not to get slain any time soon | ||
TimToady | we can drop it | ||
moritz | std: 42 | ||
camelia | std : OUTPUT«No such file or directory» | ||
18:12
espadrine left
|
|||
moritz | »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! | ||
timotimo | admin plz install 42 it sez no such file or directory k thx | 18:12 | |
camelia | std : OUTPUT«(timeout)cat: /home/camelia/std/snap/revision: No such file or directory» | 18:13 | |
TimToady | it was a prototype that we actually planned to throw away, for a change :) | ||
mst | admin plz cure camelia's std | ||
flussence | the timeoutcat ate it! | ||
TimToady | std successfully infected others | ||
18:20
spider-mario joined
18:21
hankache joined
18:24
tadzik joined
|
|||
Skarsnik | hm, is there a way to get Module::Role if the Role is declared with my? | 18:27 | |
llfourn | Skarsnik: get an object doing the role and .^roles maybe? | 18:34 | |
18:38
harrison_ left,
FROGGS joined
|
|||
FROGGS | o/ | 18:38 | |
Skarsnik | wb FROGGS, I have a question with Str encoded and NC xD | 18:39 | |
FROGGS | Skarsnik: ask :o) | ||
Skarsnik | If I say that my returned string is ascii, perl6 keep it ascii or It's unicode? | 18:40 | |
FROGGS | Skarsnik: string are always NFG strings, is that what you ask? | 18:41 | |
strings* | |||
Skarsnik | I try to solve the mysql/dbiish issue to return blob (or even different encoding according to the field encoding) and I want to always work the c string with no encoding to encode them after. | 18:42 | |
or should I use Blob as return type instead of Str | 18:44 | ||
18:44
gtodd left
|
|||
FROGGS | Blob wont work because its repr is a VMArray | 18:45 | |
and a VMArray needs to know its length, err elems | |||
there is currently no way of telling that you want to return a null terminated buffer | |||
[Tux] | o/ | 18:46 | |
FROGGS | otherwise a buf8 would be a good choice | ||
hi [Tux] | |||
Skarsnik: so for now you'd have to return an ascii string and recode that | 18:47 | ||
timotimo | .o( ubf8 ) | ||
Skarsnik | so if I do sub foo is native returns Str encoded('ascii'); I still have a unicode string? | ||
FROGGS | Skarsnik: you'll get an NFG string | 18:48 | |
but when code point mapping is what ascii demands | |||
but the* | |||
Skarsnik | sound like I don't have the real raw data still them | 18:49 | |
FROGGS | ohh | ||
wait | |||
MVM_exception_throw_adhoc(tc, | |||
"Will not decode invalid ASCII (code point > 127 found)"); | |||
that's in MoarVM/src/core/strings/ascii.c | |||
timotimo | yeah | 18:50 | |
TimToady | m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a + $b) }; say True + True | ||
camelia | rakudo-moar 108829: OUTPUT«Memory allocation failed; could not allocate 122464 bytes» | ||
TimToady | cool, a bug! | ||
FROGGS | wait, cant we nativecast to a Str? | ||
TimToady | I was gonna say, it's easy to implement boolean algebra if you need it, but... :) | 18:51 | |
Skarsnik | good question x) | ||
timotimo | TimToady: i don't see the bug yet | ||
Skarsnik | it's a bit weird we have the clever Str return type but nothing for just 'some data ending with a \0' | 18:52 | |
FROGGS | Skarsnik: if you return a Pointer $p, you should be able to do this later: my $result = nativecast(Str is encoded('utf8'), $p) | ||
TimToady | ah, it's a bug in my program :) | ||
m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a or $b) }; say True + True | |||
camelia | rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aHOFaUsEL7Unable to parse expression in argument list; couldn't find final ')' at /tmp/aHOFaUsEL7:1------> 3ub infix:<+>(Bool $a, Bool $b) { Bool($a7⏏5 or $b) }; say True + True expecting a…» | ||
18:52
vendethiel joined
|
|||
timotimo | that's more interesting | 18:53 | |
TimToady | m: multi sub infix:<+>(Bool $a, Bool $b) { Bool($a || $b) }; say True + True | ||
camelia | rakudo-moar 108829: OUTPUT«True» | ||
TimToady | there we go | ||
Skarsnik | I could maybe work around with CArray[int8] since I have the lenght, but it's ugly xD | ||
timotimo | or's precedence is too loose for that syntax? why should it be a problem there, though? | ||
TimToady | Skarsnik: Boolean algebra can be implemented if you really want it, but the use case for it in normal programming is not very common | ||
FROGGS | Skarsnik: do what I just said, it is the best way me thinks | ||
Skarsnik | Should I create a ticket or something to have a raw_c_string type in NC? | 18:55 | |
FROGGS | Skarsnik: go ahead, but perhaps request a null terminated buffer instead | ||
vendethiel | o/, #perl6 | 18:56 | |
timotimo | o/ vendethiel | ||
FROGGS | TimToady: didnt we want to rename nativecast and nativesizeof to something else? | ||
TimToady: like with a dash? I guess we should do it now or never.. | |||
Skarsnik | hm I am for NATIVECAST | 18:57 | |
TimToady | I dunno, it looks pretty low-level to run 'em all together :) | ||
FROGGS | ohh no | ||
timotimo | Skarsnik: the thing is that you can just pass the c-string around as a regular pointer to every native function that expects a char*. and when you want an actual Str, you use "nativecast" | 18:58 | |
FROGGS: do you think we should teach nativecast about a "null-terminated array" kind of thing? | 18:59 | ||
well ... would not really be a cast, i'm imagining more like a copy | |||
FROGGS | timotimo: yes, that is what I think | ||
18:59
crux joined
|
|||
FROGGS | timotimo: though, guessing the size has always been a weird and sometimes problematic thing | 19:00 | |
timotimo | mhm | ||
FROGGS | timotimo: so a 'returns buf8[32]' might also be awesome to have | ||
timotimo | it's more likely that you'll figure out the size of the returned buffer as you call the native function | 19:01 | |
skids | Well really C libraries that don't give you at least a #define for an upper limit are pretty broken, and really should be passing you back lengths, but anyway. | ||
FROGGS | timotimo: yes, we'd probably need both | ||
skids | I've always been partial to "ztr" for a "zed" terminated str :-) | ||
FROGGS | skids: yes, "should" | ||
timotimo | like, a function could return a size as an int and set a int8_t** in the argument list | ||
FROGGS | Skarsnik: we can close this, right? rt.perl.org/Ticket/Display.html?id=126645 | 19:02 | |
19:03
molaf joined
19:04
lucasb joined
19:05
bitmap left
19:06
bitmap joined
|
|||
skids | For those competently implemented C libraries, eventually it might be nice to be able to associate a char* with a size_t via some sugar in the signature. | 19:06 | |
FROGGS | skids: we've thought about that too | ||
skids | Which would lead to people asking for a way to just make "get a pointer, look for zero terminator, cram the result into a buf" as an additional sugar. | 19:07 | |
lucasb | m: say(True or False) | ||
camelia | rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A1meiQFn52Unable to parse expression in argument list; couldn't find final ')' at /tmp/A1meiQFn52:1------> 3say(True7⏏5 or False) expecting any of: infix infix stopper» | ||
19:07
colomon_ joined
|
|||
lucasb | ^^ shouldn't that be allowed? bug, right? | 19:08 | |
timotimo | m: say((True or False)) | ||
camelia | rakudo-moar 108829: OUTPUT«True» | ||
19:09
colomon left,
colomon_ is now known as colomon
|
|||
FROGGS | m: say(1 or 2) # is that a precedence bug? | 19:10 | |
camelia | rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fOoDhURmtqUnable to parse expression in argument list; couldn't find final ')' at /tmp/fOoDhURmtq:1------> 3say(17⏏5 or 2) # is that a precedence bug? expecting any of: infix …» | ||
FROGGS | or a braino? | ||
timotimo | i think it's a bug in the allowed maximum precedence we'd parse inside those parens | ||
TimToady | no, it's intentional | 19:11 | |
Skarsnik | FROGGS, Oh yeah you can probably close the RT, I think I left it open because the : solution was meh x) | ||
FROGGS | I remember having hard times with that in v5 | ||
TimToady | commas are special in arg lists | ||
timotimo | oh, and "or" is looser than , | ||
TimToady | the limit is actually set at listop precedence | 19:13 | |
m: say(1 X 1,2,3) | |||
camelia | rakudo-moar 108829: OUTPUT«((1 1) (1 2) (1 3))» | ||
vendethiel wrote a perl one-liner for a friend today, and wish he could've used 6 instead :p | |||
TimToady | so we can have list infixes | ||
at this point it would be difficult to find a precedence design issue we haven't already thought about once or twice :) | 19:15 | ||
19:16
lostinfog joined
|
|||
lucasb | ok, not a bug, then. But it surprised me. Maybe I have to get more acquainted with the precedence table | 19:18 | |
zacts | \o/ go perl6! | ||
grondilu | it's actually the same even when it's not a arg list | ||
zacts | happy perl6 tuesday | ||
grondilu | m: say my @ = 1 X 1,2,3 | ||
camelia | rakudo-moar 108829: OUTPUT«[(1 1) (1 2) (1 3)]» | ||
19:19
mohae left
|
|||
lucasb | m: say(do True or False) # is the the "right" way to write that? | 19:19 | |
camelia | rakudo-moar 108829: OUTPUT«True» | ||
lucasb | *is this | ||
19:19
brrt left
|
|||
grondilu | no neeed for "do" | 19:19 | |
m: say True or False | |||
camelia | rakudo-moar 108829: OUTPUT«True» | ||
lucasb | grondilu: try say True and False :) | 19:20 | |
19:20
zengargoylew joined
|
|||
grondilu | m: say True and False | 19:20 | |
camelia | rakudo-moar 108829: OUTPUT«True» | ||
grondilu is confused | |||
m: say(True and False) | |||
camelia | rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ixAjAdVu2EUnable to parse expression in argument list; couldn't find final ')' at /tmp/ixAjAdVu2E:1------> 3say(True7⏏5 and False) expecting any of: infix infix stopper» | ||
timotimo | right; the only other way would be to introduce a maximum-loose comma just for use inside calls | ||
Skarsnik | FROGGS, I was thinking of implementing github.com/Skarsnik/nativecall-typ...ag.pm6#L39 directly in NC (it valids routine signature), what do you think? | 19:21 | |
timotimo | m: say False or True | ||
camelia | rakudo-moar 108829: OUTPUT«False» | ||
grondilu | oh yeah | ||
timotimo | ah, say returns True, of course. | ||
what i meant but failed to show was that or has looser precedence than the argument list there | 19:22 | ||
grondilu | I should have remembered the common idio : do-this or die "oops could not do this" | ||
lucasb | m: True or False # maybe this could get a useless use message | ||
camelia | ( no output ) | ||
grondilu | and/or have the exact precedence to allow that | ||
19:22
s_kilk left
|
|||
FROGGS | Skarsnik: +1 | 19:23 | |
timotimo | yeah | ||
19:23
psy_ joined,
lichtkind joined
|
|||
grondilu | but why does "say(True or False) fail? | 19:23 | |
*" | |||
19:23
Guest19112 left
|
|||
timotimo | consider what say(True, False or False, True) would have to mean | 19:23 | |
grondilu | sorry meant "say(True and False)" | ||
timotimo | doesn't make a difference in this case | 19:24 | |
between or and and | |||
mst | did anybody get around to cpan-ing rakudobrew? | ||
19:24
administrator joined
|
|||
TimToady | can we fix the make issue first? | 19:24 | |
19:25
administrator is now known as Guest30550
|
|||
El_Che | mst: maybe unrelated but jdv79's advent post was about perl6 + cpan | 19:25 | |
dalek | kudo/nom: d8ad27f | lizmat++ | src/core/Temporal.pm: Move default-formatter inside DateTime class So that we poison CORE:: a little less |
||
El_Che | mst: (though not about rakudo) | ||
mst | is 'the make issue' the silent fail I hit? | ||
TimToady | no, this one isn't silent | ||
mst | ok, so, I can totally -prep- it for cpan-ing without actually shipping it | 19:26 | |
lizmat seems to have missed what the make issue is | |||
19:26
nmbooker joined
|
|||
Skarsnik | FROGGS, the issue is I check the param name to handle Str, but it will not allow subtype of str and type ~~ Str will allow str (and str in nc param seem buggy) | 19:26 | |
19:27
kanishka joined
|
|||
TimToady | if the Makefile doesn't contain a MAKE= it just gives up, instead of just running 'make', which works fine in Linux | 19:28 | |
FROGGS | Skarsnik: hmmm, yeah, so we need to find a better solution | ||
TimToady | so you can't do rakudobrew triple | ||
lizmat | TimToady: or on OS X apparently ? | ||
ah, rakudobrew related | |||
lizmat goes silent again | 19:29 | ||
TimToady | though I don't quite understand what the difference is that allows bare rakudobrew to succeed while rakudobrew triple doesn't | 19:30 | |
19:30
gblade joined
|
|||
FROGGS | m: say 1:all | 19:31 | |
camelia | rakudo-moar 108829: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGdA9JF9rBYou can't adverb 1at /tmp/RGdA9JF9rB:1------> 3say 1:all7⏏5<EOL> expecting any of: pair value» | ||
FROGGS | m: say 1.:all | ||
nmbooker | Hi I've just been playing around with the andthen operator, and noticed that when Nil is on the LHS it returns (), and not nil | ||
camelia | rakudo-moar 108829: OUTPUT«===SORRY!===Cannot find method 'has_compile_time_value'» | ||
nmbooker | Is that intentional? | ||
(or what's the reason for that)? | |||
19:31
gblade left
|
|||
timotimo | could very well be that it didn't get updated for new semantics | 19:31 | |
TimToady would know for sure | 19:32 | ||
TimToady | oh, I think it's because rakudobrew triple cd's and does the submakes by hand, instead of relying on Configure | 19:33 | |
and the submakes don't specify MAKE= | |||
Skarsnik | m: say str ~~ Str; | 19:34 | |
camelia | rakudo-moar d8ad27: OUTPUT«Cannot unbox a type object in block <unit> at /tmp/PeqLw2zWJe:1» | ||
TimToady | tadzik: ^^^ | ||
Skarsnik | m: my str $a; say $a ~~ Str; | ||
camelia | rakudo-moar d8ad27: OUTPUT«True» | ||
Skarsnik | m: my str $a; say $a does Str; | ||
camelia | rakudo-moar d8ad27: OUTPUT«Cannot mix in non-composable type Str into object of type Str in block <unit> at /tmp/zUqjMENd85:1» | ||
stmuk | m: say num64 ~~ Num | 19:37 | |
camelia | rakudo-moar d8ad27: OUTPUT«Cannot unbox a type object in block <unit> at /tmp/5rsDksKzs4:1» | ||
stmuk | that was 126927 | ||
Skarsnik | str sucks because you can't use .perl on it x) | 19:38 | |
19:39
yqt joined
|
|||
TimToady | nmbooker: the return value is not actually (), but Empty | 19:40 | |
m: say (Nil andthen 1).WHAT | |||
camelia | rakudo-moar d8ad27: OUTPUT«(Slip)» | ||
TimToady | m: say (Nil andthen 1).defined | ||
camelia | rakudo-moar d8ad27: OUTPUT«False» | ||
TimToady | the intent is to allow use in list comprehensions | 19:41 | |
otherwise your result would contain a bunch of Nil values where you just want them dropped | |||
also, andthen is designed to work not just with scalar values, but also with a failure/success model where you can distinguish failures from listy success, since one great way to implement a backtracking engine is to iterate a lazy list of branch points on success | 19:43 | ||
andthen is really intended for logic programming more then just as a defined-and, which is why it also topicalizes the LHS | 19:44 | ||
nmbooker | Yes the topicalisation is useful - I was actually looking at using it to chain a series of calls that can each return an undefined value. | 19:46 | |
TimToady | in that model, you want the andthen itself to just return a list of remaining possibilities without Nils scattered in | ||
since failures should just cut themselves from the tree of possibilities | |||
m: say Empty.defined | 19:47 | ||
camelia | rakudo-moar d8ad27: OUTPUT«False» | ||
nmbooker | are there any examples out there of the kinds of usage you're talking about (in listcomps or failure trees)? | ||
TimToady | we force Empty to be undefined for purposes like that, iiuc | ||
STD was entirely build on those sorts of ideas, though the expression Perl left something to be desired :) | 19:48 | ||
*Perl 5 | |||
timotimo | hm | ||
here's a little idea | |||
why is METAOP_ASSIGN like this: | |||
TimToady | which is why we got 'andthen' in Perl 6 :) | ||
nmbooker | ok so as long as I check definedness with .defined / with / without or whatever, rather than identity to Nil, I should be OK. | ||
timotimo | -> $a, $b { $a = op(($a // op.()), $b) } | ||
nine | lizmat: I see 2 solutions for the native library naming problem: 1. have the FileSystem repository look for META6.json in $.prefix.parent instead of $.prefix and use the meta data when looking for resources. 2. have resources/lib by convention be the directory for native libs | ||
FROGGS: ^^^ | 19:49 | ||
timotimo | shouldn't we actually pretend op.() is always pure | ||
and put the value op.() returns as a variable into the closure? | |||
TimToady | nmbooker: yep | ||
rindolf | Hi all. | ||
_nadim | Can some of youhave a look here and tell me how you break it. I'd like it to be tested by other before I add it to the ecosystem, mainly because this is my first P6 code and I suspect it's going to break | ||
TimToady | just like you shouldn't say ~~ True | ||
_nadim | rindolf: hi | ||
rindolf | _nadim: sup? | ||
RabidGravy | nine, the latters is what I've gone for :) | ||
_nadim | github.com/nkh/P6-Data-Dump-Tree | ||
FROGGS | nine: what is the native library naming problem? | 19:50 | |
mst | TimToady: indeed, that's basically the way I've been implementing a backtracking engine in my prolog-ish thing ;) | ||
nine | FROGGS: that the name of libraries created during a module's build are platform dependent. It's p5helper.so on Linux and p5helper.dylib on OS X | ||
FROGGS | nine: you've even got a bigger problem | 19:51 | |
19:51
oftl joined
|
|||
nine | FROGGS: which is? | 19:51 | |
FROGGS | nine: the library path must be known at moarvm build time IIRC | ||
nmbooker | mst: Can you point me to any of your code? I'm interested to see how that kind of usage works. | ||
Skarsnik | ? | 19:52 | |
19:52
virtualsue joined
|
|||
nine | FROGGS: why's that? | 19:52 | |
Skarsnik | If you give the full path NC will load the lib fine | ||
nine | FROGGS: if that were true, Inline::Perl5 could have never worked | ||
FROGGS | nine: you're not allowed to load libs from random paths on many platforms | ||
_nadim | rindolf: do me a favor and test the module above. if you break it you can alsways tell me on our usual channel. | 19:53 | |
nmbooker | TimToady: Thanks for the clarification, most helpful | ||
FROGGS | nine: where do you install it to? | ||
rindolf | _nadim: will do. | ||
nine | FROGGS: install/share/perl6/site/resources | ||
TimToady | timotimo: I don't quite understand your proposal...the code there is to autoviv in things like; %hash{$newvalue} += 1 | ||
_nadim | rindolf++ | ||
19:53
vv3 joined
|
|||
nine | FROGGS: Perl 5 installes compiled libs into e.g. /usr/lib/perl5/5.22.0/x86_64-linux-thread-multi/auto/ | 19:54 | |
lizmat | moritz: do you recall why dates in years > 9999 should have a + in front of them ? | ||
mst | nmbooker: code is currently in a private git repo because I'm rewriting everything | ||
nmbooker: I would suggest looking at minikanren as a canonical form of that approach designed to be taught | |||
lizmat | nine: feels like 2 is the least work for the moment, and easiest to generalize post Christmas | 19:55 | |
FROGGS | nine: see github.com/MoarVM/MoarVM/commit/d2...99281700ca | ||
nmbooker | mst: ok thanks | ||
RabidGravy | and what I'm already doing :) | ||
Skarsnik | how x86 x64 is handled on windows for lib btw? | ||
FROGGS | nine: yes, this directory is compiled in | 19:56 | |
jdv79 | sup #perl6? | ||
nine | A variation of 1 would be to look in lib/ for modules if a META6.json is present in $.prefix, i.e. use lib "/home/nine/Inline-Perl5"; instead of use lib "/home/nine/Inline-Perl5/lib"; | ||
_nadim | jdv79: hi | ||
FROGGS | nine: do you have a lib in @prefix@/share/perl6/site/lib by any chance? | ||
rindolf | _nadim: how do I run the tests? prove t/*.t fails. | ||
19:57
andreoss left
|
|||
nine | FROGGS: but the shared objects are stored in subdirectories according to the module's namespace. So it's not all in one directory. | 19:57 | |
timotimo | TimToady: actually, what i now think is that calling op.() every time METAOP_ASSIGN is called would be more costly than only calling it when defor falls through | ||
Skarsnik | prove -e 'perl6 -I lib' something like that | ||
TimToady | timotimo: indeed | ||
_nadim | rindolf: I have this alias t6='PERL6LIB=lib,t prove -v -e perl6' | 19:58 | |
TimToady | note we're only calling op there with no args to get the identity value | ||
FROGGS | nine: subdirectories might be okay, I'm not sure about that | ||
timotimo | TimToady: i kind of wish we could do something more cheap than callmethod defined ... | ||
dalek | kudo/nom: 6925c2b | lizmat++ | src/core/Temporal.pm: Streamline DateTime's default-formatter - don't bother checking year for extreme values, sprintf will do the right thing - only check for timezone offset irregularity if one is given |
||
_nadim | rindolf: so I just do t6 t/ or t6 t/whatnot.t | ||
TimToady | well, .DEFINITE would probably work too for the intended purpose | 19:59 | |
nine | FROGGS: Inline::Perl5's p5helper.so use to be installed alongside Perl5.pm6. Now it's installed into share/perl6/site/resources/ | ||
rindolf | _nadim: ah, well the documentation for the module may be lacking. | ||
nine | FROGGS: if anything, the directory is more predictable now | ||
TimToady | it's not really for dealing with Nil or Failure, but with type objects | ||
so I suspect using .DEFINITE would make more sense than .defined | |||
dalek | ast: 4f8dc6b | lizmat++ | S32-temporal/DateTime.t: As per 6925c2b77f1560 extreme years don't get a + |
||
_nadim | rindolf: you are kinding me, right? there's a whole .pod file that does nothing else but document it, then the tests, and a directory named examples | 20:00 | |
TimToady | we just don't have a // variant that does that, so we'd have to hardwire it, but that might well be faster than what we have | ||
FROGGS | nine: if a clean install works on an openbsd box, I'll shut up :o) | ||
20:00
mohae joined
|
|||
rindolf | _nadim: I mean in the README. | 20:00 | |
TimToady | timotimo: feel free to time it and see if it helps | ||
lizmat | .oO( /// ) |
||
timotimo | TimToady: the question is why does defor use .defined and not .DEFINITE. but i'll surely time it. | ||
_nadim | rindolf: README is not documentation | 20:01 | |
rindolf | _nadim: and I am getting many test failures. | ||
lizmat | timotimo: because .defined will defuse Failures ? | ||
TimToady | because // we use on Nil and Failure all the time | ||
_nadim | rindolf: but i take README patches :) | ||
rindolf | _nadim: yes, it is. | ||
TimToady | m: say Empty.defined; say Empty.DEFINITE | ||
camelia | rakudo-moar d8ad27: OUTPUT«FalseTrue» | ||
TimToady | and there | ||
timotimo | OK | 20:02 | |
so for metaop assign it'd still be fine to use DEFINITE and a ?? !!? | |||
_nadim | rindolf: README says: See lib/.... for a complete documentation, follow the README | 20:03 | |
20:03
nmbooker left,
darutoko left
|
|||
flussence | I followed the readme and... GitHub-- # github.com/nkh/P6-Data-Dump-Tree/b...p/Tree.pod | 20:04 | |
_nadim | All, what has happened to Autoload and ties? any URLs to enlighten me? | ||
flussence | you mean p5's autoload? | ||
I think that's been replaced by «method FALLBACK»... | 20:05 | ||
_nadim | flussence: thanks | ||
flussence | there's also the "handles" trait on attributes, which does method passthrough | 20:06 | |
20:06
virtualsue left
|
|||
TimToady | timotimo: yes, I think that should be fine | 20:07 | |
in fact, it should probably be better, since it'll not hide a failure that was stored in a variable | 20:08 | ||
_nadim | my previous dumper made it visible if a "class" handled autoload and ties, not sure I'll add that but it is always nice to know stuff | ||
rindolf | _nadim: do the tests succeed for you? | ||
tadzik | TimToady: oh, triple :| | ||
RabidGravy | _nadim, tie has gone completely, but replaced by the ability to implement a Positional or Associative yourself | ||
nine | lizmat: establishing the lib convention is the easy part. The hard part is that rakudo must be able to turn 'lib/p5helper' into 'lib/libp5helper.so' according to platform conventions when the only source of information is $*VM.config<so> where not even the format is standardized between backends. | ||
_nadim | rindolf: you think I'd upload it otherwise? | ||
rindolf | _nadim: no. | ||
timotimo | TimToady: my first attempt at changing it forgot to change it in the optimizer, so showed no change at all %) | 20:09 | |
_nadim | just grab the output and open a ticket | ||
TimToady | tadzik: I keep going in and changing the error message to just do 'make' anyway, but it doesn't quite seem like the right fix | ||
lizmat | nine: then we should standardize that in VM.pm ? | ||
rindolf | _nadim: but they fail here. | ||
_nadim: ok. | |||
TimToady | tadzik: either we need to probe for gmake in make's clothing, or it needs to look in .. and ../... for MAKE= | ||
nine | lizmat: yes, I'm thinking about a method taking the base name and optionally some version information and returning the full file name. | ||
_nadim | rindolf: can you also use it on some of your objects/structures? | 20:10 | |
lizmat | I would say, make that another attribute of VM | ||
nine | lizmat: version information may be mandatory on some platforms as I've just learned | ||
TimToady | *../.. | ||
rindolf | _nadim: let me see. | ||
_nadim: I haven't written a lot of P6 code. | |||
Skarsnik | nine, I think the old NC was able to turn path/to/foo to path/to/foo.something | ||
nine | old NC? | 20:11 | |
timotimo | TimToady: from 6.84s to 4.56s for my Int $i = 0; Nil while ($i += 1) < 10_000_000 | ||
Skarsnik | before I put the api version 'support' on it | ||
_nadim | rindolf: the ide with a dumper is that you can feed it anything, even the smallest pieces | ||
rindolf | _nadim: ah. | ||
timotimo | however, i'm getting a failure "Cannot assign to an immutable value" in install-core-dist.pl | ||
Skarsnik | but the guess_libname code is a mess x) | ||
TimToady | m: my $x = Failure.new: $x += 1; say $x | ||
camelia | rakudo-moar 6925c2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dA0yLJbCUbCannot use variable $x in declaration to initialize itselfat /tmp/dA0yLJbCUb:1------> 3my $x = Failure.new: $7⏏5x += 1; say $x expecting any of: argument list …» | ||
TimToady | m: my $x = Failure.new; $x += 1; say $x | 20:12 | |
camelia | rakudo-moar 6925c2: OUTPUT«1» | ||
TimToady | timotimo: and fixes ^^^ | ||
so I'd say it's definitely an improvement, timotimo++ | |||
timotimo | cool :) | ||
TimToady | well, I presume it fixes that | ||
nine | From NativeCall.pm6: #Err, this is a mess, why so many way to get the extension? | ||
Skarsnik | nine, accoring to github.com/rakudo/rakudo/blob/nom/...libnames.t ./libfoo will be ./libfoo.so | 20:13 | |
flussence | _nadim: `prove -e 'perl6-m -Ilib'` kinda falls apart horribly here. Most of those tests die with “'use lib' may not be pre-compiled” | ||
timotimo | TimToady: yeah, that throws the failure properly | ||
TimToady | sugoi! | ||
timotimo | who writes the test for that? :) | ||
i'd have to be fudged for now until i figure out the "cannot modify an immutable value" problem | |||
Skarsnik | but I am pretty sure it does not work on os X and win32 x) | 20:14 | |
lizmat | nine: so those 5 lines need to be moved to VM and given an $!lib-ext attribute ? | ||
TimToady | timotimo: I'm willing to delegate that to you, given I have other things to worry about... | 20:16 | |
Skarsnik | $*VM.config<dll> give a pattern like "lib%s.so" | ||
timotimo | interesting | ||
rindolf | _nadim: github.com/nkh/P6-Data-Dump-Tree/issues/2 | 20:17 | |
timotimo | the explosion comes from $time += 2440588 inside DateTime.new | ||
lizmat | timotimo: did I break something in DateTime ? | ||
timotimo | no | ||
i broke it with my change to METAOP_ASSIGN | |||
El_Che | having a go to compile libuv on solaris. | 20:18 | |
nine | Skarsnik: only on MoarVM | ||
lizmat | well, I'm looking at DateTime atm, perhaps we can do without METAOP_ASSIGN :-) | ||
FROGGS | El_Che: good luck | ||
nine | Skarsnik: on JVM you have $*VM.config<nativecall.so> which just gives you ".so" | 20:19 | |
timotimo | lizmat: i still think it's a problem i ought to fix. | ||
lizmat | timotimo: oki | ||
Skarsnik | Yes I figured that why there was so many stuff in this function | ||
timotimo | haha | 20:20 | |
with --ll-exception i get "cannot modify an immutable Int", without it it's an immutable Str | |||
20:20
TimToady left
|
|||
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a // op.(), b) } }; my Str $f; $f ~= "hi"; | 20:21 | |
camelia | ( no output ) | ||
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Str $f; $f ~= "hi"; | ||
camelia | rakudo-moar 6925c2: OUTPUT«Cannot modify an immutable Str in block <unit> at /tmp/RUxw3aCZ2N:1» | ||
timotimo | that puzzles me a bit | ||
m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.(a.DEFINITE ?? op.() !! a, b) } }; my Str $f; $f ~= "hi"; | 20:22 | ||
camelia | rakudo-moar 6925c2: OUTPUT«Use of uninitialized value of type Str in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block at /tmp/SeJNskbRVB:1Cannot modify an immutable Str in block <unit> at /tmp/SeJNskbRVB:1» | ||
Skarsnik | nine, but actually this code should append the right extension (and eventually the version) if there is none | ||
timotimo | well, that thing is the right way around, but why would that give me trouble with the assignment? | ||
m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? op.() !! a, b) } }; my Str $f; $f ~= "hi"; | 20:23 | ||
camelia | rakudo-moar 6925c2: OUTPUT«Use of uninitialized value of type Str in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block at /tmp/I3UzLQf3iP:1Cannot modify an immutable Str in block <unit> at /tmp/I3UzLQf3iP:1» | ||
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Str $f; $f ~= "hi"; | ||
camelia | rakudo-moar 6925c2: OUTPUT«Cannot modify an immutable Str in block <unit> at /tmp/yYl2d83fYR:1» | ||
timotimo | so ... halp anyone? | ||
nine | Skarsnik: yes, trying to pull it into VM::platform-library-name(IO::Path $library, Version :$version); | ||
jdv79 | lizmat: i forgot about that. went to see it today. it was ok. | 20:24 | |
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.( (if a.DEFINITE { a } else { op.() }), b) } }; my Str $f; $f ~= "hi"; | 20:25 | |
camelia | ( no output ) | ||
timotimo | why does that make it work, but ?? !! doesn't | ||
m: sub METAOP_ASSIGN(\op) { -> Mu \a, Mu \b { a = op.( (if a.DEFINITE { a } else { op.() }), b) } }; my Str $f; $f ~= "hi"; | |||
camelia | ( no output ) | ||
timotimo | the "is raw" isn't what does it | ||
20:26
hankache left
|
|||
dalek | kudo/nom: 2e4238f | FROGGS++ | src/Perl6/Grammar.nqp: fix misparse of digit+dot+colon, RT #126959 |
20:28 | |
20:28
virtualsue joined,
vv3 left
|
|||
_nadim | flussence: not pre-compiled? I am not following you. | 20:29 | |
20:29
TimToady_ joined
|
|||
flussence | _nadim: modules hardcoding module paths won't work in 2015.12 | 20:31 | |
_nadim | flussence: rindolf submitted something similar. I hav eno idea of what it is :), There is a dependency on Text::Table::Simple that I should elminate, it's just for test. | 20:32 | |
20:32
TimToady_ is now known as TimToady
|
|||
_nadim | I am not, afaik, harcoding anything. | 20:32 | |
20:33
AlexDaniel joined
|
|||
rindolf eats TimToady 's extra underscore. | 20:33 | ||
20:33
s_kilk joined
|
|||
flussence | lib/Data/Dump/Tree/DescribeBaseObjects.pm has "use lib '.'" on line 2 | 20:33 | |
TimToady | .tell jnthn I think the answer to #126005 is to transform any loop that wants its return value into a map, including KEEP/UNDO, but also loops in non-statementlist context, as the specs ask for; that should give us the correct semantics for KEEP/UNDO and should allow for sink optimization of maps to throw away values later, hopefully after checking return for success | ||
yoleaux | TimToady: I'll pass your message to jnthn. | ||
El_Che | has anyone been able to compile moarvm on solaris? solaris 10 does not have ifaddr.h that's needed by libuv | 20:34 | |
(solaris 11 does, but that's an other story) | 20:35 | ||
_nadim | flussence: yes I found that one, and eliminated it, but the testd still pass | ||
i mean here :) | 20:36 | ||
mst | right, got rakudobrew going locally. not 100% sure what I want to do with a cpan-able version yet, I'll ponder | ||
if anybody else has a go before me, please somebody hilight me so I know | |||
tadzik: ^^ | |||
_nadim | flussence: if you simply remove that line in th emodule, do you still get the same failures? | 20:37 | |
honnestly i don't see how a use lib sould break things, even if it should not be there | |||
rindolf | El_Che: which Solaris version are you using? | 20:38 | |
El_Che | rindolf: none anymore :) | ||
rindolf: but I am trying to get it built in 10 and 11 | |||
mspo | El_Che: have you tested SmartOS? | ||
rindolf | El_Che: ah. | 20:39 | |
mspo | if I get pkgsrc up to date then joyent would test for us | ||
TimToady | lunch & | ||
lizmat | _nadim: in Perl 6, we don't want "use lib" inside modules | ||
El_Che | mspo: I am involved with opencsw | ||
rindolf | TimToady: bon appetit. | ||
lizmat | _nadim: at least not before Christmas | ||
El_Che | mspo: foss for solaris 10 and 11 | ||
mspo | El_Che: join pkgsrc instead :) | ||
flussence | _nadim: now fails most tests with: Could not find symbol '&AsciiGlyphs' in method new at lib/Data/Dump/Tree.pm:44 | 20:40 | |
timotimo finally switched from the unreliable wifi to an ethernet cable | |||
El_Che | mspo: now that I am professionaly not involved with solaris, my packaging efforts are more of a foss/nostalgia/social engagement :) | ||
now that I am NOT | 20:41 | ||
I mean | |||
_nadim | lizmat: I don't either, the one that was there just escaped me when that code went from script to module. | ||
dalek | kudo/nom: 3b3e42b | lizmat++ | src/core/Temporal.pm: Streamline Dateish.week/week-year/week-number - by using native ints - by not using "do" when it is not needed - by directly using AT-POS (at least for now) |
20:42 | |
20:43
M-eternaleye left,
M-eternaleye joined,
M-eternaleye is now known as eternaleye
|
|||
_nadim | flussence: Arff, that one escaped thee tests. Do me a favor, change ddtr to DDTR on that line. it's hard to force one's terminal to not support ANSI! | 20:43 | |
but that's certainly a bug, I'll add tests forcing non ANSI | |||
20:43
s_kilk left
20:45
virtualsue left
|
|||
timotimo | i really don't want to have if a.DEFINITE { a } else { op.() } instead of a ?? !! | 20:45 | |
as that means putting in QAST::Block :| | |||
flussence | now it complains about has-accessor; that's been removed | ||
correct spelling is has_accessor, iirc 2015.11 has both | 20:46 | ||
20:46
virtualsue joined
|
|||
flussence | fixing that shows a bunch of other errors and now I'm getting a bit lost | 20:46 | |
20:48
lucasb left
|
|||
timotimo | damn :( | 20:48 | |
lizmat | timotimo: /// ? | 20:49 | |
20:49
zengargoylew left
|
|||
lizmat | ah, that won't help, won't it ? | 20:49 | |
timotimo | is /// actually a thing? | ||
or are you suggesting i build that? | |||
lizmat | no, a figment of my imagination | ||
timotimo | i could build a p6definiteor | ||
to go with our defor | |||
lizmat | well, TimToady alluded to such a functionality | ||
I was merely suggesting a syntax :-) | 20:50 | ||
timotimo: BTW, what wrong with "a.DEFINITE ?? a !! op()" ? | 20:51 | ||
rindolf | _nadim: did you consider enabling CI (= Continuous Integration) for your repositories? | ||
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.(a.DEFINITE ?? a !! op.(), b) } }; my Int $i; $i += 1; | ||
camelia | rakudo-moar 3b3e42: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/lZl_XKlkov:1» | ||
timotimo | that's what's wrong | ||
m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.((if a.DEFINITE { a } else { op.() }), b) } }; my Int $i; $i += 1; | 20:52 | ||
camelia | ( no output ) | ||
lizmat | ah, I see | ||
well, I don't see the reason, but I see | |||
timotimo | :) | ||
i'd like for someone to find out the reason, but it'd be fine if not | |||
lizmat | something deconting in a ?? !! ? | 20:53 | |
nine | Oh, someone fixed the endless loop on exceptions in the setting :) | ||
lizmat | perhaps a return rather than a return-rw | ||
nine: jnthn did | |||
_nadim | flussence: this is really weird. But I do appreciate the help. any chance I could get an account and test myself? | ||
nine | jnthn++ # you're my hero! | 20:54 | |
FROGGS | nine: jnthn did | ||
20:54
regreg left
|
|||
_nadim | good I have the snapshots to prove it works somewhere ;) | 20:54 | |
timotimo | hm, but decont doesn't mutate the incoming arg to the outer, though? | ||
_nadim | flussence: but I believe that has-accessor error are not directly related. what rakudo so you use? | 20:55 | |
flussence | _nadim: you'd be best off asking someone else for a p6c.org account :) | 20:57 | |
also: «This is Rakudo version 2015.11-722-g10882910b928» | |||
20:57
s_kilk joined
|
|||
_nadim | any idea of who to ask? | 20:58 | |
20:58
molaf left
|
|||
TimToady | timotimo: why are you using a comma there in the !! | 20:58 | |
masak | hi, #perl6 | ||
yoleaux | 15:57Z <lizmat> masak: looking at DateTime.now.later(:hour(1.5)) : is there a reason for not allowing that? | ||
15:57Z <lizmat> masak: e.g., because not every hour is 3600 seconds ? | |||
_nadim | masak: hi | ||
lizmat | masak o/ | 20:59 | |
timotimo | m: sub METAOP_ASSIGN(\op) { -> Mu \a is raw, Mu \b { a = op.((a.DEFINITE ?? a !! op.()), b) } }; my Int $i; $i += 1; | ||
camelia | rakudo-moar 3b3e42: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/B0AHi5nKJy:1» | ||
masak | I'll be able to produce an advent blog post by midnight | ||
timotimo | TimToady: sadly that's not the problem :( | ||
flussence isn't sure who has admin access to that box, but one of them will see this soon enough :) | |||
_nadim | :) | ||
masak | lizmat: I dunno, re DateTime.now.later(:hour(1.5)) -- my first thought is to make hours hours and not something else. if someone wants more magic, they can write their own multis or translation functions or something. | 21:00 | |
masak down scope again for now, but will work on that advent post | |||
_nadim | rindolf: Yo! deal me an account on your box. | ||
21:00
Sqirrel joined
|
|||
rindolf | _nadim: hmmm... | 21:01 | |
_nadim: I'm behind a NAT. | 21:02 | ||
_nadim: I can try to see if I can reproduce the problem on mageia x86-64 v5 . | |||
timotimo | the thing is i'd've implemented /// exactly the way i put the code into the optimizer ... the code that crashes with the "cannot modify" error you can see up there | ||
_nadim | rindolf: give me 5 I upload a version without use lib, maybe that fixes at least some of the problems | 21:04 | |
rindolf | _nadim: well, I'm not sure if it's a problem on v5. | 21:06 | |
stmuk | what happens to .pod in precomp land? I assume they don't get compiled | ||
rindolf | _nadim: what I can do is use ssh port forwarding to open an ssh port to my machine for you. | ||
stmuk | .pod files I mean | ||
rindolf | _nadim: do you have an ssh service? | ||
21:06
TEttinger joined
|
|||
flussence | stmuk: I don't think the module loading stuff even touches plain pod files... | 21:07 | |
timotimo | this is frustrating. i don't know how to go forward with this. | 21:08 | |
_nadim | rindolf: I mean 5 minutes :) new version is up. I don't have any sshd up but I can fix that tomorrow | 21:09 | |
flussence | stmuk: yeah, just checked and it only cares about .pm/.pm6 | ||
21:09
awwaiid2 joined,
borkur joined
|
|||
rindolf | _nadim: I don't understand. | 21:10 | |
_nadim: I tested your module on mga v6 so far. | 21:11 | ||
stmuk | where should Foo.pod for Foo.pm get installed on the filesystem I wonder | ||
_nadim | when I said "give me 5' I meant give me 5 minutes so i can upload a version without the "use lib" | 21:12 | |
mspo | I thought pod was inline | ||
stmuk | I don't think any pod gets installed at all by panda etc without being mentioned in 'provides' and S22 doesn't mention pod | 21:13 | |
_nadim | stmuk: perl6 -Mwhatnot -e 42, will tell you where it looks for whatever that it doesn't find. | ||
except if you have a whatever module installed that is | |||
stmuk | mspo: it can be inline and in files also .. I'm asking about the last case | ||
_nadim | stmuk: a panda . that installs the module you stand in would be nice | 21:14 | |
21:14
Brock joined
21:15
geraud joined
21:16
Brock is now known as awwaiid3,
[Sno] left
|
|||
Skarsnik | _nadim, like panda insall . | 21:16 | |
flussence | stmuk: in a perfect world it'd go in $prefix/man/man3 like perl5's pod does... right now there's nothing :( | 21:17 | |
stmuk | yeah I suspected this. I may just choose .../share/perl6/site/doc | 21:18 | |
21:18
s_kilk left
|
|||
flussence | no objections here! | 21:18 | |
stmuk | actually core docs probably go under .../share/perl6/doc | 21:20 | |
_nadim | Skarsnik: yes like that!!! I asked few time, no one answered :) now I know it, used it and the module installs locally and passes the tests. | 21:21 | |
21:21
perlpilot joined
|
|||
skids | .oO(the easiest way to get an answer out of the Internet is to "be wrong on the Internet" :-) |
21:22 | |
21:25
brrt joined
|
|||
RabidGravy | stmuk, you'll be pleased I started a gdbm module - may finish it tomorrow | 21:31 | |
stmuk | cool .. I had a look at the API but it was too C like for my poor braine | ||
but when it's finished I can add its usage as an example for the p6 cookbook | 21:32 | ||
++RabidGravy | |||
rindolf | _nadim: some tests still fail with commit 9d6986a4585ba6169a0100b8483f0b6c30b53418 | 21:33 | |
RabidGravy | It'll just be a hash with a funny constructor :) | ||
lizmat | RabidGravy: have you considered a parameterized role type thingy? | 21:34 | |
_nadim | rindolf: can you please report them? | ||
21:34
rurban joined
|
|||
lizmat | my %h = Hash[:gdbm<file>].new ? | 21:34 | |
21:35
pierre-vigier joined
|
|||
rindolf | _nadim: yes. | 21:35 | |
_nadim | thanks. Work Here (tm) of course ;) | ||
21:35
[Sno] joined
|
|||
RabidGravy | lizmat, hmm that would be cool, let me get the basic thing working first | 21:37 | |
rindolf | _nadim: I commented on the bug. | 21:38 | |
_nadim: what is your system? | |||
vendethiel | m: my $a = 'hey'; Hash[$a].new.perl.say | 21:39 | |
camelia | rakudo-moar 3b3e42: OUTPUT«Parameter 't' requires a type object of type Str, but an object instance was passed. Did you forget a 'multi'? in block <unit> at /tmp/73wbdnroji:1» | ||
vendethiel | m: my $a = 'hey'; Hash[$a eq 'hey' ?? Str !! !!!].new.perl.say | 21:40 | |
camelia | rakudo-moar 3b3e42: OUTPUT«(my Str % = )» | ||
vendethiel | uh-oh. | ||
_nadim | rindolf: I run suse | ||
AlexDaniel | m: my Rat $x = Inf | 21:41 | |
camelia | rakudo-moar 3b3e42: OUTPUT«===SORRY!===Cannot find method 'value'» | ||
perlpilot | I think something like my %h is gdbm<file.db>; # would read a little better. | ||
_nadim | rindolf: that looks more workable. can you: panda install Text::Table:Simple? I'll look at the other failures | 21:42 | |
21:43
rurban left
|
|||
rindolf | _nadim: OK. | 21:43 | |
RabidGravy | perlpilot, that would be by the way of an after market modification | ||
:) | 21:44 | ||
21:44
CIAvash left
|
|||
perlpilot | RabidGravy, once you get the NativeCall bit done, the rest should be easy ;) | 21:44 | |
RabidGravy | precisely | 21:45 | |
dalek | kudo/nom: b791a85 | lizmat++ | src/core/Temporal.pm: Simplify Dateish.formatter handling - there is no default value for the formatter anymore so we don't need to pass the Callable around anymore - the default-formatter sub is now a private method so we can directly access the attributes, instead of method calling - DateTime.Str now calls this private method if there is no formatter - streamlined .perl using zefram++ insights - added comment as to why there is an .IO method (collatoral fixage) |
21:46 | |
Skarsnik | oh sound nice | 21:47 | |
lizmat | I'm sure this has some performance effects somewhere... | ||
dalek | kudo/platform_library_name: cdd7ae6 | (Stefan Seifert)++ | / (3 files): New method $*VM.platform-libary-name Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so forth. Takes optional version information and uses it if the platform requires it. |
||
nine | lizmat, FROGGS: thoughts about ^^^? | 21:48 | |
RabidGravy: ^^^ | |||
Skarsnik: ^^^^ | |||
lizmat | nine: is this still just about extension, of does this go further ? | 21:49 | |
dalek | c/phasers: 081331e | (Brock Wilcox)++ | doc/Language/phasers.pod: Initial phaser doc, from S04 |
||
hoelzro | nine++ | ||
I'm so glad you cleaned that up | |||
21:49
borkur left
|
|||
lizmat | nine: does this also handle the situation where libs need to be installed in certain dirs on certain systems ? | 21:50 | |
21:50
labster joined
|
|||
RabidGravy | nine++ # could do with a whole usage thing though | 21:50 | |
FROGGS | nine: you've changed the meaning | ||
lizmat | nine++ # never mind the certain dirs question | 21:51 | |
Skarsnik | nc #180 is probably a bad way to see if extension is here, but not sure x) | ||
21:51
kjs_ left
|
|||
nine | FROGGS: how? | 21:52 | |
FROGGS | nine: you are now doing sprintf using moars lib pattern, where the old code did not. I think this will result in libnames like 'liblibfoo' | ||
RabidGravy | I was just going to ask that | ||
nine | FROGGS: I know :/ OTOH this way you can do is native("perl") without having to differentiate between platforms that name it libperl.so or perl.dll | 21:53 | |
RabidGravy | tbh, I can edit hoever many native modules I have | ||
FROGGS | nine: that is still a) a change, and b) inconsistent to what on jvm happens | 21:54 | |
RabidGravy | but does it require that a "helper" dll is named with lib then? | ||
Skarsnik | yes that too | 21:55 | |
RabidGravy | (I have two like that released) | ||
FROGGS | RabidGravy: yes, the current code would expect it to be called libhelper.so on linux | ||
nine | FROGGS: I'd actually rather change the JVM backend or add the logic to platform-library-name. Because otherwise every NativeCall wrapper for some library needs to handle platform specific naming which is exactly what platform-library-name is trying to solve. | ||
RabidGravy | I appear to have missed something | ||
21:56
brrt left
|
|||
RabidGravy | so my "utmphelper.so" won't work even if I use a full path | 21:56 | |
FROGGS | nine: what if we just strip a duplicate 'lib' prefix if it is there? | ||
nine | RabidGravy: yes, to be consistent with all other libraries on the system (which should be a good thing) | 21:57 | |
dalek | kudo-star-daily: 9ef9073 | coke++ | log/ (8 files): today (automated commit) |
||
lizmat | nine: please add the JVM logic to platform-library-name | ||
Skarsnik | nine, well... if you want to have fun. libgtk2 is libxwindowgtk2.so (something like that) | ||
perlpilot just read perl6-weekly and found out about the CLOSE phaser (something I wanted just the other day) | |||
lizmat | nine: there's plenty of it in there already | ||
[Coke] | www.infoworld.com/article/3017418/a...stmas.html | ||
timotimo | i really don't want to give up the optimization for METAOP_ASSIGN in the optimizer ;_; | ||
21:58
pierre-vigier left,
pierre-vigier joined
|
|||
RabidGravy | nine, I'm cool with that | 21:58 | |
nine | FROGGS: if there's a duplicate "lib" then the user specified "libmysql" instead of the more platform independent "mysql". Shouldn't we rather educate users about that? | ||
Skarsnik | I think I saw some liblibstuff | ||
RabidGravy | it's only some transitional period anyway | 21:59 | |
FROGGS | nine: sure, then let's add the lib prefix for jvm too | 22:00 | |
Skarsnik | I am also for removing the argument to is native arg trait and have a register-new-lib("libplop", 1) | ||
RabidGravy | ? | ||
nine | Do we really have no .is-posix? | 22:01 | |
FROGGS | nine: here you could look for platforms/compiler and lib patterns: github.com/MoarVM/MoarVM/blob/mast...up.pm#L138 | ||
Skarsnik | RabidGravy, you actually can write sub foo is native(Str) in case you make a call that previously loaded the right file with this symbol on it | 22:02 | |
And (I did not check) I think NC try to dlopen for each routine marked is native | |||
RabidGravy | Oh I see | 22:03 | |
dalek | c/phasers: 8a4831a | (Brock Wilcox)++ | doc/Language/phasers.pod: Start shuffling things into sections |
||
Skarsnik | so having something that say 'I need nc to load this file' once should be enought x) | ||
nine | lizmat: $*DISTRO.name gives "Mac OS X" on OS X, doesn't it? | 22:05 | |
stmuk | macosx | ||
nine | FROGGS: That is the file that prompted me to ask for is-posix :) | 22:06 | |
FROGGS | :o) | ||
lizmat | $ 6 'say $*DISTRO.name' | ||
macosx | |||
ah, stmuk beat me to it | |||
stmuk++ | |||
rindolf | Hi all. panda install gives me this - paste.debian.net/354698/ - why, and how can it be fixed? | 22:07 | |
22:09
awwaiid2 left
|
|||
dalek | kudo/nom: 48e3958 | lizmat++ | src/core/Temporal.pm: Dateish.daycount-from-ymd/ymd-from-daycount private There were no tests for it, and no documentation. Better to keep things private in light of 6.c |
22:09 | |
moritz | rindolf: the usual advice is to nuke the installation directory (plus $HOME/.perl6), recompile a new rakudo from scratch, and cross your fingers | 22:10 | |
(and bootstrap rakudo, of course | |||
rindolf | moritz: wow! That sucks. | ||
22:10
awwaiid3 left
|
|||
moritz | rindolf: agreed | 22:10 | |
rindolf | _nadim: sorry! | 22:11 | |
nine | Then maybe we should try to debug this issue for a change... | ||
22:11
skids left
22:13
kaare_ left
|
|||
nine | rindolf: what rakudo version were you using when you last bootstrapped panda? | 22:13 | |
rindolf | nine: latest from an hour ago or so. | 22:14 | |
_nadim | rindolf: no problem, you have helped a lot already. But I'd do what was told, nuke it, clone rakudo and install from there, that's what I did | ||
nine | rindolf: and you bootstrapped panda and when using panda this error occurs? | ||
dalek | c: 876ac46 | (Steve Mynott)++ | / (2 files): Some quick fixes to get basic p6doc usage working post-curli. Needs more attention since -f index etc. doesn't work. |
||
Skarsnik | lizmat, you can probably remove the subseconds parameter in the default formatter and put the $second == $second.floor instead since sub second are in the ISO | 22:15 | |
dalek | kudo/platform_library_name: 212e857 | (Stefan Seifert)++ | / (3 files): New method $*VM.platform-libary-name Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so forth. Takes optional version information and uses it if the platform requires it. |
||
nine | Now with JVM and OS X goodness ^^^ | ||
RabidGravy | nine++ | ||
_nadim | nine: rindolf and flussence had the same error on their box testing my module, somehting that makes no sense to me | 22:16 | |
What would the exception "Method 'has-accessor' not found for invocant of class 'Attribute' mean when Attribute has such a method listed in the docs? | 22:17 | ||
FROGGS | nine: darwin (osx) also has a lib prefix: github.com/MoarVM/MoarVM/blob/mast...up.pm#L494 | ||
rindolf | nine: yes, I did - i'm usiing rakudobrew. | ||
Skarsnik | has-accessor is still on the doc? | ||
_nadim | Yes | 22:18 | |
and I hope it will stay | |||
Skarsnik | I though someone removed it, or was it on another class? | ||
all the MOP should be _ | |||
_nadim | well I hope it is not removed! | ||
FROGGS | _nadim: it is called has_accessor | ||
stmuk | can_haz-accessor? | 22:19 | |
_nadim | it's the error message, I didn't change it | ||
hmm, which means that I need to update my rakudo | 22:20 | ||
nine | @all: many thanks for all the input! Very much appreciated | ||
_nadim | because it works fine here | ||
dalek | kudo/nom: e45c773 | kyle++ | t/harness: typo |
||
Skarsnik | nine, maybe you should remove (or edit for other plateform) t/04-nc/17 x) | 22:21 | |
_nadim | because it works fine herefr | ||
FROGGS: did it change name this last week or so? | |||
RabidGravy | about a week ago | ||
Skarsnik | yes something like that | 22:22 | |
_nadim | Docs is not updated BTW | ||
RabidGravy | broke JSON::Unmarshal | ||
lizmat | Skarsnik: ok,will check for spectest fallout | ||
_nadim | RabidGravy: just curious, how did the name of a method in Attribute break another class? | 22:23 | |
RabidGravy | er sorry? | ||
nine | Skarsnik: those tests already uncovered a bug! I will edit them | ||
22:24
smls joined
|
|||
nine | rindolf: can you upload your install/share/perl6 somewhere for me? Might give me a clue | 22:25 | |
rindolf | nine: OK , let me see. | ||
RabidGravy | _nadim, because JSON::Marshal used thae method | ||
github.com/jonathanstowe/JSON-Mars...0e5586e26a | |||
it needs it to determine whether it's public | 22:27 | ||
lizmat | m: say DateTime.Str # will soon be fixed | ||
camelia | rakudo-moar b791a8: OUTPUT«Cannot look up attributes in a type object in block <unit> at /tmp/Ac_VrxC1eI:1» | ||
rindolf | nine: there you go - www.shlomifish.org/Files/files/arcs...rl6.tar.xz | 22:28 | |
_nadim | hrmm, git etch and my prompt isplays a nice -627, 627 commits! yes I need an update | ||
RabidGravy | oops | ||
stmuk | Pod::To::HTML / t/05-zero-width-index.t fails for me | 22:29 | |
maybe I can look tomorrow | |||
rindolf | nine: and I'm going to sleep - it's 00:29 here. | ||
Happy holidays, everyone. | |||
dalek | kudo/nom: ddb8e52 | (Stefan Seifert)++ | / (4 files): New method $*VM.platform-libary-name Turns "foo" into "libfoo.so" on Linux/MoarVM, "foo.dylib" on OS X/JVM, and so forth. Takes optional version information and uses it if the platform requires it. |
||
RabidGravy | harr | ||
RabidGravy | nine++ | ||
lizmat | nine++ | 22:30 | |
smls | TimToady: Another "Useless use": | ||
6 'my $debug; my $debugout = open("debug.log", :a); say $debugout: 42 if $debug' | |||
WARNINGS for -e: | |||
Useless use of $debugout in sink context (line 1) | |||
dalek | kudo/nom: 0d5372f | FROGGS++ | src/Perl6/Actions.nqp: correctly fix digit+dot+colonpair, RT #126959 The code that turns pairs into named args of an arglist threw an error before, swallowing the complaint about the syntax error. |
||
TimToady | huh | ||
RabidGravy | another day of fixing modules in my future then | ||
22:30
pierre-vigier left
22:31
rindolf left
|
|||
Skarsnik | nine, does it keep libfoo working? | 22:31 | |
dalek | ast: 94ee230 | FROGGS++ | S02-lexical-conventions/minimal-whitespace.t: add tests for RT #126959 |
||
RabidGravy | nine, how does this all play with %?RESOURCESnow? | ||
Skarsnik | I mean it does not do liblibfoo x) | ||
22:31
khw left
|
|||
TimToady | m: say 42: if 1 | 22:32 | |
camelia | rakudo-moar e45c77: OUTPUT«WARNINGS for /tmp/9GJUNw1Brs:Useless use of constant integer 42 in sink context (line 1)42» | ||
TimToady | shorter | ||
nine | Skarsnik: no, though there's still the heuristic looking for '.so' | ||
RabidGravy: not yet. Though I will add the resources/lib convention | 22:33 | ||
Skarsnik | I just update my module for version and bool/size_t x) | ||
FROGGS | nine: you've seen my message about the lib prefix on OSX? | 22:34 | |
nine | .tell rindolf your share/perl6 really doesn't contain anything but panda's modules and the CORE dist. And lots of pre-curli files. I really wonder where panda installed Shell::Command to | ||
yoleaux | nine: I'll pass your message to rindolf. | ||
22:34
Begi left
|
|||
nine | FROGGS: yes, I changed VM.pm line 65 accordingly | 22:34 | |
FROGGS | awesome | 22:35 | |
nine | FROGGS: many thanks for pointing out those things! | ||
RabidGravy | I'll take a look in the morning | ||
nine | I really have to get into bed now. Good * all! | 22:36 | |
Skarsnik | RabidGravy, if you have module that does not use a libpath you should already get a warning from nc x) | ||
FROGGS | gnight nine++ | ||
22:36
kjs_ joined
|
|||
RabidGravy | toodlepip | 22:36 | |
FROGGS | doing the same now... gnight #perl6 | 22:37 | |
Skarsnik | good night | ||
lizmat | gnight nine! | ||
gnight FROGGS! | |||
RabidGravy | Skarsnik, with 29 modules it's like painting the Forth bridge checking and fixing them at themoment :) | 22:38 | |
dalek | kudo/nom: e86ab8c | lizmat++ | src/core/Temporal.pm: No need for :subseconds anymore, Skarsnik++ |
||
_nadim | hmm, so I rebuild rakudo, config, make, make install. perl6 -V shows me a perl6 build on the latest commit. What I find very surprising is that running the tests still pass while I have has-accessor, rather than has_accessor, in my code. Is there something to flush away? | 22:39 | |
RabidGravy | no it's in the setting | 22:40 | |
weird | |||
_nadim | It's not often i want my code to ail, but right now I do | ||
lizmat | is this about Attribute.has_accessor ? | ||
_nadim | I did install the module with panda | ||
RabidGravy | is it actually hitting that in your tests? It won't be a compile time error | 22:41 | |
_nadim | lizmat: I have has-accessor in my code. worked fine because I have an older rakudo. I just updated it, still works | ||
RabidGravy: yes, all tests still pass, I'll check again that I say the rigt version displayed by -V | 22:43 | ||
22:43
cpage_ left
|
|||
_nadim | My bad, it's getting late | 22:45 | |
I fetched but didn't merge, og course my perl is going to give me the same commit since I rebuild the same perl6! Bahh | 22:46 | ||
dalek | kudo/nom: f0c5469 | TimToady++ | src/Perl6/Actions.nqp: want colon invocant, smls++ |
22:50 | |
_nadim | When one installs a new version of rakudo, all the modules have to be re-installed? | 22:53 | |
RabidGravy | "it depends" | ||
Skarsnik | with precompil stuff I am not sure x) | ||
timotimo | at the moment we install the sources | ||
when you have a newer version of rakudo, the precompilation files will all become stale | 22:54 | ||
_nadim | I just got the same message as rindolf, can't find Shell::Command | ||
timotimo | so when you execute stuff, it'll re-build stuff for you | ||
oh, hmm. | |||
maybe it's looking in a different folder now. like ~/.perl6/2015.11-321413134-gfuairen/ | |||
_nadim | is there a way to clean up everything and rebuild? I'll reinstall the 3 module si have installed, that's OK | 22:55 | |
or any other way to revive it, right now I have a piece of dead wood | 22:56 | ||
22:56
mscha joined
|
|||
lizmat | rm -rf install | 22:57 | |
mscha | p6: say Ⅵ + Ⅳ; | ||
camelia | rakudo-moar e86ab8: OUTPUT«10» | ||
22:58
telex left
|
|||
mscha | p6: say ⅯⅯⅩⅤ + Ⅰ; | 22:59 | |
camelia | rakudo-moar e86ab8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileBogus postfixat /tmp/tmpfile:1------> 3say Ⅿ7⏏5ⅯⅩⅤ + Ⅰ; expecting any of: infix infix stopper postfix statement end statem…» | ||
22:59
Guest30550 left
23:00
telex joined
|
|||
_nadim | lizmat: thanks, I'll get a new panda too, sounds almost cute | 23:00 | |
lizmat | hehe... it helped me a lot of times | ||
lichtkind | hej liz | 23:02 | |
masak | ok, 23rd advent blog post draft: gist.github.com/masak/c6be8893838868f47ae8 (limited time only) | 23:03 | |
geekosaur needs to nuke his local rakudobrew and start over... it's from before curli landed | |||
mscha | say ¼ × 8; | ||
p6: say ¼ × 8; | |||
camelia | rakudo-moar e86ab8: OUTPUT«2» | ||
lichtkind | nine FROGGS he article about perl 6 is don and proofread twice anyone want to chekc for technical mistakes? | 23:04 | |
mscha | p6: 2¹⁰ | 23:05 | |
camelia | ( no output ) | ||
mscha | p6: say 2¹⁰ | ||
camelia | rakudo-moar e86ab8: OUTPUT«1024» | ||
mscha | p6: say √5; | 23:06 | |
camelia | rakudo-moar e86ab8: OUTPUT«5===SORRY!5===Argument to "say" seems to be malformedat /tmp/tmpfile:1------> 3say7⏏5 √5;Bogus postfixat /tmp/tmpfile:1------> 3say 7⏏5√5; expecting any of: infix infix stopper postf…» | ||
masak | mscha: need to define a prefix:<√> | 23:07 | |
m: sub prefix:<√>($n) { sqrt $n }; say √5 | |||
camelia | rakudo-moar e86ab8: OUTPUT«2.23606797749979» | ||
23:08
adu joined
|
|||
timotimo | masak: "mess upp"? :) | 23:09 | |
23:10
cpage_ joined
|
|||
mscha | p6: say “I love that “I love that “I love that “this” works!” works!” works!” | 23:10 | |
camelia | rakudo-moar e86ab8: OUTPUT«I love that “I love that “I love that “this” works!” works!” works!» | ||
masak | timotimo: fix'd, thanks | 23:11 | |
timotimo | mscha: and now build something terribly confusing with these :D | ||
masak: "There are combinations of horrors that can be imagined." sounds kind of weird on its own | 23:12 | ||
23:13
xfix left
|
|||
timotimo | other than that, good post! | 23:14 | |
masak | thanks. fixing that sentence too | 23:16 | |
diakopter | so many ponies | 23:17 | |
RabidGravy | mmm ponies | ||
diakopter | you could linkify modules.perl6.org | 23:18 | |
oh wait that's jdv's | |||
_nadim | thank you all for the help, now everything is, hapilly, broken. | 23:19 | |
smls | TimToady: I get "[DISLOCATED MESSAGE] Useless use of &infix:<=> in sink context" for a Perl 6 script that's 640 lines long. Any idea what I should look for to golf it? | ||
23:19
kjs_ left
|
|||
timotimo | _nadim: :( | 23:20 | |
smls: perhaps the --target=ast will give you a little hint? | |||
smls | I'll try | ||
timotimo | in there you can just grep out all mentions of &infix:<=> and see if the "annotations" show you anything | ||
then we can find what piece of the grammar&actions was responsible | |||
masak | ok, advent post scheduled | 23:21 | |
in 38 minutes :) | |||
going to bed now | |||
'night, #perl6 | |||
RabidGravy | toodles | 23:22 | |
timotimo | neato | ||
good night masak | |||
23:22
spider-mario left
|
|||
lizmat | gnight masak | 23:23 | |
smls | timotimo: It only spits out one line with "&infix:<=>": | ||
- QAST::Var(lexical &infix:<=>) :BY<&defoid W W u u U u U u U u U u> :context<sink> | |||
timotimo | ah | 23:24 | |
can you give me the context of that? | |||
if it's not the first child of a call, that'd be weird. maybe it's also weird to have sink context in there | |||
smls | wait i think i see which sub this is in | ||
timotimo: Alright, the offending line in the source has the form: %hash{.foo}{.bar} »=» 1 for @list; | 23:26 | ||
will try to reproduce it as a one-liner | 23:27 | ||
Thanks for that --target=ast advice :) | |||
23:28
RabidGravy left,
[Sno] left
|
|||
smls | ...got it. TimToady: | 23:30 | |
m: my @a; @a »=» 1 for 1; | |||
camelia | rakudo-moar f0c546: OUTPUT«[DISLOCATED MESSAGE] Useless use of &infix:<=> in sink context» | ||
23:30
firstdayonthejob left,
[Sno] joined
|
|||
[Coke] yawns | 23:31 | ||
timotimo | right. so that's about hyper metaops not wanting their operator | 23:33 | |
23:33
lostinfog left
23:39
rurban joined,
rurban left
23:40
rurban joined,
rurban left
|
|||
[Coke] | m: say -Inf^..^Inf | 23:41 | |
camelia | rakudo-moar f0c546: OUTPUT«-Inf^..^Inf» | ||
[Coke] | m: say (-Inf^..^Inf).min | ||
camelia | rakudo-moar f0c546: OUTPUT«-Inf» | ||
[Coke] | m: say (-Inf^..^Inf).minmax | ||
camelia | rakudo-moar f0c546: OUTPUT«(timeout)» | 23:42 | |
[Coke] | ... does Range need its own minmax? | ||
do we need to resolve RT #126990 before christmas? Looks like it would be an easy fix if we went with option #3. | 23:43 | ||
lizmat | [Coke]: it can't, really | ||
23:45
virtualsue left
23:50
rvchangue left
|
|||
lizmat | [Coke]: especially with non-integers numeric and excludes-min/max in play | 23:52 | |
.minmax probably shouldn't hang, though | |||
23:58
rvchangue joined
|
|||
geraud | m: say 一+八; | 23:58 | |
camelia | rakudo-moar f0c546: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1DzzHkMquhUndeclared routines: 一 used at line 1 八 used at line 1» | ||
dalek | kudo/nom: d01eb83 | lizmat++ | src/core/Range.pm: Streamline Range.ACCEPTS + .in-range method - add Cool candidate that fastpaths Ints - add in-range method: return True if in range, or X::OutOfRange fail |
23:59 | |
kudo/nom: b69aa55 | lizmat++ | src/core/Int.pm: Fix for #126990 option #3, ^-Inf..^Inf |