»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:01
Sqirrel joined
00:07
lizmat joined
00:10
fhelmberger joined
00:12
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:15
fhelmberger left
|
|||
tony-o_ | m: grammar C { rule TOP { ^^ <!whatever> $$ }; token whatever { $*WHATEVER; }; }; my $*WHATEVER = "AA"; C.parse("AA").perl.say; | 00:20 | |
camelia | rakudo-moar 88b120: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jB9uame1YdUnrecognized regex metacharacter ; (must be quoted to match literally)at /tmp/jB9uame1Yd:1------> 3tever> $$ }; token whatever { $*WHATEVER7⏏5; }; }; my $*WHATEVER = "AA"; C.parse("A…» | ||
tony-o_ | m: grammar C { rule TOP { ^^ <!whatever> $$ }; token whatever { $*WHATEVER }; }; my $*WHATEVER = "AA"; C.parse('AA').perl.say; | ||
camelia | rakudo-moar 88b120: OUTPUT«Any» | ||
tony-o_ | m: grammar C { rule TOP { ^^ <!whatever> $$ }; token whatever { $*WHATEVER }; }; my $*WHATEVER = "AA"; C.parse('BB').perl.say; | ||
camelia | rakudo-moar 88b120: OUTPUT«Any» | ||
00:28
laouji joined
00:31
raiph left
00:39
laouji left
00:42
raiph joined
00:43
aborazmeh left
00:44
AlexDaniel left
00:47
laouji joined
|
|||
dalek | kudo/nom: 7d20205 | hoelzro++ | tools/build/create-jvm-runner.pl: Add jna.library.path to set properties for JVM runner This allows JNA (the library we use for NativeCall on JVM) to be able to locate shared objects used by NativeCall to function properly on installations where such shared objects are not installed in a place where the dynamic library loader can find them. |
00:47 | |
00:50
sue_ left,
Ben_Goldberg left,
BenGoldberg_ joined
01:12
kurahaupo joined
01:16
kurahaupo left
01:18
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:34
risou is now known as risou_awy
01:35
risou_awy is now known as risou
01:50
BenGoldberg_ left
01:51
Ben_Goldberg joined
|
|||
raydiak | someone please merge github.com/tadzik/panda/pull/158 before I gouge my eyes out, hacking on panda all I see is screenfuls of warnings over and over :) | 02:01 | |
02:03
tardisx` is now known as tardisx
|
|||
raydiak | .oO( though at least they're colorful ) |
02:03 | |
hoelzro | raydiak: I'm sure tadzik will get around to it tomorrow | 02:08 | |
raydiak | often I .tell the PR to him and someone magically pops up and merges it before he sees the message, so figured I'd just whine again for luck :) | 02:10 | |
hoelzro | ah, I didn't know others had merge rights on that repo! | ||
hoelzro wonders if he'd consider "gifting" the repo to the perl6 org | 02:11 | ||
raydiak | *shrug* not sure what his level of personal attachment to it is :) | 02:15 | |
afk few | |||
backish | 02:24 | ||
02:24
mazeTemporal joined,
mazeTemporal left
|
|||
timotimo | raydiak: not 100% sure if we want to wait with the unit declarations until the next release or something? | 02:25 | |
we still have no very good way to handle that :( | |||
raydiak | ah good point...suppose I could update it with { } instead | 02:26 | |
timotimo | if we do want to care about this, then yes, that would fix over the problem until everybody we expect to be installing a panda of their own will be on our version | 02:28 | |
raydiak | if we don't care about this, we are silly imo. | 02:29 | |
02:29
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
02:35
yeahnoob joined
|
|||
timotimo | understood | 02:36 | |
prepare the pull request and i'll merge | |||
ah, there it is | 02:37 | ||
raydiak | and thank you :) | 02:38 | |
02:49
raiph left
|
|||
raydiak | .tell FROGGS the plural branch of my panda fork now supports --auth and/or --ver on each of the appropriate commands | 02:57 | |
yoleaux | raydiak: I'll pass your message to FROGGS. | ||
timotimo | in theory, we could just allow "panda install JSON::Fast:auth<timo>" | 02:58 | |
that'd solve the --auth and --ver problem | |||
raydiak | .tell FROGGS except for revdep, because I wasn't sure about checking auth/ver info of a META.info dependency entry | ||
yoleaux | raydiak: I'll pass your message to FROGGS. | ||
raydiak | darn you timo quit stealing my words! :) | ||
timotimo | especially since --auth and --ver on regular perl6 scripts already means "use that particular version of this script", which suddenly turns into "select a different installable version" in panda | ||
02:58
noganex_ joined
|
|||
raydiak | .tell FROGGS but timotimo++ and I wonder if it wouldn't be better to support longnames on the command line the form of Foo:ver<1.0> and do away with --auth/--ver entirely | 02:59 | |
yoleaux | raydiak: I'll pass your message to FROGGS. | ||
timotimo | :) | 03:00 | |
it'd also be nice for consistency reasons | 03:01 | ||
raydiak | .tell FROGGS and that reduces the multispaghetti you'll see that I've added to...also the error reporting exists but needs improved...anyway TTYL :) | ||
yoleaux | raydiak: I'll pass your message to FROGGS. | ||
timotimo | you can "panda install" the same thing that it says to "use" in the source code | ||
03:02
noganex left
|
|||
raydiak | wait is there any circumfix characters that aren't special in the shell? | 03:02 | |
geekosaur | random utf8 stuff... | ||
raydiak | don't want people redirecting IO streams with < and > | ||
03:02
asarch joined
|
|||
raydiak | guess we can just say "quote it if you need a longname" | 03:02 | |
anyway, y'all can kick that around if you feel inclined...shopping time for me, back in a while :P | 03:03 | ||
03:04
BenGoldberg_ joined
03:05
Ben_Goldberg left
03:16
zcm joined
03:37
PZt left
03:46
FROGGS_ joined
03:47
Sqirrel left
03:49
FROGGS left
04:01
araujo joined
|
|||
dalek | kudo/nom: f2e770c | hoelzro++ | src/Perl6/Compiler.nqp: Use int type for counter when building completions This fixes a bug that happens when using Linenoise integrated with the REPL on the JVM |
04:09 | |
04:10
yeahnoob left
04:13
anaeem1_ joined
04:16
anaeem1_ left
04:17
anaeem1 joined
04:19
kaare_ joined
04:30
skids left
04:42
kurahaupo1 joined
04:46
BenGoldberg_ left
04:57
lolisa left
05:37
cognominal left
05:38
cognominal joined
05:41
FROGGS_ left
|
|||
FROGGS[mobile] | longnames++ | 05:53 | |
the same can go into META.info | 05:54 | ||
05:55
domidumont joined
|
|||
raydiak | cool, will get rid of --ver and --auth and all the special one-module-only MAIN multis | 05:55 | |
is there some way built in to rakudo to parse a longname into its parts? or should I put a routine for that in Panda::Common or so? | 05:56 | ||
05:57
yeahnoob joined
05:59
domidumont left
06:00
domidumont joined
|
|||
raydiak | and if I write it myself, would it be sufficient to parse with /\< ~ \> .*?/ or so? | 06:02 | |
06:11
diana_olhovik joined
06:12
fhelmberger joined
06:16
fhelmberger left
06:18
laouji left
06:28
asarch left
|
|||
raydiak | so...you could fairly reliably cheat the whole thing by flipping the longname backwards and match against /^ [ \> ~ \< <val=.*?> <attr=\w+> \: ]* <shortname=.+> $/ :) | 06:41 | |
masak | morning, #perl6 | ||
raydiak | and flip the captures when you pull them back out...but I'm just tired and bein silly, will backlog and look for real answers tomorrow :) | 06:42 | |
moritz | \o | ||
raydiak | good morning masak | ||
and moritz | |||
moritz | jnthn: re Backtrace being a list: we might rely on it being iterable somewhere; otherwise not important, afaict | 06:43 | |
06:46
aborazmeh left
|
|||
raydiak | good night #perl6 o/ | 06:48 | |
06:48
RabidGravy joined,
Sqirrel joined
06:51
espadrine joined
06:56
_mg_ joined
07:01
mr-foobar left
07:05
zakharyas joined
07:07
laouji joined
07:17
Ven joined
|
|||
masak | good night, raydiak on the other side of the 2-sphere. | 07:18 | |
07:19
Ven left
|
|||
lizmat | moritz jnthn re backtrace being a list: almost all of the code relies on AT-POS either directly or indirectly | 07:20 | |
07:20
abraxxa joined
|
|||
lizmat | good *, #perl6! | 07:20 | |
FROGGS[mobile]: I was thinking last night about precomping | 07:21 | ||
perhaps we should make a separate dir with the git describe of rakudo as name, to put all of the precomped files in | |||
if we then remember the order in which files were originally compiled | |||
then an upgrade of rakudo would just mean creating a new dir and precomping the files in there | 07:22 | ||
07:22
berekuk joined
|
|||
moritz | lizmat: well, it could delegate AT-POS to the attribute holding the list | 07:22 | |
masak | `handles 'AT-POS';` | ||
lizmat | moritz: true, I was just saying that the force runs deep there :-) | ||
FROGGS[mobile]: one could even consider putting the precomped database in there | 07:23 | ||
07:23
Ven joined
|
|||
lizmat | which would allow you to share a CURLI dir between different versions of rakudo | 07:23 | |
which *could* be a huge benefit, especially in a production environment | 07:24 | ||
07:24
bjz joined,
brrt joined
07:26
virtualsue joined
|
|||
brrt | .tell timotimo jumplist (both JIT and interpreter) requires the alignment of goto's to stay constant over different codegen step; so you could replace goto's with noops, but i'm not sure how much it'd help | 07:28 | |
yoleaux | brrt: I'll pass your message to timotimo. | ||
07:29
espadrine left,
bjz left
07:34
FROGGS joined
07:35
berekuk left
07:40
brrt left
07:46
berekuk joined
07:49
berekuk left
07:50
brrt joined
07:55
rindolf joined
08:00
espadrine joined
08:02
dolmen joined
08:05
Isp-sec joined,
spider-mario left
08:10
dolmen left
08:11
brrt left
08:12
darutoko joined
|
|||
FROGGS | . | 08:21 | |
yoleaux | 02:57Z <raydiak> FROGGS: the plural branch of my panda fork now supports --auth and/or --ver on each of the appropriate commands | ||
02:58Z <raydiak> FROGGS: except for revdep, because I wasn't sure about checking auth/ver info of a META.info dependency entry | |||
02:59Z <raydiak> FROGGS: but timotimo++ and I wonder if it wouldn't be better to support longnames on the command line the form of Foo:ver<1.0> and do away with --auth/--ver entirely | |||
03:01Z <raydiak> FROGGS: and that reduces the multispaghetti you'll see that I've added to...also the error reporting exists but needs improved...anyway TTYL :) | |||
dalek | kudo/nom: f7fd47c | FROGGS++ | docs/release_guide.pod: pick this week |
08:23 | |
08:31
virtualsue left
08:34
rarara left
|
|||
lizmat | FROGGS++ | 08:39 | |
FROGGS | this way I can merge weird stuff in :P | 08:40 | |
MUHAHAHAHA | |||
lizmat | FROGGS++ ( for merge weird stuff in ) | ||
*merging | |||
masak | FROGGS++ | 08:41 | |
FROGGS: pro tip: make sure you can sign tags. | 08:42 | ||
FROGGS | masak: I already done this, so I am set up | ||
did* | |||
08:44
labster left
08:45
fhelmberger joined
|
|||
masak | ok, excellent | 08:51 | |
08:52
domidumont left
08:53
labster joined
08:57
mls_ is now known as mls
08:58
domidumont joined
09:06
araujo_ joined
09:07
araujo left
09:09
brrt joined
09:13
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
dalek | kudo/nom: 6c32886 | lizmat++ | src/core/Backtrace.pm: Only check RAKUDO_VERBOSE_STACKFRAME once per bt |
09:15 | |
09:20
araujo_ left,
Ven left
09:25
yeahnoob left,
sue__ left
09:28
telex left
09:29
sue_ joined
09:30
telex joined
09:33
Isp-sec left
|
|||
dalek | kudo/nom: 2cfe02a | lizmat++ | src/core/Backtrace.pm: Do fewer lookups in backtrace generation |
09:35 | |
09:50
cognominal left
09:51
cognominal joined
09:53
cognominal left,
cognominal joined,
dayangkun left
10:00
anaeem___ joined,
anaeem___ left
10:01
anaeem1 left,
anaeem1_ joined,
Sqirrel left
|
|||
dalek | kudo/nom: 72a187e | lizmat++ | src/core/Backtrace.pm: Some more optimizations in bt creation |
10:06 | |
masak | I was wondering if "Backtrace" was a neologism for "Stack trace" that Perl 6 had come up with. | 10:32 | |
but no, it seems quite wide-spread. | |||
10:32
Ven joined
|
|||
masak | there's a Linux command `backtrace`, for example. | 10:33 | |
RabidGravy | and gdb's 'bt' | 10:34 | |
masak | oh, indeed. | ||
some people apparently call them "stack backtraces" | 10:35 | ||
arnsholt | I wonder which came first | ||
10:35
anaeem1 joined
|
|||
arnsholt | I guess stack trace, which is then very easily convertible into backtract | 10:35 | |
10:36
anaeem1 left,
anaeem1_ left,
RabidGravy left,
anaeem1 joined
10:43
Zoffix joined,
RabidGravy joined
10:47
brrt left
10:59
Zoffix left
11:14
kurahaupo1 left
11:21
xfix joined,
xfix left,
xfix joined
11:32
pauluu joined
11:39
brrt joined
11:46
berekuk joined
11:57
Ven left
11:59
_mg__ joined
12:00
_mg_ left,
_mg__ is now known as _mg_,
Ven joined
|
|||
dalek | kudo-star-daily: 7ff5849 | coke++ | log/ (2 files): today (automated commit) |
12:02 | |
rl6-roast-data: dd69a4c | coke++ | / (9 files): today (automated commit) |
|||
awwaiid | aa/go | 12:04 | |
12:05
andreoss joined
|
|||
andreoss | m: say 2.FatRat.sqrt.gist; | 12:05 | |
camelia | rakudo-moar 72a187: OUTPUT«1.4142135623731» | ||
andreoss | shouldn't FatRat have its own .sqrt, .log etc. methods? | 12:06 | |
moritz | and loop endlessly on trying to approximate an irrational number with arbitrary precision? | 12:08 | |
andreoss | m: say <1/3>.FatRat.gist; | ||
camelia | rakudo-moar 72a187: OUTPUT«0.333333» | ||
Ven | m: module A { class B {}; }; say A::B.new.perl | 12:09 | |
camelia | rakudo-moar 72a187: OUTPUT«B.new» | ||
Ven | m: module A { module B { class C {} } }; my \alias = A::B; say alias::C.new.perl | 12:10 | |
camelia | rakudo-moar 72a187: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/6JoTdkRqy6:1» | ||
Ven | m: module A { module B { class C {} } }; my \alias := A::B; say alias::C.new.perl #uhmm | ||
camelia | rakudo-moar 72a187: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/7n782j56ci:1» | ||
12:11
Sqirrel joined
|
|||
andreoss | moritz: with parametrized precision i assume | 12:11 | |
12:12
pecastro_ joined
12:13
pecastro left
|
|||
vytas | m: say 52!; | 12:13 | |
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zVN96L95NsNegation metaoperator not followed by valid infixat /tmp/zVN96L95Ns:1------> 3say 52!7⏏5; expecting any of: infix infix stopper» | ||
andreoss | m: say [*] ^52; | 12:14 | |
camelia | rakudo-moar 72a187: OUTPUT«0» | ||
andreoss | m: say [*] (^52); | ||
camelia | rakudo-moar 72a187: OUTPUT«0» | ||
moritz | andreoss: well, possible, but quite expensive (and much work) | ||
andreoss | m: say [*] (1..52); | 12:16 | |
camelia | rakudo-moar 72a187: OUTPUT«80658175170943878571660636856403766975289505440883277824000000000000» | ||
moritz | m: say [*] 1..52 | ||
camelia | rakudo-moar 72a187: OUTPUT«80658175170943878571660636856403766975289505440883277824000000000000» | ||
andreoss | moritz: what should i use then if I want more digits after dot ? | 12:17 | |
vytas | m: say [*] 52!; | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jpaWAf_FCaNegation metaoperator not followed by valid infixat /tmp/jpaWAf_FCa:1------> 3say [*] 52!7⏏5; expecting any of: infix infix stopper» | ||
moritz | andreoss: use an arbitrary precision numeric library | ||
as you would, in any other language | 12:18 | ||
Ven | m: 'var a, b, c' ~~ 9my token /^'var' $/ | 12:40 | |
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E77nK1B2q_Confusedat /tmp/E77nK1B2q_:1------> 3'var a, b, c' ~~ 97⏏5my token /^'var' $/» | ||
Ven | m: 'var a, b, c' ~~ (my token /^'var' <[a-z]> %% \, $/) | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/H0_5sQNNU_Malformed regexat /tmp/H0_5sQNNU_:1------> 3'var a, b, c' ~~ (my token7⏏5 /^'var' <[a-z]> %% \, $/) expecting any of: new name to be defined» | ||
Ven | m: 'var a, b, c' ~~ (my anon token /^'var' <[a-z]> %% \, $/) | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5===Type 'anon' is not declaredat /tmp/_kTW2heH0h:1------> 3'var a, b, c' ~~ (my anon7⏏5 token /^'var' <[a-z]> %% \, $/)Malformed myat /tmp/_kTW2heH0h:1------> 3'var a, b, c' ~~ (my7⏏5 anon token /^'var' <[a-z]> %…» | ||
12:42
dolmen joined
|
|||
Ven | "P6opaque: no such attribute '$!signature'" | 12:46 | |
Ven wuts | |||
FROGGS | Ven: that probably means that a decont is missing | 12:47 | |
Ven | thanks | ||
12:50
lizmat left
|
|||
FROGGS | hoelzro: I think I have a proper solution for LD_LIBRARY_PATH/rpath... | 12:50 | |
hoelzro | FROGGS: oh? | ||
FROGGS | yeah, iamgine Foo.pm v1 and v2 are installed, and both expose a libfoo.so | 12:51 | |
12:51
lizmat joined
|
|||
FROGGS | our current mechanism for CURLF and CURLI would break | 12:51 | |
right? | |||
hoelzro | right | ||
FROGGS | wait... I need to think a bit | 12:52 | |
hoelzro | =) | ||
FROGGS | damn | 12:53 | |
I was thinking that if we have an additional runner script, like site/bin/mygame... | |||
which is a bash script, and invokes perl6-m | 12:55 | ||
Ven | FROGGS: I'm getting that on master though :| | 12:56 | |
FROGGS | so, since we know what dists this mygame depends on at that time, we could set an env var (LD_RUN_PATH/LD_PRELOAD_LIBS) before invoking perl6 | ||
12:56
anaeem1 left
|
|||
FROGGS | hoelzro: so we could have a very nice solution for extra runner scripts | 12:56 | |
which we create anyway for games etc | 12:57 | ||
hoelzro | FROGGS: something like that could work | ||
FROGGS | though, not for modules | ||
Ven | ouch, "unit" is wrecking the ecosystem | ||
hoelzro | we could also have NativeCall somehow resolve the absolute path to shared objects, and feed those to dlopen and friends | ||
FROGGS | perl6 -MDBIsh -e1 would fail, if DBIish would needs C libs created by dists | ||
hoelzro: that would not work on openbsd AFAIK | 12:58 | ||
Ven: wrecking? | |||
hoelzro | oh, interesting | ||
Ven | FROGGS: tons and tons of warnings :) | ||
12:58
anaeem1_ joined
|
|||
timotimo | Ven: you can't have both my scope and anon scope at the same time | 12:58 | |
yoleaux | 07:28Z <brrt> timotimo: jumplist (both JIT and interpreter) requires the alignment of goto's to stay constant over different codegen step; so you could replace goto's with noops, but i'm not sure how much it'd help | ||
hoelzro | does LD_LIBRARY_PATH work on OpenBSD? | ||
FROGGS | Ven: and you get that P6opaque msg for what piece of code? | ||
Ven | timotimo: well, that wasn't the problem here, but noted | 12:59 | |
FROGGS: some grammar parsing | |||
wait, not even o.o | |||
FROGGS | hoelzro: on openbsd the LD_LIBRARY_PATH must be set when you compile the program which loads the lib, or you can set LD_RUN_PATH or LD_PRELOAD_LIBS *before* you invoken your program | ||
hoelzro: but we could also create a list of *all* paths to C lib dirs we have in all repos, and feed that to the perl6-m runner | 13:00 | ||
Ven | ohh.. | 13:01 | |
m: module A { class Block {} }; say A::Block.new | 13:02 | ||
camelia | rakudo-moar 72a187: OUTPUT«===SORRY!===P6opaque: no such attribute '$!signature'» | ||
FROGGS | eww | ||
Ven | FROGGS: that was my issue | ||
13:02
Sqirrel left
|
|||
FROGGS | you bad person you | 13:02 | |
m: module A { class Blöck {} }; say A::Blöck.new | |||
camelia | rakudo-moar 72a187: OUTPUT«Blöck.new» | ||
Ven | ...why does it try to use Block inside of my module? | ||
13:02
anaeem1_ left
|
|||
FROGGS | m: module A { class Nil {} }; say A::Nil.new | 13:02 | |
camelia | rakudo-moar 72a187: OUTPUT«Nil.new» | ||
Ven | that's *my* Block | ||
FROGGS | m: module A { class Callable {} }; say A::Callable.new | ||
camelia | rakudo-moar 72a187: OUTPUT«Callable.new» | 13:03 | |
FROGGS | m: module A { class Routine {} }; say A::Routine.new | ||
camelia | rakudo-moar 72a187: OUTPUT«Routine.new» | ||
FROGGS | hmmm | ||
Ven | m: module A { class X { has Y $.y; }; class Y{} } | 13:04 | |
camelia | rakudo-moar 72a187: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Undeclared===SORRY!===Error while compiling, type X::Undeclared suggestions: (unstringifiable object) symbol: Y what: Type at line 2, near " $.y; }; c…» | ||
13:04
domidumont left
|
|||
hoelzro | FROGGS: I haven't used OpenBSD in a while, but it looks like an absolute path with dlopen will work | 13:04 | |
FROGGS | hmmm | ||
hoelzro | unless it's a recent enough change that the almighty Google isn't picking it up | ||
FROGGS | that happened in openbsd 4.7 IIRC | ||
dang, we really need %?RESOURCE now | 13:05 | ||
okay, for nativecall it might work with an absolute path in a random directory | |||
but we also need to think about the case where you create a lib, and others want to link against it | 13:06 | ||
hoelzro | I can try testing that | ||
like in your DBI example? | |||
FROGGS | though, then they can pass on -I/dir/to/whatever | ||
again, we need %?RESOURCE for that... | |||
hoelzro | and what about PERL6LIB (as long as we're brainstorming) | ||
FROGGS | so there might be no issue at all when we would have that | ||
hoelzro | or is that just a fancy trick that has no future? | 13:07 | |
FROGGS | PERL6LIB is about modules, no? | ||
hoelzro | afaik, PERL6LIB is equivalent to -I | ||
FROGGS | what trick are you talking about? | ||
O.o | |||
ahh, our -I, yes | |||
not the C compilers -I | |||
hoelzro | I thought that PERL6LIB was just a carryover from PERL5LIB, and won't be supported in the future | ||
ahhhh | 13:08 | ||
FROGGS | hmmm, I like PERL6LIB | ||
hoelzro | as do I | ||
FROGGS | and I hope it stays... I've not heard yet that it should go away | ||
hoelzro | I wasn't aware we had a situation where modules need to link against .so from other modules | ||
I don't think I have either, I just thought I heard it's not permanent | |||
FROGGS | I did that in Perl 5 | 13:09 | |
13:09
zakharyas1 joined
|
|||
FROGGS | I made an Alien::SDL package, which creates some .so's | 13:09 | |
hoelzro | re: module .so linking, maybe we could have a perl6-modtool --libs Module that returns the correct -L/-l settings for a module? | ||
FROGGS | and the SDL package links against the libs from Alien::SDL | ||
and Alien::SDL provides also CFLAGS and LDFLAGS to ease build systems | |||
hoelzro | so to link/compile, I would do gcc $opts mycode.c $(perl6-modtool --libs My::Dependency) | ||
13:10
zakharyas left
|
|||
FROGGS | yeah, that's what Alien::SDL::ConfigData->libs() did | 13:10 | |
hoelzro | ah ha | ||
FROGGS | so we don't need a special modtool | ||
just an easy way to expose paths and other stuff | 13:11 | ||
should be fairly easy with %?RESOURCE | |||
hoelzro | mhmm | ||
FROGGS: btw, re: C++ NC, how should I report bugs/feature requests? | |||
just throw them into RT? | |||
FROGGS | RT is good, aye | ||
hoelzro | ok | ||
13:14
PZt joined
13:19
Ven left
13:26
xinming left,
airdisa joined
13:27
xinming joined
13:35
aborazmeh joined,
aborazmeh left,
aborazmeh joined
13:40
airdisa left,
laouji left
13:46
cognominal left
13:47
anaeem1 joined
|
|||
literal | is there an up-to-date graph like this available somewhere? github.com/flussence/specgraphs/bl.../impls.png | 13:48 | |
[Coke] | literal: note that niecza isn't really on the list at the moment. | 13:53 | |
looks like that repo has scripts for generating that graph. You can get similar info here: | 13:55 | ||
github.com/coke/perl6-roast-data/b....out#L2885 | |||
That shows that rakudo.moar with jit is passing 114959 tests out of 117157 | 13:56 | ||
(which doesn't seem right at all. I'm sure the count of "plan" vs. "spec" | 13:57 | ||
d tests is slightly wonky. | |||
FROGGS | 114k of 117k sounds about right I'd say | 13:58 | |
3k skipped/todo'd tests are quite a lot | 13:59 | ||
14:07
aborazmeh left
14:08
domidumont joined
14:13
anaeem1 left
14:15
domidumont left
14:16
domidumont joined
14:22
bjz joined
14:27
skids joined,
bjz left
14:28
bjz joined,
bjz left
14:30
bjz joined
|
|||
[Coke] | huh. perlito is still being developed? perlhist.com/perl6/flavio-glock | 14:32 | |
14:33
anaeem1_ joined
|
|||
moritz | "occasionally" | 14:33 | |
vendethiel | m: my @ops = <+ - %>; grammar P { token infixish { || @ops }; token id { <[a..z]>+ }; rule TOP { <id> + % <infixish> } }; say P.parse('a + b - c % d'); | 14:38 | |
camelia | rakudo-moar 72a187: OUTPUT«「a + b - c % d」 id => 「a」 infixish => 「+」 id => 「b」 infixish => 「-」 id => 「c」 infixish => 「%」 id => 「d」» | ||
14:40
dayangkun joined
14:41
dayangkun left
14:42
dayangkun joined,
dayangkun left
14:43
dayangkun joined
14:44
dayangkun left,
dayangkun joined
14:45
dayangkun left,
dayangkun joined
14:46
dayangkun left,
dayangkun joined
14:47
dayangkun left
14:48
dayangkun joined
14:49
coffee` left
14:50
TimToady left
14:54
TimToady joined,
coffee` joined
14:55
anaeem1_ left,
anaeem1 joined
15:00
anaeem1 left
15:03
TimToady left
15:05
dayangkun left,
TimToady joined
15:07
_mg_ left
|
|||
lizmat | not sure whether anyone has posted this here yet, but here goes: | 15:07 | |
www.dagolden.com/index.php/2466/the...consensus/ # The Annotated Berlin Consensus | |||
15:09
fhelmberger left
|
|||
masak | intriguing. | 15:09 | |
masak wonders if Perl 6 can learn something from Perl 5 in this regard, seeing as how CPAN is so far ahead in terms of dealing with scale | 15:11 | ||
moritz | well, as the proverb goes, first make it work, then make it fast, then make it scale | 15:13 | |
masak | I think that's both true and false at the same time. | ||
the "scale" bit, that is. | |||
moritz | or put differently: scaling is hard. If we try to become scalable now, when we don't need it yet, we won't have the resources to improve the rest of the experience | ||
masak | nodnodnod | 15:14 | |
moritz | we can try to avoid decisions that we know will cause pain at scale | ||
masak | I bet CPAN wasn't as scalable when it was smaller either. | ||
it would be interesting to pick the brains of people who have watched CPAN grow, and helped it along. | |||
15:25
mr-foobar joined
|
|||
lizmat | my point of posting this here, was to show a place to pick branes :-) | 15:27 | |
15:27
Arslak joined
15:31
Arslak left
|
|||
TimToady | scaling is mostly about distinguishing identity from implementation, so you can choose to put things with different identities into different places without losing track of what is what | 15:34 | |
much of the original S11 design boils down to that | |||
FROGGS | hmmm, interesting | 15:35 | |
bbl | 15:36 | ||
15:36
FROGGS left,
brrt left
|
|||
TimToady | git can track things wherever they are because the hash of an object doesn't change as you move it around | 15:38 | |
timotimo | that's part of the reason why it doesn't do empty folders | ||
15:39
diana_olhovik left
|
|||
TimToady | everyone's empty folder is the same empty folder :) | 15:39 | |
timotimo | i bet deduplication makes empty folders really cheap to store on virtual machine hosts and big cloud data hosting machines | 15:40 | |
15:40
cognominal joined
|
|||
timotimo | "we store all our user's empty folders on amazon ec2 so that we can benefit from their advanced deduplication as well as the redundancy | 15:41 | |
" | 15:43 | ||
15:48
dolmen left
|
|||
arnsholt | Y'know, for all my kvetching over weird bits and pieces of operational semantics in Python, descriptors are pretty neat | 15:52 | |
15:52
araujo joined,
domidumont left
16:00
AlexDaniel joined,
zakharyas1 left
|
|||
jdv79 | what's holding back Inline::Python from working? | 16:08 | |
16:08
zacts left
16:11
koo6 joined
|
|||
DrForr | Snakes. It has to be snakes. | 16:12 | |
16:14
xinming left
16:16
eli-se joined,
diana_olhovik joined
|
|||
eli-se | hi | 16:16 | |
vendethiel | \o | ||
FROGGS[mobile] | jdv79: one needs to port a bit of code from Inline::Perl5 to I::Python to get the helper C lib in place | ||
jdv79 | where is this "(file|inst)#" path stuff in the specs or tests? | 16:18 | |
FROGGS[mobile] | jdv79: specs == tests, and it should be in roast/S11... | 16:19 | |
jdv79 | design docs then | 16:20 | |
FROGGS[mobile] | it has not manifested there yet me thinks | 16:21 | |
jdv79 | if its in the tests its not easily greppable | ||
i see the inline p5 changes. ok | 16:23 | ||
thanks | |||
lizmat | jdv79: 52-parse-include-spec.t and 54-use-lib.t in t/01-sanity contain some tests | 16:24 | |
andreoss | m: say 2.FatRat.*sqrt | 16:27 | |
camelia | rakudo-moar 72a187: OUTPUT«1.4142135623731 1.4142135623731» | ||
andreoss | m: say .signature for 2.FatRat.can('sqrt') | 16:28 | |
camelia | rakudo-moar 72a187: OUTPUT«(FatRat: *%_)(Cool: *%_)» | ||
AlexDaniel | I'm not sure if camelia will do it but here is an LTA | 16:29 | |
m: sub test { test }; test | |||
camelia | rakudo-moar 72a187: OUTPUT«Memory allocation failed; could not allocate 36864 bytes» | ||
AlexDaniel | hm, interesting | 16:30 | |
the only output I get is "Killed" | |||
16:30
lolisa joined
|
|||
AlexDaniel | although I still don't feel like the error is good enough | 16:30 | |
16:30
lolisa left
|
|||
AlexDaniel | is it possible to make it tell something about too deep recursion? | 16:31 | |
andreoss | m: fork while fork; | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mqHXkz0jfzUndeclared routine: fork used at line 1» | ||
geekosaur | pretty sure camelia has memory limits in place; you got hit by the OOM killer because no memory limit | ||
16:33
eli-se left
|
|||
moritz | and a process limit, for that matter :-) | 16:38 | |
andreoss | m: proto xxx(@) is cached { * }; multi xxx(@x) { @x.shift }; say xxx(1 xx *); say xxx(2 xx *); | 16:43 | |
camelia | rakudo-moar 72a187: OUTPUT«11» | ||
andreoss | m: sub xxx(@x) is cached { @x.shift }; say xxx(1 ... *);say xxx(5 ... *); | 16:45 | |
camelia | rakudo-moar 72a187: OUTPUT«11» | ||
16:47
abraxxa left
16:49
espadrine left
|
|||
timotimo | yeah, those will both just be stringified to "Array.new(ListIter.new())" or something | 16:53 | |
dalek | kudo/nom: 3fc98bf | coke++ | t/spectest.data: run this already fudged test |
16:58 | |
DrForr | m: sub foo(Int $x) --> Bool { return $x } [foo(1),foo(0),foo(-1)] | 17:00 | |
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_xSqBrtChwMissing blockat /tmp/_xSqBrtChw:1------> 3sub foo(Int $x)7⏏5 --> Bool { return $x } [foo(1),foo(0),f expecting any of: new name to be defined» | ||
DrForr | m: sub foo(Int $x) returns Bool { return $x } [foo(1),foo(0),foo(-1)] | 17:01 | |
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Yd65FVVIkxMissing infix inside []at /tmp/Yd65FVVIkx:1------> 3foo(Int $x) returns Bool { return $x } [7⏏5foo(1),foo(0),foo(-1)] expecting any of: bracketed infix infix…» | ||
timotimo | you want a ; after the } | ||
DrForr | m: sub foo(Int $x) returns Bool { return $x }; [foo(1),foo(0),foo(-1)] | ||
camelia | rakudo-moar 72a187: OUTPUT«Type check failed for return value; expected 'Bool' but got 'Int' in any return_error at src/vm/moar/Perl6/Ops.nqp:639 in sub foo at /tmp/Ur0DCCGUH9:1 in block <unit> at /tmp/Ur0DCCGUH9:1» | ||
timotimo | m: sub foo(Int $x) returns Bool() { return $x }; say [foo(1),foo(0),foo(-1)] | 17:02 | |
DrForr | Okay, so my shim to cast is necessary, all I needed to see :) | ||
camelia | rakudo-moar 72a187: OUTPUT«Type check failed for return value; expected 'Bool(Any)' but got 'Int' in any return_error at src/vm/moar/Perl6/Ops.nqp:639 in sub foo at /tmp/tyKbGoI53h:1 in block <unit> at /tmp/tyKbGoI53h:1» | ||
cognominal | m: :2{1} | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SdijWkmeBkMalformed radix numberat /tmp/SdijWkmeBk:1------> 3:27⏏5{1} expecting any of: number in radix notation» | ||
17:04
Hor|zon_ left,
eli-se joined
|
|||
AlexDaniel | m: my @a = (); say @a[9e9] | 17:06 | |
camelia | rakudo-moar 72a187: OUTPUT«Memory allocation failed; could not allocate 72000000008 bytes» | ||
AlexDaniel | on my machine that is "Segmentation fault" | ||
why does it attempt to allocate memory when I'm trying at access an element that is out of bounds? | 17:07 | ||
or where can I read about it? If that's how it should work | |||
lizmat | AlexDaniel: how can you know it is out of bounds ? | ||
timotimo | m: my @a; @a[20] = 1; say @a | ||
camelia | rakudo-moar 72a187: OUTPUT«(Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) 1» | ||
cognominal | AlexDaniel, because it attempts to vivify all the array sequnetially in memory. | ||
timotimo | m: say 72000000008 / 9e9 | 17:08 | |
camelia | rakudo-moar 72a187: OUTPUT«8.00000000088889» | ||
timotimo | that's one pointer per slot | ||
DrForr | AlexDaniel: Perl[6]? arrays are of unbounded extent. | ||
lizmat | m: my @a is defauit(42); @a[20] = 1; say @a | ||
camelia | rakudo-moar 72a187: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tqDnwI5cN4Can't use unknown trait 'is defauit' in a variable declaration.at /tmp/tqDnwI5cN4:1------> 3my @a is defauit(42)7⏏5; @a[20] = 1; say @a expecting any of: TypeObject …» | ||
timotimo | oh, huh? | ||
haha | |||
lizmat | m: my @a is default(42); @a[20] = 1; say @a | ||
camelia | rakudo-moar 72a187: OUTPUT«(Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) 1» | ||
timotimo | we could put a levenshtein there, too | ||
lizmat | hmmm... that would be wrong | ||
AlexDaniel | DrForr: oh, that's what I missed somehow. Nice | ||
cognominal | AlexDaniel, If it was implemented as a tree like do immutable array implementations in immutable.js or clojure, the story would be different. | 17:09 | |
timotimo | FWIW, perl6 is supposed to have shaped array definitions | ||
NYI though | 17:12 | ||
17:13
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Will "Coke" Coleda 'run this already fudged test' | 17:13 | |
travis-ci.org/rakudo/rakudo/builds/63046931 github.com/rakudo/rakudo/compare/7...c98bf4b64f | |||
17:13
travis-ci left
|
|||
AlexDaniel | m: say 9e99; say 9e999; | 17:13 | |
camelia | rakudo-moar 72a187: OUTPUT«9e+99Inf» | ||
AlexDaniel | and the difference is ? | ||
timotimo | ? | 17:15 | |
17:15
rindolf left
|
|||
hoelzro | with the new unit changes, should people start updating syntax highlighters and other associated tools? or should that wait for a bit? | 17:15 | |
timotimo | please go ahead :) | ||
TimToady | I doubt it's gonna change, since there's really no more obvious term than unit, unless we made it compunit, which would be silly | 17:16 | |
and I see no reason looming that we might back it out | |||
17:17
telex left
|
|||
TimToady | and several good reasons for keeping it | 17:18 | |
17:18
telex joined,
eli-se left
|
|||
AlexDaniel | so, why 9e999 is not 9e+999 but Inf? What is the limit? | 17:19 | |
DrForr | m: 9e999 | 17:20 | |
camelia | ( no output ) | ||
17:21
andreoss left
|
|||
DrForr | m: say 9e999 | 17:21 | |
camelia | rakudo-moar 3fc98b: OUTPUT«Inf» | ||
lizmat | weird | ||
TimToady | spent most of the morning figuring out why I couldn't access the (local) wall.org server from inside our LAN, turned out when we had a powerfail, it hooked back up to the dsl modem by both static IP and dynamic WiFi IP, which confused the heck out of it :) | ||
m: say +('9' ~ '0' x 999) | 17:22 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…» | ||
TimToady | m: say ('9' ~ '0' x 999).Num | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Inf» | ||
17:23
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
TimToady | m: say Num.Range | 17:23 | |
camelia | rakudo-moar 3fc98b: OUTPUT«-Inf..Inf» | ||
TimToady | fnerk | ||
m: say (1e0, 2e0, 4e0 ... Inf) | 17:24 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 4294967296 8589934592 17179869184 34359738368 68719476736…» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[*-1] | 17:25 | |
camelia | rakudo-moar 3fc98b: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/bndMMOeYPN:1» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[*-2] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Cannot coerce Inf or NaN to an Int in block <unit> at /tmp/BRCg0w1dTp:1» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[100] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«1.26765060022823e+30» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[200] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«1.60693804425899e+60» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[300] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«2.03703597633449e+90» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[900] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«8.45271249817064e+270» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[999] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«5.35754303593134e+300» | ||
cognominal | Sorry to stalk TimToady and asking the question a 3rd time, but why Capture and Map are not Positional and Associative in rakudo? I think the 6model information as pedagogical device and so that breaks it. | ||
17:25
ShimmerFairy joined
|
|||
TimToady | I still don't remember, but I seem to recall there was a good reason that jnthn or pmichaud gave once... | 17:26 | |
you could try it in a branch and see how badly it breaks, if you're that interested :) | 17:27 | ||
cognominal | I hope that was as an answer to my question, that I would have forgotten. I am stubborn that way. | 17:28 | |
I don't feel I am proficient enough to know how to do it. | |||
* that was not | 17:29 | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[3000] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Inf» | ||
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[2000] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Inf» | ||
hoelzro | TimToady: noted, thanks | 17:30 | |
TimToady | m: say (1e0, 2e0, 4e0 ... Inf)[1000] | ||
camelia | rakudo-moar 3fc98b: OUTPUT«1.07150860718627e+301» | ||
17:30
ShimmerFairy left
|
|||
lizmat | j: say (1e0, 2e0, 4e0 ... Inf)[1000] # just curious | 17:31 | |
camelia | rakudo-jvm 3fc98b: OUTPUT«1.0715086071862673E301» | ||
lizmat | j: say (1e0, 2e0, 4e0 ... Inf)[2000] # just curious | ||
camelia | rakudo-jvm 3fc98b: OUTPUT«Inf» | ||
AlexDaniel | m: say 9e307; say 9e308 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«9e+307Inf» | ||
17:32
colomon left
|
|||
cognominal | the naive way, adding "is Positional" to Capture gives Could not build C3 linearization: ambiguous hierarchy :( | 17:32 | |
17:32
colomon joined
17:35
spintronic joined
17:38
mohij joined,
kurahaupo1 joined
17:39
][Sno][ joined
17:40
[Sno] left
17:42
domidumont joined
|
|||
AlexDaniel | m: say 9e-310 | 17:42 | |
camelia | rakudo-moar 3fc98b: OUTPUT«8.99999999999997e-310» | ||
AlexDaniel | floating point errors? | ||
17:43
colomon left
|
|||
arnsholt | To be expected, since you asked for a floating point number | 17:43 | |
17:43
ShimmerFairy joined
|
|||
cognominal | AlexDaniel, use Rats instead | 17:43 | |
arnsholt | (Scientific notation is how you get floating points in Perl 6) | ||
AlexDaniel | arnsholt: frankly speaking that's not what I expected | 17:44 | |
17:45
zacts joined
|
|||
jercos | m: (10 ** -310).WHAT.say | 17:45 | |
camelia | rakudo-moar 3fc98b: OUTPUT«(Num)» | ||
17:46
aborazmeh left
|
|||
TimToady | m: say FatRat.new(1,10 ** 310) | 17:47 | |
camelia | rakudo-moar 3fc98b: OUTPUT«0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…» | ||
TimToady | Rat is limited to a denominator of 2^64 for performance reasons | ||
cognominal | m: say FatRat.new(1,10 ** 310).gist | 17:48 | |
camelia | rakudo-moar 3fc98b: OUTPUT«0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…» | ||
17:48
muraiki joined
|
|||
TimToady | say already does .gist | 17:48 | |
cognominal | m: say FatRat.new(1,10 ** 310).perl | ||
camelia | rakudo-moar 3fc98b: OUTPUT«FatRat.new(1, 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000…» | ||
TimToady | there's a / out there | 17:49 | |
cognominal | :) | ||
TimToady | though...why the numerator needs that many zeros is a good question | ||
jercos | m: for -1..2 ->\_{(10 ** _).WHAT.say} | 17:51 | |
camelia | rakudo-moar 3fc98b: OUTPUT«(Num)(Int)(Int)(Int)» | ||
TimToady | one supposes that first one could be Rat | 17:52 | |
jercos | I would expect negative exponents to be Rat until Rat overflows. | ||
TimToady | could be worth an RT | ||
masak submits rakudobug | 17:53 | ||
TimToady | question after that is whether it should underflow to FatRat, but probably should just go to Num | ||
masak | m: say (10 ** -1).^name | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Num» | ||
lizmat is working on making Backtrace lazy | |||
masak | m: say (1/ 10).^name | 17:54 | |
camelia | rakudo-moar 3fc98b: OUTPUT«Rat» | ||
lizmat | but first dinner& :-) | ||
masak | TimToady: yeah, I think Num is less surprising somehow. | ||
TimToady: otherwise people might run into unexpected slowness for unrequited precision. | |||
jercos | I think Num is fairly reasonable for the under/overflow, yeah. | ||
(is it an underflow because it's too small for a Rat, or an overflow because the denominator is too large?) | 17:55 | ||
TimToady | 'course, you'll never get overflow there | ||
17:55
FROGGS joined
|
|||
TimToady | jercos: yes :) | 17:55 | |
jercos | Fair :) | ||
FROGGS | o/ | ||
TimToady | but I'd call it underflow in polite company because I generally try to bias my thoughts in favor of the user | 17:56 | |
m: say 1/(2**64) | 17:57 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«5.42101086242752e-20» | ||
TimToady | I guess there's still lots of room there | ||
TimToady hesitates to call it either headroom or tailroom... | 17:58 | ||
masak | extremity room | 18:00 | |
jercos | that's uh... | ||
m: say -64 / log(10, 2) | |||
camelia | rakudo-moar 3fc98b: OUTPUT«-19.2659197224948» | ||
jercos | :D good, I haven't forgotten all of high school maths | ||
TimToady | if you're mushing things down smaller, it's mushroom | 18:01 | |
18:01
Hor|zon joined
|
|||
masak | and if you're just going "let me be", it's broom | 18:02 | |
AlexDaniel | m: say -1/Inf; | ||
camelia | rakudo-moar 3fc98b: OUTPUT«-0» | ||
AlexDaniel | -0? | ||
masak | sure! | ||
-0 is a totally cromulent IEEE 754 number. | |||
FROGGS .oO( why so negative? ) | 18:03 | ||
DrForr | How antiprocrustean ;) | ||
masak | m: say -0 < 0 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«False» | ||
masak | m: say -0 == 0 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
masak | m: say -0 === 0 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
jdv79 | lizmat: S22 is rather vague about the various curl* things. for instance - why the need for curlf and curli. also what exactly, and in totality, are those 2 for? | ||
masak | one could argue that that last one should be False... :) | ||
AlexDaniel | masak: are you sure that by writing -0 you're getting it right? | ||
jercos | If there's plenty of space to alter an FIR filter, that's taproom. Best discussed over a fine brew. | ||
masak | nope. | ||
FROGGS | jdv79: read perl6advent.wordpress.com/2013/12/...g-modules/ | ||
masak | m: say (-1/Inf) === 0 | 18:04 | |
camelia | rakudo-moar 3fc98b: OUTPUT«False» | ||
masak | there we go. :) | ||
TimToady: I'd say the last two evals amount to a bug. | |||
FROGGS | jdv79: TL;DR to install same named dists into a database instead of putting files on disk: use CURLI instead of CURLF | ||
masak | TimToady: by the same reasoning that NaN != NaN, but NaN === NaN | ||
FROGGS | jdv79: CURLF is what P5 does, and what a developer usually wants, CURLI is for installed stuff, i.e. production | 18:05 | |
AlexDaniel | m: (-1/NaN).WHAT.say; (-1/NaN).WHAT.say | ||
camelia | rakudo-moar 3fc98b: OUTPUT«(Num)(Num)» | ||
AlexDaniel | oops | ||
m: (-1/NaN).WHAT.say; (-0).WHAT.say | |||
camelia | rakudo-moar 3fc98b: OUTPUT«(Num)(Int)» | ||
18:05
][Sno][ left
|
|||
masak | oh! | 18:05 | |
right :/ | |||
masak-- | |||
AlexDaniel | yea | ||
masak | m: say 0e1.^name | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Num» | ||
masak | m: say -0e1 === 0e1 | 18:06 | |
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
masak | still bug, though. | ||
m: say -0e1 | |||
camelia | rakudo-moar 3fc98b: OUTPUT«-0» | ||
masak | huh. | ||
18:07
Hor|zon left
|
|||
masak | m: say -0e1 === (-1/Inf) | 18:07 | |
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
masak | yeah, this is not how I'd expect === to behave. | ||
it should be more discriminating than == | |||
and be able to pick out that those are actually two distinct values (that happen to be numerically equal) | |||
AlexDaniel | masak: well, both are Num so what would you expect? | 18:08 | |
18:08
][Sno][ joined
|
|||
masak | what do you mean? 0e1 and 1e1 are both Num, and they're equal neither by == nor by === | 18:08 | |
m: say 0e1 == 1e1; say 0e1 === 1e1 | |||
camelia | rakudo-moar 3fc98b: OUTPUT«FalseFalse» | ||
FROGGS | m: say 0e1; say 1e1 | 18:09 | |
camelia | rakudo-moar 3fc98b: OUTPUT«010» | ||
AlexDaniel | masak: and what's the difference between -0e1 and -1/Inf ? | 18:10 | |
masak | nothing, IMO. they're the exact same value. | ||
18:11
colomon joined
|
|||
AlexDaniel | masak: but then why did you say "this is not how I'd expect === to behave"? | 18:11 | |
masak | m: say -0e1 === 0e1 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
masak | because of that. | ||
m: say -0e0 === 0e0 | |||
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
AlexDaniel | oh ok | ||
got it | |||
masak | maybe clearer with zeroes :) | ||
I'm fine with them being numerically equals (because they're the same point on the real line) | 18:12 | ||
but I'd expect === to be able to pick them apart, because === is not encumbered with notions of number-ness | |||
now I'm going to submit this and make it look like I wrote all the right things from the start :P | |||
18:14
rindolf joined
|
|||
masak | m: say -0e0 < 0e0 | 18:16 | |
camelia | rakudo-moar 3fc98b: OUTPUT«False» | ||
masak | m: say -0e0 == 0e0 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«True» | ||
TimToady | eqv and === on floaters should probably just compare chunks of memory | ||
18:18
_mg_ joined
|
|||
masak | #125216 | 18:19 | |
ENOSYNOPSEBOT | |||
rt.perl.org/Ticket/Display.html?id=125216 | |||
18:40
_mg_ left
|
|||
pmichaud_ | m: say 9.0 ** -1; # related to RT #125215, perhaps | 18:42 | |
camelia | rakudo-moar 3fc98b: OUTPUT«Type check failed in binding nu; expected 'Int' but got 'Num' in block <unit> at /tmp/LbRWzxJs29:1» | ||
18:42
pmichaud_ is now known as pmichaud
|
|||
FROGGS | hi pmichaud | 18:43 | |
18:43
virtualsue joined
|
|||
colomon encourages people to get these numeric issues into roast ASAP | 18:44 | ||
18:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
pmichaud | I'm working on GLR. :) | 18:44 | |
colomon | pmichaud: you’re excused | ||
colomon is having a miserable day, and 30 minutes hacking on rakudo’s numbers might save his sanity | |||
FROGGS hugs colomon | 18:45 | ||
pmichaud | sanity is overrated sometimes. That said, I highly recommend colomon++'s suggested remedy | ||
18:48
Hor|zon joined
18:52
aborazmeh left
18:53
espadrine joined
18:54
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
colomon | stupid fix is very easy | 18:57 | |
not sure if it’s wise? it turns a simple call into NQP (and presumably moar) into a ?? !! | 18:58 | ||
pmichaud | does it fix that one case, or also the other case identified in the ticket? | 18:59 | |
masak | pmichaud! \o/ | 19:00 | |
pmichaud | at the moment I'm suspicious of the whole operation :) | ||
colomon | pmichaud: just int ** negative int | 19:02 | |
pmichaud | colomon: yeah, I'd prefer we get a full handle on Rat exponentiation rather than a bunch of corner-case fixes. | 19:03 | |
colomon | pmichaud: that’s a completely separate issue, believe it or not. | ||
(at least as the code currently stands) | |||
pmichaud | colomon: I'm not sure it should be a separate issue. | 19:04 | |
colomon | … actually, I’m not sure *why* it’s a separate issue. huh. | 19:05 | |
19:06
pauluu left
|
|||
colomon | oh, because the DIVIDE_NUMBERS internal sub requires an Int argument, but is getting passed numerator ** b | 19:06 | |
19:07
virtualsue left
|
|||
pmichaud | at some level I'd want to see an infix:<**>(Rat, Rat) that works, and then special-case the others as needed. | 19:07 | |
colomon | well, (Rat, Rat) we don’t even try to do right now. | ||
as the result generally will not be a Rat | 19:08 | ||
the easiest way to fix infix:<**>(Rat, Int) is probably to just check for Int < 0 | |||
the alternative of convincing DIVIDE_NUMBERS to accept Rat arguments is just going to slow down all other Rat arithmetic | 19:09 | ||
19:10
fhelmberger joined
|
|||
colomon | That said, even a fixed infix:<**>(Rat, Int) depends on infix:<**>(Int, Int) working properly (at least for the positive cases) | 19:10 | |
19:11
Sqirrel joined
|
|||
pmichaud | well, I'll bow out of the discussion for now. then. DIVIDE_NUMBERS feels smelly to me also... but I'm not looking at that code at the moment so I should let it be :) | 19:11 | |
masak is not sure where he stands, but enjoys the discussion | 19:12 | ||
19:13
aborazmeh left
|
|||
TimToady knows where he stands, but is usually standing in the wrong place | 19:13 | ||
masak | but with pose and style :P | 19:14 | |
19:15
fhelmberger left
|
|||
jercos | infix:<**>(Rat, Rat) totally should return a Num most of the time, since you need nth roots to calculate anything that isn't n/1, and those are just (Rat, Int) really... but I still see value in handling it as Rat up until you factor in the that root. | 19:16 | |
masak | usually I like the rule "smallest assignable numeric type", with Int <: Rat <: Num <: Complex being the smallness ordering. | 19:18 | |
colomon | masak: you left out FatRat | ||
colomon must go now, but he leaves his changes spectesting | |||
masak | but I can't shake the fact that pmichaud has a point it's a slippery slope. possibly with unintended consequences. | ||
like, someone might do `my Num $power = $base ** $exp;`, and be sad when the computation yields a Rat. maybe. | 19:19 | ||
(this wouldn't be a problem if Rat ~~ Num, but... that's not the world we live in) | 19:20 | ||
PerlJam | .oO( I don't care what the types are as long as the math works out ;) |
||
masak | heh. | ||
PerlJam | greetings | ||
masak | \o | ||
types as a shared illusion. thanks for the reminder, PerlJam++ | 19:21 | ||
pmichaud | s/ill/del/ | ||
masak | aye. | ||
pmichaud | well, since (Rat, Rat) and (Int, Rat) are entirely able to produce things that aren't Rats, I think I'd want them to return Num. | 19:23 | |
TimToady | maybe they should return Rational :P | 19:24 | |
masak | m: my $sqrt2 = sqrt(2); say ($sqrt2 * $sqrt2).^name | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Num» | ||
masak | m: my $sqrt2 = sqrt(2); say $sqrt2 * $sqrt2 == 2 | 19:25 | |
camelia | rakudo-moar 3fc98b: OUTPUT«False» | ||
masak | m: my $sqrt2 = sqrt(2); say $sqrt2 * $sqrt2 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«2» | ||
19:25
khisanth_ joined
|
|||
TimToady | or let's just always return Complex, for consistency :) | 19:26 | |
AlexDaniel | O_o | ||
TimToady | just kidding | ||
masak | AlexDaniel: don't listen to TimToady, he's a known troll :P | ||
TimToady | AlexDaniel: don't listen to masak, he's a known troll troll :P | 19:27 | |
masak .oO( TimToady 2000: "Perl 6!" -- TimToady 2015: "just kidding" ) :P | |||
PerlJam | AlexDaniel: don't listen to anybody, it's trolls all the way down. :P | ||
masak | this is true | ||
19:27
Khisanth left
|
|||
pmichaud | AlexDaniel: don't listen to pmichaud, he's an unknown troll. :P | 19:28 | |
masak | m: constant trolls = Inf; say trolls ** trolls | ||
camelia | rakudo-moar 3fc98b: OUTPUT«Inf» | ||
masak | pmichaud is possibly a transfinite troll | ||
TimToady | speaking of troll troll, Glo and I were just in Las Vegas thinking about New York, New York (the hotel), and about how you say you mean the real one by reduplication | ||
so the real city is New York, New York, New York, New York | 19:29 | ||
masak | yeah, yeah | ||
pmichaud | yes, but I wonder if 3x is sufficient. | ||
New York, New York, New York | |||
19:30
rindolf left
|
|||
masak | m: say "New " x 19, "York" # Dr Who | 19:30 | |
camelia | rakudo-moar 3fc98b: OUTPUT«New New New New New New New New New New New New New New New New New New New York» | ||
PerlJam ponders the difference between duplication and reduplication | |||
dalek | kudo/nom: d8ce4cd | lizmat++ | src/core/Backtrace.pm: Make backtraces lazy |
||
TimToady | the denerate case is close to where jnthn comes from...coincidence? | ||
denerate is a degenerate word | |||
lizmat | Lazy backtraces make the spectest go from 195 to 182 seconds | ||
masak | \o/ | 19:31 | |
lizmat++ | |||
lizmat | and the bare startup from 1.1 to 0.098 | ||
0.1 to 0.098 | |||
:-) | |||
masak | m: say (195 - 182) / 195 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«0.066667» | ||
TimToady | does it keep the continuations when it actually needs the backtrace? | ||
lizmat | 0.11 to .0098 | ||
argh | |||
pmichaud cannot follow lizmath | |||
masak | m: say "New " x 19, "Math" | 19:32 | |
camelia | rakudo-moar 3fc98b: OUTPUT«New New New New New New New New New New New New New New New New New New New Math» | ||
pmichaud | m: say 1.1-0.098; say 0.1-0.098; say 0.11-.0098 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«1.0020.0020.1002» | ||
TimToady | but on that one, the degenerate case is "Maths" | ||
masak | very CT to talk about "Maths" :) | 19:33 | |
lizmat | ok, let me rephrase: | ||
masak | like a multiverse of 'em | ||
TimToady | only one? | ||
lizmat | pmichaud: | ||
before: Files=1010, Tests=42468, 194 wallclock secs (11.26 usr 3.66 sys + 1155.46 cusr 115.91 csys = 1286.29 CPU) | |||
masak | TimToady: you would like n-category theory :P | 19:34 | |
lizmat | after: Files=1010, Tests=42472, 182 wallclock secs (11.30 usr 3.42 sys + 1062.67 cusr 108.27 csys = 1185.66 CPU) | ||
before 0.12 bare startup | |||
now 0.10 (rounded) | 19:35 | ||
Juerd | It was already 0.10, rounded ;) | 19:36 | |
lizmat | $ time perl6 -e 1 | ||
real0m0.098s | |||
masak | 0.1 s is a respectable startup time. | 19:37 | |
lizmat | and on my machine, it's below it :-) | ||
masak | I remember back when it was several seconds :) not so long ago. | ||
Juerd | masak: Depends on what you're comparing to. | ||
masak | of course. | 19:38 | |
PerlJam | two more orders of magnitude and we'll be at Perl 5 levels but with tons more magic. | ||
masak | Perl 5's startup time is *unmeasurable* (by `time`). | ||
lizmat | If we're below p5 + Moose, I'm glad already :-) | 19:39 | |
masak | every time we have this discussion, I come back to wondering how much we'll be able to cheat without getting caught. | ||
Juerd | masak: Optimize for -e 1? :P | ||
masak | like, if you do `perl6 -e 'say 42'`, technically all you need is a language with &say and native ints :) | ||
lizmat | TimToady: I have no idea whether it keeps the continuations | ||
PerlJam | masak: If you never get caught, it's not cheating ;) | ||
pmichaud | Rakudo 2012.06 was already at 0.09 startup time. :) | ||
lizmat | Backtrace no longer inherits from list, implements its own flat/list/first/grep/ | 19:40 | |
masak | PerlJam: aye. I was being redundant. :) | ||
lizmat | and AT-POS | ||
masak | lizmat++ | ||
pmichaud | that feels like solving the wrong problem, somehow. | ||
lizmat | TimToady: it's all done at the P6 level | ||
pmichaud: what feels like solving the wrong problem | 19:41 | ||
? | |||
19:41
dolmen joined
|
|||
pmichaud | reimplementing flat/list/first/grep | 19:41 | |
nwc10 | m: say 1.2458e-01 / 2.44e-01 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«0.510573770491803» | ||
pmichaud | I'll take a look at it though and see if GLR fixes that. | ||
PerlJam | pmichaud: btw, how's the GLR coming along? | ||
pmichaud | PerlJam: working on it now | ||
masak .oO( I'm GLRd you asked! ) | 19:42 | ||
pmichaud | my intent is to have it done by yapc::na | ||
nwc10 | m: say 1.2458e-01 / 4.066e-02 | ||
camelia | rakudo-moar 3fc98b: OUTPUT«3.06394490900148» | ||
masak | gosh, why don't we have a bot that you can ask "when is yapc::na?" !? | ||
nwc10 | half the time of Moose. 3 times the time of Moo. | ||
masak | well, Perl 6 OO is more like Moose than Moo. | ||
nwc10 | lizmat++ # closing in on Moo | ||
pmichaud | I seem to recall giving this talk. :) pmthium.com/2012/09/a-rakudo-performance/ | ||
nwc10 | masak: I don't disagree. But if it's possible to beat Moo it silences the "but Moo is good enough and faster" arguments | 19:43 | |
19:43
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make backtraces lazy' | 19:43 | |
travis-ci.org/rakudo/rakudo/builds/63066328 github.com/rakudo/rakudo/compare/3...ce4cd47d4e | |||
19:43
travis-ci left
|
|||
Juerd | nwc10: Bare Perl 5 is good enough and faster, for many users. | 19:43 | |
nwc10 | Juerd: usually including me. | 19:44 | |
pmichaud | I wonder if it would be better to have Backtrace inherit from List but have its own generator to make it lazy | 19:45 | |
lizmat | pmichaud: I considered that | ||
masak | nwc10: I wouldn't mind if we were on par with (or faster than) Moo. | ||
jnthn | I don't think Backtrace should inherit from List | ||
That's now how you inheritance. | 19:46 | ||
nwc10 | good *, jnthn | ||
jnthn | o/ | ||
masak | jnthn: good news! it no longer does! | ||
jnthn | \o/ | ||
lizmat++ | |||
lizmat | pmichaud: but that would be outside of my List foo | ||
nwc10 | *two* arms? It must be good. | 19:47 | |
lizmat | and probably affected / put more on your GLR plate | ||
post GLR I'll look at it again, ok? | |||
jnthn | TimToady: Glancing the patch: yeah, it keeps all the info around. We actually got make it lazier still and keep enough info around, I suspect... | ||
lizmat: I'm not sure Backtrace should do any more than be *coercable* to list | 19:48 | ||
pmichaud | actually, it's not whether Backtrace inherits from List that feels wrong (I agree it probably shouldn't inherit from List).... it's the reimplementing of .first and .grep that I'm not sure about. | ||
lizmat | jnthn: well, we need .flat as well for >>.foo | ||
jnthn | If it's got a .list method that just gather/take's the frames, all the other list-y things just fall out by coercion, no? | ||
pmichaud | those ought to be able to come from Any | ||
lizmat | jnthn: yes, but .list vivifies all entries atm | 19:49 | |
pmichaud | that part should be fixable. | ||
lizmat | I guess that's ok for grep, but for first | ||
dalek | pan style="color: #395be5">perl6-examples: c71e660 | paultcochrane++ | categories/euler/prob054-andreoss.pl: [euler] clean up code text a bit - remove trailing whitespace - wrap text to within 80 chars for readability in all terminals/editors - add vim coda |
||
pan style="color: #395be5">perl6-examples: 4b9b8c2 | paultcochrane++ | categories/ (20 files): Use $*SPEC.catdir for platform independent path names |
|||
pan style="color: #395be5">perl6-examples: 0ef4319 | paultcochrane++ | .gitignore: Update .gitignore after event003 output file rename |
|||
jnthn | lizmat: It's OK for first too, if we're vivifying we're using the backtrace, and the frames are finite | ||
lizmat is spectesting | 19:51 | ||
colomon | t/spec/S32-exceptions/misc.t known problem with the spectest? | 19:53 | |
lizmat | jnthn: looks like I need to provide a .map only | 19:55 | |
pmichaud | I'm afk again # GLR designing | ||
masak .oO( ooh, where'd you get that speedy List? -- it's a chic new design from pmichaud ) | 19:58 | ||
PerlJam | .oO( Does it come in different colors? ) |
20:00 | |
dalek | p/curly: 3135dfa | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Check owning object wasn't disclaimed. Port of github.com/MoarVM/MoarVM/commit/1a36596 |
||
bartolin | r: say NaN ** 0 | 20:01 | |
camelia | rakudo-{moar,jvm} d8ce4c: OUTPUT«1» | ||
FROGGS | jnthn: I want to merge cunion :S | ||
jnthn | /o\ | 20:02 | |
FROGGS: I'm in no good mental state to do code review right now, I'm afraid | |||
(Going to crawl into bed very shortly) | |||
FROGGS | jnthn: there was one thing you did not like AFAIR... 'is inlined' as an Attribute trait | ||
ohh, okay | |||
np | |||
the code itself is perfect of course :o) | 20:03 | ||
(no really, the code should be fine) | 20:04 | ||
20:04
domidumont left
|
|||
dalek | kudo/nom: fa2ee21 | lizmat++ | src/core/Backtrace.pm: Replace .grep/.first by .map, they will follow |
20:04 | |
nwc10 | jnthn: sleep well. | ||
20:04
mdinger joined
|
|||
lizmat | we lose a bit on the spectest because of the generalization, but startup is still the same | 20:05 | |
mdinger | is there an online perl playpen? Kinda like play.rust-lang.org/ ? I couldn't find it if there is | ||
timotimo | huh. you play a video game for a bit, then have dinner and watch a show with your friends and suddenly it's already 2200? | ||
FROGGS | wow, it is still 2015 here | ||
timotimo: how's 2200? | 20:06 | ||
mdinger: there was/is somewhere... let me try to find it | |||
jnthn | 'night, #perl6 | ||
mdinger | ok awesome | ||
FROGGS | gnight jnthn | ||
lizmat | gnight jnthn | 20:07 | |
timotimo | FROGGS: the perl6 is amazing! | ||
:P | |||
FROGGS | :D | ||
mdinger: somebody hosted a farabi service... can't find it though | 20:08 | ||
[ptc] | after the change requiring 'unit' before module definitions, would it a good idea to issue pull requests to P6 modules adding the 'unit' declarator? | ||
dalek | ast: 1ceff32 | colomon++ | S32-num/rat.t: Tests for exponentiation to a negative Int power. |
||
FROGGS | mdinger: but you can talk to camelia here or in privmsg | ||
m: say 'hello mdinger' | 20:09 | ||
camelia | rakudo-moar d8ce4c: OUTPUT«hello mdinger» | ||
mdinger | oh ok | ||
[ptc] | just wondering in case it is wished for that the number of warnings with e.g. panda installs should be reduced | ||
FROGGS | [ptc]: I think so, yes... hopefully we also have a star release this month | ||
[ptc] | FROGGS: and it's simply a matter of adding 'unit' before 'module', right? | 20:10 | |
masak | [ptc]: sounds like a good idea, yes. | ||
[ptc] | if so, I can start making a few easy PRs and help get things cleaned up | ||
FROGGS | [ptc]: either that, changing it to the block form... (which might make sense for panda) | ||
or changing* | 20:11 | ||
[ptc] | what are the pros and cons of each form? | ||
... just trying to understand a bit better so that I can make relevant PRs, and not annoy the module authors | |||
FROGGS | pro for the block form is that it also works with and older compiler | 20:12 | |
pro for the unit scope declarator is that you only change a single line | 20:13 | ||
masak | +1 unit scope declarator | 20:15 | |
that's the easy change to make. | |||
20:15
virtualsue joined
|
|||
[ptc] | true, but it makes the change backwards incompatible for the module authors | 20:15 | |
btw, is it possible to specify a panda version in rakudobrew? | 20:16 | ||
FROGGS | which is not a problem when there is a rakudo star this month | ||
dunno | |||
masak | also, if they went for the statement form once, they're likely to do so again. | ||
the old form is not gone, right? only deprecated. | |||
FROGGS | correct | ||
[ptc] | I'm building 2015.04 on Travis atm, and Rakudo barfs since panda uses Empty | ||
masak | then I see no harm. | ||
20:17
yqt joined
|
|||
FROGGS | masak: the harm is: we change modules now, and ppl who use latest star cant install these modules | 20:17 | |
[ptc] | ok, I'll start making PRs for the unit declarator change, might take a bit though... | ||
when is the release this month? | |||
20:18
mdinger_ joined,
mdinger left
|
|||
FROGGS | Thursday | 20:18 | |
20:18
mdinger_ is now known as mdinger
20:20
mdinger_ joined
|
|||
mdinger_ | say 'abc' ~~ / <[ a..] ]>+ / | 20:21 | |
20:22
mdinger_ left
|
|||
mdinger | camelia: help | 20:23 | |
camelia | mdinger: Usage: <(niecza|debug-cat|prof-m|pugs|rakudo-jvm|nqp-parrot|std|nqp-jvm|p5-to-p6|nqp-js|star-m|star-j|rakudo-moar|nqp-moarvm|Prn|nqp-mvm|perl6|nrP|nqp-j|j|r|p56|sj|sm|nqp-p|nqp-q|rnP|p6|nqp-m|m|rakudo|nr|r-m|n|nqp|rj|rm|rPn|r-j|r-jvm|star|nom|rn|P|Pnr|nPr)(?^::\s) $perl6_program> | ||
mdinger | can you chat with camelia without filling the channel? | ||
skids | mdinger: yes just /msg camelia | 20:24 | |
masak | mdinger: /msg camelia m: say "OH HAI" | ||
mdinger | thanks. got it working. | 20:25 | |
[ptc] | FROGGS: thanks. | 20:28 | |
first PR now on its way :-) | |||
FROGGS | [ptc]++ # :o) | ||
20:32
spider-mario joined
20:35
xfix left,
darutoko left
20:37
japhb joined
|
|||
lizmat | hmmm... looks like my change broke JVM quite significantly :-( | 20:39 | |
Use of uninitialized value of type Any in string contextjava.lang.NullPointerException | |||
FROGGS | jvm is easily upset these days | ||
20:39
eli-se joined
|
|||
eli-se | hi | 20:40 | |
vendethiel | jvm is like "hey there, friend, it seems you stepped on my f... OH MY GOD WHAT DID YOU JUST DO" | ||
20:40
diana_olhovik left
|
|||
vendethiel | \o eli-se | 20:40 | |
eli-se | \o/ | ||
bartolin | lizmat: where do you get that? | 20:42 | |
lizmat | $ perl6-j --ll-exception t/spec/S02-literals/autoref.t | ||
testing a fix atm | |||
bartolin | j: 1..Any | ||
camelia | rakudo-jvm fa2ee2: OUTPUT«Use of uninitialized value of type Any in numeric contextjava.lang.NullPointerException» | ||
20:42
muraiki left
|
|||
lizmat | yeah, just about any warning will trigger it atm | 20:43 | |
FROGGS | github.com/rakudo/rakudo/pull/431 | ||
20:43
andreoss joined
|
|||
andreoss | m: my @x = Empty xx 10; say @x.elems; | 20:43 | |
camelia | rakudo-moar fa2ee2: OUTPUT«0» | ||
andreoss | m: my @x = Empty xx *; say @x[^10].elems; | 20:44 | |
m: my @x := Empty xx *; say @x[^10].elems; | |||
camelia | rakudo-moar fa2ee2: OUTPUT«(timeout)» | ||
colomon | ugh, git / merging issues here. | ||
bartolin | FROGGS: yeah, but that on does no longer work (due to the changes in Backtrace.pm) | 20:45 | |
FROGGS | yeah | ||
still a weird patch if you ask me :o) | |||
m: my @x; say @x[^10].elems; | |||
camelia | rakudo-moar fa2ee2: OUTPUT«0» | ||
bartolin | FROGGS: *g* I just closed the PR | 20:46 | |
andreoss | should Empty behaves like that? | ||
m: my @x = (1; Empty) xx *; say @x[10].WHAT; | |||
camelia | rakudo-moar fa2ee2: OUTPUT«(Int)» | ||
andreoss | m: my @x = (Empty; Empty) xx *; say @x[10].WHAT; | 20:47 | |
camelia | rakudo-moar fa2ee2: OUTPUT«Empty» | ||
andreoss | m: my @x = Empty xx *; say @x[10].WHAT; | ||
bartolin | lizmat: I see, it explodes for different warnings now. | ||
camelia | rakudo-moar fa2ee2: OUTPUT«(timeout)» | ||
andreoss | m: subset Nothing of Empty; my @x = Nothing xx *; say @x[10].WHAT; | 20:48 | |
camelia | rakudo-moar fa2ee2: OUTPUT«Empty» | ||
20:52
japhb left
|
|||
labster | m: my Set is Empty; | 20:54 | |
camelia | rakudo-moar fa2ee2: OUTPUT«5===SORRY!5===Type 'Set' is not declaredat /tmp/T5buKC9CFA:1------> 3my Set 7⏏5is Empty;Malformed myat /tmp/T5buKC9CFA:1------> 3my Set 7⏏5is Empty;» | ||
20:54
japhb joined
20:58
eli-se left,
kurahaupo1 left
|
|||
dalek | kudo/nom: 563abdd | colomon++ | src/core/ (2 files): Fix Int/Rat ** -Int. This makes both cases generate a Rat if the result fits in a Rat, and a Num otherwise. |
20:59 | |
masak | 'night, #perl6 | 21:00 | |
colomon | o/ | ||
lizmat | gnight masak | 21:01 | |
21:04
aindilis joined
21:08
andreoss left,
skids left
21:09
andreoss joined
21:11
][Sno][ left
21:12
[Sno] joined
|
|||
japhb | lizmat, OOC, why the effort to optimize and then lazify backtraces? Are they being generated in lots of places that never make it to the user? | 21:17 | |
lizmat | yes, discussed this with jnthn : apparently during startup, there are at least 4 fails | ||
japhb guesses throwing an exception must have generated one, thus making exception throw-catch unnecessarily expensive | |||
ah | |||
lizmat | and lazifying them made the difference between 120 ms and 100 ms startup | 21:18 | |
21:18
sue__ joined,
kurahaupo joined
|
|||
FROGGS | often you try {} something or check if something produces a Failure without looking at its backtrace | 21:18 | |
timotimo | oooh | 21:19 | |
and that improvement is already in? cool! | |||
TimToady | otoh a Failure has to be ready to report where its original failure was if it triggers in an entirely different part of the program, so getting that lazy without loss of info is, I agree, cool | 21:20 | |
lizmat | well, yes, but it breaks every warning on the JVM with a NullPointerException :-) | ||
TimToady | those JVM people should be more careful! | ||
lizmat | TimToady: I only made the P6 part lazy, not the nqp part | 21:21 | |
j: my $ + 1 | 21:22 | ||
camelia | rakudo-jvm 563abd: OUTPUT«Use of uninitialized value of type Any in numeric contextjava.lang.NullPointerException» | ||
lizmat | :-( | 21:24 | |
found the problem | 21:28 | ||
21:29
sue__ left
|
|||
lizmat | apparently nqp::atpos is more temperamental on JVM than on Moar | 21:29 | |
timotimo | well, we have VMNull on moar and nothing similar on the jvm, i believe | 21:31 | |
21:31
andreoss left,
spintronic left
|
|||
lizmat | spectest of fix on moar is clean, now waiting for jvm spectest | 21:36 | |
zengargoyle | so... 'module Text::Fortune:ver<0.01>;' --> 'unit module Text::Fortune:ver<0.01>;' is the change that i need in my module? | 21:39 | |
dalek | kudo/nom: 00723c6 | lizmat++ | src/core/Backtrace.pm: Fix JVM breakage of warnings Also re-instate private .first to make the most common case of warnings be as lazy as possible (using the Any.first would vivify all entries still). |
||
lizmat | spectest not done yet, but no failures yet (where there were before) | ||
and on that note, I'm going to give timotimo a nudge | 21:40 | ||
and wish #perl6 a good night | |||
& | |||
[ptc] | gnight lizmat | 21:41 | |
21:41
berekuk left
21:42
berekuk joined,
berekuk left
|
|||
FROGGS | gnight lizmat++ | 21:43 | |
21:43
espadrine left
|
|||
FROGGS | tadzik: I found something "funny" in panda :o) | 21:43 | |
funny in a way that I spend some hours on it | 21:44 | ||
21:45
Sqirrel left
|
|||
labster | m: 0+1i == sqrt(-1) | 21:46 | |
camelia | ( no output ) | ||
timotimo | gnite lizmat :) | ||
zengargoyle: that's right | |||
labster | m: say 0+1i == sqrt(-1), 0+1i == -1**0.5 | ||
camelia | rakudo-moar 563abd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MnBonjuX_vMissing required term after infixat /tmp/MnBonjuX_v:1------> 3say 0+1i == sqrt(-1), 0+1i ==7⏏5 -1**0.5 expecting any of: prefix term» | ||
labster | m: say 0+1i == sqrt(-1), 0+1i == (-1)**0.5 | 21:47 | |
camelia | rakudo-moar 563abd: OUTPUT«FalseFalse» | ||
TimToady | m: say 0+1i == sqrt(-1+0i), 0+1i == (-1+0i)**0.5 | 21:48 | |
camelia | rakudo-moar 563abd: OUTPUT«FalseFalse» | ||
TimToady | but for a different reason | ||
m: say sqrt(-1) | |||
camelia | rakudo-moar 563abd: OUTPUT«NaN» | ||
TimToady | m: say sqrt(-1+0i) | 21:49 | |
camelia | rakudo-moar 563abd: OUTPUT«6.12323399573677e-17+1i» | ||
jercos | m: say e**(i*pi) | ||
camelia | rakudo-moar 563abd: OUTPUT«-1+1.22464679914735e-16i» | ||
jercos | oh so close | ||
timotimo | perhaps we want to special-case that? >_< | ||
jercos | m: sin(pi) | 21:50 | |
camelia | ( no output ) | ||
timotimo | though ... better to make sure people use "i" instead of trying to come up with sqrt(Complex.new(-1, 0)) or something silly like that | ||
jercos | m: say sin(pi) | ||
camelia | rakudo-moar 563abd: OUTPUT«1.22464679914735e-16» | ||
jercos | hey, that looks familiar! :p | ||
TimToady | it's just a funny way to write 0 | ||
Juerd | m: say sin(pi) == 0 | 21:51 | |
camelia | rakudo-moar 563abd: OUTPUT«False» | ||
Juerd | Is it? :P | ||
timotimo | why do we only have double precision? | ||
clearly, quadruple precision is needed | |||
TimToady | well, maybe triple, anyway | ||
Juerd | timotimo: What we need is a == that's slightly more forgiving ;) | ||
labster | as a discordian, I'm going to argue for quintuple precision. | 21:52 | |
timotimo | that sounds like a splendid idea! :P | ||
TimToady | "How many times must == forgive its brother?" | ||
Juerd | Or something that isn't so strictly boolean... | ||
True... False... CloseEnough... | |||
jercos | m: sin(pi/4) - cos(pi/4) | ||
camelia | ( no output ) | ||
jercos | m: say sin(pi/4) - cos(pi/4) | ||
camelia | rakudo-moar 563abd: OUTPUT«-1.11022302462516e-16» | ||
jercos | you'd think at this point I'd remember to use say >.> | ||
labster | The Colbert truthiness operator. | 21:53 | |
21:53
virtualsue left
|
|||
TimToady | well, if you compare the number of values for which it's false to the number of values for which it's true, it's still gonna come out even | 21:53 | |
FROGGS | Juerd: everybody knows that it is: True, False and FileNotFound :o) | ||
timotimo | hehe | 21:54 | |
21:55
eli-se joined,
Sqirrel joined
|
|||
Juerd | FROGGS: Or simply repurpose Whatever for this; it already has a suitable name. | 21:56 | |
FROGGS throws in thedailywtf.com/articles/What_Is_Truth_0x3f_ as a reference | |||
Juerd | FROGGS: That hurts | 21:57 | |
FROGGS | *g* | ||
it does | |||
but.... so is life | |||
jercos | these sound like a good way to induce Fun behavior :p | ||
FROGGS | I have co-workers like these -.- | 21:58 | |
22:00
eli-se left
|
|||
RabidGravy | I mean there have been times when I thought a Maybe might be appropriate | 22:01 | |
jercos .oO( fuzzy logic runs best on a furbeowulf cluster ) | 22:02 | ||
timotimo | here's what the cat has to say: 0000000000000000000000000000000000000000000000000000000 | 22:09 | |
22:24
yubimusubi joined
22:25
Alina-malina left
|
|||
RabidGravy | and cats arenever wrong | 22:26 | |
22:27
Possum left,
orafu joined
22:29
yubimusubi is now known as Possum
|
|||
ugexe | m: my $s = "abcd"; say $s ~~ /<alpha> ** 2..3/; say $s ~~ /<alpha> ** {2..3}/; # will these eventually return the same thing, or are they actually saying different things? | 22:29 | |
camelia | rakudo-moar 00723c: OUTPUT«「abc」 alpha => 「a」 alpha => 「b」 alpha => 「c」「abc」 alpha => 「c」» | ||
22:30
Possum is now known as Guest37420,
Guest37420 is now known as yubimusubi
|
|||
timotimo | oh, huh? | 22:32 | |
that does look like a bug | |||
ugexe | there are roasts for it, but they are just 'ok' tests, none compare the value returned to make sure its correct | ||
timotimo | damn | 22:34 | |
yeah, that's a bad miss :) | |||
m: say "abcd" ~~ /<alpha> ** {(2,3)}/; | |||
camelia | rakudo-moar 00723c: OUTPUT«「ab」 alpha => 「b」» | ||
timotimo | m: say "abcd" ~~ /<alpha> ** { 4..4 } /; | ||
camelia | rakudo-moar 00723c: OUTPUT«「abcd」 alpha => 「d」» | 22:35 | |
timotimo | m: say "abcd" ~~ /<alpha> ** { 1..1 } /; | ||
camelia | rakudo-moar 00723c: OUTPUT«「a」 alpha => 「a」» | ||
timotimo | m: say "abcd" ~~ /<alpha> ** { 1 } /; | ||
camelia | rakudo-moar 00723c: OUTPUT«「a」 alpha => 「a」» | ||
timotimo | m: my $range = 1..3; say "abcd" ~~ /<alpha> ** { $range } /; | ||
camelia | rakudo-moar 00723c: OUTPUT«「abc」 alpha => 「c」» | ||
22:41
Alina-malina joined
22:42
bjz left
22:43
yqt left
22:45
kurahaupo left,
vendethiel left,
kaare_ left
22:46
RabidGravy left
22:50
FROGGS left
22:55
skids joined
|
|||
TimToady | yeah, looks like a bug to me too, we should not distinguish return of <alpha>* from <alpha> ** 0..* or <alpha> ** { 0..* } | 22:56 | |
23:02
orafu left,
vendethiel joined
23:04
pierrot left
23:08
Alina-malina left,
Alina-malina joined
23:18
mazeTemporal joined
23:23
LLamaRider joined,
LLamaRider left
23:25
vendethiel left
|
|||
mazeTemporal | I am having a problem using 'prove'. Installed rakudo and Strawberry Perl on Windows7, wrote a simple test program using 'test'. Executing perl6 on it returns that the test was ok but executing prove -e perl6 on it throws an error. ..."failed at usr/lib/perl5/5.8.8/TAP/Parser/Iterator/Process.pm line 168"... I am not sure where to look for the problem, but that directory looks like unix which makes me suspicious. | 23:26 | |
If this is the wrong place to ask about this, please let me know a more appropriate one. | 23:28 | ||
tony-o_ | m: my $range = 1..3; "abcde" ~~ /$<aa>=(<alpha> ** {$range})/; say $<aa>; | 23:29 | |
camelia | rakudo-moar 00723c: OUTPUT«「abc」 alpha => 「c」» | ||
tony-o_ | m: my $range = 1..3; "abcde" ~~ /$<aa>=(<alpha> ** {$range})/; say $<aa>.Str; | ||
camelia | rakudo-moar 00723c: OUTPUT«abc» | ||
23:30
BenGoldberg_ joined
|
|||
tony-o_ | m: my $range = 1..3; "abcde" ~~ /(<alpha> ** {$range})/; say $0.Str; | 23:30 | |
camelia | rakudo-moar 00723c: OUTPUT«abc» | ||
tony-o_ | m: my $range = 1..3; "abcde" ~~ /(<alpha> ** {$range})/; say $0.Str; say $0<alpha>.perl; | ||
camelia | rakudo-moar 00723c: OUTPUT«abcMatch.new(ast => Any, list => (), hash => EnumMap.new(), orig => "abcde", to => 3, from => 2)» | ||
tony-o_ | m: my $range = 1..3; "abcde" ~~ /(<alpha> ** {$range})/; say $0.Str; say $0<alpha>.Str; | ||
camelia | rakudo-moar 00723c: OUTPUT«abcc» | ||
Ulti | mazeTemporal: are you putting the perl6 bit in quotes? | 23:34 | |
mazeTemporal: so something like prove -e 'perl6 -I ./lib' -lrv t/ | 23:35 | ||
geekosaur | on windows (cmd.exe or powershell) I think it needs to be double quotes? (if using something like bash, single quotes would be correct) | 23:37 | |
mazeTemporal | It is even simpler than that, I am trying to run test itself not on a library. It is just prove -e perl6 hellotest, where hellotest is: use v6; use test; plan 1; is 1+1, 2, '1+1=2'; | 23:38 | |
Ulti | what happens if you do some prove stuff on perl5 code | 23:40 | |
as in have you been using Strawberry Perl for Perl 5 things for ages and all of a sudden its not working now? | 23:41 | ||
mazeTemporal | I have not tested prove in Perl 5 yet. I just installed Strawberry Perl because rakudo did not seem to include prove. I can try looking up how to do it in Perl 5 and testing that today. | 23:42 | |
timotimo | we're going to have a prove6 in due time; someone's already started on that, actually | 23:44 | |
Ulti | yeah sorry I don't use perl on windows it's been years since I installed strawberry perl | ||
mazeTemporal | The original problem is that I cannot install any Perl 6 modules on this computer, and I distilled that down to prove not working. It is a bit mysterious to me because it all works fine on another computer | ||
going to work, will read logs later if anyone thinks of something else | |||
Ulti | well you can just install without testing :3 but not really a sustainable solution | ||
ugexe | Strawberry perl should have prove | 23:45 | |
mazeTemporal | I am using the prove from Strawberry Perl, it throws that error on this computer | 23:46 | |
Ulti | the perl 5.8.8 error message for a recent install of strawberry is a bit odd | ||
unless you just installed a 5.8.8 version?! | |||
dalek | kudo-star-daily: 52a554c | coke++ | log/ (2 files): today (automated commit) |
||
ugexe | yu have to quote your executable probably | 23:47 | |
prove -e "perl6" file | |||
Ulti | shouldn't need to without any spaces | ||
ugexe | on windows? | ||
Ulti | sure | ||
its not completely backwards | |||
wow strawberry perl still make 5.8.8 available, dedication | 23:48 | ||
mazeTemporal | That is a good point about it being strange to have a 5.8.8 error, but I just checked and I used the 5.20.2.1 msi. quotes around perl6 threw same error (should only need quotes for spaces, that is correct) | 23:52 | |
[Coke] | prove -e .\perl6, maybe? | 23:54 | |
ugexe | i just tried his command and file on cmd.exe and it passed :( | ||
[Coke] | Did you try perl6 hellotest -- no prove? | 23:55 | |
23:57
mazeTemporal left
|