»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:01
edehont left
|
|||
BenGoldberg | m: '🙉'.uniname.say | 00:01 | |
camelia | rakudo-moar bc3592: OUTPUT«HEAR-NO-EVIL MONKEY» | ||
BenGoldberg | m: '🙉'.succ.uniname.say | ||
camelia | rakudo-moar bc3592: OUTPUT«HEAR-NO-EVIL MONKEY» | ||
BenGoldberg | m: '🙉'.pred.uniname.say | ||
camelia | rakudo-moar bc3592: OUTPUT«HEAR-NO-EVIL MONKEY» | ||
BenGoldberg | m: '🙉'.ord.pred.chr.uniname.say | 00:02 | |
camelia | rakudo-moar bc3592: OUTPUT«SEE-NO-EVIL MONKEY» | ||
00:08
eyck left,
eyck joined
00:09
itaipu left
00:10
itaipu joined,
tushar joined
|
|||
tushar | Hello, I have very basic question. What is a difference between "class" and "unit class"? I have seen several times "unit class classname" in several .pm files? Why does .pm file has it instead "class"? | 00:12 | |
Zoffix | tushar, unit class; lets you avoid using { } to wrap the entire class in | 00:13 | |
geekosaur | unit class Foo; declares that the whole file is the class definition | 00:14 | |
TimToady | so it's like declaring the class from the inside | ||
geekosaur | instead of class Foo { ... } | ||
tushar | ohh yes.. I have noticed that too. Whenever, "unit class classname" present into .pm files, I have not seen {} after classname. | 00:15 | |
AlexDaniel | awesome feature, by the way | 00:16 | |
tushar | @Zoffix, @geekosaur, and @TimToady -- Thanks for prompt explanation. | 00:17 | |
Zoffix | Any time. | ||
TimToady | m: .uniname.say for '🙈' ... '🙊' | ||
camelia | rakudo-moar bc3592: OUTPUT«SEE-NO-EVIL MONKEYHEAR-NO-EVIL MONKEYSPEAK-NO-EVIL MONKEY» | ||
00:23
pierre_ joined,
bob777 joined
00:24
pierre_ left,
pierre_ joined
|
|||
tbrowder | I assume it's known doc build has been failing for over 13 hours. From my quick look it's not because of doc pod changes. | 00:25 | |
geekosaur | it's known, there was a change in precomp that broke the doc builder searching for precompiled modules | 00:26 | |
00:26
rindolf left
|
|||
geekosaur | last I heard a quick fix had been proposed but not applied | 00:26 | |
(or, it was applied and this current failure mode is the result; the failure mode from the original change was different...) | 00:27 | ||
tbrowder | Looks like some dev will have to fix it. | ||
00:28
bob777 left
00:32
cdg left
00:35
wamba joined
|
|||
BenGoldberg | Does 'unit' only work with 'class' and 'module' ? | 00:36 | |
Zoffix | sub MAIN too | ||
geekosaur | also package | ||
(but package isn't used much) | 00:37 | ||
BenGoldberg | m: package Foo; say 42; | ||
camelia | rakudo-moar bc3592: OUTPUT«5===SORRY!5=== Error while compiling <tmp>This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style declaration like "unit package Foo;" or "unit module Foo;", or use the block form instead of the semicolon form…» | ||
BenGoldberg | m: unit package Foo; say 42; | ||
camelia | rakudo-moar bc3592: OUTPUT«42» | ||
BenGoldberg | m: unit package Foo { say 42 } | 00:38 | |
camelia | rakudo-moar bc3592: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot use 'unit' with block form of package declarationat <tmp>:1------> 3unit package Foo7⏏5 { say 42 } expecting any of: generic role» | ||
BenGoldberg | m: package Foo { say 42 } | ||
camelia | rakudo-moar bc3592: OUTPUT«42» | ||
BenGoldberg | What's the difference between a module and a package? | ||
Zoffix | also grammar | 00:39 | |
geekosaur | package is the basic unit of namespacing. you could say that things like module and class are subclasses of package | ||
(that is, they are namespacing plus some kind of functionality) | |||
BenGoldberg | Where is 'unit' documented? | 00:40 | |
geekosaur | oh, I;d expect unit role to work as well | ||
BenGoldberg | m: unit role Foo; 42 | 00:41 | |
camelia | rakudo-moar bc3592: OUTPUT«WARNINGS for <tmp>:Useless use of constant integer 42 in sink context (line 1)» | ||
BenGoldberg | m: unit role Foo; 42.say | ||
camelia | ( no output ) | ||
BenGoldberg | m: role Foo {...}; Foo.new; unit role Foo; say(42); | ||
camelia | rakudo-moar bc3592: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Too late for unit-scoped role definition;Please use the block form.at <tmp>:1------> 3role Foo {...}; Foo.new; unit role Foo;7⏏5 say(42);» | ||
BenGoldberg | m: Foo.new; unit role Foo; say(42); | ||
camelia | rakudo-moar bc3592: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Illegally post-declared type: Foo used at line 1» | ||
geekosaur | hm | 00:42 | |
unit doesn't show up in the docs where I expected to find it | |||
00:43
Zoffix left
|
|||
geekosaur | (tat said, I'm not sure where I expected to find it is where anyone else would look) | 00:43 | |
first I looked in Syntax (since it's a more general thing, given what it can be applied to), then I looked in Packages | |||
oh, it *is* in Syntax. | 00:44 | ||
docs.perl6.org/language/syntax#Mod...eclaration | |||
"You can declare a unit of things without explicit curly brackets." | 00:45 | ||
BenGoldberg | That's not exactly a lot of docu. | 00:49 | |
m: unit sub MAIN; say 42; | 00:50 | ||
camelia | rakudo-moar bc3592: OUTPUT«42» | ||
geekosaur | well, it is followed by an example... but yes, it's as threadbare as the export stuff was | ||
so is most of the documentation, really | |||
[[This Perl 6 documentation is a stub. You can help Perl 6 by expanding it.]] | 00:52 | ||
BenGoldberg | It would be really cool if 'unit' could be used on any expression which normally ends in a block, not just a handful of special cases. | 00:53 | |
geekosaur | "any"? including, say, if and while? | ||
BenGoldberg | . o O (unit gather do; take 1; take 2; take 3) | 00:54 | |
I see nothing wrong with 'unit while condition; statement; statement; statement;' | 00:55 | ||
geekosaur | er, 'say' there was rhetorical, not the sub/method | ||
BenGoldberg | 'unit if condition; statement; statement; statement;' should also work, but isn't any more useful than 'return unless condition; statements' or 'last unless condition; statements;' | 00:56 | |
00:57
Zoffix joined
|
|||
geekosaur | I was specifically thinking that (a) so how do you do 'else' (b) and, pedantically speaking, the ending block is the 'else' :p | 00:57 | |
BenGoldberg | Obviously, you wouldn't be able to have an 'else BLOCK' after a 'unit if' | 00:58 | |
Well, maybe you could if you wrote "unit if EXPR { STATEMENTS } else;", but that would be wierd. :) | 00:59 | ||
geekosaur | imo unit if already lands you in uncanny valley; what's more weird on top? | 01:01 | |
Zoffix | bisect: "foo".IO.modified | 01:02 | |
bisectable6, "foo".IO.modified | 01:03 | ||
:\ | |||
geekosaur | bisectable took a header earlier | ||
Zoffix | Anyway, I'm tracing the doc failure to this line: github.com/gfldex/perl6-pod-to-big...nepage#L66 | ||
geekosaur | oh, no, that was benchable | 01:04 | |
Zoffix | .modified is being called on a non-existant file, which returns a Failure. I'm suspecting that may have been returning something else in the past | ||
committable6, 2016.04 "foo".IO.modified.say | |||
committable6 | Zoffix, ¦«2016.04»: Failed to find 'foo' while trying to do '.modified' in block <unit> at /tmp/VIcjqsBSK1 line 1Actually thrown at: in block <unit> at /tmp/VIcjqsBSK1 line 1 «exit code = 1» | ||
Zoffix | hm | ||
geekosaur | precomp IDs changed yesterday from a subset of Str to a class | ||
Zoffix | Right, and moritz fixed that. | 01:05 | |
committable6, 2016.04 try { "foo".IO.modified.say; CATCH { default { .^name.say } } } | |||
committable6 | Zoffix, ¦«2016.04»: X::IO::DoesNotExist | ||
Zoffix | committable6, HEAD try { "foo".IO.modified.say; CATCH { default { .^name.say } } } | ||
m: try { "foo".IO.modified.say; CATCH { default { .^name.say } } } | |||
camelia | rakudo-moar bc3592: OUTPUT«Instant:1453533000.729611» | ||
Zoffix | 0.o | ||
dafuq | |||
m: try { "not-foo".IO.modified.say; CATCH { default { .^name.say } } } | 01:06 | ||
camelia | rakudo-moar bc3592: OUTPUT«X::IO::DoesNotExist» | ||
geekosaur | m: ".".IO.dir.say | ||
camelia | rakudo-moar bc3592: OUTPUT«(".cpanm".IO ".local".IO ".npm".IO ".perl6".IO ".perlbrew".IO ".rcc".IO ".ssh".IO "Perlito".IO "evalbot".IO "log".IO "nqp-js".IO "p1".IO "p2".IO "perl5".IO "std".IO ".bash_history".IO ".bashrc".IO "mbox".IO ".lesshst".IO "evalbot.log".IO ".cpan".IO "dalek-…» | ||
01:06
bisectable6 left
|
|||
BenGoldberg | m: ".".IO.dir.grep(/foo/).say; | 01:07 | |
camelia | rakudo-moar bc3592: OUTPUT«("foo".IO)» | ||
01:09
committable6 left
01:13
Actualeyes joined,
kaare_ joined
01:18
bisectable6 joined,
committable6 joined
01:19
tushar left
|
|||
Zoffix | Hm, even if I remove the .modifed in pod2onepage and just pass now to :since() it still cries about .modified. | 01:19 | |
01:19
itaipu left
|
|||
Zoffix | Hehe under the commit that mentions .modifed stuff: :) "<nine> Ah screw the caution. Everything works just fine here and I have no idea why a sha1 would not be enough to clearly identify the precomp file's contents." | 01:20 | |
AlexDaniel | committable6: HEAD say "foo".IO.modified | 01:25 | |
committable6 | AlexDaniel, ¦«HEAD»: Failed to find 'foo' while trying to do '.modified' in block <unit> at /tmp/PDFOyEJToT line 1Actually thrown at: in block <unit> at /tmp/PDFOyEJToT line 1 «exit code = 1» | ||
AlexDaniel | committable6: 2015.12 say "foo".IO.modified | 01:26 | |
committable6 | AlexDaniel, ¦«2015.12»: Failed to find 'foo' while trying to do '.modified' in block <unit> at /tmp/EDMWA9cmBU line 1Actually thrown at: in block <unit> at /tmp/EDMWA9cmBU line 1 «exit code = 1» | ||
AlexDaniel | bisectable6: say "foo".IO.modified | ||
bisectable6 | AlexDaniel, On both starting points (good=2015.12 bad=77d9d41) the exit code is 1 and the output is identical as well | ||
AlexDaniel, Output on both points: Failed to find 'foo' while trying to do '.modified' in block <unit> at /tmp/yciwTri4P1 line 1Actually thrown at: in block <unit> at /tmp/yciwTri4P1 line 1 | |||
AlexDaniel | bisectable6: "foo".IO.modified | ||
bisectable6 | AlexDaniel, On both starting points (good=2015.12 bad=77d9d41) the exit code is 1 and the output is identical as well | ||
AlexDaniel, Output on both points: Failed to find 'foo' while trying to do '.modified' in block <unit> at /tmp/55r2R2YSzx line 1Actually thrown at: in block <unit> at /tmp/55r2R2YSzx line 1 | |||
AlexDaniel | hm huh, so what was the problem with bisectable? :/ | 01:27 | |
committable6: HEAD try { "foo".IO.modified.say; CATCH { default { .^name.say } } } | |||
committable6 | AlexDaniel, ¦«HEAD»: X::IO::DoesNotExist | ||
AlexDaniel | huh | ||
MasterDuke | i think it was the comment i just made here: github.com/perl6/whateverable/issues/25 | ||
AlexDaniel | ah | 01:28 | |
MasterDuke: … is there anything we can do to prevent them from dying? | 01:29 | ||
MasterDuke | block Zoffix from using them ;) | 01:30 | |
Zoffix | :D | ||
MasterDuke | i kid, i kid | ||
01:31
itaipu joined
01:36
pierre_ left
01:39
poohman_ joined
01:42
pierre_ joined
01:43
poohman left
|
|||
Zoffix | .tell nine recent changes still seem to have a fallout in the doc build: travis-ci.org/perl6/doc/builds/158600415 here's the module debug part for failing bit: gist.github.com/zoffixznet/8214560...d3818804cb | 01:44 | |
yoleaux | Zoffix: I'll pass your message to nine. | ||
Zoffix tried to debug and failed :) | |||
01:45
ilbot3 left
|
|||
Zoffix | More debug output, if you don't mind profanity: gist.github.com/zoffixznet/b895b84...393775b79a | 01:45 | |
01:47
pierre_ left
01:48
ilbot3 joined
01:49
kerframil joined
01:53
poohman joined
01:55
poohman_ left
01:57
poohman_ joined
01:58
itaipu left
02:00
poohman left
|
|||
Zoffix | What does <quote=.LANG('MAIN','quote')> mean? What's with the equals sign? | 02:04 | |
02:09
cpage_ joined
|
|||
skids | the = separates the named capture's name from the rx or expression. | 02:14 | |
02:14
yadongz left
|
|||
skids | same as $quote=<.LANG...> | 02:14 | |
02:15
pierre_ joined
|
|||
Zoffix | m: say "foo" ~~ /<meow=[.+]>/ | 02:15 | |
camelia | rakudo-moar 94b09a: OUTPUT«Nil» | ||
Zoffix | m: say "foo" ~~ /<meow=[foo]+>/ | ||
camelia | rakudo-moar 94b09a: OUTPUT«5===SORRY!5===Unable to parse expression in metachar:sym<assert>; couldn't find final '>' at <tmp>:1------> 3say "foo" ~~ /<meow=[foo]+7⏏5>/ expecting any of: termOther potential difficulties: Repeated character …» | ||
Zoffix | m: say "o" ~~ /<meow=[o]>/ | ||
camelia | rakudo-moar 94b09a: OUTPUT«「o」 meow => 「o」» | ||
Zoffix | Ah, cool. skids++ | 02:16 | |
02:20
perlpilot left,
perlpilot joined
02:23
lizmat left,
lizmat joined
02:27
cyphase joined
02:30
noganex joined
02:33
noganex_ left,
_slade_ left
02:38
cyphase left
02:42
cyphase joined
02:54
cyphase left
02:58
cyphase joined
03:03
cpage_ left
03:08
cyphase left
03:11
pierre_ left
03:13
cyphase joined,
eliasr left
03:19
pierre_ joined
03:22
cyphase left,
cdg joined
03:24
pierre_ left
03:26
pierre_ joined
03:27
cyphase joined
03:31
rgrinberg left
03:35
cyphase left
03:40
cyphase joined
03:42
imcsk8_ joined,
imcsk8 left,
holyghost left
03:46
cpage_ joined
03:48
cyphase left
03:50
holyghost joined
03:52
cyphase joined
|
|||
dalek | osystem: d39e439 | LLFourn++ | META.list: Fix DispatchMap url doh |
03:55 | |
03:56
skids left
04:02
cyphase left
04:06
cyphase joined
04:07
Cabanossi left,
holyghost left,
poohman_ left
04:10
poohman joined,
Cabanossi joined
04:11
khw left
04:14
holyghost joined
04:16
cyphase left
04:18
poohman left,
poohman joined
04:19
cdg left
04:20
cyphase joined
04:21
AlexDaniel left
04:33
BenGoldberg left
04:38
cyphase left
04:43
wamba left,
cyphase joined
04:48
pierre_ left,
pierre_ joined
04:49
cibs left,
pierre_ left
04:51
cibs joined
04:55
pierre_ joined
04:58
cyphase left
05:00
pierre_ left
05:03
cyphase joined,
labster left
05:05
pierre_ joined
05:09
pierre_ left
05:14
pierre_ joined
05:16
cyphase left
05:18
pierre_ left
05:20
cyphase joined
05:32
pierre_ joined
05:37
pierre_ left
05:41
cyphase left
05:46
cyphase joined
05:50
pierre_ joined
05:55
pierre_ left
05:58
domidumont joined
05:59
cyphase left
06:03
domidumont left,
domidumont joined,
cyphase joined
06:08
pierre_ joined
06:10
ufobat joined
06:11
[ptc] joined
06:13
pierre_ left
06:17
cyphase left
06:19
firstdayonthejob joined
06:21
cyphase joined
06:23
pierre_ joined
06:26
wamba joined
06:30
wamba left
06:34
cyphase left
06:38
cyphase joined
06:45
firstdayonthejob left
06:47
poohman left
06:49
poohman joined
|
|||
llfourn | if I have a type object in a $var is there any way to get the :D (definite) version of it? | 06:50 | |
(without nqp) | |||
06:53
nadim_ joined
06:54
cyphase left
|
|||
llfourn | hmmm looks like not | 06:57 | |
you can do it except it will create a new MO every time you do it | 06:58 | ||
06:58
poohman left,
poohman joined
|
|||
moritz | m: my $var = Int; say ::($var.^name ~ ':D') | 06:58 | |
camelia | rakudo-moar 94b09a: OUTPUT«No such symbol 'Int:D' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
06:58
cyphase joined
|
|||
llfourn | m: my $var = Int; Metamodel::DefiniteHOW.new_type(:base_type($var),:definite); say $var' | 07:00 | |
camelia | rakudo-moar 94b09a: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3pe(:base_type($var),:definite); say $var7⏏5' expecting any of: infix infix stopper postfix statement end …» | ||
llfourn | m: my $var = Int; say Metamodel::DefiniteHOW.new_type(:base_type($var),:definite); | ||
camelia | rakudo-moar 94b09a: OUTPUT«(Int:D)» | ||
07:00
Sgeo_ joined
07:01
infina left
|
|||
llfourn | but I don't want to make a new MO each time :\ | 07:01 | |
maybe I can just cache them | 07:02 | ||
konobi | access the slot? | ||
07:02
infina joined,
infina left,
infina joined
|
|||
llfourn | konobi: what slot? | 07:02 | |
07:03
Sgeo left
|
|||
konobi | the slots the object is using to store it's attributes | 07:03 | |
llfourn | konobi: note sure I understand what object you're referring to | 07:04 | |
not* | |||
konobi | $var | ||
llfourn | the situtation is that I need a function that take a type object and returns the definite version | 07:05 | |
but doesn't create a new Int:D if Int is passed twice | |||
but this looks to be tricky | |||
07:06
Actualeyes left,
labster joined
|
|||
llfourn | it would be nice if ClassHOW or whatever cached the defnite version as an attribute | 07:07 | |
07:07
Actualeyes joined,
cog_ joined,
cognominal left
|
|||
llfourn | ah no maybe rakudo already caches it for me from looking at DefiniteHOW | 07:08 | |
07:09
leejo joined
|
|||
llfourn | m: my $a = Metamodel::DefiniteHOW.new_type(:base_type(Int),:definite); my $b = Metamodel::DefiniteHOW.new_type(:base_type(Int),:definite); say $a.WHERE; say $b.WHERE | 07:09 | |
camelia | rakudo-moar 94b09a: OUTPUT«139693161093320139693161093320» | ||
llfourn | \o/ | ||
success | 07:10 | ||
07:21
rindolf joined
07:22
kerframil left
07:30
wamba joined
07:32
grondilu joined,
cyphase left
07:35
dolmen left
07:37
cyphase joined
07:53
cyphase left
07:57
cyphase joined
07:58
leont__ joined
08:05
kurahaupo joined
08:10
g4 joined
08:13
edehont joined,
zakharyas joined
08:19
cdc joined
|
|||
cdc | Hello #perl6 o/ | 08:19 | |
How do I get a IO::Handle from a "native" file descriptor (returned by a native call) ? | 08:21 | ||
I'm looking for something similar to openfd (in C). | |||
grondilu | IIRC in C a native file descriptor is just an int. | 08:23 | |
cdc | grondilu: I agree, I'd like to use IO::Handle methods (like .lines) | 08:24 | |
jast | in C there are fds and FILE objects (the latter is usually implemented in libc) | ||
cdc | yeah openfd() returns a FILE from an int fd | 08:25 | |
I'd like to do the same in Perl6: getting a IO::Handle from an int fd | |||
grondilu | I'd be surprised if it were possible | 08:26 | |
cdc | oh noes /o\ | ||
08:26
leont__ left
|
|||
lizmat | cdc: I would have to concur with grondli | 08:26 | |
jast | well you can *read* the native fd from an IO::Handle, so at least it would be symmetric for that to exist | ||
lizmat | unless I missed something the past months | ||
cdc | lizmat: I imagined that $*IN was created from stdin. | 08:27 | |
jast | internally, though | 08:28 | |
lizmat | yes, it is, with a dedicated nqp::op | ||
08:28
edehont left
|
|||
cdc | lizmat: then I have to learn NQP too :) | 08:28 | |
lizmat | nqp::getstdin(); | ||
cdc | lizmat: could you point me to some piece | ||
jast | you'd probably have to _implement_ a new nqp op | 08:29 | |
lizmat | nqp::getstdou(); | ||
cdc | lizmat: oops, Thanks! | ||
lizmat | nqp::getstdout(); | ||
nqp::getstderr(); | |||
cdc | I'll take a look. | ||
geekosaur | on linux you could do it with a hack: open("/dev/fd/$native") | ||
cdc | geekosaur: yeah, I tried but I got a strange behavior | ||
geekosaur: .lines returned an error ("can't seek" IIRC) | 08:30 | ||
geekosaur: my fd is returned by forkpty() | |||
geekosaur | sigh. libuv, too smart for its own good | 08:32 | |
(this may imply that, even beyond a new nqp op, you may need new logic in libuv :/ ) | |||
kurahaupo | geekosaur: it turns out that Linux's /proc/*/fd/* don't enforce the permissions granted in the original open; it's possible to truncate or overwrite a file that's connected via those, even if they were originally opened read-only or append-only | 08:34 | |
geekosaur | yep | 08:35 | |
08:41
kurahaupo_ joined
08:43
pierre_ left
08:44
kurahaupo left,
pierre_ joined
|
|||
lizmat | commut& | 08:47 | |
08:48
lizmat left
|
|||
cdc | $*IN IO::Handle object is created at a very low-level :( | 08:48 | |
inside MoarVM IIUC | |||
08:48
pierre_ left
|
|||
cdc | this is not blocking for me, but I have to use native call to read/write instead of IO::Handle methods :( | 08:49 | |
(context = I'd like to use Perl6 instead of Expect) | |||
08:53
woolfy left,
pierre_ joined
08:54
imcsk8_ left
08:56
imcsk8 joined
08:57
kurahaupo joined
08:58
pierre_ left
09:01
kurahaupo_ left
09:05
pierre_ joined
09:06
Actualeyes left
09:07
bob777 joined
|
|||
Woodi | cdc: if it's in Moar then it's better, just copy-paste handle creation using openfd ? :) maybe... | 09:08 | |
09:09
domidumont left
09:14
domidumont joined
09:16
kurahaupo_ joined
|
|||
cdc | Woodi: I think this is more than copy-paste, an "openfd" op should be added to get a (generic) access to MVM_file_get_stdstream | 09:16 | |
Woodi: and I don't know how to do that :) | 09:17 | ||
Woodi: the good news is that this function already handles my case (fd points to a TTY) :) | 09:18 | ||
09:18
kurahaupo left
09:19
Actualeyes joined
|
|||
geekosaur | actually, if you're holding the master end as you should be, it's not a tty | 09:20 | |
it's a mutant pipe as far as the OS is concerned | |||
the *slave* end is a tty | |||
cdc | geekosaur: you are right, my mistake. | 09:21 | |
09:21
wamba left
|
|||
cdc is afk | 09:22 | ||
09:24
RabidGravy joined
09:27
brrt joined
09:31
darutoko joined
09:37
pierre_ left
09:40
kurahaupo_ left
09:46
pierre_ joined
09:48
cyphase left,
labster left
09:49
wamba joined
09:51
pierre_ left
09:52
cyphase joined
09:55
pierre_ joined
10:09
Actualeyes left
10:14
TEttinger left
10:32
pierre_ left
|
|||
grondilu | .seen Zoffix | 10:40 | |
yoleaux | I saw Zoffix 02:16Z in #perl6: <Zoffix> Ah, cool. skids++ | ||
Zoffix | ? | 10:42 | |
grondilu, what? | 10:43 | ||
timotimo | cdc: check out our SSL socket thing, it uses a function that gives you the native descriptor behind an IO handle | 10:45 | |
cdc | timotimo: ok, thanks! | 10:46 | |
timotimo: what's the name of this module? please. | |||
timotimo: IO::Socket::SL I suppose. | 10:47 | ||
*SSL | |||
timotimo | at least i thought we had that | ||
i think it's inside the OpenSSL module, actually | |||
cdc | ok | ||
timotimo greps around rakudo a bit | |||
aha | 10:48 | ||
there's a method called native-descriptor | |||
10:51
wamba left
|
|||
cdc | timotimo: ho, I didn't read you correctly | 10:52 | |
grondilu | Zoffix: just telling you that I'm doing the Eve thing after all. | ||
cdc | timotimo: I want the opposite: create a IO::Handle from a native desc. | ||
grondilu | (or at least trying) | ||
Zoffix | .oO( Eve thing? ) |
||
10:52
bjz joined
|
|||
grondilu | the map in WebGL | 10:53 | |
Zoffix | No idea what you're talking about.... | ||
Are you sure you got the right Zoffix? | |||
grondilu | hum | ||
timotimo | oh, i see | 10:54 | |
i guess *i* didn't read *you* correctly | |||
grondilu | Aren't you the guy with whom I talked about Eve online lately? | ||
Zoffix | Nope | ||
grondilu | oh, he must have a very similar nick | ||
Zoffix | zofstay? | 10:55 | |
cdc | timotimo: no pb :) | ||
Zoffix | or zostay | ||
grondilu looks at the IRC log | |||
it's Xliff. I don't know how I could have confused the two. | 10:56 | ||
Zoffix | :} | 10:57 | |
11:00
ab6tract joined
|
|||
ab6tract | m: my $x; say $x %% 4 | 11:00 | |
camelia | rakudo-moar 8a6683: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at <tmp> line 1True» | ||
ab6tract | gonna have to say | ||
i am not clear on why that would return True | 11:01 | ||
Zoffix | m: say 0 %% 4 | ||
camelia | rakudo-moar 8a6683: OUTPUT«True» | ||
timotimo | yeah, undefined numbers will warn and be treated as 0 | ||
ab6tract | it feels bizarrely half-way between being strict about it and being DWIM about it. | 11:02 | |
11:02
Zoffix left
|
|||
ab6tract | like, if I didn't coerce it into numeric, then arguably it should just warn and perhaps return a failure | 11:02 | |
and furthermore, undefined could arguably be better coerced to something like NaN | 11:03 | ||
though that strays pretty far from the standard Perl behaviors on truthiness and numbers | 11:04 | ||
anyway, was attempting to construct an argument around why P6's Any semantics are awesome and ran into this... which makes me feel less excited about my own argument | 11:06 | ||
11:07
bjz left
11:08
edehont joined
11:10
Actualeyes joined
11:13
munja joined
11:15
munja left
11:16
ggoebel joined,
jervo left
11:17
jervo joined
11:21
edehont left
11:23
bjz joined
|
|||
nadim_ | Good afternoon P6ers | 11:23 | |
Woodi | grondilu: what data you want to put on the map ? aliance ships, intel ? | 11:24 | |
hi nadim_ :) | |||
nadim_ | Woodi: hi :) | ||
I was watching a video and a section was about unicode handling in P6, NFC-NFG, and it hit me that I have had a, maybe, related problem. colored srings. Now I don't think there a color space in unicode but I sure would like to be able to compose color in text. | 11:26 | ||
brrt | someone recently demonstrated this: | ||
m: my $x; my $y = $x.sort; say $y; | |||
camelia | rakudo-moar 8a6683: OUTPUT«((Any))» | ||
brrt | which, is ehm, | ||
not what i think is the right thing to do? | |||
m: my $x; my $y = $x.sort; say $y.items; | 11:27 | ||
camelia | rakudo-moar 8a6683: OUTPUT«Method 'items' not found for invocant of class 'List' in block <unit> at <tmp> line 1» | ||
brrt | m: my $x; my $y = $x.sort; say $y.length; | ||
camelia | rakudo-moar 8a6683: OUTPUT«Method 'length' not found for invocant of class 'List' in block <unit> at <tmp> line 1» | ||
brrt | m: my $x; my $y = $x.sort; say $y.count; | ||
camelia | rakudo-moar 8a6683: OUTPUT«Method 'count' not found for invocant of class 'List' in block <unit> at <tmp> line 1» | ||
timotimo | omg, i got a new fan installed on my laptop and it's AMAZING | 11:28 | |
nadim_ | In a module I generated colored output but later I had to remove the color to count the chararacters. my first plan was to create a colored-char class and let it do the job but I wonder if I can compose the color in the characters | ||
brrt | timotimo: objectively disagree. heat pipes are amazing | ||
fans are so-so | |||
:-P | |||
timotimo | there's a heat pipe in my laptop | ||
brrt | m: my $x; my $y = $x.sort; say $y.elems; | ||
camelia | rakudo-moar 8a6683: OUTPUT«1» | ||
timotimo | it leads to a fan | ||
the fan was previously hardly able to cool down the machine, and what's more it started whining like crazy | 11:29 | ||
nadim_ | TimToady: you were talking on the video, so is there a way, even if it may sound silly, to compose color in characters? | ||
brrt | (so there is my example: sorting an undefined value gives you a list of length 1. WAT) | ||
timotimo | but now it's quiet as a rock and blows like a hurricane when i turn it to "disengaged" | ||
11:29
cyphase left
|
|||
timotimo | brrt: single things pretend to be a list of a single thing | 11:30 | |
brrt | okay, okay | ||
timotimo | but things that create lists won't give you "only the object" if they make a list of a single thing instead | ||
brrt | m: my $x; say so $x; my $y = $x.sort; say so $y; | ||
camelia | rakudo-moar 8a6683: OUTPUT«FalseTrue» | ||
timotimo | hehe. | 11:31 | |
man the wifi in my parent's house is *crap* | |||
brrt | so, listifying does not preserve booleanness, or rather, it does not preserve nothingness, and *that* is a WAT | ||
timotimo | i need to figure out how you debug something like that | ||
um, a single type object isn't a nothing | 11:32 | ||
but it's an undefined | |||
brrt | uhuh | ||
m: my $x; say $x.WHAT; | |||
camelia | rakudo-moar 8a6683: OUTPUT«(Any)» | ||
timotimo | having lists check if they aonly contain undefined things would be WAT-y to me | ||
m: my $x; say $x.perl | |||
camelia | rakudo-moar 8a6683: OUTPUT«Any» | ||
tbrowder | hi #perl6 | 11:33 | |
brrt | hmmmm | ||
hi tbrowder | |||
timotimo | don't forget a variable you don't assign anything to will have the type object that belongs to its type assigned to it | ||
so that we have nice tricks like .= new, and type checks working, and stuff like that | |||
11:34
cyphase joined
|
|||
brrt | i have a feeling that non-preservation of the notion of 'emptiness' is going to be painful | 11:34 | |
ilmari | m: my Int $x; say $x.WHAT; | ||
camelia | rakudo-moar 8a6683: OUTPUT«(Int)» | ||
11:34
bjz_ joined
|
|||
brrt | but i also have a feeling that this has been discussed before | 11:35 | |
tbrowder | I tried to use p6 pod on my github p6 module README and it didn't render. I thought I had seen some discussion some time ago about getting the github folks to integrate p6 pod rendering. | ||
brrt | (and the feeling that I'm wrong in some important way) | 11:36 | |
timotimo | brrt: are you advocating that type objects pretend to be the empty list instead of the list with only the type object in it? | ||
brrt | maybe even an undefined list | ||
timotimo | that'd be really weird | ||
brrt | yeah, i guess that is somewhat like what i'm saying | ||
agreed | |||
11:37
bjz left
|
|||
Woodi | my: $x; dd $x; dd $x.sort; | 11:37 | |
m: $x; dd $x; dd $x.sort; | |||
camelia | rakudo-moar 8a6683: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$x' is not declaredat <tmp>:1------> 3<BOL>7⏏5$x; dd $x; dd $x.sort;» | ||
Woodi | m: my $x; dd $x; dd $x.sort; | ||
camelia | rakudo-moar 8a6683: OUTPUT«Any $x = Any(Any,)» | ||
tbrowder | I asked Github support about it and got a quick reply from github staffer Stacey Burns who seemed not to not know anything about the difference between the two pod types. | 11:38 | |
Woodi | m: my $x; my $y = $x.sort; | ||
camelia | ( no output ) | ||
Woodi | m: my $x; my dd $y = $x.sort; | ||
camelia | rakudo-moar 8a6683: OUTPUT«5===SORRY!5===Type 'dd' is not declaredat <tmp>:1------> 3my $x; my dd7⏏5 $y = $x.sort;Malformed myat <tmp>:1------> 3my $x; my7⏏5 dd $y = $x.sort;» | ||
Woodi | m: my $x; my $y = $x.sort; dd $y; | ||
camelia | rakudo-moar 8a6683: OUTPUT«List $y = $(Any,)» | ||
timotimo | tbrowder: it's an easy mistake to make, given how perl6 is practically invisible to many people who aren't perl5 people | ||
11:38
infina left
|
|||
ShimmerFairy | timotimo: I'd personally wait until Pod6 got more love, since it's one of the more (if not most) undermaintained parts of P6 :P | 11:38 | |
brrt | hmm | 11:39 | |
Woodi goes for coffe, enforced | |||
ShimmerFairy should really get back to working Pod stuff soonish... | |||
timotimo | ShimmerFairy: agreed :S | ||
about the undermaintained parts | |||
and i'm also partially to blame for that | |||
i started doing some stuff with it, but then stopped | |||
brrt | on further thought, I think listifying undefined objects to an empty, or undefined list, is a weird special case | ||
11:40
ZoffixMobile joined
|
|||
tbrowder | I offered to put them in contact with a core p6 person who could help with integration of p6 pod rendering. | 11:40 | |
brrt | on the other hand, i'd argue it is much more DWIMmy than the current behaviour | ||
timotimo | tbrowder: thing is, rendering pod6 makes you susceptible to remote code execution | ||
11:40
infina joined,
infina left,
infina joined
|
|||
ShimmerFairy | brrt: maybe it should have a warning, like trying to stringify (at least some kinds of) undefined objects | 11:40 | |
brrt | and i'm having trouble to see what the WAT will be | ||
timotimo | as in, if there's code between the pod pieces, that code gets executed | ||
brrt | ShimmerFairy: that is a good idea, I think | 11:41 | |
ZoffixMobile | tbrowder, the discussion is still in a doc Issue. So far we simply went with using .pod6 extension. I opened an issue asking how to have a Pod 6 renderer but never got any reply | ||
ShimmerFairy | timotimo: that shouldn't happen, for sure. You can parse ambient blocks, but should have to execute them. | ||
*shouldn't have to | |||
timotimo | right. i don't think rakudo has a flag somewhere to make code "only parsed" and BEGIN blocks ignored | ||
but then there's DOC blocks | |||
11:41
infina left
|
|||
timotimo | which are specifically meant to be executed if perl6 is invoked with --doc | 11:41 | |
ShimmerFairy | timotimo: imo, the concept of things like DOC use is misinformed, I'd prefer e.g. =use instead (to make it way more obvious it's a doc module), and I'd rather toss DOC BEGIN and friends until we find out why you'd actually need it (since I can't think of a reason). | 11:42 | |
timotimo | that sounds sensible | 11:43 | |
but if you have =use, you'll still be running code :P | |||
ZoffixMobile | tbrowder, this one github.com/perl6/doc/issues/167 | ||
11:43
infina joined,
infina left,
infina joined
|
|||
timotimo | though if you don't set a -I with "uncontrolled" paths, i guess a =use with only a module name ought to be fine | 11:43 | |
ShimmerFairy | timotimo: yeah, I think one might desire a declarative new language to guarantee no-remote-code while still being able to extend Pod6 :P | ||
timotimo | github is unlikely to install ACME::PwnMyServer so you could =use that in a doc | ||
:D | 11:44 | ||
ShimmerFairy | I really need to write some blog posts to outline what I've been thinking of on various parts of Pod6. | ||
tbrowder | Zoffix: can I refer Stacey to you at some email address? | 11:45 | |
ShimmerFairy | I've also been thinking lately that my ability to recompile the CORE.setting is low enough (~160s IIRC) that I think keeping SUPERNOVA a separate thing is more awkward than just developing in-rakudo. | 11:46 | |
timotimo | 160 seconds! holy fuck. | 11:47 | |
do you have an account on hack? if not, do you want one? | |||
ShimmerFairy | Not unless I seriously forgot. And sure, why not? :) | 11:48 | |
moritz | ShimmerFairy: even with relatively fast compile cycles I tend to develop core stuff out of rakudo if at all possible | 11:49 | |
tbrowder | BTW, we're all using p6 pod heavily in spite of incompleteness. If we wait till it's complete, it may be a LONG time before github (or anyone else) gets interested. | ||
moritz | because the difference between ~40s and 2s to get feedback is immense | ||
ShimmerFairy | moritz: my issue is that trying to maintain a quasi-NQP codebase is probably not beneficial for much longer (it's a src/Perl6/ type change, not a src/core/ type change) | ||
ZoffixMobile | tbrowder, umm, I guess.... [email@hidden.address] | ||
moritz | ShimmerFairy: ok, that changes things | 11:50 | |
ShimmerFairy | the quasi- part comes from needing access to Perl 6 stuff (so coding in P6 is best), but needing to code in an NQP style so that the transition is less painful. | ||
timotimo | ShimmerFairy: what username would you like to have? | ||
ShimmerFairy | ShimmerFairy :) | 11:51 | |
moritz | please don't use camel case for UNIX user names | ||
timotimo | yeah, it's asking me to --force-badname for the uppercase letters | 11:52 | |
ShimmerFairy: would lowercase shimmerfairy be okay? | |||
ShimmerFairy | timotimo: yeah, lowercase is fine, I don't mind the capitalization. | ||
11:59
ZoffixMobile left,
canopus left
12:00
eliasr joined
|
|||
tbrowder | Zoffix: Okay, I just responded to Github's Stacey and sent yr email. I also forwarded my original response to Stacey to you for context. | 12:07 | |
12:07
cyphase left
12:08
canopus joined
12:11
itaipu joined,
cyphase joined
|
|||
nine | m: (2.0**0.5) * (2.0**0.5) == 2.0 | 12:17 | |
camelia | rakudo-moar 8a6683: OUTPUT«WARNINGS for <tmp>:Useless use of "==" in expression "* (2.0**0.5) == 2.0" in sink context (line 1)» | ||
yoleaux | 01:44Z <Zoffix> nine: recent changes still seem to have a fallout in the doc build: travis-ci.org/perl6/doc/builds/158600415 here's the module debug part for failing bit: gist.github.com/zoffixznet/8214560...d3818804cb | ||
nine | m: say (2.0**0.5) * (2.0**0.5) == 2.0 | ||
camelia | rakudo-moar 8a6683: OUTPUT«False» | ||
nine | sad :( | ||
bioduds | hey guys | 12:18 | |
sorry but this seems like the best I can do | |||
67.205.136.118/install.sh | |||
Im going to have to shut this server down cause I can't pay for it | |||
im uploading the script to my git | 12:19 | ||
if you wish to have it set on install.perl6.org | |||
feel free to change whatever you believe is best on the script | |||
to have it served there | |||
:) | |||
git is: github.com/bioduds/perl6-oneliner.git im uploading right now | 12:20 | ||
12:22
TheLemonMan joined
|
|||
bioduds | there it is :) | 12:24 | |
12:24
stundenull joined
|
|||
bioduds | feel free to clone it and use it :) | 12:24 | |
12:25
itaipu left
12:26
cyphase left,
itaipu joined
|
|||
nine | bioduds++ | 12:26 | |
bioduds | :D thanks nine. sorry i couldn't do a master job but you know, shell is hell | 12:27 | |
it works though | |||
12:30
cyphase joined
12:35
MetaZoffix joined
|
|||
bioduds | thanks nine :D saw your change, im merging it :) | 12:39 | |
merged, thanks a lot :> | 12:40 | ||
great, so this line works: curl raw.githubusercontent.com/bioduds/...install.sh | sh;. ~/rakudo/setpath.sh | 12:42 | ||
12:43
lichtkind joined
12:47
cyphase left
|
|||
bioduds | tx DrForr | 12:47 | |
12:51
cyphase joined
|
|||
Woodi | bioduds: I think point of setpath.sh or generally setenv.sh files is that it helps to keep .bashrc clean. also allowing someone on internets to write to your .bashrc is security stupidity. so removing '... >> ~/.bashrc' is very recomended for that two reasons, at least :) | 12:54 | |
bioduds: also, would be nice if we have rakudo.org/downloads/star/rakudo-st...atest.tgz, so installer could find newest R* automatically :) | 12:56 | ||
bioduds | yeah, we talked a lot about it. sanitizing it would actually take more than I can do in shell-hell scripting. | ||
I actually tried prompting the user but no success | 12:57 | ||
nine just edited in github. I merged. I really encourage and invite all changes you want to do there. it is public | 12:58 | ||
feel free to help cause really, my shell scripts only goes that far :( | |||
13:03
cdg joined,
cdg left,
cdg joined
|
|||
hahainternet | so a slightly difficult question to ask: given i have a postgresql database with a set of enum types representing 'status', 'Active', 'Inactive' and so-forth. I'd also like to use an enum in Perl 6 to handle this, however I don't want to duplicate the definitions, they should stay in the database. I'd like to define a type which has enum-like facilities but can be instantiated when the DB connects, or | 13:03 | |
some other workaround for this, any thoughts? | |||
i appreciate that might be a stream of useless conciousness | |||
13:04
rgrinberg joined
|
|||
hahainternet | came across a similar problem in Go too but there is literally no solution there, seems like a difficult one conceptually though | 13:04 | |
nine | hahainternet: unless you want to connect to your database at compile time, I suggest just duplicating those definitions. I guess you won't have all that many and they won't change all the time. | ||
13:04
Sgeo_ left
|
|||
hahainternet | nine: that's the practical solution sure, but i'm more interested in options | 13:04 | |
bioduds | tx again nine | ||
hahainternet | i don't actually need to do this to get anything working, but it seems valuable to be able to support | 13:05 | |
bioduds | really appreciate your help | ||
hahainternet | nine: let's say that having a database online at compile time was a feasible option, as perhaps it only gets built inside a dev VM, would there be an option to build an enum at compile time easily enough? | ||
13:06
mcmillhj joined
|
|||
hahainternet | I have some free time coming up soon so going to dig more into p6 than I've been able to before, which should be fun | 13:06 | |
13:07
cog_ left
|
|||
masak | hahainternet: pro tip: dig in public. learning on-channel helps accelerate everything | 13:07 | |
(and if done right, ends up not being as noisy/spammy as one might assume) | 13:08 | ||
hahainternet | masak: i get code shy :( | ||
masak | heh | ||
hahainternet | seriously though, a compile time enum import from a database would be goddamn lovely | 13:09 | |
i know there are compilish timish phasers, and proper macro support, but i just have never read it enough | |||
or started to put it together | |||
masak | macro support is not there yet for that, sadly | ||
but will be | |||
your best bet is to go through the MOP, I think | |||
nine | Yes, sounds like a rather straight forward job for the MOP in a BEGIN block | 13:10 | |
hahainternet | roger that | 13:11 | |
not sure if i know literally any other language where that's feasible | |||
i'm sure C++ would manage it somehow | |||
Woodi | hahainternet: is there a way to ask postgresql about types without select * ? :) | 13:12 | |
hahainternet | that's a good question, i'm not that au-fait with the API | 13:13 | |
Woodi | hahainternet: maybe you have table with allowed states ? | 13:15 | |
13:16
MetaZoffix left
|
|||
hahainternet | Woodi: no i'm talking specifically about an enum type, although i guess in this case it wouldn't make much difference | 13:16 | |
Woodi | ? stackoverflow.com/questions/1616123...m-can-have | 13:18 | |
hahainternet | github.com/postgres/postgres/blob/...and.c#L481 | 13:19 | |
13:19
_slade_ joined
|
|||
hahainternet | github.com/postgres/postgres/blob/...ibe.c#L586 | 13:19 | |
so the answer is no, even psql uses that hardcoded SQL to get type info | |||
13:20
cognominal joined
|
|||
arnsholt | hahainternet: Common Lisp would have no problem with compile-time definition of pretty much anything, but that may not be a surprise =) | 13:25 | |
13:25
cyphase left
13:27
nowan left
13:30
nowan joined,
cyphase joined
13:33
cognominal left
13:34
cognominal joined
13:37
cog_ joined
|
|||
bioduds | great, DrForr! tested on fresh Debian Jessie VM, worked fine! | 13:38 | |
that is really good | |||
hahainternet | arnsholt: i know very little about the guts of cl and similar languages, i'm very ignorant :D | ||
bioduds | if anyone cares to test on MacOS please let me know how it goes | 13:39 | |
13:40
cognominal left
|
|||
DrForr | I'm about to really stress things out by building on OpenBSD :) | 13:40 | |
arnsholt | hahainternet: Put *extremely* simply, it can do pretty much all of the things =) | ||
brrt | bioduds: I can test, but I missed the part where you told us what :-) | 13:41 | |
13:41
finanalyst joined
|
|||
bioduds | brrt: the perl6 one-liner script installation | 13:42 | |
hahainternet | arnsholt: i'm chatting about it on another channel with a guy that's getting very frustrated i don't just pick a 'practical' option | ||
bioduds | here´s the source: raw.githubusercontent.com/bioduds/...install.sh | ||
here's the line: curl raw.githubusercontent.com/bioduds/...install.sh | sh;. ~/rakudo/setpath.sh | |||
13:43
cyphase left
|
|||
brrt | bioduds: works, so far | 13:45 | |
oh, can i just advice to try to add a make -j $number flag, that really helps compiling moarvm | 13:46 | ||
DrForr | OpenBSD seems to be going smoothly so far. | 13:47 | |
brrt | hahainternet: why would anybody care about the practicality of your solution | ||
hahainternet | brrt: some people get frustrated by 'fancy' code i think | ||
brrt | or does this person have to maintain your code | ||
hahainternet | haha | ||
13:47
holyghost left,
cyphase joined
|
|||
hahainternet | i don't really see any reason that you can't have db types and perl6 types be the same thing, but it'll take some playing | 13:48 | |
brrt | there is also the element of fun, and, i'd fear the day that I'd be upset by someone elses fun | 13:49 | |
also, using the MOP to use database types in the codebase seems like pretty practical to me | |||
13:50
_slade_ left
|
|||
brrt | especially the fun of exploration... | 13:50 | |
hahainternet | indeed, his criticism was that there's a string-like interface between code and the db | ||
DrForr | bioduds: (without looking) I'm guessing the final install.sh script assumes the existence of .bashrc? (which isn't default on OBSD) | ||
hahainternet | but that's simply not true, what there is is a 'bunch of bytes', which is the same as any RPC or memcpy or anything | ||
13:51
_slade_ joined
|
|||
ugexe | you cant map every db's idea of some type to a single type is the problem, not that a languages type couldnt match a single db's types | 13:52 | |
brrt | why let the impossiblity of a general solution stop you from making a specific one? | ||
moritz | you could however use p6's REPR mechanism to have the memory layout of the p6 objects and DB objects identical | 13:53 | |
hahainternet | moritz: that's exactly what i was wondering about | ||
thanks for giving me something to google | |||
and ugexe could you not? what is feasibly stopping you using a pseudo type that can vary based on which DB you're using? | 13:54 | ||
13:54
pierre_ joined
|
|||
brrt | that sounds awefully like extension REPRs though | 13:54 | |
moritz | hahainternet: the cstruct repr from NativeCall.pm6 might serve as a good example | ||
hahainternet | moritz: o/ | ||
bioduds | brrt: works on mac? that is GREEEAT | 13:57 | |
brrt | seems to me that it does, yes | 13:58 | |
13:58
NEveD joined
|
|||
bioduds | DrForr: yes, I actually answered too on fb. I'm very raw with shell scripts. Many excellent suggestions done here I simply couldn't implement. Therefore, assuming .bashrc is what I did | 13:59 | |
brrt | using clang and the whole XCode bullshiC^u8C^d toolchain | ||
bioduds++ awesome work | |||
13:59
cyphase left
|
|||
bioduds | brrt: can you please tell me basic system info used so i can put on my report (docs.google.com/spreadsheets/d/1dO...p=sharing) | 13:59 | |
brrt | oh, fwiw, .bashrc doesn't exist on OS X either, but .bash_profile does | 14:00 | |
14:00
poohman_ joined
|
|||
bioduds | im so crude in shell i cant even check if .bashrc is there and if yes use .bash_profiles | 14:01 | |
then again, if its not ask too much, please, feel free to change the script there in the git repo | 14:02 | ||
i will merge it | |||
like niner did twice. tx nine! | |||
14:03
poohman left
|
|||
hahainternet | moritz: i'm not seeing where the repr types are actually defined, but i'm maybe being ignorant, just skipping over it | 14:03 | |
if you have any other links please feel free to dump them on me | |||
i'll be back in an hour or so to pay more attention | |||
14:04
cyphase joined
14:07
skids joined
|
|||
brrt | hahainternet: REPRs are defined in MoarVM. | 14:07 | |
14:09
mr-foobar left
|
|||
hahainternet | brrt: ah so i couldn't just make a 'PGString' or similar repr | 14:09 | |
brrt | that would be... hard | 14:12 | |
currently | |||
14:12
cyphase left
|
|||
bioduds | thanks bart | 14:12 | |
brrt | but it possible, I think | ||
bioduds | merging... | ||
brrt | yw. it's not been tested because that takes time and i'm lazy | ||
[Coke] yawns. | 14:13 | ||
bioduds | np, im testing now | ||
dalek | c: e98f1ae | (Jan-Olof Hendig)++ | doc/Language/regexes.pod6: Fixed some code indent problems |
14:14 | |
bioduds | but please when you can, test on Mac again cause its a system i have no access to right now | 14:17 | |
14:17
cyphase joined
|
|||
dalek | c: d3afef5 | coke++ | doc/Type/IO/Socket/Async.pod6: use non-breaking space |
14:21 | |
14:22
mr-foobar joined
14:29
cyphase left
|
|||
RabidGravy | anyway you'll all be pleased to know that rakudo/moarvm still builds okay on the poor Raspberry Pi B | 14:29 | |
14:34
cyphase joined
|
|||
bioduds | rabidgravy, is it possible to test the install script on raspberyy pi b? | 14:34 | |
RabidGravy | "install script" ? | 14:35 | |
bioduds | curl raw.githubusercontent.com/bioduds/...install.sh | sh;. ~/rakudo/setpath.sh | 14:37 | |
perl6 one-liner installer | |||
14:37
khw joined
14:38
user9 left
|
|||
bioduds | hopefully in the future it will go to: curl install.perl6.org | sh;. ~/rakudo/setpath.sh | 14:38 | |
llfourn | bioduds: cool :) | ||
bioduds | ;) | ||
llfourn | now can you get it to dynamically pull the latest rakudo star | 14:39 | |
bioduds | I don't know how | ||
14:39
kerframil joined
|
|||
bioduds | you can, the script is public, or you can tell me exactly how and I will gladly change there | 14:39 | |
14:40
g4 left,
travis-ci joined
|
|||
travis-ci | Doc build passed. Jan-Olof Hendig 'Fixed some code indent problems' | 14:40 | |
travis-ci.org/perl6/doc/builds/158746691 github.com/perl6/doc/compare/8a94b...8f1ae2ba6e | |||
14:40
travis-ci left
|
|||
llfourn | probably can't without making it more brittle | 14:40 | |
14:43
cyphase left
14:44
mcmillhj left
14:45
mcmillhj joined
|
|||
bioduds | brrt: working fine on ubuntu | 14:46 | |
14:46
user9 joined
|
|||
bioduds | should work fine on MacOS I believe, since installation before your contribution worked. When you get the tiete to test pelase send me a line [email@hidden.address] | 14:46 | |
:) | |||
*tiete = time | |||
brrt | sure :-) | 14:47 | |
14:47
kurahaupo joined
|
|||
bioduds | *pelase = please | 14:47 | |
mentioned you on readme | |||
14:47
cyphase joined
14:48
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'use non-breaking space' | 14:48 | |
travis-ci.org/perl6/doc/builds/158748394 github.com/perl6/doc/compare/e98f1...afef5cea09 | |||
14:48
travis-ci left,
rgrinberg left,
brrt left
14:55
poohman_ left,
sufrostico left
15:05
MetaZoffix joined
15:09
cyphase left
|
|||
MetaZoffix | "now can you get it to dynamically pull the latest rakudo star" ... We can just create a redirect on rakudo.org that will redirect from rakudo.org/downloads/star/rakudo-st...est.tar.gz to the latest release | 15:10 | |
And the script would use that URL. Script... and well, all the references where we currently hardcode the version | |||
15:13
cyphase joined
15:14
lichtkind_ joined
|
|||
MetaZoffix takes the liberty of doing that | 15:15 | ||
15:17
mcmillhj left,
lichtkind left
15:18
perlpilot left
|
|||
MetaZoffix | bioduds: there: rakudo.org/downloads/star/rakudo-st...est.tar.gz | 15:19 | |
15:20
pierre_ left
|
|||
[Coke] | MetaZoffix: does that link now need to be updated as part of the rakudo star release process? | 15:22 | |
MetaZoffix | [Coke]: yeah, I'm adding it into the guide. | ||
[Coke] | MetaZoffix++ | 15:24 | |
15:26
domidumont left
15:30
grondilu left,
perlpilot joined
15:32
grondilu joined
15:33
cyphase left
15:34
mcmillhj joined
15:38
cyphase joined
15:42
ab6tract left
|
|||
RabidGravy | Stage parse : 2994.901 | 15:49 | |
15:49
_slade_ left
|
|||
RabidGravy | that's a bit, er, dull | 15:49 | |
timotimo | yeah, that's not so good | 15:50 | |
15:50
cyphase left,
pyrimidine left,
girafe joined
15:51
skarn_ left
15:52
skarn_ joined
15:55
cyphase joined
|
|||
MetaZoffix | .oO( I didn't know Perl 6 could run on a potato... ) |
15:57 | |
15:59
TheLemonMan left
|
|||
mst | we support NetBSD, right? | 15:59 | |
16:00
noreem joined
16:01
Khisanth left
16:03
cyphase left
|
|||
[Coke] | MetaZoffix: if GlaDOS can run on a potato, so can we. | 16:05 | |
MetaZoffix | Don't think so... As in: I don't think we have anyone with access to NetBSD to test things | ||
[Coke] | I suppose we could virtual box some stuff if needed. | 16:06 | |
;... but I think that was a joke about a potato. | |||
MetaZoffix | Oh, NetBSD is free... I thought it wasn't | ||
RabidGravy | to be fair on the other parts of this, this is a horribly old pidora image from a few years ago | ||
ilmari | are there any non-free BSDs? | 16:08 | |
16:08
cyphase joined
|
|||
ugexe | netbsd has worked in the past | 16:08 | |
MetaZoffix | No idea... Maybe my thought of there being non-free BSDs was due to FreeBSD lol | 16:09 | |
RabidGravy | there used to be BSDi back in the day | ||
ugexe | see: testers.perl6.org/reports/32520.html | ||
16:09
finanalyst left
|
|||
ugexe | Operating system netbsd (netbsd) 7.99.5 earmv7hf | 16:10 | |
16:14
Khisanth joined
16:15
itaipu left,
itaipu joined
16:20
mcmillhj left,
dwarring left
16:21
MilkmanDan left
16:22
MilkmanDan joined,
zakharyas left
16:23
cyphase left
16:28
cyphase joined
|
|||
geekosaur | non-free BSDs... one could argue OS X :p | 16:28 | |
dalek | c: dfc44f2 | (Tom Browder)++ | doc/Language/modules.pod6: add ws between hash mark and text |
16:31 | |
16:34
rgrinberg joined,
cdc left
16:36
rgrinberg left,
bob777 left,
rgrinberg joined
16:38
cyphase left
|
|||
stmuk_ | I thought it wasn't | 16:38 | |
arrg copy and paste fail | 16:39 | ||
16:39
domidumont joined
|
|||
timotimo | i thought it wasn't | 16:39 | |
16:40
canopus left
16:42
domidumont left,
cyphase joined
16:45
canopus joined,
noreem left
|
|||
mspo | I'm also on netbsd | 16:47 | |
x86_64 | |||
timotimo | i thought you weren't | ||
stmuk_ | some math tests were skipped on NetBSD | ||
16:48
_slade_ joined
|
|||
mspo | I can see that | 16:48 | |
if our libm gave trouble | |||
stmuk_ | yes stuff at the margins (O, Inf etc.( | ||
mspo | let me add some swap and compile something | ||
netbsd was supposed to be setting up some CI servers for things like programming languages | 16:49 | ||
..now who was supposd to be workign on that? .. oh right | |||
timotimo | is it you? :) | ||
mspo | timotimo: yes | 16:50 | |
ugexe is on HEAD and ARM | 16:51 | ||
so a good test too | |||
ugexe | well that was from 2015 | ||
timotimo is rescuing data off of a super old computer and accidentally caught a big chunk of music | |||
oooh, it's careless whisper! | 16:52 | ||
mspo | I am on This is Rakudo version 2016.06-20-g053729c built on MoarVM version 2016.06 | ||
should I get something newer? | |||
oh I see a 2016.08.1 | |||
rakudobrew-ing, anyway | 16:53 | ||
16:54
cyphase left
16:55
_slade_ left,
domidumont joined
16:58
cyphase joined
17:03
MetaZoffix left,
mcmillhj joined
17:07
gregf_ left
17:09
firstdayonthejob joined
17:12
cyphase left,
itaipu left
17:13
itaipu joined
17:16
cyphase joined
17:17
leont__ joined,
sufrostico joined
|
|||
mspo | okay I'm installed. Now what? | 17:22 | |
ugexe | if its about netbsd testing, its the spec test that had the failure I think | 17:23 | |
mspo | ~ $ rakudobrew test | 17:26 | |
Spectesting moar-2016.08.1 | |||
Couldn't determine correct make program. Aborting. | |||
hm | |||
ugexe | you could cd into ~/.rakudobrew/moar-$whatever/ and run your make | ||
make spectest | 17:27 | ||
17:29
FROGGS joined
|
|||
mspo | running now | 17:30 | |
I'm on 6.x so.. | |||
TimToady wonders which festival begins with 'x'... | 17:31 | ||
17:31
buggable left
|
|||
FROGGS | o/ | 17:31 | |
17:32
buggable joined
|
|||
timotimo | xmas, clearly | 17:32 | |
TimToady | FROGGS: \o | ||
[Coke] | TimToady: uz.wikipedia.org/wiki/Xalqaro_xotin-qizlar_kuni | 17:34 | |
masak .oO( ask a xilly question... ) | |||
[Coke] | it was that or X-ray day. :) | 17:36 | |
mspo | perl5 closed a localization bug for netbsd that I opened ~five years ago | ||
with an actual fix | |||
I was amazed when I got the email | |||
timotimo | cool | ||
TimToady | you should change your email address more often, obviously... | ||
mspo | TimToady: they live much longer than my physical addresses | 17:37 | |
masak | [Coke]: next question: do you actually speak Uzbek? | 17:40 | |
17:44
canopus left
17:46
cyphase left
|
|||
dogbert17 | o/ #perl6 | 17:50 | |
Woodi | mspo: if you still around, what's nice in NetBSD ? OpenBSD got better press in last two decades :) | ||
17:50
cyphase joined
|
|||
dogbert17 | is TimToady still online? Have a doc question for him | 17:50 | |
17:51
canopus joined
|
|||
TimToady hides behind a cricket | 17:51 | ||
dogbert17 | Hi, do you have time to look at docs.perl6.org/language/operators#infix_eqv especially the part starting with "For arbitrary objects ..." ? | 17:52 | |
FROGGS | telling the obvious: regex interpolations are huge performance killers... | ||
dogbert17 | perlpilot mentioned that you might have changed how eqv works just about a year ago and that the doc looks a bit dated | 17:53 | |
mspo | Woodi: nicer people? | ||
Woodi: I don't know what to say: I like it | |||
FROGGS | tried to parse a text file with 1k lines of indented structures, and before I had something like: token indentation($lvl) { <{ $lvl ?? '. " " ' x $lvl !! '""' }> } | ||
it ate all my ram and didnt even finish after an hour | |||
mspo | Woodi: NetBSD has init scripts instead of just using rc.local | ||
Woodi: pkgsrc is nice | |||
timotimo | oh yeah, FROGGS | ||
that's very true | 17:54 | ||
FROGGS | now I have this: [ <?{ $lvl == 0 }> '' | <?{ $lvl == 1 }> . ' ' | ... ] | ||
(as a longer list) | |||
Woodi | mspo: oo, it have rational init ! ;) | ||
FROGGS | and I can parse 25k lines in 30s | ||
mspo | Woodi: openbsd has much better marketing and market positioning; it also inspires more passion I think | ||
17:54
canopus left
|
|||
mspo | Woodi: also the six month release cycle is obviously a good choice | 17:55 | |
FROGGS | sure, EVAL has to be slow by definition, but... | ||
TimToady | dogbert17: that paragraph is inaccurate | ||
the default eqv compares .perl, iirc | |||
timotimo | FROGGS: you really can't match against a string? | ||
TimToady | m: my class A { has $.a; }; say A.new(a => 5) eqv A.new(a => 5); | ||
camelia | rakudo-moar 228717: OUTPUT«True» | ||
mspo | Woodi: but netbsd is just overall a pleasure to use :) | ||
TimToady | dogbert17: note it actually returns True, not False, as falsely claimed :) | 17:56 | |
mspo | that's quite a doc bug | ||
FROGGS | timotimo: well, depending on the indentation level the string is n times the given pattern | ||
dogbert17 | TimToady: should I scrap that part from the docs or are there situations when a custom eqv is necessary? | ||
FROGGS | ohh wait | ||
Woodi | mspo: do Xen works on NetBSD ? | 17:57 | |
mspo | Woodi: yes, DOM0 and DOMU | ||
TimToady | custom eqv is likely to be more efficient than calling a.perl eq b.perl | ||
timotimo | FROGGS: so the . really has to be in there? | ||
FROGGS | didnt I implement variables in repeatitors? | ||
timotimo | i think you did | ||
i was about to say :) | |||
FROGGS | *g* | ||
Woodi | mspo: then you convinced me to try :) | ||
FROGGS | damn, my brain sucks | 17:59 | |
timotimo: how do I write the repeatition again? | |||
17:59
nadim_ left,
nadim_ joined
|
|||
timotimo | ** { $var } i believe? | 17:59 | |
TimToady | correct, we require the braces for anything dynamic | 18:00 | |
18:01
firstdayonthejob left
|
|||
masak | m: my $var = 5; say "aaaaa" ~~ / "a" ** $var / | 18:01 | |
camelia | rakudo-moar 228717: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Quantifier quantifies nothingat <tmp>:1------> 3my $var = 5; say "aaaaa" ~~ / "a" **7⏏5 $var /» | ||
masak | m: my $var = 5; say "aaaaa" ~~ / "a" ** { $var } / | ||
camelia | rakudo-moar 228717: OUTPUT«「aaaaa」» | ||
18:01
canopus joined
|
|||
masak | bit of a LTA error message there | 18:01 | |
did I dream it, or did we have a better one at some point? | 18:02 | ||
18:02
pyrimidine joined
|
|||
FROGGS | I was thinking the same | 18:02 | |
as you masak, not as camelia | |||
TimToady | I don't think anyone ever implemented such a message | ||
geekosaur | iirc, it used to suggest wrapping in {}, yes | ||
dogbert17 | TimToady: many thanks, do you also happen to know if $*TOLERANCE can be used or should it be hidden from users? | 18:03 | |
18:03
firstdayonthejob joined
|
|||
TimToady | $*TOLERANCE is considered part of the public api | 18:03 | |
dogbert17 finds a cold Pale Ale and rejoices | |||
FROGGS | hmmm... [ . ' ' ] ** { $lvl } seems to be way slower | ||
18:03
MetaZoffix joined
|
|||
MetaZoffix | I recall improving the message, but I think it was for ranges with variables | 18:04 | |
bisect: m: my $var = 5; say "aaaaa" ~~ / "a" ** $var / | |||
bisectable6 | MetaZoffix, On both starting points (good=2015.12 bad=77d9d41) the exit code is 1 and the output is identical as well | ||
MetaZoffix, Output on both points: ===SORRY!=== Error while compiling /tmp/Apm6Zid9kaQuantifier quantifies nothingat /tmp/Apm6Zid9ka:1------> m: my $var = 5; say "aaaaa" ~~ / "a" **<HERE> $var / | |||
dogbert17 | Thx, I'll update the dynvar page later | ||
18:04
cyphase left
|
|||
MetaZoffix | bisect: good=2016.04,bad=HEAD m: my $var = 5; say "aaaaa" ~~ / "a" ** $var / | 18:05 | |
bisectable6 | MetaZoffix, Cannot find ‘good’ revision | ||
FROGGS | no, actually it is faster... | ||
mspo | Woodi: great | ||
MetaZoffix | m: my $var = 5; say "aaaaa" ~~ / "a" ** 1..$var / | 18:06 | |
camelia | rakudo-moar 228717: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed Range. If attempting to use variables for end points, wrap the entire range in curly braces.at <tmp>:1------> 3my $var = 5; say "aaaaa" ~~ / "a" ** 1..7⏏5$var /» | ||
MetaZoffix | Ah, that's what I fixed. | ||
FROGGS | (say'ing the Match takes quite a while, compared to saying what the action class made...) | ||
18:07
MetaZoffix left
|
|||
timotimo | right | 18:08 | |
18:10
cyphase joined
|
|||
FROGGS | parsing 72k lines (4.1MB) takes 1m34.953s now... I'm happy \o/ | 18:10 | |
masak | I think the need for braces around dynamic things is rooted in backwards compatibility with people who think that `%` is still spelled `**` | ||
TimToady | not really | 18:11 | |
the primary motivation is simply that such a DWIM would introduce a great many syntactic WATs | |||
regex syntax is terribly ambigous with postfix brackets and dots and such | 18:12 | ||
*ambiguous even | |||
masak | I see. | ||
or rather, I'll take your word for it :) | 18:13 | ||
18:13
Actualeyes left
|
|||
TimToady | 'a'**$var......'b' / | 18:13 | |
18:14
Actualeyes joined
|
|||
masak is convinced :) | 18:14 | ||
TimToady | and the 'is it dynamic?' test is simple to teach | 18:15 | |
masak | aye | ||
18:16
lizmat joined
|
|||
TimToady | arguably, we do allow singleton variables elsewhere, but not where we'd be looking for .. afterwards | 18:17 | |
m: / $_[1] / | 18:18 | ||
camelia | rakudo-moar 228717: OUTPUT«Potential difficulties: Apparent subscript will be treated as regex at <tmp>:1 ------> 3/ $_7⏏5[1] /» | ||
TimToady | at least we catch that one | ||
kyclark | I found that "for" will return a list, e.g., my @list = for ...; I wanted to use "given" to return a value, but it doesn't seem to work | 18:20 | |
my $val = given $s { when /cap/ { 1 } default { 0 } } | |||
Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control word | |||
TimToady | if 'for' works without 'do', that's a bug | 18:21 | |
18:21
itaipu left
|
|||
TimToady | m: my @list = for 1..10 { $_ } | 18:22 | |
camelia | rakudo-moar 228717: OUTPUT«5===SORRY!5===Word 'for' interpreted as a listop; please use 'do for' to introduce the statement control wordat <tmp>:1------> 3my @list = for7⏏5 1..10 { $_ }Unexpected block in infix position (two terms in a row)at <tmp>:1-----…» | ||
18:22
TheLemonMan joined,
woolfy joined
|
|||
kyclark | m: my $val = do given 'CAPSID' { when :i/cap/ { 1 } default { 0 } } | 18:22 | |
camelia | rakudo-moar 228717: OUTPUT«5===SORRY!5===Expression needs parens to avoid gobbling blockat <tmp>:1------> 3= do given 'CAPSID' { when :i/cap/ { 1 }7⏏5 default { 0 } }Missing block (apparently claimed by expression)at <tmp>:1------> 3= do given 'CAPSID' {…» | ||
TimToady | missing semi, really | 18:23 | |
masak | kyclark: you can't `:i` nothing | ||
TimToady | m: my $val = do given 'CAPSID' { when m:i/cap/ { 1 } default { 0 } } | 18:24 | |
camelia | rakudo-moar 228717: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Strange text after block (missing semicolon or comma?)at <tmp>:1------> 3 do given 'CAPSID' { when m:i/cap/ { 1 }7⏏5 default { 0 } }» | ||
TimToady | now you get the correct semi message | ||
without m it parsed both / as division operators | 18:25 | ||
m: my $val = do given 'CAPSID' { when /:i cap/ { 1 }; default { 0 } } | |||
camelia | ( no output ) | ||
TimToady | you can put the :i inside too | ||
m: my $val = do given 'CAPSID' { when /:i cap/ { 1 }; default { 0 } }; say $val | 18:26 | ||
camelia | rakudo-moar 228717: OUTPUT«1» | ||
timotimo | this machine has a ubuntu 8.04 on it %) | ||
[Coke] | masak: nope. I speak english, and then have maybe a dozen words in various other languages. :) | 18:27 | |
kyclark | OK, this works now! Thanks. | 18:28 | |
masak | [Coke]: I figured it'd be pretty unlikely for you to know Uzbek and me not knowing it by now :P | 18:32 | |
(not that I speak it, either. it seems like a nice language, though.) | 18:33 | ||
18:35
itaipu joined,
wamba joined
|
|||
TimToady | All natural languages are nice, except when they're naughty. | 18:36 | |
18:37
cdg left
|
|||
dalek | c: 23a69ab | (Jan-Olof Hendig)++ | doc/Language/variables.pod6: Added dynvar TOLERANCE to variables.pod6 |
18:37 | |
dogbert17 hopes he got that 'approximately' right | 18:38 | ||
TimToady | it leaves out a bit of the generality | 18:40 | |
m: my $*TOLERANCE = 0.001; say .01i.Num | 18:41 | ||
camelia | rakudo-moar 228717: OUTPUT«Can not convert 0+0.01i to Num: imaginary part not zero in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
TimToady | m: my $*TOLERANCE = 0.1; say .01i.Num | ||
camelia | rakudo-moar 228717: OUTPUT«0» | ||
TimToady | since other operations depend on =~= | ||
dogbert17 | so the text might come off as slightly misleading then | 18:44 | |
TimToady | maybe just a "and any operations that depend on =~=" or some such | 18:45 | |
it's not a major point | |||
dogbert17 | consider it changed, thx for the feedback | ||
TimToady | people tend to interpret things concretely unless directed toward the abstraction, even if the abstraction in question is just function calls... | 18:46 | |
18:47
cyphase left
18:49
zumbra joined
|
|||
Woodi just few minutes ago thinked: global variable... they make so many things simpler ! ;) | 18:49 | ||
dogbert17 | m: say <l i z m a t>.permutations.pick(3) # lizmat++ for optimizing permutations | 18:50 | |
camelia | rakudo-moar 228717: OUTPUT«((a l z t m i) (t z i m l a) (l a m z t i))» | ||
timotimo | liz! mat! hooraay! | ||
dogbert17 | now the solution for project euler problem 24 runs in 6 sec on my machine, in March it took 83 !! | 18:51 | |
18:52
cyphase joined
|
|||
timotimo | fantastic! | 18:52 | |
that's better than 5x faster | |||
dogbert17 | yes, very impressive, since the first run was in March it's possible that some other optimization might have played a role | 18:54 | |
timotimo | we've had a lot of different optimizations; liz is responsible for a big chunk of them :) | 18:55 | |
18:55
ItayAlmog joined
|
|||
mspo | okay my spectest finished with some failures | 18:55 | |
masak | m: say <l i z m a t>.permutations.pick(3)>>.join | ||
camelia | rakudo-moar 228717: OUTPUT«(iltazm ztimla tmiazl)» | ||
18:56
Actualeyes left
|
|||
ItayAlmog | So after doing alot of research, i think i will stop making the perl6 native compiler and create a NQP native compiler.... | 18:58 | |
dogbert17 | how about: $*TOLERANCE Used by the C<=~=> operator, and any operations that depend on it, to decide if two values are approximately equal. Defaults to 1e-15. | ||
zumbra | ItayAlmog: :D | 18:59 | |
ItayAlmog: all the Grammar handling stuff will be pretty much the same | 19:00 | ||
19:04
Sgeo_ joined
19:07
ItayAlmog left,
ItayAlmog_ joined
|
|||
dalek | c: 189b39b | (Jan-Olof Hendig)++ | doc/Language/variables.pod6: Updated the text on TOLERANCE. TimToady++ |
19:09 | |
19:09
cyphase left
|
|||
ItayAlmog_ | I know the grammar will be the same, but i was told it will be easier :D | 19:10 | |
19:10
spider-mario joined
|
|||
masak .oO( this community is all about TOLERANCE, that's why we shout it at each other ) | 19:10 | ||
ItayAlmog_: if you want to fast-forward to the gnarly parts, consider how you'd code-generate a function value (i.e. a block of code or a sub stored into a variable) | 19:11 | ||
19:13
itaipu left,
cyphase joined
|
|||
ItayAlmog_ | I will probably use function pointers like in C, you can have a variable and a sub with the same name right? (For example have `my $sum` and a `sub sum{}`). | 19:14 | |
masak | oh yes | ||
the sub gets the name `&sum`, which doesn't collide with `$sum` | |||
El_Che | a var and sub yes, attribute and sub no | 19:15 | |
ItayAlmog_ | Ok, interesting, so functions are represented as special var right? | ||
masak | m: class C { has $.x; sub x {} } # El_Che: works fine | ||
camelia | ( no output ) | ||
El_Che | masak: yes, but you loose the auto getters/setters | 19:16 | |
masak | ItayAlmog_: you could say that, yes. a `sub` declaration has the side effect of initializing a name `&sub` in the current scope. | ||
El_Che | I am not saying it's a bug, but a nice case for suble bugs | ||
masak | El_Che: you're probably thinking of methods, not subs | ||
El_Che | masak: I am | 19:17 | |
ItayAlmog_ | NQP has classes as well? And if so they are as dynamic as in perl6 or are they less dynamic? | ||
masak | a sub and an attribute can co-exist just fine | ||
El_Che | isn't that all the same? Pardon my Perl5 :) | ||
masak | El_Che: not at all. | ||
El_Che | :) | ||
masak | El_Che: subs are small helpers. the fact that they are in the class block is irrelevant. | ||
19:18
labster joined
|
|||
masak | El_Che: methods have a `self` and generally assume they'll be called on an object (or type object) | 19:18 | |
El_Che | yeah, I know | ||
masak | subs install themselves in the `my` namespace by default. methods (and attributes) in the `has` namespace. that's why they don't collide | 19:19 | |
ItayAlmog_ | Other than the NQP github repo are there any other documentations? | 19:21 | |
About NQP | |||
A | |||
perlpilot | ItayAlmog_: github.com/edumentab/rakudo-and-nq...als-course | 19:22 | |
yoleaux | 8 Sep 2016 21:42Z <tbrowder> perlpilot: look at doc change github.com/perl6/doc/commit/0a7d930cbb | ||
ItayAlmog_ | perlpilot: Thanks! | ||
19:23
darutoko left,
domidumont left
19:27
leont__ left
19:30
cyphase left
19:34
cyphase joined
|
|||
zumbra | m: say q ︵Help! My brackets have fallen over!︶ | 19:41 | |
camelia | rakudo-moar 228717: OUTPUT«Help! My brackets have fallen over!» | ||
timotimo | oops | ||
19:41
ItayAlmog_ left,
ItayAlmog2805 joined
|
|||
zumbra | :) | 19:41 | |
zostay | how did programmers have fun before unicode? oh wait, most of them can't have fun with unicode still | 19:42 | |
zumbra | ^_^ | ||
timotimo | %) | ||
only sadness | 19:43 | ||
masak | .u fun | 19:44 | |
yoleaux | U+2061 FUNCTION APPLICATION [Cf] (<control>) | ||
U+2336 APL FUNCTIONAL SYMBOL I-BEAM [So] (⌶) | |||
U+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD [So] (⌷) | |||
masak | so many ways to have fun with unicode | ||
19:48
cyphase left
19:49
cyphase joined
19:50
zumbra left
19:52
ItayAlmog2805 left
|
|||
mspo | ⎔ | 19:53 | |
.u ⎔ | |||
yoleaux | U+2394 SOFTWARE-FUNCTION SYMBOL [So] (⎔) | ||
mspo | I was thinking of ƒ; I'd never seen the hexagon used before | 19:54 | |
geekosaur | gotta make your flowcharts in unicode too | ||
mspo | is it UML? | ||
geekosaur | do kids these days even use flowcharts? | ||
mspo | they use the kanban | 19:55 | |
moritz never got the point of most UML diagrams | |||
mspo | moritz: you and the rest of the world | ||
I have a book around here somewhere | |||
zostay | it was for impressing your software project professor who never worked in the real world | 19:56 | |
timotimo | DrForr: your talk seems to claim that "everything is utf8 internally", that's not correct, though | ||
19:56
cdg joined
|
|||
El_Che | mspo: haha | 19:57 | |
masak | I happen to think UML has a valid use -- I think the DDD book convinced me | 19:59 | |
19:59
khw left
|
|||
masak | it uses UML as a sketching/whiteboard discussion medium | 20:00 | |
timotimo | m: sub mean ( @a ) { say sum @a }; mean 1, 2, 3 # DrForr you meant to have *@a here | ||
camelia | rakudo-moar 87f772: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling mean(Int, Int, Int) will never work with declared signature (@a)at <tmp>:1------> 3sub mean ( @a ) { say sum @a }; 7⏏5mean 1, 2, 3 # DrForr you meant to have» | ||
El_Che | yeah, my java ide has some tool to generate uml after you wrote the code. It was called the "shut-up-you-stupid-manager" macro | ||
timotimo | fantastic | 20:01 | |
i expect a code editor is much more comfortable for creating an UML diagram than any UML editor would be | |||
you get all your templates/snippets, refactoring stuff, ... | |||
masak | El_Che: reminds me in spirit of structurizr.com/ | 20:04 | |
El_Che | I remember a time when people thought you could autogenerate all the code from some uml | 20:05 | |
timotimo | of course you can do that | ||
TimToady | Woodi: if you're referring to $*TOLERANCE, that's not really a global, except for the default, which is immutable, so by necessity you have to use a dynamic variable to override it | ||
timotimo | you just have to put a whole lot of code in little boxes that go on the side | ||
TimToady | m: $*TOLERANCE = 0.1 | ||
camelia | rakudo-moar 87f772: OUTPUT«Cannot modify an immutable Num in block <unit> at <tmp> line 1» | ||
El_Che | timotimo: the problem was when you needed to edit something. boom | 20:06 | |
TimToady | so a dynvar can be limited to any (dynamic) scope you like | ||
20:08
cyphase left
|
|||
timotimo | El_Che: no, you only ever edit your code in the UML and building the .java out of that is a step in the build process | 20:08 | |
all your code now goes into the UML diagram boxes | |||
mspo | code is a failure of your UML skills, obviously | 20:10 | |
20:12
cyphase joined
20:20
nadim joined
|
|||
timotimo | i wonder why i've seen all the things DrForr has shown already :P | 20:22 | |
20:23
nadim_ left
20:29
leont__ joined
20:32
TEttinger joined
20:38
cyphase left
20:39
canopus left
20:41
ufobat left,
kaare_ left
20:42
cyphase joined
20:44
leont__ left
20:46
canopus joined
20:49
mcmillhj left
20:54
cyphase left
20:56
AlexDaniel joined
20:59
cyphase joined
21:00
skids left
21:02
rindolf left
21:06
canopus left
21:07
khw joined
21:14
canopus joined
21:20
cyphase left
21:23
canopus left
21:24
cyphase joined
|
|||
perlpilot | Just participated in a phone interview where the interviewee asked if we were using Perl 6 yet :) | 21:24 | |
timotimo | awesome | 21:28 | |
21:29
canopus joined
21:37
cyphase left
21:42
cyphase joined
21:48
FROGGS left
21:49
_slade_ joined
|
|||
lizmat | dogbert17: you might want to try again with my last commit :-) | 21:51 | |
21:52
mcmillhj joined
|
|||
dogbert17 | lizmat++, will do | 21:52 | |
timotimo | i should hit up the person who wrote those "overkill" blog posts and tell them to try again | 21:53 | |
also, now that permutations is so much cheaper, i bet the thing will parallelize | |||
El_Che | timotimo: what post? | 21:54 | |
timotimo | El_Che: about the "magic box" math puzzle thingie | 21:55 | |
at first it had a recursive implementation of doing its own permutations, and it was rather slow (rakudo itself is at fault partially here, too) | |||
21:56
girafe left,
cyphase left
|
|||
timotimo | i suggested using rakudo's built-in permutations function because it's algorithmically superior to the naive version, and it already gave a nice performance boost | 21:57 | |
but now that permutations has been optimized two times over, that could be worth a lot :) | |||
21:57
mcmillhj left
21:58
vike left
22:01
cyphase joined
22:09
mcmillhj joined
22:11
cyphase left
22:13
mcmillhj left
22:14
firstdayonthejob left
22:16
cyphase joined
|
|||
dogbert17 | lizmat: the last fix didn't change anything, here's my code: say permutations((0,1,2,3,4,5,6,7,8,9)).[999_999]; | 22:17 | |
lizmat | ah, no, that didn't change | 22:18 | |
List.permutations got 8x faster | |||
m: dd <a b c>.permutations | |||
camelia | rakudo-moar bb6da7: OUTPUT«(("a", "b", "c"), ("a", "c", "b"), ("b", "a", "c"), ("b", "c", "a"), ("c", "a", "b"), ("c", "b", "a")).Seq» | ||
dogbert17 | well, the first fix was more than good enough for me :) | 22:19 | |
japhb | lizmat: Are you saying if dogbert17 changed it from a sub call to a method call, it would go faster? | 22:20 | |
timotimo | so ... the magic box uses permutations on a range of numbers 3..12 or something; i think the calculation code could just be changed to pretend the numbers 0 through 9 are those numbers ... or whatever? and then on display add 3 to all of them | ||
lizmat | dd (^10 .permutations)[999_999] runs in 4.7 seconds for me | ||
timotimo | japhb: no, the method form of permutations has more things to do, and actually almost immediately calls into the sub form | ||
japhb | timotimo: Ah, I was apparently misunderstanding lizmat's comment | 22:21 | |
lizmat | japhb: the method form maps onto the actual contents of the list | ||
timotimo | benchable6: compare HEAD say (^10 .permutations)[999_999] ||| say permutations(9)[999_999] | ||
benchable6 | timotimo, starting to benchmark the 1 given commits | ||
lizmat | that mapping got 8x faster | ||
benchable6 | timotimo, ¦«HEAD»:Benchmark: Timing 10 iterations of 0, 1...«timed out after 10 seconds, output»: | ||
timotimo | whoops? | ||
benchable6: compare HEAD say (^10 .permutations)[100_000] ||| say permutations(9)[100_000] | 22:22 | ||
benchable6 | timotimo, starting to benchmark the 1 given commits | ||
timotimo, ¦«HEAD»:Benchmark: Timing 10 iterations of 0, 1...(0 3 5 8 9 2 6 7 1 4)«timed out after 10 seconds, output»: | |||
timotimo | darn it :) | ||
lizmat | timotimo: that's not the same, it should be "permutations(10) | ||
timotimo | OK! | ||
benchable6: compare HEAD say (^10 .permutations)[50_000] ||| say permutations(10)[50_000] | |||
benchable6 | timotimo, starting to benchmark the 1 given commits | ||
timotimo | of course, ^10 gives you 10 values | ||
benchable6 | timotimo, ¦«HEAD»:Benchmark: Timing 10 iterations of 0, 1...(0 2 3 9 5 7 4 6 1 8)(0 2 3 9 5 7 4 6 1 8)«timed out after 10 seconds, output»: | 22:23 | |
timotimo | it's quite late and dark in my head already ;) | ||
22:23
mcmillhj joined
|
|||
lizmat | anyways, List.permutations can never be faster than permutations() | 22:23 | |
timotimo | i wanted to know how big the difference is | ||
when the list conversion is actually completely "useless" | |||
lizmat | because List.permutations just calls permutations() | ||
not a lot of difference anymore | |||
it was quite a lot (like the first 6 entries in the profile just for .map and slicing) | 22:24 | ||
22:24
nadim left
|
|||
timotimo | that sounds fantastic | 22:24 | |
i'm so glad the two of you and the profiler have met :D | |||
dogbert17 | lizmat: what's your next optimization target? | 22:25 | |
lizmat | not sure yet | 22:26 | |
tomorrow will be a long drive home after seem some more sights here in Dresden | |||
*seeing | |||
dogbert17: any suggestions ? | 22:27 | ||
dogbert17 | hopefully it's been a nice trip | ||
lizmat | it was, visited 5 countries I never visited before | ||
Slovakia, Hungary, Croatia, Slovenia and Liechtenstein | 22:28 | ||
dogbert17 | impressive | ||
22:28
mcmillhj left
|
|||
timotimo goes to bed | 22:28 | ||
see y'all :) | |||
dogbert17 | good night | ||
lizmat | good night! | 22:29 | |
lizmat does the same | |||
dogbert17 | good night 2 | ||
22:29
canopus left
|
|||
dogbert17 wonders if array accesses are slow | 22:29 | ||
22:34
canopus joined
22:36
cyphase left
22:38
mcmillhj joined
22:40
cyphase joined
22:43
mcmillhj left
22:44
TheLemonMan left
|
|||
tbrowder | hi #perl6 | 22:54 | |
22:54
Ven_ joined
|
|||
tbrowder | anyone interested in talking about the docs and the sprintf function description? | 22:55 | |
i'll pontificate: perlpilot and i msde | 22:56 | ||
*made a few changes, but i! | |||
22:56
skids joined
|
|||
tbrowder | argh!! i'm not happy with the current description which i took from perl 5 docs | 22:57 | |
i think the linux man page for printf does a better job | 22:58 | ||
22:59
canopus left
|
|||
tbrowder | perlpilot and others want to separate (or eliminate) the unimplemented features and i am working on a redo of the whole sprintf section | 23:00 | |
i am testing every example and every feature on the perl 5 sprintf doc and i will do the same for the linux printf doc | 23:03 | ||
then i will adapt the linux printf description for our sprintf doc | 23:04 | ||
23:05
pierre_ joined
|
|||
tbrowder | in the process, i will put all unimplemented features in a separate section following the sprintf section | 23:05 | |
it will be a =head2 section titled "sub sprintf [C<unimplemented features>" | 23:07 | ||
23:07
canopus joined
23:08
kyclark_ joined,
cdg left
|
|||
tbrowder | i will put the new doc redo in a gist for easier consideration | 23:08 | |
23:09
cdg joined
|
|||
kyclark_ | I’m back with grammar questions. I have something that parses just fine, but I’m not sure what I’m doing with the Actions to “make” things. To start, I’d be happy to get back each <record> as a hash with { id => <id>, member => <member> } lpaste.net/187760 | 23:11 | |
23:13
cdg left
|
|||
kyclark_ | I guess I should say that I’m getting back all these Match objects, and I was hoping to distill it down to strings | 23:14 | |
geekosaur | you can stringify with ~ | 23:16 | |
kyclark_ | I’m doing this: $/.caps[0].value.Str | ||
geekosaur | yes, but $/.make is what wraps it in a Match object (and must or you couldnt get it back) | ||
kyclark_ | Maybe I don’t understand correctly, but the “method” in the Actions class gets a Match object called $/, so I should be able to get at the captured bits with “caps” right? | ||
geekosaur | you can use prefix ~ on the match objects you get out to get just the strings | 23:17 | |
kyclark_ | Am I doing the correct thing to get the captured parentheses? | 23:18 | |
$/.caps[…]? | |||
23:21
canopus left
23:24
pierre_ left
|
|||
geekosaur | it should be | 23:25 | |
23:28
canopus joined
23:30
xinming left
23:31
vike joined
23:34
mcmillhj joined,
spider-mario left
23:37
RabidGravy left
23:39
mcmillhj left
23:41
tushar joined
23:43
mcmillhj joined
23:46
cyphase left
23:50
mcmillhj left
23:51
cyphase joined
23:55
kyclark_ left
|