»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:03
zloyrusskiy left
|
|||
TimToady | um, none? | 00:06 | |
I think the & is optional only to allow declaration of &*foo, which would be a dynamic name | 00:07 | ||
soh_cah_toa | ah, ok. i wasn't sure if the meaning of & changed in p6 | 00:08 | |
TimToady | well, it certainly changed from what it means in p5. & can invoke in p5, but in p6 & only ever turns a verb name into a noun, like -ing in 'walking' | 00:14 | |
or more like the infinitival 'to', since it's in front | 00:15 | ||
shades of Logo... | |||
soh_cah_toa | ah, interesting | ||
00:32
thundergnat left
01:01
noganex joined
01:02
jaldhar left,
jaldhar joined
01:04
noganex_ left
01:05
jevin left
01:08
jevin joined
01:17
jaldhar left
01:23
jevin left
01:26
jevin joined
01:31
colomon joined
|
|||
colomon | new regex engine! \o/ | 01:31 | |
01:40
im2ee left
|
|||
colomon | errr.... why are all (or many of?) the nom parameters passed as \$a? | 01:46 | |
01:47
mberends left
|
|||
colomon | nom: say 0.WHAT | 01:53 | |
p6eval | nom: OUTPUT«Int()» | ||
colomon | nom: say (0/1).WHAT | ||
p6eval | nom: OUTPUT«Rat()» | ||
01:55
jevin left
|
|||
colomon | nom: given "10" { say $_.WHAT } | 01:55 | |
p6eval | nom: OUTPUT«Str()» | ||
[Coke] | nom: say +"4/2".WHAT | ||
p6eval | nom: OUTPUT«Segmentation fault» | ||
[Coke] | hee! | ||
colomon | ugh | ||
[Coke] | pmichaud: nom: say +"4/2".WHAT | ||
msg pmichaud nom: say +"4/2".WHAT | |||
... | 01:56 | ||
colomon | nom: say "4/2".WHAT | ||
01:56
jevin joined
|
|||
p6eval | nom: OUTPUT«Str()» | 01:56 | |
[Coke] | phenny, tell pmichaud nom: say +"4/2".WHAT | ||
phenny | [Coke]: I'll pass that on when pmichaud is around. | ||
[Coke] | nom: say +"2/4" | ||
p6eval | nom: OUTPUT«0.5» | ||
colomon | hey, come on, that one's easy! | ||
[Coke] | nom: say +"4/2" | ||
p6eval | nom: OUTPUT«2» | ||
colomon | it's +(.WHAT) that's killing it | ||
nom: my $a = "4/2".WHAT; say $a; say +$a | 01:57 | ||
p6eval | nom: OUTPUT«Str()Segmentation fault» | ||
01:57
simcop2387 left
|
|||
[Coke] | nom: say +"Str()" | 01:57 | |
p6eval | nom: OUTPUT«0» | ||
01:57
simcop2387 joined,
simcop2387 left,
simcop2387 joined
|
|||
colomon | oooo, so it's not a string, eh? | 01:58 | |
nom: my $a = "4/2".WHAT; say $a; say $a.WHAT | |||
p6eval | nom: OUTPUT«Str()Str()» | ||
colomon | or not. | ||
[Coke] | must be a funkystr! | 01:59 | |
colomon | yeah | ||
thought since I had a second of peace and quiet and my $work is stalled waiting from e-mail from France, I'd look at abs.t. | 02:00 | ||
I patched nom so abs.t didn't crash any more, but I'm getting really weird results from the test | 02:01 | ||
in particular, the line ok(abs($_) ~~ $_.WHAT, "got the right data type (" ~ $_.WHAT ~ ") of absolute value for $_"); | |||
seems to be triggering "Use of uninitialized value in string context" even when $_ is very clearly defined. | 02:02 | ||
[Coke] | "no it isn't" | ||
. o O (You came here for an argument!) | 02:03 | ||
TimToady | nom: my $a = (+"4/2").PARROT | ||
p6eval | nom: OUTPUT«Method 'PARROT' not found for invocant of class 'Rat'current instr.: '_block1002' pc 89 ((file unknown):63434093) (/tmp/Vv8X_BzGF1:1)» | ||
TimToady | nom: my $a = +"4/2".WHAT.PARROT | ||
p6eval | nom: OUTPUT«Method 'PARROT' not found for invocant of class 'Str'current instr.: '_block1002' pc 81 ((file unknown):39361052) (/tmp/Zkxj4gcwE7:1)» | ||
TimToady | nom: say "4/2".WHAT.WHAT | 02:04 | |
p6eval | nom: OUTPUT«Str()» | ||
[Coke] | nom: say +"4/2".PARROT | ||
p6eval | nom: OUTPUT«Method 'PARROT' not found for invocant of class 'Str'current instr.: '_block1002' pc 75 ((file unknown):64971608) (/tmp/s4eWrXkmJm:1)» | ||
[Coke] | yay mysteries. | ||
TimToady | nom: say "4/2".WHAT.Numeric | ||
p6eval | nom: OUTPUT«Segmentation fault» | ||
TimToady | nom: say Str.Numeric | 02:05 | |
p6eval | nom: OUTPUT«Segmentation fault» | ||
TimToady | there you go | ||
nom: say Mu.Numeric | 02:06 | ||
p6eval | nom: OUTPUT«Use of uninitialized value in numeric context0» | ||
TimToady | nom: say Any.Numeric | ||
p6eval | nom: OUTPUT«Use of uninitialized value in numeric context0» | ||
TimToady | nom: say Cool.Numeric | ||
p6eval | nom: OUTPUT«Use of uninitialized value in numeric context0» | ||
colomon | Str.Numeric appears to be a bunch of special case code | 02:07 | |
TimToady | obviously it's the actual attempt to convert something that it thinks it ought to | ||
colomon | errr... special case code isn't really the right term. | ||
TimToady | probably just missing a :D | ||
colomon | but it's a specific routine. | ||
nom: say 243245324245823904890328490328490283490820934] | 02:09 | ||
p6eval | nom: OUTPUT«bigint_get_long: number too bigcurrent instr.: 'nqp;Perl6;SymbolTable;add_constant' pc 14716 (src/gen/perl6-symboltable.pir:5024) (src/Perl6/SymbolTable.pm:790)» | ||
colomon | nom: say 243245324245823904890328490328490283490820934 | ||
p6eval | nom: OUTPUT«bigint_get_long: number too bigcurrent instr.: 'nqp;Perl6;SymbolTable;add_constant' pc 14716 (src/gen/perl6-symboltable.pir:5024) (src/Perl6/SymbolTable.pm:790)» | ||
colomon | ah | ||
yeah, Str.Numeric doesn't handle the "Not actually a number" case at all. | 02:10 | ||
no, wait, it's trying to... | |||
TimToady | nom: say Str.Cool | ||
p6eval | nom: OUTPUT«Method 'Cool' not found for invocant of class 'Str'current instr.: '_block1002' pc 75 ((file unknown):63566680) (/tmp/dxGy1CYLpf:1)» | ||
02:11
jaldhar joined
|
|||
colomon | nom: say nqp::radix(10, "Str", 0, 0) | 02:15 | |
p6eval | nom: OUTPUT«Method 'gist' not found for invocant of class 'FixedFloatArray'current instr.: 'say' pc 441726 (src/gen/CORE.setting.pir:112716) (src/gen/CORE.setting:3458)» | ||
colomon | :\ | ||
nom: say nqp::radix(10, nqp::unbox_s("Str"), 0, 0) | 02:16 | ||
p6eval | nom: OUTPUT«Method 'gist' not found for invocant of class 'FixedFloatArray'current instr.: 'say' pc 441726 (src/gen/CORE.setting.pir:112716) (src/gen/CORE.setting:3458)» | ||
colomon | bah. need to go to bed. | 02:17 | |
o/ | |||
TimToady | o/ | ||
02:23
pmichaud left,
pmichaud joined
|
|||
colomon | though one last question (for those present and backloggers in the morning): there are operator, sub, and method forms of abs. Which one should be the basis for the implementation of the other two? | 02:23 | |
02:23
ciphertext left,
jaldhar left
02:24
silug_ left
02:25
xinming left
02:26
ciphertext joined,
silug_ joined
02:32
xinming joined
02:45
felliott joined,
leprevost joined
|
|||
TimToady | operators and subs can be inlined, and single dispatch is really kinda what you want for a unary anyway. | 02:46 | |
that being said, however, abs() means something particular in Perl the Language | |||
and if you call $x.abs it could instead be what Some Other Language wants it to mean | 02:47 | ||
not likely a problem for abs, but other operators have strange overloadings in other languages | |||
if our infix:<+>($a,$b) delegates to $a.'+'($b) you're likely to get concatenation instead of addition | 02:49 | ||
so probably the abs(Numeric) can delegate to the method, but abs(Cool) should still enforce numericity | 02:53 | ||
03:01
Chillance left
|
|||
TiMBuS | colomon, looks like everything in nom is a bit unsafe | 03:07 | |
nom: say Str.chop | |||
p6eval | nom: OUTPUT«Segmentation fault» | ||
TiMBuS | nom: say Str.pred | 03:08 | |
p6eval | nom: OUTPUT«Use of uninitialized value in string contextDecrement out of rangecurrent instr.: 'rethrow' pc 505413 (src/gen/CORE.setting.pir:141862) (src/gen/CORE.setting:3974)» | ||
TiMBuS | oh | ||
nqp::unbox_s(self) seems to be the issue then. um | |||
03:08
molaf joined
|
|||
TiMBuS | return 0 if nqp::isnull(self); ? | 03:09 | |
unless self isnt null in this case? i wouldnt know | |||
so um. i guess i should find out what :D does huh | 03:17 | ||
> Str.Numeric | |||
Parameter '(null)' requires an instance, but a type object was passed | |||
that fixes it but i dont even know what i did | 03:18 | ||
TimToady | it's just an extra constraint on the type that requires it to be defined | ||
TiMBuS | well that makes perfect sense | 03:20 | |
and i was so sure it meant 'make this function happy' | 03:21 | ||
TimToady | that too | ||
TiMBuS | so is erroring like that the Right thing to do, or should it actually be checking for self being defined and returning 0 | 03:22 | |
TimToady | beats me, you should as a language designer | 03:23 | |
*ask | |||
03:23
Su-Shee_ joined
|
|||
TiMBuS | heh | 03:24 | |
03:26
woosley joined
03:27
Su-Shee left
|
|||
TimToady | rosettacode.org/wiki/Singly-linked_...sal#Perl_6 <-- cute use of => to do Lisp cons cells | 04:05 | |
04:14
ciphertext left
04:20
HarryS left,
HarryS joined
04:24
felliott left
04:30
kaare__ joined
|
|||
TimToady | also, demo of [=>] to turn a Perl list into a Lispish list | 04:46 | |
thou | rakudo: my $s = 'foobar'; if $s ~~ s/ ^ xyz // { say $s.perl } # Anyone know a nice workaround for this? | 04:54 | |
p6eval | rakudo 1ddda5: OUTPUT«"foobar"» | ||
thou | i *assume* that ~~ should return False there | ||
i can do a match, and if it succeeds then do the subst, but maybe there's something a little nicer | 04:55 | ||
04:57
donri left
04:59
ciphertext joined
05:00
soh_cah_toa left
05:12
whumbl joined
05:19
whumbl left
05:26
jaldhar joined
06:06
zby_home_ joined
06:13
[Sec] left
|
|||
moritz | there is - a batch for rakudo :-) | 06:17 | |
dalek | kudo/nom: e707e6e | moritz++ | src/Perl6/SymbolTable.pm: fix typo in comment |
06:20 | |
06:31
[Sec] joined
06:40
woosley left
06:41
simcop2387 left
|
|||
thou | \o/ just served complete November main page incl. css and images from Plackdo | 06:43 | |
moritz | \o/ indeed | 06:44 | |
thou | lopnor++ plackdo++ | ||
06:44
ciphertext left,
simcop2387 joined
06:46
ciphertext joined
|
|||
moritz | nqp: pir::getstderr__PP().print("foo\n") | 06:46 | |
p6eval | nqp: OUTPUT«foo» | ||
thou | it took a *long* time to serve header.png :-) | ||
(3m 26s) | 06:47 | ||
moritz | then I hope you have a caching header for it :-) | ||
Buf handling is *very* inefficient in master | |||
thou | postimage.org/image/2qasabphg/0630df2f/ | 06:48 | |
that's not precompiled code, though | 06:49 | ||
06:50
woosley joined,
woosley left
|
|||
thou | amazingly enough, Plackdo includes an expires header | 06:52 | |
06:52
woosley joined
06:56
woosley left
07:00
donri joined
07:02
wamba joined
|
|||
moritz | nom: rx/./ | 07:02 | |
p6eval | nom: OUTPUT«Null PMC access in clone()current instr.: 'nqp;QRegex;P6Regex;Grammar;nibbler' pc 34391 (src/stage2/QRegex.pir:11337) (src/stage2/QRegex.nqp:771)» | ||
07:02
Tene left,
Tene joined,
Tene left,
Tene joined
|
|||
moritz | nom: $_ = "foo"; say /./ | 07:02 | |
p6eval | nom: OUTPUT«_block1010» | ||
moritz | nom: $_ = "foo"; say (/./).() | ||
p6eval | nom: OUTPUT«Not enough positional parameters passed; got 0 but expected 1current instr.: '_block1010' pc 369 ((file unknown):59126769) (/tmp/OnPjjvB14S:1)» | ||
moritz | nom: $_ = "foo"; say (/./).($_) | ||
p6eval | nom: OUTPUT«Method '!cursor_start' not found for invocant of class 'Str'current instr.: '_block1010' pc 390 ((file unknown):2) (/tmp/1qxXLkI4oG:1)» | 07:03 | |
moritz | nom: $_ = "foo"; say (/./).(Cursor.new, $_) | ||
p6eval | nom: OUTPUT«Too many positional parameters passed; got 2 but expected 1current instr.: '_block1010' pc 390 ((file unknown):149) (/tmp/WfY0aNxnMp:1)» | ||
moritz can't figure out how regex are invoked at the low level | |||
nom: say Regex.^methods | |||
p6eval | nom: OUTPUT«Method 'gist' not found for invocant of class 'Sub'current instr.: 'gist' pc 478754 (src/gen/CORE.setting.pir:130216) (src/gen/CORE.setting:2216)» | 07:04 | |
moritz | nom: say Regex.^methods.map: { nqp::p6box_s($_) } | ||
p6eval | nom: OUTPUT«Segmentation fault» | ||
moritz | nom: say Regex.^methods.map: { nqp::p6box_s(pir::perl6_decontainerize__PP($_)) } | ||
p6eval | nom: OUTPUT«Segmentation fault» | ||
moritz | nom: say Regex.^mro | 07:05 | |
p6eval | nom: OUTPUT«Regex() Method() Routine() Block() Code() Any() Mu()» | ||
07:06
[particle] left
07:08
[particle] joined
|
|||
colomon | nom: say abs -10 | 07:10 | |
p6eval | nom: OUTPUT«10» | ||
colomon | nom: say abs(-10) | ||
p6eval | nom: OUTPUT«10» | ||
07:28
im2ee joined
|
|||
TimToady | rosettacode.org/wiki/Boxing_the_compass#Perl_6 | 07:30 | |
07:32
jjore left
07:33
jjore joined
|
|||
moritz | it's fun to actually write running Perl 6 code :-) | 07:34 | |
TimToady | ain't it though | 07:35 | |
colomon | nom: use Test; given -10 { ok(abs($_) ~~ $_.WHAT, "got the right data type (" ~ $_.WHAT ~ ") of absolute value for $_"); } | ||
p6eval | nom: OUTPUT«Use of uninitialized value in string contextok 1 - got the right data type () of absolute value for -10» | ||
colomon | nom: use Test; given -10 { say $_.WHAT; ok(abs($_) ~~ $_.WHAT, "got the right data type (" ~ $_.WHAT ~ ") of absolute value for $_"); } | 07:36 | |
p6eval | nom: OUTPUT«Int()Use of uninitialized value in string contextok 1 - got the right data type () of absolute value for -10» | ||
moritz | use .WHAT.gist or .WHAT.perl | ||
type objects now stringify to '' | |||
colomon | ooooo | ||
moritz | and say() uses .gist on its arguments | 07:37 | |
to get a more human-readable output | |||
colomon | nom: use Test; given -10 { say $_.WHAT; ok(abs($_) ~~ $_.WHAT, "got the right data type (" ~ $_.WHAT.gist ~ ") of absolute value for $_"); } | ||
p6eval | nom: OUTPUT«Int()ok 1 - got the right data type (Int()) of absolute value for -10» | ||
colomon | :\ | ||
that's not at all what I got when I just tried that locally. | 07:38 | ||
moritz | how old/new is your nom? | ||
colomon | last commit is 6c8b8d1f35992bf6fbab99459ac1cf3b119c61f8, July 15 20:59:42 by you | 07:39 | |
nom: use Test; given -10 { say $_.WHAT; ok((2/3) ~~ $_.WHAT, "got the right data type (" ~ $_.WHAT.gist ~ ") of absolute value for $_"); } | 07:40 | ||
p6eval | nom: OUTPUT«Int()ok 1 - got the right data type (Int()) of absolute value for -10» | ||
moritz | that's new enough | ||
07:40
jjore left
|
|||
colomon | the test isn't actually working either place.... | 07:40 | |
moritz | rakudo: say (2/3).WHAT | ||
p6eval | rakudo 1ddda5: OUTPUT«Rat()» | 07:41 | |
moritz | nom: say (2/3).WHAT | ||
p6eval | nom: OUTPUT«Rat()» | ||
moritz | nom: say abs(2/3).WHAT | ||
p6eval | nom: OUTPUT«maximum recursion depth exceededcurrent instr.: 'Numeric' pc 466376 (src/gen/CORE.setting.pir:124246) (src/gen/CORE.setting:1093)» | ||
moritz | nom: say (abs(2/3)) .WHAT | ||
p6eval | nom: OUTPUT«Confused at line 1, near "say (abs("current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)» | ||
moritz | nom: say (abs -2/3) .WHAT | ||
p6eval | nom: OUTPUT«Confused at line 1, near "say (abs "current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)» | ||
moritz | nom: say (abs -2/3).WHAT | ||
p6eval | nom: OUTPUT«maximum recursion depth exceededcurrent instr.: 'Numeric' pc 466376 (src/gen/CORE.setting.pir:124246) (src/gen/CORE.setting:1093)» | ||
moritz | nom: say (abs (-2/3)).WHAT | 07:42 | |
p6eval | nom: OUTPUT«maximum recursion depth exceededcurrent instr.: 'Numeric' pc 466376 (src/gen/CORE.setting.pir:124246) (src/gen/CORE.setting:1093)» | ||
moritz | nom: say (-2/3).abs.WHAT | 07:44 | |
p6eval | nom: OUTPUT«Num()» | ||
moritz | colomon: do you want to fix it, or should I? | ||
colomon | I' ve got that fixed locally already | 07:45 | |
07:45
im2ee left
|
|||
colomon | was just trying to clean up the weirdness in the test file before I pushed | 07:45 | |
moritz | even better :-) | ||
colomon | (well, committed even, but that's just laziness.) | ||
07:45
im2ee joined
|
|||
colomon | anyway, point is I don't think the abs($_) ~~ $_.WHAT test is working correctly in nom | 07:46 | |
I'd love a better way to phrase it. | |||
07:46
jjore joined
|
|||
moritz | nom: say abs(2) | 07:46 | |
p6eval | nom: OUTPUT«2» | ||
moritz | (abs $_).WHAT === $_.WHAT | 07:47 | |
is (abs $_).gist, $_.WHAT.gist | |||
that way you also get diagnostics | |||
07:50
jjore left
|
|||
colomon | well, now completely mystified by the results I'm getting here. | 07:54 | |
07:54
ciphertext left
|
|||
colomon | when I added the .gist I started getting a crash. removing it has not made the crash go away | 07:55 | |
oh! | |||
typo | |||
07:58
Raynes_ joined
|
|||
colomon | moritz: gist.github.com/1086118 is my current version of the test | 08:00 | |
you should be able to run it for the 0 case without my patches to nom | 08:01 | ||
08:01
mtk left,
Raynes left,
JodaZ_ left,
im2ee left,
JodaZ joined,
molaf left,
Raynes_ is now known as Raynes,
Raynes left,
Raynes joined
|
|||
colomon | and perhaps you can puzzle out why lines 5 and 6 each generate two Use of uninitialized value in string context | 08:01 | |
messages. | |||
I need to go back to bed. ;) | |||
08:02
im2ee joined
08:08
ciphertext joined
08:09
Jackneill joined
08:11
Mowah joined
|
|||
moritz | colomon: well, .WHAT stringifies to '' | 08:14 | |
colomon: so for is(), you need .WHAT.gist | 08:15 | ||
colomon | moritz++ | ||
dalek | ast: 9e1a6c4 | (Solomon Foster)++ | S32-num/abs.t: Clean up tests (moritz++) and todo one. |
08:19 | |
08:23
simcop2387 left
08:25
cognominal_ joined
08:27
jjore joined,
cognominal left
08:28
simcop2387 joined
08:31
jjore left,
jjore_ joined
08:34
Instil left
08:41
cognominal_ left,
cognominal_ joined
08:42
araujo left
08:44
jjore_ left
08:46
Instil joined
08:47
ciphertext left
08:51
Jackneill left
08:58
drbean left
09:00
Su-Shee_ is now known as Su-Shee
09:05
jjore joined
09:07
xinming left
09:08
xinming joined
09:11
zby_home___ joined,
zby_home_ left
09:12
Kivutarrr joined
09:15
zloyrusskiy joined
09:35
whiteknight joined
09:48
cognominal_ left
09:55
thou left
09:57
zby_home___ left
|
|||
jlaire | perl6: use MONKEY_TYPING; say 'alive' | 10:04 | |
p6eval | rakudo 1ddda5, niecza v7-38-gf5e9082: OUTPUT«alive» | ||
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/P7GUL8_JCH line 1, column 1» | |||
10:14
buubot_backup left
10:21
whiteknight left,
Instil left
10:24
Jackneill joined
10:33
buubot_backup joined
10:36
mj41 joined
10:46
Chillance joined
10:51
Instil joined
10:53
im2ee left
10:55
donri left
10:56
mj41 left
11:07
jaldhar left,
araujo joined,
jaldhar joined
11:08
drbean joined
11:13
tokuhir__ left
11:16
Instil left
11:20
mj41 joined
11:27
whiteknight joined
11:30
Holy_Cow joined,
Holy_Cow left
11:35
mj41 left
11:40
ciphertext joined
11:46
Jackneill left
11:51
cognominal joined
11:55
MayDaniel_ joined
|
|||
moritz | ok, big mystery | 11:56 | |
src/core/Attribute.pm is missing a $meth.'!set_name'($meth_name) between lines 24 and 25 | 11:57 | ||
when I add that, the compilation of the setting loops infinitely | |||
so, I tried to add some debug output | |||
pir::say("things") | |||
or even | |||
pir::getstderr__P().print("something else \n") | |||
or even pir::die('foo') | |||
but no matter what I add there, it always causes the setting compilation to loop infinitely | 11:58 | ||
I'm stumped, and out of ideas | |||
12:03
hugme joined,
ChanServ sets mode: +v hugme
|
|||
moritz | hugme: list projects | 12:03 | |
hugme | moritz: I know about Math-Model, Math-RungeKutta, MiniDBI, bench-scripts, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6, perl6-examples, perl6-wtop, proto, pugs, rakudo, star, svg-matchdumper, svg-plot, tardis, try.rakudo.org, tufte, ufo, web, yapsi | ||
12:04
ccc_ joined
12:08
Instil joined
12:09
Mowah left,
MayDaniel_ left
12:10
im2ee joined
12:13
zloyrusskiy left
12:15
Mowah joined
12:17
wamba left,
Trashlord left,
wolfman2000 left
12:18
LoRe left,
pothos left,
kytibe left,
Util left,
frettled left,
saaki left,
eternaleye left
12:19
Trashlord joined,
wolfman2000 joined,
LoRe joined,
pothos joined,
kytibe joined,
Util joined,
frettled joined,
saaki joined,
eternaleye joined
12:28
kid51 joined
|
|||
dalek | kudo/nom: fa9c35c | (Solomon Foster)++ | src/core/ (2 files): Add prefix:<abs>(Real), redefine Real.abs to do calculation directly instead of using .Bridge. |
12:31 | |
kudo/nom: d7d46e3 | (Solomon Foster)++ | t/spectest.data: Turn on abs.t. |
|||
12:32
nrr left
12:35
colomon left
12:43
Chillance left
12:54
wamba joined,
Jackneill joined
12:55
Holy_Cow joined
13:10
JimmyZ joined
13:25
chitragupt left
13:26
chitragupt joined
13:29
tokuhir__ joined
13:30
molaf joined,
Holy_Cow left
13:33
wamba left
13:48
drbean left
13:50
isBEKaml joined
13:51
Chillance joined
14:01
isBEKaml left
14:07
Kivutarrr left
14:25
kid51 left
14:33
lichtkind joined
14:34
colomon_droid joined
|
|||
colomon_droid | o/ | 14:34 | |
is inheritance a little wonky in nom? | 14:36 | ||
nom: say exp(i ) | 14:38 | ||
p6eval | nom: OUTPUT«Could not find sub &icurrent instr.: '_block1002' pc 70 ((file unknown):11808160) (/tmp/ObzoVGypRc:1)» | ||
colomon_droid | nom: say i.exp | 14:39 | |
p6eval | nom: OUTPUT«Could not find sub &icurrent instr.: '_block1002' pc 70 ((file unknown):50627832) (/tmp/PupWKydj93:1)» | ||
colomon_droid | arrgh | ||
nom: say exp(1i) | 14:40 | ||
p6eval | nom: OUTPUT«0.54030230586814 + 0.841470984807897i» | ||
14:43
Instil left
14:50
Jackneill left
|
|||
lichtkind | cheers brave people | 14:51 | |
colomon_droid | complex exp turned out to be me misreading the test | 14:56 | |
14:59
lateau joined
|
|||
colomon_droid | nom: say 2 ** -1 | 15:02 | |
p6eval | nom: OUTPUT«0» | ||
colomon_droid | tsk | ||
jlaire | nom: say (2 ** -1).WHAT | 15:03 | |
p6eval | nom: OUTPUT«Int()» | ||
15:03
[Coke] left,
isBEKaml joined
15:04
Kivutarrr joined
15:05
[Coke] joined
|
|||
colomon_droid | jlaire: yup, that's the problem | 15:07 | |
isBEKaml | hey, did parrot change their build routines recently or so? pmc2c and c2str? I don't remember seeing them at all... | 15:11 | |
well, it might be my bad memory since I don't build stuff as often as I used to do... :| | 15:12 | ||
15:12
woosley joined
|
|||
isBEKaml | nom: {sub say_hello() { say "hello"; }; say "foo";}; | 15:15 | |
p6eval | nom: OUTPUT«foo» | ||
15:15
perlhack joined
|
|||
isBEKaml | rakudo: {sub say_hello() { say "hello"; }; say "foo";}; | 15:16 | |
p6eval | rakudo 1ddda5: OUTPUT«foo» | ||
colomon_droid | exp.t now working on my laptop, will push when I have wifi | 15:19 | |
15:20
perlhack left
15:25
Instil joined
15:26
colomon_droid left
15:27
colomon_droid joined,
colomon_droid left
15:28
colomon_droid joined
15:33
colomon_droid left,
colomon_droid joined,
colomon_droid left
15:36
mj41 joined
|
|||
[Coke] | isBEKaml: those 2 scripts have been around forever. | 15:36 | |
they may have morphed from perl5 to something else at some point. | |||
15:40
im2ee left
|
|||
isBEKaml | [Coke]: yeah, bad memory, sorry. I later figured it out after poking the logs a bit. Oh btw, they are still in p5. | 15:41 | |
15:42
Instil left
15:48
kid51 joined,
jevin left
15:49
jevin joined
|
|||
felher | TimToady++ for rosetta code | 15:54 | |
15:54
zloyrusskiy joined,
Instil joined
|
|||
TimToady | rosettacode.org/wiki/Function_composition#Perl_6 <-- upgraded to compose 3 functions | 15:55 | |
turning RC entries into tests would be a fun LHF for someone | 15:56 | ||
sorear: is there any way to run an external program from niecza? neither run() nor qx// seem to work yet, so I can't run stty raw and such | 15:58 | ||
16:03
Jackneill joined
16:12
whiteknight left
|
|||
TimToady | perl6: my bit @array = 1,0,0,1,0,1,0; | 16:21 | |
p6eval | niecza v7-38-gf5e9082: OUTPUT«===SORRY!===Malformed my at /tmp/aclwScWCnF line 1:------> my ⏏bit @array = 1,0,0,1,0,1,0;Parse failed» | ||
..rakudo 1ddda5: OUTPUT«===SORRY!===Malformed my at line 22, near "bit @array"» | |||
..pugs: ( no output ) | |||
16:22
mberends joined
|
|||
TimToady | .oO(Who's General Failure, and what's he doing to my disk drive?) |
16:22 | |
pugs: my bit @array = 1,0,0,1,0,1,0; say @array[3]; | |||
p6eval | pugs: OUTPUT«1» | ||
TimToady | well, okay, I'll bet it's just ignoring the type... | ||
pugs: my bit @array = 2; | 16:23 | ||
p6eval | pugs: ( no output ) | ||
TimToady | pugs: my bit @array = 2; say 'alive' | ||
p6eval | pugs: OUTPUT«alive» | ||
TimToady | yeah | ||
16:29
simcop2387 left
|
|||
lichtkind | mberends: good mornings sir | 16:29 | |
16:30
simcop2387 joined,
simcop2387 left,
simcop2387 joined,
Mowah left
|
|||
mberends | good evening sir lichtkind | 16:32 | |
16:44
Mowah joined
16:45
JimmyZ left
16:48
Jackneill left
16:49
woosley left
16:56
mj41 left
|
|||
TimToady | perl6: my Bit $x = 2; | 17:01 | |
p6eval | niecza v7-38-gf5e9082: OUTPUT«===SORRY!===In my declaration, typename 'Bit' must be predeclared (or marked as declarative with :: prefix) at /tmp/2TSwoGdKMU line 1:------> my Bit⏏ $x = 2;Malformed my at /tmp/2TSwoGdKMU line 1:------> my [… | ||
..rakudo 1ddda5: OUTPUT«===SORRY!===In "my" declaration, typename Bit must be predeclared (or marked as declarative with :: prefix) at line 22, near " $x = 2;"» | |||
..pugs: ( no output ) | |||
TimToady | std: my Bit $x = 2; | ||
p6eval | std 516268a: OUTPUT«ok 00:01 121m» | ||
TimToady | std: my bit $x = 2; | ||
p6eval | std 516268a: OUTPUT«ok 00:01 121m» | ||
TimToady | nom: my bit $x = 1; | 17:02 | |
p6eval | nom: OUTPUT«Malformed my at line 1, near "bit $x = 1"current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)» | ||
TimToady is looking forward to native types, esp bits | |||
tadzik | nom: my int $a = 5; | 17:03 | |
p6eval | nom: ( no output ) | ||
tadzik | nom: my bit $a = 1 | ||
p6eval | nom: OUTPUT«Malformed my at line 1, near "bit $a = 1"current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)» | ||
TimToady | so far it hasn't occurred to anyone to add even the bit type names :) | 17:04 | |
well, except for that guy who cobbled together STD | |||
17:07
isBEKaml left
|
|||
jlaire | pugs: my bit @bits = 0,1,2,3,4; say @bits | 17:12 | |
p6eval | pugs: OUTPUT«01234» | ||
flussence | pugs: my foo @bits = 0,1,2,3,4; say @bits | 17:13 | |
p6eval | pugs: OUTPUT«01234» | ||
jlaire | heh | ||
17:14
mj41 joined
17:16
wooden joined,
leprevost left
17:17
ccc_ left
17:34
jevin left
17:42
jevin joined
17:44
wamba joined,
zloyrusskiy left
17:48
Kivutarrr left
17:49
Kivutarrr joined
17:51
Jackneill joined
17:57
godfrey999 joined
17:59
mj41 left
|
|||
sorear | TimToady: correct | 18:01 | |
(there's no portable way) | 18:02 | ||
TimToady | I don't want to be correct :) | ||
sorear | the .net process-starting APIs are very Windows-centric and I haven't understood the munging code in p5's win32_spawnvp yet | 18:04 | |
mberends | sorear: you would be better off ignoring the flawed attempts at fork emulation (munging) in Windows, because run() and qx// do not rely on that anyway. The child process never needs to be a clone of the parent process in the way that Unix goes fork then child execs. | 18:14 | |
18:15
bluescreen10 joined
18:16
ciphertext left
18:18
lateau left
|
|||
mberends | sorear: if you call CreateProcess() from C#, Unix will perform a fork() lower down and Windows will not. For I/O redirection, both platforms can provide popen(), just not sure about C# though. | 18:19 | |
18:20
ciphertext joined
18:33
ciphertext left
18:35
tokuhir__ left
18:47
Jackneill left
|
|||
sorear | mberends: what I'm talking about has absolutely nothing to do with fork emulation | 19:08 | |
mberends: .net expects to start a process with two strings: the full path to the executable file, and the command tail | |||
because on Windows, the called program is responsible for parsing the command line | 19:09 | ||
mberends | right, so is your worry about splitting the single unix-oriented line? | 19:10 | |
sorear | not just splitting but also joining | ||
system LIST, let's say system('echo', '\'"\'"*', '"'), has to do some interesting stuff to produce a correct command tail | 19:11 | ||
mberends | yes, I can see the joins happening there | 19:12 | |
I assume that .net is just a thin wrapper around the Win32 functions | |||
sorear | on Windows, yes | 19:13 | |
on Unix... I think the sensible thing to do is late-bound access to Mono.Posix | |||
mberends | yes, keep the OS awareness as far down the call chain as possible | 19:14 | |
it looks like ProcessStartInfo is the Windows class/object to pass command line arguments and also set up I/O redirection. I'm planning to use that in 6model/c on Windows as well. | 19:19 | ||
19:22
jevin left,
molaf left
19:23
aindilis joined
19:26
jevin joined
19:28
huf left,
jevin left
19:29
huf joined,
jevin joined
19:33
kst` joined
19:34
shachaf left,
shachaf joined
19:35
prammer left,
prammer joined
19:36
ggoebel joined
19:37
kst left
19:39
Kivutarrr left
19:51
cooper left
19:54
jevin left
19:55
cooper joined,
cooper left,
cooper joined
19:56
revdiablo joined,
revdiablo left,
revdiablo joined
19:57
jevin joined
20:04
xinming left
|
|||
dalek | ast: 22a02fc | (Solomon Foster)++ | S32-num/exp.t: Added another complex test. |
20:04 | |
ast: 453290b | (Solomon Foster)++ | S (2 files): Move gcd.t to S03-operators, switch it to operator form of gcd. |
|||
ast: 0bfac46 | (Solomon Foster)++ | S03-operators/lcm.t: Add simple new lcm.t. |
|||
kudo/nom: afc5299 | (Solomon Foster)++ | src/core/Num (2 files): Fix Numeric.exp($base). Add "multi" to Num.exp. |
20:05 | ||
kudo/nom: 7940ef2 | (Solomon Foster)++ | src/core/ (2 files): Add exp(Numeric, Numeric). Fix infix:<**>(Int, Int) to handle negative powers properly. |
|||
kudo/nom: 1fbe8b1 | (Solomon Foster)++ | t/spectest.data: Turned on exp.t. |
|||
kudo/nom: 9fd4115 | (Solomon Foster)++ | t/spectest.data: Turn on gcd.t, add lcm.t. |
|||
20:10
xinming joined
20:14
colomon joined
20:18
kaare__ left
20:33
soh_cah_toa joined
20:35
ciphertext joined
|
|||
sorear | mberends: ProcessStartInfo requires you to set the command tail as a single LPTSTR | 20:45 | |
colomon! | |||
mberends | sorear: yes, that's what we must do | 20:49 | |
sorear | mberends: how do you turn system('echo', '\'"\'"', '*') into a command tail? | 20:55 | |
don't tell me "join(' ')" | |||
there's quite a lot of compilcated logic in perl5:win32/win32.c that I haven't figured out | |||
20:56
isBEKaml joined
|
|||
isBEKaml | hey guys, got a build failure on latest rakudo. Do you guys recognise this? gist.github.com/1086781 | 20:57 | |
mberends | I haven't looked in win32.c yet, but I recall that the complicated logic was the fork emulation. I'll do that soon. | 20:58 | |
mberends is watching "Getting C++ Threads Right" www.youtube.com/watch?v=mrvAqvtWYb4 | |||
TimToady | sorear: obviously, you just invoke Perl 5 to do it. :P | 21:01 | |
fork emulation *should* be more straightforward for P6, but we'll see | 21:02 | ||
at least there should be fewer globals to fiddle | 21:03 | ||
duping data is always going to be work | |||
sorear | mberends: "system" in Perl5 doesn't even hit the fork emulator | 21:06 | |
it is mapped into a CreateProcess call | |||
mberends | good, that is the easier one for implementing p6 run() because we don't need to capture the output. | 21:07 | |
isBEKaml | nom: run('date'); | 21:09 | |
p6eval | nom: OUTPUT«Could not find sub &runcurrent instr.: '_block1002' pc 75 ((file unknown):84032856) (/tmp/sd2l7ZybXL:1)» | ||
isBEKaml | rakudo: run('date'); | 21:10 | |
p6eval | rakudo 1ddda5: OUTPUT«Operation not permitted in safe mode in 'Safe::forbidden' at line 2:/tmp/nGmYCEYrc9 in main program body at line 22:/tmp/nGmYCEYrc9» | ||
mberends | "do try this at home" ;) | ||
isBEKaml | mberends: yeah, I know. I was wondering if you guys were talking about rakudo. :) | ||
but seems not. :) | |||
mberends | no, TimToady++ was hoping that sorear++ could find a way to add run() to niecza | 21:11 | |
21:12
tokuhir__ joined
|
|||
isBEKaml | ah, I see. | 21:12 | |
colomon | sorear: hello! | 21:15 | |
21:15
masak joined
|
|||
masak | saluton karaj. | 21:16 | |
isBEKaml | masak! \o/ | ||
masak | I found another victim^Wbeta tester today, and so I have another batch of feedback to enter into the game. :) | 21:17 | |
but I'm hopeful I'll get at least the first blog post of two out the door tomorrow. | 21:18 | ||
colomon just had two eggs in a row with double yolks | 21:19 | ||
tadzik | hej zebro | ||
isBEKaml | colomon: two eggs make double yolks? :P | ||
hello, tadzik! | |||
TimToady | colomon: it's them fertility drugs; pretty soon you'll be having litters of yolks | ||
tadzik | isBEKaml: ohai! | 21:20 | |
isBEKaml | tadzik: how goes gsoc->work()? | ||
tadzik | isBEKaml: I passed the first half! | ||
colomon | TimToady: from my farm share, mind you | ||
isBEKaml | tadzik: great to see! congrats... :) | ||
tadzik | isBEKaml: how are you doing? | 21:21 | |
masak | tadzik++ # congrats! | ||
isBEKaml | tadzik: as ever. Been busy at dayjob lately, so catching up on rakudo now. :) | 21:22 | |
tadzik | oh, I'm all ache today. We were burying the cellar in my home, 32 tones of sand | ||
I didn't even hack today! | 21:23 | ||
isBEKaml | hugme: hug tadzik | 21:24 | |
hugme hugs tadzik | |||
TimToady | std: /[A-Z]/ | ||
tadzik | ooh, thanks :] | ||
p6eval | std 516268a: OUTPUT«===SORRY!===Invalid regex metacharacter (must be quoted to match literally) at /tmp/NkjJotDw2h line 1:------> /[A-⏏Z]/Potential difficulties: [A-Z] appears to be an old-school character class; please use <[A..Z]> if you mean … | ||
jlaire | masak: did you backlog yet? | 21:25 | |
masak | jlaire: no, working on it. | 21:27 | |
jlaire: I did catch your nopastes though. thank you. | |||
jlaire: I did indeed not consider the "trick" with the disks. easy enough to patch though :P | |||
jlaire | masak: :) | 21:28 | |
masak | they're heavy, you see. shouldn't be possible to carry/lift more than one at a time. | ||
jlaire | (I did solve it properly before coming up with that) | ||
ah, good point | |||
masak | hm, could still put them on the floor, though... | 21:29 | |
jlaire | maybe you can only carry the tiny one | ||
the others are too havy | |||
masak | I think I'll have to make all but the tiny one... right. | ||
jlaire | heavy* | ||
21:30
Kivutarrr joined
|
|||
masak | <moritz> it's fun to actually write running Perl 6 code :-) | 21:32 | |
aye! | |||
21:37
jevin left
|
|||
masak thinks he will need a more rigorous approach to the command handling | 21:40 | ||
21:40
jevin joined
21:43
Psyche^ joined
21:46
Patterner left,
Psyche^ is now known as Patterner
|
|||
sorear | colomon: How do I fudge sin.t? | 21:48 | |
21:53
kid51 left
21:54
Kivutarrr left
21:55
Kivutarrr joined
|
|||
masak | jlaire: I am unable to reproduce the error at the top of pastebin.com/QbJFppfa | 21:59 | |
22:01
Kivutarrr left
22:07
lichtkind left
22:14
ciphertext left
|
|||
jlaire | masak: hmm, let me double check | 22:15 | |
jlaire updates rakudo | |||
masak: try this input laire.fi/t/crypt-bug.txt | 22:18 | ||
22:18
drbean joined
|
|||
masak tries | 22:18 | ||
jlaire | i.e., the bug happens for me when I haven't solved the puzzle yet | ||
masak | ah! | ||
jlaire | (still running a slightly old rakudo) | 22:19 | |
masak | that makes sense. | ||
jlaire: yup. now I reproduced it. \o/ | 22:20 | ||
jlaire | yay! \o/ | 22:21 | |
22:22
isBEKaml left
22:25
donri joined
|
|||
masak | bug fix pushed. jlaire++ | 22:27 | |
22:28
aindilis left
|
|||
masak | 'night, #perl6. | 22:29 | |
jlaire | 'night | 22:30 | |
22:30
masak left
|
|||
jlaire | masak: Really quit (y/N)? Method 'lc' not found for invocant of class 'Failure' | 22:31 | |
masak: that's Ctrl-D | |||
tadzik | oh | ||
jlaire | if "y"|"yes" eq lc prompt "Really quit (y/N)? " { ... } | 22:32 | |
that's a cute line, though | |||
rakudo: say Failure.new.defined | 22:34 | ||
p6eval | rakudo 1ddda5: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp» | ||
jlaire | rakudo: say Failure.new | ||
p6eval | rakudo 1ddda5: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp» | ||
jlaire | rakudo: say Failure.new('...') | ||
p6eval | rakudo 1ddda5: ( no output ) | ||
jlaire | rakudo: say Failure.new('...').defined | ||
p6eval | rakudo 1ddda5: OUTPUT«Method 'handled' not found for invocant of class 'Str' in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp» | ||
tadzik | my $a; my $b = lc $a; say $b.perl; | ||
22:34
wamba1 joined,
wamba left
|
|||
tadzik | rakudo: my $a; my $b = lc $a; say $b.perl; | 22:35 | |
p6eval | rakudo 1ddda5: OUTPUT«Method 'lc' not found for invocant of class '' in 'lc' at line 2818:src/gen/core.pm in main program body at line 22:/tmp/a5pIidZ2eY» | ||
tadzik | hrm | ||
jlaire | changing lc's parameter to (prompt "..." // "q") fixes it | ||
tadzik | rakudo: my $a = "" // "a"; say $a.perl | 22:36 | |
p6eval | rakudo 1ddda5: OUTPUT«""» | ||
jlaire | ...no, it doesn't | ||
lc ((prompt "bla") // "y") | 22:37 | ||
tadzik | how about changing !defined to !.so | 22:38 | |
22:39
wamba1 left
|
|||
colomon | sorear: what needs to be fudged? | 22:39 | |
jlaire | it'd add another line of code and a new variable | ||
// is reasonably clear | |||
but this belongs to some readlineish library | |||
22:40
DarthGandalf left
|
|||
jlaire | masak: fwiw, laire.fi/t/crypt-patch.txt | 22:40 | |
22:41
Pathin left
|
|||
tadzik | g'nite | 22:43 | |
sorear | colomon: BEGIN { @*INC.push: ... } needs to be changed somehow | 22:46 | |
colomon | ah | ||
that's not fudging so much as fixing. | |||
sorear | colomon: I vaguely consider adding a fudge to make BEGINs with that exact content happen at compile time | ||
colomon | let me ponder this a bit. some re-organization probably makes sense anyway | 22:47 | |
22:49
DarthGandalf joined
22:50
wamba joined
22:58
wamba left
23:26
ciphertext joined
23:29
orafu left,
OuLouFu joined,
OuLouFu is now known as orafu
23:33
bluescreen10 left
|