»ö« 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
zwu left
00:05
joydo joined
00:06
felher_ is now known as felher
|
|||
dalek | osystem: 8d1e947 | RabidGravy++ | META.list: Add IO::Path::Mode github.com/jonathanstowe/IO-Path-Mode |
00:08 | |
RabidGravy | there, didn't quite get it done in a day but there were distractions :) | ||
00:09
abraxxa left
|
|||
Skarsnik | nice copy paste | 00:12 | |
I welcome suggestions, patches and bug reports at: | |||
github.com/jonathanstowe/RPi-Device-SMBus | |||
RabidGravy | fixed already | 00:13 | |
:) | |||
00:13
firstdayonthejob left
|
|||
RabidGravy | I don't like typing | 00:13 | |
who was it that was asking about that before? | 00:14 | ||
ah | |||
00:14
Skarsnik left
00:15
iml_ left
00:16
iml_ joined
00:20
regreg left,
virtualsue joined
|
|||
RabidGravy | .tell perlawhirl because you asked about it I made github.com/jonathanstowe/IO-Path-Mode :) any suggestions let me know | 00:21 | |
yoleaux | RabidGravy: I'll pass your message to perlawhirl. | ||
RabidGravy | sed -e 's/https:\/\/raw.githubusercontent.com\///' -e 's/\/.*$//' META.list | sort | uniq -c | sort -n | 00:24 | |
what larks | 00:25 | ||
I think I'm going to go for 40 before I'm forced to get a proper job again | |||
00:25
AlexDaniel left
00:27
uruwi left
00:28
cognominal left
00:29
cognominal joined
00:32
uruwi joined
|
|||
RabidGravy | 120 unique module authors now, however 10 authors are responsible for more than a third of the modules | 00:35 | |
oh well | |||
anyway toodles, getting a bit late here | 00:36 | ||
leont | I think that sort of distribution is normal | 00:37 | |
"10 authors are responsible for more than a third of the modules" means they have 4-5 modules each on average, that isn't that much | 00:38 | ||
00:38
wamba left
|
|||
leont | Oh wait, I misread the number | 00:38 | |
It was like 450 modules last time I checked, That's still like 15 modules per top-10 author. | 00:40 | ||
00:40
RabidGravy left
|
|||
gfldex | m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_).WHAT }); | 00:43 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq» | ||
gfldex | why is that Bool and not Match? | ||
leont | m: my @rs = rx/'a'/, rx/'b'/; dd @rs.map({ ('a' ~~ $_).WHAT }); | 00:44 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq» | ||
leont | m: say ('a' ~~ /'a'/).WHAT | 00:45 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Match)» | ||
00:46
pdcawley joined
00:49
pdcawley_ left
|
|||
TimToady | m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ /$_/).WHAT }) | 00:49 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Match, Match).Seq» | ||
00:50
bpetering left
00:51
Peter_R left
|
|||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs.map({ ('a' ~~ $_).WHAT }); | 00:53 | |
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))(Bool, Bool).Seq» | ||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs.map({ ($_.ACCEPTS('a')).WHAT }); | 00:54 | |
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))(Match, Nil).Seq» | ||
00:54
iml_ left
|
|||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a'); | 00:54 | |
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))[Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0), Nil]» | ||
TimToady | oh, wait, ~~ topiciles | ||
calizes, even | |||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a')>>.WHAT; | 00:55 | |
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))Cannot look up attributes in a type object in block <unit> at /tmp/JFeKeT4cDk line 1» | ||
TimToady | m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex).WHAT }) | ||
camelia | rakudo-moar f1dd49: OUTPUT«(Bool, Bool).Seq» | ||
TimToady | well, I guess that doesn't change anything | ||
m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $^regex) }) | 00:56 | ||
camelia | rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq» | ||
TimToady | m: my @rs = /'a'/, /'b'/; dd @rs.map({ ('a' ~~ $_) }) | ||
camelia | rakudo-moar f1dd49: OUTPUT«(Bool::True, Bool::False).Seq» | ||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .Bool; | ||
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block? in block <unit> at /tmp/ZRzcu1kTis line 1Actually thrown at: in any at gen/moar/m-Metamodel.nqp line 3041 in block <unit> at /tmp/ZRzcu1…» | ||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep: .bool; | ||
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))Method 'bool' not found for invocant of class 'Any' in block <unit> at /tmp/0ssBJvNrBI line 1» | ||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(.Bool); | ||
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block? in block <unit> at /tmp/nJBoEJCYfI line 1Actually thrown at: in any at gen/moar/m-Metamodel.nqp line 3041 in block <unit> at /tmp/nJBoEJ…» | ||
gfldex | m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep({$_.Bool}); | ||
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0),).Seq» | ||
gfldex | ».ACCEPTS is acceptable I guess | 00:57 | |
leont | .grep(?*) | ||
m: my @rs = /'a'/, /'b'/; say @rs.map({$_.WHAT}); dd @rs>>.ACCEPTS('a').grep(?*) | |||
camelia | rakudo-moar f1dd49: OUTPUT«((Regex) (Regex))(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "a", to => 1, from => 0),).Seq» | ||
01:03
sortiz joined,
lichkind left
01:07
Actualeyes joined
01:09
yeahnoob joined
01:11
BenGoldberg joined
|
|||
sortiz | m: my ($a,%a,@a); say .WHAT, .List.WHAT === List for $a,%a,@a,$(1,2),Nil,Any,1,"foo",{},[],^5,(0,1 ... 5) | 01:12 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Any)True(Hash)True(Array)True(List)TrueNilTrue(Any)True(Int)True(Str)True(Hash)True(Array)True(Range)True(Seq)True» | ||
sortiz | m: my ($a,%a,@a); say .WHAT, .list.WHAT === List for $a,%a,@a,$(1,2),Nil,Any,1,"foo",{},[],^5,(0,1 ... 5) | 01:13 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Any)True(Hash)True(Array)False(List)TrueNilTrue(Any)True(Int)True(Str)True(Hash)True(Array)False(Range)True(Seq)True» | ||
sortiz | Hi, why Array should be special to .list ? | 01:14 | |
01:14
Ch0c0late left
|
|||
gfldex | sortiz: List is immutable, array is not | 01:15 | |
01:22
orbus joined,
captain-adequate left
01:23
pjscott joined
01:24
pjscott left
|
|||
sortiz | gfldex: Hash is also mutable, and .list returns List. When i apply the method .list to something, per doc, I expect a List in return. Asking bc RT#127121 | 01:25 | |
gfldex | m: my @a; say so @a.list ~~ List; | 01:28 | |
camelia | rakudo-moar f1dd49: OUTPUT«True» | ||
gfldex | m: my @a; say so @a.list ~~ List; sa @a.list.WHAT; | ||
camelia | rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ruQUUIX898Undeclared routine: sa used at line 1. Did you mean 'so'?» | ||
gfldex | m: my @a; say so @a.list ~~ List; say @a.list.WHAT; | ||
camelia | rakudo-moar f1dd49: OUTPUT«True(Array)» | ||
gfldex | sortiz: .list returns something that conforms to the interface of List. It may do more, what is up to the Implementation to decide. Note that a coercion would happen with @a.List or List(@a). | 01:32 | |
m: my @a; say so @a.List ~~ List; say @a.List.WHAT; say @a.List.WHAT === List; | 01:33 | ||
camelia | rakudo-moar f1dd49: OUTPUT«True(List)True» | ||
gfldex | sortiz: see ^^^ | ||
01:33
flussence left
|
|||
sortiz | gfldex: Yes, I understand that, but bc Any.flat is defined as "multi method flat() { self.list.flat }" that results in that .flat don't flats arrays, not so DWIM. | 01:35 | |
01:36
gensym left
|
|||
sortiz | So to flat an array we must use .List, and not .list !? | 01:37 | |
01:38
flussence joined
|
|||
gfldex | sortiz: you don't flat the Array see: www.reddit.com/r/perl6/comments/3z...t1_cyosh5q | 01:38 | |
sortiz | m: my @a = (1,(2,3),4); say @a.List.flat | 01:40 | |
camelia | rakudo-moar f1dd49: OUTPUT«(1 2 3 4)» | ||
01:40
gensym joined
|
|||
gfldex | m: my @a = (1,(2,3),4 xx *); put @a.List.flat | 01:42 | |
sortiz: do you see the problem? | |||
camelia | rakudo-moar f1dd49: OUTPUT«(timeout)» | ||
gfldex .oO( The Quantum Theory of Perl 6 ) | 01:43 | ||
sortiz | gdldex: whit lazy infinite lists (or arrays), I can't flat, I known. | 01:44 | |
m: (0..*).list == List | 01:45 | ||
camelia | rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/RPD81dOsAx:Useless use of "==" in expression ".list == List" in sink context (line 1)Use of uninitialized value of type List in numeric context in block <unit> at /tmp/RPD81dOsAx line 1Cannot .elems a lazy list in block <uni…» | ||
sortiz | m: (0..*).list === List | 01:46 | |
camelia | rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/Q_SGSqwXzF:Useless use of "===" in expression ".list === List" in sink context (line 1)» | ||
gfldex | m: my &bail = ¨ my @a = (1,(2,3),4 xx *); bail unless @a.is-lazy; put @a.List.flat | ||
camelia | rakudo-moar f1dd49: OUTPUT«Died in block <unit> at /tmp/xxozYRPVk6 line 1» | ||
gfldex | as soon as you use .flat anywhere in your code you have to call .is-lazy or you _will_ hurt yourself | 01:47 | |
sortiz | m: (0..*).list.WHAT === List | ||
camelia | rakudo-moar f1dd49: OUTPUT«WARNINGS for /tmp/3U1D8L9Qhh:Useless use of "===" in expression ".WHAT === List" in sink context (line 1)» | ||
sortiz | m: say (0..*).list.WHAT === List | ||
camelia | rakudo-moar f1dd49: OUTPUT«True» | ||
leont | That may be a bit exaggerated | ||
gfldex | leont: if you are not used to something it's easy to forget. Even if you make something a habit, you can still forget it. Something like complete testcoverage does not exist. | 01:49 | |
sortiz | The problem isn't flat, see above for Range. | ||
01:49
virtualsue left
|
|||
gfldex | in that case it indeed returns a List, what conforms to the promise to return something that implements the interface of List. | 01:50 | |
01:50
Sqirrel left
|
|||
sortiz | The problem I see is that _only_ for Arrays .list is a nop. | 01:50 | |
gfldex | m: my @a = (0..*).list; put @a; | 01:51 | |
camelia | rakudo-moar f1dd49: OUTPUT«...» | ||
gfldex | m: my @a := (0..*).list; put @a; | ||
camelia | rakudo-moar f1dd49: OUTPUT«...» | ||
gfldex | m: my @a := (0..*).list; dd @a; | ||
camelia | rakudo-moar f1dd49: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9...Inf)» | ||
gfldex | that's not a List, well it is but comes with surprises. | 01:52 | |
sortiz | m: my $a = (0..*); say $a.WHAT; say $a.list.WHAT | 01:53 | |
camelia | rakudo-moar f1dd49: OUTPUT«(Range)(List)» | ||
01:55
raiph joined
|
|||
dalek | kudo/query_repos: 1b6ecbd | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files): CompUnit::Repository::resolve New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module. |
01:55 | |
kudo/query_repos: ff197c7 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files): Centralize more precompilation code |
|||
kudo/query_repos_old: 92ef589 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files): CompUnit::Repository::resolve New method to ask the repository chain if a module matching the given DependencySpecification is available. This could for example be used by panda to avoid trying to install an already installed module. |
01:57 | ||
kudo/query_repos_old: 62bcf18 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files): Centralize more precompilation code |
|||
hoelzro | .tell nine I rebased the query repos branch on top of nom, and pushed query_repos_old in case I b0rked it | ||
yoleaux | hoelzro: I'll pass your message to nine. | ||
sortiz | gfldex: Even an item passed to list returns a List | 02:00 | |
m: say $(1,2).list.WHAT | |||
camelia | rakudo-moar f1dd49: OUTPUT«(List)» | ||
02:04
itaipu joined
|
|||
timotimo | sortiz: well, $(1,2) is a List, too | 02:10 | |
sortiz | gfldex: Right now .list is implemented by infix:<,>, and special cased for Slip, to avoid surprises. I think that the Array case should be handled in a DWIMer form. Thanks any way. | ||
timotimo | a list that "knows" it's supposed to be itemized | ||
sortiz | timotimo: Yes, I known, is Array the case that worries me. | ||
02:11
xpen joined
|
|||
timotimo | oh? hw come? | 02:14 | |
i didn't read any backlog at all | |||
so i don't know what this is about | 02:15 | ||
02:15
pjscott joined
|
|||
gfldex | Array::flat basicly | 02:15 | |
once again | |||
timotimo | ah, flattening stuff out | ||
yeah | |||
that really is A Thing | |||
sortiz | Yes! | ||
02:16
jeek joined,
pjscott left
|
|||
gfldex | i'm starting to lean towards removing .flat altogether | 02:16 | |
but then someone would write a module | |||
Juerd | m: class Overlap is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has uint8 $.u8; }; my $overlap = Overlap.new(u32 => 1234567); say $overlap.u16; say $overlap.u8; | 02:17 | |
camelia | rakudo-moar f1dd49: OUTPUT«-10617-121» | ||
02:18
orbus left
|
|||
leont | gfldex: p6 without .flat is unusable IMO | 02:18 | |
Juerd | I'm beginning to wonder whether perhaps uints should be implemented as uints :) | 02:19 | |
BenGoldberg | m: class U is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has int16 $i16 }; my $u = U.new(u32 => 1234567); say $u.u16, $u.i16; | ||
camelia | rakudo-moar f1dd49: OUTPUT«Method 'i16' not found for invocant of class 'U' in block <unit> at /tmp/neUBR3pHfF line 1» | ||
timotimo | oh, whoops :) | ||
sortiz | gfldex: If only @foo.list do what @foo.List does, the problem vanished. | ||
timotimo | Juerd: rakudobug@ please? | ||
BenGoldberg | m: class U is repr('CUnion') { has uint32 $.u32; has uint16 $.u16; has int16 $.i16 }; my $u = U.new(u32 => 1234567); say $u.u16, $u.i16; | ||
camelia | rakudo-moar f1dd49: OUTPUT«-10617-10617» | ||
Juerd | timotimo: Working on it. | ||
gfldex | instead of complaining I better add a warning to the docs | ||
timotimo | and feel free to also write tests :) | ||
Juerd | timotimo: Just finished writing the tests. | ||
BenGoldberg | m: my uint16 $u = -1234; say $u; | 02:20 | |
camelia | rakudo-moar f1dd49: OUTPUT«64302» | ||
Juerd | timotimo: rt.perl.org/Public/Bug/Display.html?id=127210 | ||
timotimo | with a CStruct things work better, don't they? | 02:21 | |
BenGoldberg | m: class U { has unit16 $.u }; say U.new( u:(-1234) ).u; | ||
camelia | rakudo-moar f1dd49: OUTPUT«5===SORRY!5===Type 'unit16' is not declared. Did you mean any of these? uint16 int16at /tmp/bHh9qto03u:1------> 3class U { has unit167⏏5 $.u }; say U.new( u:(-1234) ).u;Malformed hasat /tmp/bHh9qto03u:1------> 3c…» | ||
timotimo | it found the right one! :) | ||
BenGoldberg | m: class U { has uint16 $.u }; say U.new( u:(-1234) ).u; | ||
camelia | rakudo-moar f1dd49: OUTPUT«===SORRY!===This type does not support positional operations» | ||
Juerd | timotimo: Well, the exact same thing can't happen in anything but a union... | 02:22 | |
BenGoldberg | m: class U { has uint16 $.u = -1234 }; say U.new.u; | ||
camelia | rakudo-moar f1dd49: OUTPUT«-1234» | ||
timotimo | um, well, yeah | ||
BenGoldberg | Surely, that's a bug ^ | ||
timotimo | yeah | ||
Juerd | timotimo: I was testing this to see if CUnion could be used to speed things up for unpack :) | 02:23 | |
02:23
pjscott joined
02:25
orbus joined
|
|||
dalek | c: 45dabd9 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod: warn about flattening infinite lists |
02:29 | |
c: 7d1b08a | (Wenzel P. P. Peppmeyer)++ | doc/Type/Any.pod: Merge pull request #330 from gfldex/master warn about flattening infinite lists |
|||
02:39
jack_rabbit joined,
kid51 left,
hoelzro left
02:44
kaare_ joined
02:45
pjscott left
02:46
ilbot3 left
|
|||
timotimo | Juerd: i've been thinking maybe we'll build a few ops that'll transfer data into a length-and-bytes format and back into anything we want | 02:47 | |
02:47
ilbot3 joined
|
|||
Juerd | timotimo: Ops on what level? | 02:50 | |
timotimo | nqp::foo | ||
Juerd | Sounds great | 02:51 | |
02:52
jack_rabbit_ joined
02:53
jack_rabbit left
|
|||
timotimo | no promises | 02:54 | |
02:58
telex left
03:00
telex joined
|
|||
timotimo | actually, the transfer data op would just be kind of a generic sub-buf op or something | 03:00 | |
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJC | 03:01 | ||
03:02
noganex_ joined
03:03
regreg joined
|
|||
timotimo | ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))ρρADABμAAAμAττττττττττττττττττττττττττττττττττττττττττDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDρ | 03:03 | |
TimToady | I don't think those transfer ops are working as well as you thought they would... :) | 03:05 | |
timotimo | (cat relaxing on keyboard) | ||
TimToady | cat needs a tranfer op... | ||
03:05
noganex left
|
|||
TimToady | *transfer | 03:05 | |
03:09
atweiden left
03:10
mjreed joined
03:12
yqt left
03:13
mjreed is now known as markjreed
03:15
raiph left
03:16
pjscott joined,
markjreed left
03:17
markjreed joined
03:19
cygx joined,
markjreed left
03:20
mjreed joined
|
|||
cygx | TimToady: what's the rationale behind arrays not flattening in Perl6? | 03:20 | |
m: say [(1,2), (3,4)].flat | 03:21 | ||
camelia | rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))» | ||
timotimo | m: say [(1, 2), (3, 4)].flat.flat | ||
camelia | rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))» | ||
timotimo | m: say [(1, 2), (3, 4)].flat.list.flat | ||
camelia | rakudo-moar f1dd49: OUTPUT«((1 2) (3 4))» | ||
timotimo | what is this even | ||
cygx | timotimo: the scalar containers | ||
03:22
raiph joined
|
|||
cygx | Iterable.flat explicitly excludes containers from the recursion, and as arrays box their elements into scalars... | 03:22 | |
mjreed | Trying to install readline on OS X and it appears to be trying to dlopen(‘libreadline.so’), even though dylibs aren’t named that on this platform.. NC issue? | 03:24 | |
timotimo | right | ||
mjreed: "is native('readline')" should give .dylib on osx | |||
03:28
psy_ left
|
|||
mjreed | first test fails with # Cannot locate native library 'libreadline.so.6': dlopen(libreadline.so.6, 1): image not found. maybe it’s just a bad test.. | 03:28 | |
03:29
pjscott left
|
|||
sortiz | cygx: I hope is only an implementation glitch, I can't found in roast any related test. | 03:30 | |
03:31
hoelzro joined
|
|||
mjreed | hm. class Readline { my constant LIB = 'libreadline.so.6'; | 03:35 | |
03:36
mjreed left
|
|||
timotimo | damn. | 03:37 | |
03:37
markjreed joined,
Herby_ joined
|
|||
Herby_ | Good evening, everyone! | 03:37 | |
timotimo | i think i'll be going to bed now | 03:38 | |
markjreed | good night. | ||
03:39
M-eternaleye left,
M-eternaleye joined
03:42
Zaid joined
03:43
psy_ joined,
Zaid left
03:46
Ben_Goldberg joined
03:47
BenGoldberg left,
Ben_Goldberg left
03:48
Ben_Goldberg joined
|
|||
dalek | c: 4a47be5 | skids++ | doc/Language/list.pod: Initial start of List/Array-focused language page |
03:49 | |
skids | .tell RabidGravy Got a start on List/Array page at doc/Language/list.pod | 03:50 | |
yoleaux | skids: I'll pass your message to RabidGravy. | ||
cygx | 'night o/ | 03:52 | |
03:52
cygx left
03:57
regreg left
|
|||
dalek | osystem: 0ab2d5a | hoelzro++ | META.list: Add Native::Resources to META.list |
04:00 | |
[Coke] | lizmat: yes, as long as there's no spectest issues, pretty much always ok to bump nqp revision | 04:16 | |
04:17
TimToady left,
pjscott joined
04:18
Ben_Goldberg left
04:25
bzipitidoo joined
04:26
pjscott left
|
|||
MadcapJake | where are the moarvm files placed on installation? | 04:27 | |
like CORE.setting.moarvm | |||
04:27
pjscott joined
|
|||
sortiz | MadcapJake: In my case in .../share/perl/runtime/ | 04:30 | |
04:30
pjscott left
|
|||
sortiz | * s/perl/perl6/ | 04:31 | |
04:31
tjt263 joined
|
|||
dalek | osystem: 65026b8 | PerlJam++ | META.list: use META6.json for p6-Math-Trig |
04:31 | |
MadcapJake | sortiz, thanks! | 04:32 | |
04:32
leont left
|
|||
dalek | osystem: 5c04d04 | PerlJam++ | META.list: use META6.json for p6-File-Temp |
04:33 | |
04:35
pjscott joined
|
|||
Herby_ | question... how would I get a file size in MB using Perl 6? | 04:35 | |
right now I'm using $file.IO.s , and its returning something like 183563192 | 04:36 | ||
markjreed | divide by 1000000 for MB, or 1048576 for MiB ? | 04:39 | |
dalek | osystem: 214951d | PerlJam++ | META.list: use META6.json for p6-Astro-Sunrise |
||
skids | Herby_: so why not just divide that by 1M? | 04:40 | |
Herby_ | That works, just didn't know if there was some fancy Perl 6 method | ||
:) | |||
perlpilot | Herby_: sounds like something that could go in a module though | 04:41 | |
yoleaux | 1 Jan 2016 12:06Z <nine> perlpilot: if you want to play around with a SQLite based CompUnit::Repository, now's as good a time as any. Maybe github.com/niner/CompUnit-Repository-Panda can inspire you | ||
skids | m: class Mebibytes is Int { method Str { (self/1024/1024).Int ~ "M" } }; my Mebibytes $a .= new(183456783); $a.say; # fancy enough? | 04:43 | |
camelia | rakudo-moar f1dd49: OUTPUT«174M» | ||
Herby_ | haha very fancy! | 04:45 | |
04:46
pjscott left
|
|||
saaki | is there a rakudobrew analogue for perlbrew lib ? | 04:49 | |
skids | m: 183456783.polymod(1024 xx 2)[*-1].say | ||
camelia | rakudo-moar f1dd49: OUTPUT«174» | ||
Herby_ | skids, could you explain how your "class Mebibytes" works? | 04:50 | |
04:50
markjreed left
|
|||
Herby_ | I'm still having a hard time wrapping my head around OO | 04:50 | |
classes/objects etc | |||
skids | It just shadows the .Str method from Int, which is what is used internally by say and friends. | 04:51 | |
It's not really useable though, because it can't do math without losing its type. | 04:52 | ||
Herby_ | hmm ok | ||
05:08
bzipitidoo left
05:09
nige1 joined
05:15
psy_ left
05:16
TimToady joined
|
|||
gfldex | m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! Empty, $b ?? b=>$b !! Empty }; dd f(b=>1) | 05:21 | |
camelia | rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}» | 05:22 | |
gfldex | ^^^ Empty is very useful | ||
05:25
schnuppi joined
|
|||
skids | m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! Empty, $b ?? b=>$b !! |() }; dd f(b=>1) | 05:27 | |
camelia | rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}» | ||
skids | Slip will definitely stick around, Empty may not. | ||
m: sub f(:$a?, :$b?){ my %h = $a ?? a=>$a !! |(), $b ?? b=>$b !! |() }; dd f(b=>1) | |||
camelia | rakudo-moar f1dd49: OUTPUT«Hash %h = {:b(1)}» | ||
skids | When they made Empty it was a stepping-stone to get by until GLR was compete. | 05:28 | |
m: constant f = |(); say 1, f, 2; # Though I guess if Empty can just be defined that way there's no reason not to have it | 05:31 | ||
camelia | rakudo-moar f1dd49: OUTPUT«12» | 05:34 | |
MadcapJake | anyone got any ideas as to why i would get a segmentation fault after installing rakudo? | ||
running `perl6` immediately segfaults | |||
dalek | osystem: 3b9da81 | (Gonéri Le Bouder)++ | META.list: add the Email::Notmuch module Email::Notmuch is a binding for the NotmuchMail mail search library. notmuchmail.org/ |
||
osystem: 0c159f7 | (Zoffix Znet)++ | META.list: Merge pull request #116 from goneri/master add the Email::Notmuch module |
|||
MadcapJake | tried running inside gdb, but it says that it (and /usr/bin/moar) are not in executable format | ||
skids | did you install via rakudobrew, or "by hand"? | ||
sortiz | MadcapJake: Are you using rakudobrew? | ||
MadcapJake | by hand | ||
geekosaur | even by hand I think those are scripts | ||
MadcapJake | I'm trying to write a package for Solus Project (sort of like arch's pkgbuild script) | ||
geekosaur | you need to inspect the script to see how to run the actual executable | ||
skids | Did you clean out moar and nqp binaries before installing rakudo? | ||
MadcapJake | skids, that could be it | 05:35 | |
05:35
Cabanossi left
05:36
Zoffix joined
|
|||
MadcapJake | nope wasn't it :P | 05:36 | |
well /usr/bin/moar is not a script, but that one still won't run in gdb for some reason | 05:37 | ||
05:38
Cabanossi joined
|
|||
gfldex | MadcapJake: you could try to generate a coredump and inspect that | 05:38 | |
05:39
vendethiel joined
|
|||
hoelzro | MadcapJake: have you tried perl6-gdb-m? | 05:40 | |
MadcapJake | hoelzro, yeah i tried that still segfaults | 05:41 | |
hoelzro | and GDB gives you no meaningful info? | ||
MadcapJake | nothing | ||
hoelzro | o_O | ||
valgrind it? | |||
Quom__ | And you got rid of old core-precomps? | ||
MadcapJake | this os builds software in it's own little filesystem and then when you install it just shifts the files over to your system. so somewhere along the way, I think I'm fudging something up xD | 05:43 | |
05:43
lsm left
|
|||
MadcapJake | thought this would be an easy thing, now i've spent two days worth of my freetime on it x_x | 05:44 | |
i think what i'm gonna have to do is actually following the arch packages philosophically i.e., build each element in a separate package and then just depend on each one. | 05:45 | ||
05:46
skids left
|
|||
hoelzro | MadcapJake: are you building arch packages? | 05:48 | |
MadcapJake | hoelzro, no, Solus Project packages solus-project.com wiki.solus-project.com/Package.yml | 05:49 | |
hoelzro | interesting, never heard of this | 05:50 | |
MadcapJake | similar to pkgbuild in terms of syntax, but I am no arch user so I don't know if the architecture is similar | ||
not syntax, semantics, i guess, Solus uses YAML files, but the layout of the file is similar | 05:51 | ||
05:52
Herby_ left
|
|||
MadcapJake | figured it out! | 06:01 | |
so nice to see that lovely repl arrow! | |||
06:01
vendethiel left
|
|||
MadcapJake | hmmm, "Unable to load setting CORE; maybe it is missing a YOU_ARE_HERE?" | 06:02 | |
06:07
Sgeo_ left,
Sgeo_ joined
06:09
krunen left,
zmyrgel left
06:10
krunen joined,
zmyrgel joined
06:11
Humbedooh left
06:17
Humbedooh joined
06:18
pjscott joined,
Humbedooh left,
Humbedooh joined
06:21
yeahnoob left
06:23
g4 joined,
g4 left,
g4 joined
06:31
obra joined
06:35
vendethiel joined
|
|||
sortiz | m: role FL { multi method list(Array:D:) { self.List } }; my @a := [1,(2,3),4]; my @b := @a but FL; say .list.flat for @a, @b | 06:37 | |
camelia | rakudo-moar f1dd49: OUTPUT«(1 (2 3) 4)(1 2 3 4)» | ||
06:39
geraud left
06:40
yeahnoob joined
06:56
domidumont joined
06:58
vendethiel left
06:59
FROGGS left
07:01
domidumont left
07:02
orevdiabl left,
domidumont joined
07:07
virtualsue joined
07:08
pjscott left,
sjoshi joined
07:10
Actualeyes left
|
|||
[Tux] | csv-ip5xs 50000 18.308 18.198 | 07:13 | |
test 50000 23.577 23.466 | |||
test-t 50000 12.737 12.627 | |||
csv-parser 50000 49.966 49.856 | |||
07:19
Casan left
07:21
FROGGS joined,
perlawhirl joined
07:24
perlawhirl left
07:29
_nadim joined,
Actualeyes joined
07:31
marmay joined
07:34
_Gustaf_ joined,
firstdayonthejob joined
|
|||
_Gustaf_ | Is there any updates on when a new Rakudo star based on 6.c will be awailable? | 07:36 | |
07:36
yeahnoob_ joined
|
|||
FROGGS | _Gustaf_: there is a release candidate available | 07:36 | |
***ALL*** - just made an RC0 of rakudo star, as of today's codebase: froggs.de/perl6/rakudo-star-2016.01-RC0.tar.gz | 07:37 | ||
***ALL*** - please test it and report bugs to the rakudo/star repository, but keep in mind it is an RC0, so dont update your production servers just now | |||
_Gustaf_: ^^ | |||
please test | |||
the real Star release will be the the 2016.01, which will happen in a week | 07:38 | ||
07:40
yeahnoob left,
Tonik joined
07:44
frankjh joined
|
|||
_nadim | Good morning | 07:48 | |
07:49
raiph left
|
|||
_Gustaf_ | FROGGS: Ohh sweet. I´ll try it out | 07:51 | |
08:01
vendethiel joined
|
|||
dalek | line-Perl5: ef591b6 | (Stefan Seifert)++ | META.info: Use correct versionin scheme for Perl 6 in META.info |
08:02 | |
08:05
nige1 left,
wamba joined
08:09
schnuppi left
08:14
darutoko joined
|
|||
FROGGS | morning _nadim | 08:14 | |
moritz | \o | 08:15 | |
good morning FROGGS++; testing the star RC0 now | |||
FROGGS | cool! | 08:16 | |
moritz | so far it looks good | 08:17 | |
(currently at DBIish) | |||
==> Installing DBIish # this step took really long; did it re-precompile the code here? | 08:18 | ||
looks very good; sucessfully installed, and I can load those modules | 08:20 | ||
now testing panda | |||
panda works too | 08:21 | ||
\o/ | |||
now trying with a custom prefix | 08:22 | ||
08:23
vendethiel left
08:24
ab6tract joined,
firstdayonthejob left
|
|||
ab6tract | good 8, #perl6 | 08:25 | |
err, good * :) | |||
let's say that i would like a coercion sub to not simply return a new object of the coerced type, but to actually stash it in the current container.. is this possible? | 08:26 | ||
i note that 'self := Obj.new' is not valid | 08:27 | ||
08:27
schnuppi joined
|
|||
moritz | ab6tract: what do you mean by "current container"? | 08:28 | |
ab6tract | moritz: the container of the object that is being coerced | 08:29 | |
rather than my $other = $orig.Other | |||
$orig.Other; $orig ~~ Other | 08:30 | ||
08:31
espadrine joined,
nige1 joined
|
|||
ab6tract | moritz: do you understand what i mean? | 08:32 | |
moritz | ab6tract: why would you want to do that? | ||
El_Che | I like the "is rw" trait in method signature, but I wonder if it would be interesting at the caller instead, so you know what happens with your data wihtout expecting the signature (just musing) | ||
moritz | ab6tract: it's possible if you explicitly declare the invocant as 'is rw' or as \ | 08:33 | |
m: class A { method x(SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x | |||
camelia | rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JDgmkB3FrsInvalid typename 'SELF' in parameter declaration.at /tmp/JDgmkB3Frs:1------> 3class A { method x(SELF7⏏5 is rw:) { SELF = 42 } }; my $x = A; $x.» | ||
moritz | m: class A { method x(\SELF is rw:) { SELF = 42 } }; my $x = A; $x.x; say $x | ||
camelia | rakudo-moar f1dd49: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A0SoPVIHeeCan only use 'is rw' on a scalar ('$' sigil) parameterat /tmp/A0SoPVIHee:1» | ||
moritz | m: class A { method x($SELF is rw:) { $SELF = 42 } }; my $x = A; $x.x; say $x | 08:34 | |
camelia | rakudo-moar f1dd49: OUTPUT«42» | ||
moritz | but that's like, totally confusing for the user in most cases | ||
ab6tract | moritz: I'm writing a TwoThree tree implementation, and I would like to have the nodes move from leaf to twonode to threenode without having to do any juggling | 08:35 | |
i'm not sure it is better yet, but thought i would try | |||
what does the colon at the right hand of the signature imply here? | |||
moritz | ab6tract: it's the paramater for the invocant, that is, the thing you call the method on | 08:37 | |
08:40
brrt joined
|
|||
frankjh | Hi, I have an initial version of my first perl6 library ready. It does public key en/decryption using nacl. Please see github.com/soundart/perl6-tweetnacl . Known problems: I can use it with Configure.pl, but panda does not work. Very uncertain wrt to my perl6 usage... | 08:41 | |
moritz | frankjh: I'm not very familiar with that part of Perl 6, but I'd suggest looking at other projects that have C components | 08:42 | |
frankjh: Inline::Perl5 in particular is known to currently work; it has a configure.pl6 an Build.pm | |||
08:43
linkq joined
|
|||
FROGGS | frankjh: one thing I spot: here[^1] you state you expose it as TweetNacl, but in the META6.json you expose it as "Add"... [^1] github.com/soundart/perl6-tweetnac...-load.t#L5 | 08:43 | |
frankjh | moritz: Thanks. Is there a way to do a panda install locally? | 08:44 | |
nine | panda install . | ||
yoleaux | 01:57Z <hoelzro> nine: I rebased the query repos branch on top of nom, and pushed query_repos_old in case I b0rked it | ||
nine | .tell hoelzro \o/ thanks a lot! | ||
yoleaux | nine: I'll pass your message to hoelzro. | ||
frankjh | FROGGS: Thanks. I started from a perl6 example using an 'Add' module on github. | 08:46 | |
moritz | FROGGS: star rc0 also works for me with a custom prefix | ||
frankjh | wrt.: META6.json, is the libtweetnacl.dylib name ok, or is this OS dependant? | 08:47 | |
I am building tweetnacl.so | 08:49 | ||
FROGGS | moritz: ohh cool, I'd not tested that | ||
frankjh: a .dylib is for OS X only | |||
moritz | FROGGS: so you have my axe, and my green light :-) | ||
FROGGS | *g* | 08:50 | |
FROGGS needs to watch that again | |||
08:50
schnuppi left
|
|||
nine | frankjh: when you use "tweetnacl" as name in your META.info and in your is native traits, rakudo will expand that to tweetnacl.dylib on OS X, tweetnacl.dll on Windows and libtweetnacl.so on Linux | 08:51 | |
FROGGS | frankjh: yes, that resources entry in the meta file is problematic | ||
frankjh | FROGGS, nine: So I simply remove the .dylib extension? | ||
FROGGS | nine: he builds and wants to install it: github.com/soundart/perl6-tweetnac...json#L5-L7 | 08:52 | |
frankjh: I fear you wont get the lib installed whatever you do | 08:53 | ||
nine | FROGGS: yes, then it should be "resources": ["libraries/tweetnacl"] as in github.com/niner/Inline-Perl5/blob...A.info#L15 | ||
FROGGS: ^^^ | |||
08:53
zakharyas joined
|
|||
nine | frankjh: ^^^ | 08:53 | |
FROGGS | nine: and that works? | ||
obviously I guess | |||
nine | FROGGS: either that or people just imagine using Inline::Perl5 :) | ||
FROGGS | *g* | 08:54 | |
moritz | Inline::Perl5 doesn't really allow you to call Perl 5 code; it just has huge number of popular p5 modules baked in, so nobody noticed | ||
(p6 ports of the p5 modules, I mean :-) | |||
nine | moritz: ssssht! | ||
frankjh | Ok. I will try to use the build setup style from Inline-Perl5. Thanks! | 08:55 | |
nine | The Build.pm and configure.pl6 are still a bit more complicated than I'd like. One of these days I'll propose a patch to LibraryMake to simplify them. | 08:56 | |
FROGGS | nine: and we should work on supporting longnames in meta files | 08:57 | |
nine | We should work on supporting longnames everywhere... | ||
FROGGS | we... dont support them anywhere? | 08:58 | |
nine | Ask a class for its version | ||
FROGGS | I mean, they work on a use statement still, no? | ||
nine | Or load two different versions of modules. | ||
FROGGS | that depends on aliasing | ||
nine | Yes, module loading is pretty much the only place where it works right now | ||
08:59
guest23223 joined
|
|||
FROGGS | so I can load two different Foo's in two different scopes in my script at least | 08:59 | |
nine | oh, of course, different scopes! | ||
08:59
cpage joined
|
|||
_Gustaf_ | FROGGS: Building and installing on Windows 8.1 with strawberry perl works great, only a small issue with the panda install panda-m.bat | 09:00 | |
FROGGS | _Gustaf_: now you are talking about rakudo installed from git, right? | 09:01 | |
_Gustaf_ | FROGGS: No. The star RC0 | ||
FROGGS | O.o | ||
that's usually used on linux only, or when building the star msi | 09:02 | ||
what happens to the panda-m ooc? | |||
bbi5 | |||
_Gustaf_ | FROGGS: pastebin.com/yXdGaepc | 09:03 | |
FROGGS: perl complains on the first line in the bat script fpr some reason | |||
FROGGS | err, it tries to run the panda-m with perl6 | 09:10 | |
_Gustaf_ | Interesting ;) | 09:11 | |
FROGGS | ohh | ||
can you remove the $(BAT) in the makefile where module-install is called? | 09:12 | ||
near line 73 apparently | |||
_Gustaf_ | sure | ||
FROGGS | and then you can just do: gmake modules-install | ||
09:15
ab6tract left
|
|||
El_Che | FROGGS: is rakudo tested on other platforms than lin/win/mac? I tries solaris but got stuck on libuv. | 09:16 | |
FROGGS | El_Che: we know it works on bsd and raspbian | ||
El_Che: but yeah, libuv seems to either not like their compiler, or we configure it wrongish | 09:17 | ||
El_Che | FROGGS: I tried with gcc | ||
FROGGS | El_Che: something about declaration before code, right? | ||
El_Che | well, not really | ||
FROGGS | hmm, paste? | ||
09:18
aenaxi left
|
|||
El_Che | on solaris 10: missing interface | 09:18 | |
on solaris11: it compiles fine, but fails tests | |||
FROGGS: I'll look it up or rerun it if you're interested | |||
FROGGS | I am | ||
El_Che | ok, noted | ||
_Gustaf_ | FROGGS: Now it works like a charm | 09:19 | |
El_Che | I talked with the libuv people (they come from opensolaris) | ||
they concentrate on illuminos (the opensolaris derivative) and kind of let go of solaris | |||
FROGGS | aha | ||
09:20
uruwi left
|
|||
FROGGS | yeah, then this is kinda (not) related: github.com/MoarVM/MoarVM/issues/306 | 09:20 | |
El_Che | FROGGS: I am associated with OpenCSW, and their are moving to gcc (most of it is gcc already) | 09:21 | |
FROGGS: too much hassle with suncc | |||
FROGGS | +1 to moving to gcc | ||
El_Che | I create a gcc perl5.22.1 packages for them (now in experimental). Their perl5 is an ancient 5.10.1 with suncc | 09:22 | |
(funnily enough, in the meantime I moved to a job without solaris :) ) | 09:23 | ||
frankjh | nine. Do I have to provide sub native(Sub $sub) {..}in my TweetNacl.pm6 to support loading of the shared library from the correct place? Or do I need to do more? | 09:24 | |
09:24
CurtisOvidPoe joined
|
|||
FROGGS | El_Che: hehe | 09:25 | |
CurtisOvidPoe | Hi all. If I define a class as a subclass of a numeric type, but I wanted to remove some numeric operators, how would I do that? | ||
FROGGS | CurtisOvidPoe: I guess you cant... | 09:26 | |
CurtisOvidPoe: do you have an example, where I could see *why* you want to remove ops? | 09:27 | ||
nine | frankjh: the sub native in Inline::Perl5 is almost obsolete now. I could just as well write my constant $p5helper = %?RESOURCES<libraries/p5helper>.Str; sub p5_init_perl() is native($p5helper) returns Perl5Interpreter { ... }; | ||
CurtisOvidPoe | FROGGS: masak was telling me that I can, but I forgot to follow up with him on how to do that. Maybe I misunderstood him? | ||
nine | frankjh: it used to contain much more code before we got support for %?RESOURCES | 09:28 | |
FROGGS | CurtisOvidPoe: you can of course add these ops for your type, and because these will be more specific they will be picked | ||
CurtisOvidPoe: but infix:<+>(Int, Int) will always be a valid candidate otherwise, when you subclass Int | 09:29 | ||
CurtisOvidPoe | FROGGS: Let’s say I declare “class Temperature::Fahrenheit is Num { … }” There’s no point in *multiplying* temperatures, but adding them (to take average temperatures) would make sense, but only if I was adding them to other instances of Fahrenheit classes. | ||
09:29
baest_ is now known as baest
|
|||
masak | good antenoon, #perl6 | 09:29 | |
CurtisOvidPoe | Good morning, masak. Did I wake you? :) | 09:30 | |
masak | CurtisOvidPoe: did I say that? interesting. | ||
nope, didn't wake me :) | |||
CurtisOvidPoe | masak: we were at a conference chatting about it. | ||
El_Che | CurtisOvidPoe: you snore | ||
:) | |||
FROGGS | CurtisOvidPoe: you could add an infix:<*>(Fahrenheit, Fahrenheit) { fail "OHH NOES" }, but that's icky IMO | ||
09:30
linkq left
|
|||
CurtisOvidPoe | El_Che: so my wife tells me :) | 09:30 | |
masak | CurtisOvidPoe: my first reaction is that class-based inheritance isn't a good fit for *removing* functionality | ||
FROGGS | aye | 09:31 | |
masak | CurtisOvidPoe: oh, the celsius/fahrenheit thing | ||
CurtisOvidPoe | masak: yes, that’s true. | ||
FROGGS | and allowing +, -, /, but not * is weird | ||
masak | CurtisOvidPoe: I don't remember what I advised you, but I'm pretty sure it wasn't `is` inheritance | ||
CurtisOvidPoe: it's coming back, piece by piece. your issue was that you weren't abstracting *away from* the normal numbers. so you got multi conflicts | 09:32 | ||
CurtisOvidPoe | I don’t recall exactly either. I was also using examples of distance to ensure that you couldn’t compare meters and feet, even though both might be Nums. | ||
masak | CurtisOvidPoe: but... I'm also pretty sure I left you a gist or something. do you still have the URL? | ||
CurtisOvidPoe | Don’t remember the gist, sorry :/ | ||
09:32
abraxxa joined
|
|||
masak | this must have been... YAPC::Europe 2015, yes? | 09:32 | |
CurtisOvidPoe | Yes, I think so. | 09:33 | |
I guess it’s better to get to the heart of the issue: I’d like a programmatic way to *declaratively* prevent this bug: articles.latimes.com/1999/oct/01/news/mn-17288 | |||
masak | CurtisOvidPoe++ # circumventing XY problem | 09:34 | |
09:34
schnuppi joined
|
|||
masak | CurtisOvidPoe: I think I would make a new class that doesn't inherit, but wraps a Num (or Real, or Numeric, depending) | 09:35 | |
CurtisOvidPoe: then you can selectively allow through whatever operations you care for | |||
09:35
RabidGravy joined
|
|||
masak | CurtisOvidPoe: can even be made fairly terse, with `handles` | 09:35 | |
in other words, "favor composition, not inheritance" | |||
CurtisOvidPoe | masak++ | 09:36 | |
RabidGravy | morning! | ||
yoleaux | 03:50Z <skids> RabidGravy: Got a start on List/Array page at doc/Language/list.pod | ||
RabidGravy | skids++ nice one | 09:37 | |
_Gustaf_ | RabidGravy Morning | ||
09:37
lnrdo joined,
abraxxa left
09:43
yeahnoob_ left
|
|||
masak | seriously, `handles` is Perl 6's gift to people who want to wrap rather than inherit. it's so nice. and very versatile. | 09:45 | |
RabidGravy | yeah, it's a great thing, and if you do handles on a method you can get a nice degree of laziness too :) | 09:47 | |
09:49
abraxxa joined
|
|||
DrForr waves in passing at Curtis. | 09:53 | ||
CurtisOvidPoe | Hi DrFoo. | 09:56 | |
“DrForr” :) | |||
I can’t get “handles” to work with the infix +. I’ve tried declaring my own operator, and that fails too. What am I doing wrong? gist.github.com/Ovid/fe0847a882ceda440271 | 09:58 | ||
09:59
schnuppi left
|
|||
arnsholt | CurtisOvidPoe: Operators aren't methods on objects, but multi sub | 10:00 | |
*s | |||
So you want "multi sub infix:<+>(F $, F $) { ... }" outside the class | |||
CurtisOvidPoe | arnsholt: Thanks. Fails with the same error, though. | 10:01 | |
dalek | kudo/nom: 04ac7e2 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp: Remove remaining code referencing @*INC Fixes the occasional: WARNING: unhandled Failure detected in DESTROY: Dynamic variable @*INC not found in any at gen/moar/m-ModuleLoader.nqp line 83 |
||
CurtisOvidPoe | arnsholt: I’ve left a reply on that gist showing my exact code. | 10:02 | |
10:04
rindolf joined
10:06
joydo left
10:07
xpen left
|
|||
arnsholt | Weird! | 10:10 | |
masak has a look | |||
10:11
xpen joined
|
|||
masak | it's trying to numify $t1 for some reason | 10:11 | |
adding a `method Numeric { self }` to Fahrenheit causes an infinite loop | 10:12 | ||
surely doing a custom infix:<+> on one's own objects doesn't *require* the objects to be Numeric? | |||
RabidGravy | is there a (Numeric() , Mu ) candidate for <+> ? | 10:13 | |
arnsholt | No, that'd be weird... | ||
DrForr | Wouldn't that be method Numeric { self.temperature }? | ||
masak | DrForr: no, that'd defeat the purpose | ||
DrForr: we want the temperatures to act as number-ish objects | |||
adding `does Numeric` to the class also causes an infinite loop | |||
all I can say is that this doesn't behave as I remember it :( | 10:14 | ||
RabidGravy | ah, it's a typo | ||
DrForr | I understand the purpose, I'd just thought that returning the internal object as the typed object would be TRT. | ||
RabidGravy | $t1 + $2 vs $t1 + $t2 | ||
with the latter it works | 10:15 | ||
masak | ahhh | ||
CurtisOvidPoe | DAMN IT! :) | ||
masak | RabidGravy++ | ||
huf | that's quite an obscure error message for a typo :) | ||
10:16
gregf left
|
|||
masak | we could have avoided this by adding two more candidates, for Fahrenheit + Any and Any + Fahrenheit | 10:16 | |
RabidGravy | it probably can't do any better if $2 is defined already | ||
masak | which are probably good to have anyway | ||
CurtisOvidPoe | And makes my slides longer if I include this. | ||
RabidGravy | the moral of this is more coffee before typing | 10:17 | |
DrForr | El_Che: Was looking at the FOSDEM talk descriptions, looks good. I'll assume that the repeat of the abstract is because of a bug on their site? | ||
El_Che | I'll have a look, yours wasn't up yesterday | 10:18 | |
probably my fault (pentabarf is awful) | 10:19 | ||
there is an abstact and description | |||
a copy paste the same on both | |||
(it complains otherwise) | |||
I'll try to fix it | |||
DrForr | Happened to everyone's - fosdem.org/2016/schedule/event/perl6grammars/ # is my link. | 10:20 | |
El_Che | I'll fix it now | 10:21 | |
however, it's not realtime -> they run a cronjo | |||
b | |||
10:22
gregf joined
|
|||
masak | CurtisOvidPoe: maybe put the other two candidates on a separate slide, and make a separate point of it? | 10:22 | |
CurtisOvidPoe: they're not *strictly* necessary, but they make the end result better, IMO | |||
CurtisOvidPoe: as in, with them you also control whenever someone tries to add Fahrenheit to something else, instead of getting the inscrutable error we got just now | 10:23 | ||
CurtisOvidPoe | masak: I’m currently at 93 slides for a 40 minute talk. I should have been subtracting instead of adding :) | ||
But yes, that’s a definite improvement! | |||
10:23
abraxxa left
|
|||
huf | what's a (Mu:U \v: *%_) ? | 10:23 | |
some kind of most useless method at the top of the type hierarchy? | 10:24 | ||
RabidGravy | it's just an inherited Numeric method | ||
10:24
stmuk_ joined
|
|||
masak | CurtisOvidPoe: far be it from me to tell you which slides to include or not. I'm definitely arguing without surrounding context here. :) | 10:24 | |
CurtisOvidPoe | masak: but it’s definitely a good argument. | 10:25 | |
10:26
stmuk__ left
|
|||
DrForr | Hrm. I'm finding myself wanting a 'tokens { NAME => "value", NAME => "value" }' construct now. I suppose I could write my own.. | 10:27 | |
RabidGravy | gwan! | 10:30 | |
10:31
AlexDaniel joined
10:32
FROGGS left,
sortiz left
|
|||
DrForr | It's mostly for aesthetic reasons. I have ~25 tokens that are single words and having to repeat 'token NAME { "name" }' every single time is a touch annoying. | 10:32 | |
nine | I've just sent my second inquiry to TPF regarding monthly donations by our company to the Perl 6 core fund. It's incredible how hard it is to get rid of some money. | 10:35 | |
DrForr | Donate it to me, I'll make sure it gets put to use :) | 10:36 | |
10:36
abraxxa joined
10:38
guest23223 left
|
|||
RabidGravy | If it's not in a brown envelope handed over at Waterloo station, it's no good | 10:40 | |
10:44
brrt left
10:45
FROGGS joined,
donaldh joined
|
|||
donaldh | Has anyone successfully used Grammar::Debugger or Grammar::Tracer with rakudo 2015.12 ? | 10:50 | |
I'm trying to use it in conjunction with Grammar::ABNF and getting: P6M Merging GLOBAL symbols failed: duplicate definition of symbol grammar | |||
nine | That's an open issue possibly connected to module loading. | 10:51 | |
donaldh | ah, okay. Thanks | ||
FROGGS | hi donaldh | ||
donaldh | o/ | 10:52 | |
RabidGravy | remind me what I was going to look at today, the "armagnac barrel aged imperial brown ale" appears to have robbed me of my memory | 10:53 | |
;-) | |||
DrForr | Grammar::Tracer failures? :) (Actually interesting to me too because I was about to tear into it to create a tiny pseudotracer.) | 10:55 | |
11:01
nige1 left
11:05
jdrab joined
|
|||
frankjh | nine: Thanks you! I used constant $p5helper. Building and testing works with Configure.pl6 and panda. | 11:07 | |
11:09
aenaxi joined
|
|||
frankjh | panda install fails, because it cannot find: TweetNacl::Constants. | 11:10 | |
Ah, fixed it too! | 11:13 | ||
==> Successfully installed TweetNacl | 11:14 | ||
:) | |||
RabidGravy | wahay! | ||
nine | yeah! | 11:16 | |
frankjh | It was a short moment, however. panda install . work, but panda install git://github.com/soundart/perl6-tweetnacl.git fails. | 11:18 | |
RabidGravy | I didn't even know that was supposed to work | 11:19 | |
11:19
kid51 joined
|
|||
RabidGravy | it would be cool if it did though | 11:19 | |
nine | frankjh: fails how? | 11:20 | |
RabidGravy tries | |||
11:21
stmuk__ joined
|
|||
RabidGravy | frankjh, you're not setting <tweetnacl> correctly in your Build (or using the wring variable | 11:23 | |
frankjh | I think I found it, it did not expand %tweetnacl% in Makefile.in | ||
RabidGravy | it's trying to build /home/jonathan/devel/perl6/.panda-work/1452252075_1/resources/libraries/%tweetnacl% | ||
frankjh | RabidGray: yes indeed. I think I fixed it.... | ||
RabidGravy | cool | 11:24 | |
11:24
stmuk_ left
11:25
regreg joined
11:26
leont joined
|
|||
frankjh | RabidGravy, could you please try again. I think it was github.com/soundart/perl6-tweetnac...1fca14ef3. Can I somehow uninstall something with panda, so I can check myself? | 11:26 | |
RabidGravy | All tests successful. | 11:27 | |
Files=5, Tests=12, 19 wallclock secs ( 0.03 usr 0.01 sys + 18.09 cusr 0.75 csys = 18.88 CPU) | |||
Result: PASS | |||
frankjh++ | |||
nine | .seen ShimmerFairy | ||
yoleaux | I saw ShimmerFairy 1 Jan 2016 16:40Z in #perl6: <ShimmerFairy> I'll try to be more constructive in the future, but god I would love it if just once I could share an unpopular opinion or viewpoint here and have at least one person see some of the good in what I'm trying to say. In any case, now I feel like shit and it's time for bed. | ||
frankjh | :) | 11:28 | |
RabidGravy: Thanks! | |||
nine | frankjh: uninstallation is currently not implemented. You can overwrite the installed version with panda --force install | 11:29 | |
RabidGravy | frankjh, you can do "panda --force install .... " | ||
frankjh | ok | ||
gfldex | m: my $in = 0; sub f(*@c) { (temp $in)++; "<f>\n" ~ @c>>.indent($in).join("\n") ~ (+@c ?? "\n" !! "") ~ '</f>' }; sub g(*@c) { (temp $in)++; "<g>\n" ~ @c>>.indent($in).join("\n") ~ (+@c ?? "\n" !! "") ~ "</g>"}; print g(g(f(g()),g(),f())) | 11:33 | |
camelia | rakudo-moar 04ac7e: OUTPUT«<g> <g> <f> <g> </g> </f> <g> </g> <f> </f> </g></g>» | ||
gfldex | i found a better example for C<temp> :) | ||
RabidGravy | yay! | 11:35 | |
11:35
TEttinger left
|
|||
gfldex | and it will drive Heskellists nuts | 11:35 | |
leont uses temp quite a bit in context-full parsing (e.g. YAML) | 11:38 | ||
RabidGravy | gfldex, if you made that a FALLBACK method you could make an "xml writer" in a couple of lines | 11:41 | |
gfldex | i'm using it while parsing the xhtml1.1 schema and generating the source of a module that defines a sub for each html element and it's respective attibutes as named arguments | 11:48 | |
donaldh | okay, so Grammar::Debugger works if I inline Grammar::ABNF and my code in a single file. | ||
RabidGravy | m: gist.github.com/jonathanstowe/f351...a3868c7f58 | 11:49 | |
camelia | rakudo-moar 04ac7e: OUTPUT«<foo> <bar> <baz> </baz> </bar></foo>» | ||
RabidGravy | perl6++ | 11:50 | |
gfldex | we should add tasks to rosetta code that are pretty much impossible in other languages (that are not Haskell ofc) | 11:51 | |
AlexDaniel | gfldex: well volunteered? :) | 11:52 | |
gfldex | i doubt my smarts are sufficient for that | 11:53 | |
AlexDaniel | actually, I've always wanted to revise rosetta code entries in perl6. A lot of them don't even work with 6.c | ||
RabidGravy | AlexDaniel, I think Juerd and bpeterling are looking at it at the moment | ||
AlexDaniel | oh! That's very good! ++ | 11:54 | |
leont would use dynamic sub generation for that, though he doesn't quite know the syntax (I'm sure it exists though) | 11:55 | ||
dalek | c: 8660e53 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod: better example for C<temp> |
||
c: b80697a | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod: Merge pull request #331 from gfldex/master better example for C<temp> |
|||
AlexDaniel | gfldex: you are doing great with the documentation though :) | 11:56 | |
gfldex | given how well my memory works, it's just an act of selfishness | 11:57 | |
AlexDaniel | m: .say given 42 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
AlexDaniel | m: .say with 42 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
11:57
regreg_ joined
|
|||
AlexDaniel does not remember the difference | 11:58 | ||
gfldex | m: sub f($_){ .WHAT }; say f 42; | ||
camelia | rakudo-moar 04ac7e: OUTPUT«(Int)» | ||
ilmari | m: .say with Mu | ||
camelia | ( no output ) | ||
ilmari | m: .say given Mu | ||
camelia | rakudo-moar 04ac7e: OUTPUT«(Mu)» | ||
AlexDaniel | gfldex: don't worry, that's how our memory works too | ||
gfldex | with tests for definedness and sets the topic | ||
12:00
regreg left
|
|||
leont | unless/without also setting the topic is surprisingly useful | 12:02 | |
AlexDaniel | m: $_ = 69; .say with 42 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
AlexDaniel | m: $_ = 69; .say with Mu | ||
camelia | ( no output ) | ||
12:03
virtualsue left
|
|||
frankjh | I have now activated travis-ci: github.com/soundart/perl6-tweetnac...ravis.yml. It looks as if perl6 itself +panda + my library has been built. Is this as expected? Or should I limit this somehow to my library only? | 12:04 | |
DrForr | It installs your library with Panda, I'm guessing, so no. | 12:08 | |
frankjh | ok thanks | ||
Juerd | AlexDaniel, RabidGravy: I'm just checking whether they work. Only a few very messy ones I'll rewrite | 12:09 | |
AlexDaniel | Juerd: that's very good | ||
Juerd: do you have any checklist? | 12:10 | ||
12:10
virtualsue joined
|
|||
donaldh | ah, Grammar::ABNF does not handle multi-line rules yet. | 12:10 | |
Juerd | AlexDaniel: Nope, /^A/ and /^B/ are done. /^C/ only [^30] | ||
AlexDaniel | Juerd: eg.g a list of entries that were tested | ||
Juerd: perhaps consider creating one | 12:11 | ||
Juerd | In case you like a todo list for articles that need fixing, rosettacode.org/wiki/Category:Perl_..._attention | ||
12:11
xpen left
|
|||
AlexDaniel | well, I'm more interested in a list that is know to work (and a date when it was checked) | 12:11 | |
of stuff that is known to work* | 12:12 | ||
Juerd | I don't have a list like that | 12:13 | |
And I read now that we've been using {{works with}} wrong. Apparently it's supposed to be used as a minimum version, not the one you tested with. Too much work; I'll just leave out the {{works with}} instead from now on | |||
AlexDaniel | Juerd: what if we just write 6.c ? | 12:14 | |
if it works today, there is a high chance that it works with 6.c generally | |||
12:14
jam_ joined
|
|||
Juerd | Still based on heuristics | 12:15 | |
There are too many articles to pay a lot of attention to each of them. | |||
I wish they had a standard format so testing could be automated. But that's for another time. :P | |||
Some are more tutorial-like and don't have output | |||
12:15
jam_ left
12:16
Skarsnik joined
|
|||
Skarsnik | Hello | 12:17 | |
Juerd | Hi | 12:18 | |
masak | greetings, earthling | 12:19 | |
12:21
donaldh left
12:27
patrickz joined,
rindolf left
12:28
tspjf joined
12:30
virtualsue left
12:36
frankjh left
12:41
kid51 left,
rindolf joined
|
|||
Skarsnik | Is there a way to know if a module is installed without using something like try { use}? | 12:43 | |
nine | Not yet. There is code for it in the query_repos branch whic I'm gonna merge soonish I guess | 12:44 | |
12:45
sno left
|
|||
RabidGravy | nine++ | 12:45 | |
12:45
funrep joined,
sno joined
|
|||
Skarsnik | Oh nice | 12:45 | |
nine | I miss the times already, when I would just have had pushed it a week ago :) | ||
funrep | is perl6 a good place to invest ones time if one likes to tinker and program for fun? | ||
nine | But they will come again once we know how to handle language versions | ||
funrep: definitely :) | |||
timotimo | you mean try require | 12:46 | |
RabidGravy | funrep, yep we're all about the fun here :) | ||
timotimo | funrep: i very much think so | ||
llfourn | funrep: it is a slam dunk investment decision if you are looking for fun | ||
timotimo | but that could just be personal to me | ||
llfourn | (and the occaisonal bug report) | ||
12:47
nexysno_ joined
|
|||
funrep | awesome | 12:47 | |
timotimo | but in my case, playing around with perl6 for fun quickly led to my involvement with core development ... :P | ||
on the other hand, i learned a crazy amount of stuff about all kinds of things on the way | 12:48 | ||
llfourn | timotimo, core developer, do you know a way I can introspect the method cache of an object? | 12:49 | |
timotimo | i don't know, but i can have a look | ||
Juerd | ^ And that's why open source projects are much nicer than commercial suppliers | 12:50 | |
llfourn | thanks! I have seen cache_get in MethodContainer.nqp but I always seem to get Mu returned | ||
m: class Foo { method foo { } }; Foo.foo; say Foo.^cache_get('foo') | 12:51 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«(Mu)» | ||
timotimo | oh, hmm. | 12:52 | |
m: class Foo { method foo { } }; Foo.^add_method("test", anon method { }); Foo.foo; say Foo.^cache_get('foo') | 12:53 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«(Mu)» | ||
timotimo | m: class Foo { method foo { } }; Foo.^add_method("test", anon method { }); Foo.foo; say Foo.^cache_get('test') | ||
camelia | rakudo-moar 04ac7e: OUTPUT«(Mu)» | ||
timotimo | yeah, i don't know what's up with that | ||
this is not really the area i've been involved with so far | |||
llfourn | timotimo: I remember jnthn telling me that if you .^add_method you junk the cache anyway fyi | ||
you need to .^compose to rebuild it | |||
anyways thanks for trying :) | 12:54 | ||
timotimo | you only need to compose subclasses | ||
IIRC | |||
dalek | kudo/nom: fbe0a66 | lizmat++ | src/core/CompUnit/RepositoryRegistry.pm: Speed up setting up repos Although the impact of loading a module like Text::CSV is only about 5 msecs, it seems to have quite a positive effect on running the spectest as a whole (from ~300 to ~275 wallclock, from ~2000 to ~1900 CPU seconds) |
||
llfourn | hmmm ok probably to get the method to work on the subclasses that's true | 12:55 | |
timotimo | oooh, lizmat++ | ||
12:56
rindolf left
12:58
joydo joined
|
|||
llfourn | wait lizmat++ made the spectest run 10 times faster or am I reading that wrong | 12:58 | |
lizmat | llfourn: no, 10% faster at most | ||
timotimo | reading it wrong | ||
the difference between wallclock and cpu time | 12:59 | ||
as liz runs the spec tests with many, many cores at the same time | |||
llfourn | ah "from" "from" I read "to" "from" | ||
lizmat | running spectests with TEST_JOBS=8 | ||
nine | lizmat++ # pure awesomeness! | ||
RabidGravy | gfldex, I think that's taken it as far I want, now with attributes: | 13:00 | |
lizmat | it just goes to show you *can* write NQP in Perl 6 :-) | ||
RabidGravy | m: gist.github.com/jonathanstowe/f351...a3868c7f58 | ||
camelia | rakudo-moar 04ac7e: OUTPUT«<foo zub="flurble" bumble="rarr"> <bar> <baz> stuff </baz> </bar></foo>» | ||
Skarsnik | hm, NC is supposed to fill struct that are emebeded in a struct? | 13:01 | |
timotimo | "fill"? you mean initialize to zeroes? | ||
Skarsnik | Na having value when it's given by the C code | 13:02 | |
Zoffix | m: use Test:ver<42> | ||
camelia | rakudo-moar 04ac7e: OUTPUT«===SORRY!===Cannot call Numeric(Version: ); none of these signatures match: (Mu:U \v: *%_)» | ||
nine | m: use Test:ver<42> | ||
camelia | rakudo-moar 04ac7e: OUTPUT«===SORRY!===Cannot call Numeric(Version: ); none of these signatures match: (Mu:U \v: *%_)» | ||
timotimo | if it's embedded via HAS, then i guess yeah? | ||
nine | m: use Test:ver<v42> | ||
camelia | rakudo-moar 04ac7e: OUTPUT«===SORRY!===Could not find Test:ver<v42> in: /home/camelia/.perl6/2015.12-141-g04ac7e2 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 …» | ||
timotimo | otherwise it's interpreted to be a pointer | ||
Zoffix | How is :ver<> to be interpreted? "At least this version" or "exactly this version"? | 13:03 | |
Skarsnik | Yes. I get Invocant requires an instance of type Gumbo::Binding::gumbo_string_piece_s, but a type object was passed. Did you forget a .new? | ||
lizmat | I wonder if we can automatically optimize the pattern of accessing the same dynamic variable inside a sub multiple times | ||
llfourn | presumeably dynamic variables don't work acrross threads? | 13:04 | |
Skarsnik | hm, it works for other field. | ||
nine | Zoffix: :ver sets a version matcher. | 13:05 | |
m: use Test:ver(v0+) | |||
moritz | m: my $*A = 42; await start { say $*A } # for llfourn | ||
camelia | ( no output ) | ||
rakudo-moar 04ac7e: OUTPUT«42» | |||
nine | m: use Test:ver(v6.a..*) | ||
camelia | ( no output ) | ||
nine | m: use Test:ver(v6.a) | ||
camelia | rakudo-moar 04ac7e: OUTPUT«===SORRY!===Could not find Test:ver<6.a> in: /home/camelia/.perl6/2015.12-141-g04ac7e2 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 …» | ||
Zoffix | Thanks | ||
llfourn | m: my $*A = 42; await start { $*A++ }; say $*A | 13:06 | |
camelia | rakudo-moar 04ac7e: OUTPUT«43» | ||
timotimo | funrep: can you elaborate a bit on what kind of stuff you'd like to be programming? | 13:07 | |
llfourn | m: my $*A = 42; start { $*A++ }; say $*A # so this is a race condition? | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
timotimo | llfourn: of course it is | ||
m: my $A = 0; await (start { $A++ } for ^10); say $A | |||
camelia | rakudo-moar 04ac7e: OUTPUT«10» | ||
timotimo | m: my $A = 0; await (start { $A++ } for ^10); say $A | ||
camelia | rakudo-moar 04ac7e: OUTPUT«10» | ||
Skarsnik | hm, must be the lib fault for my error | ||
Zoffix | m: my $*A = 42; for ^10 { start { $*A++ } }; sleep 2; say $*A | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
llfourn | I kinda expected there to be an implicit my $*A = CALLERS::<$*A> for threads | 13:08 | |
Zoffix | :/ | ||
timotimo | with ^100 i can get it to sometimes result in 99 and sometimes in 100 | ||
funrep | timotimo: no idea actually, learning for the sake of learning not for application purposes | 13:09 | |
llfourn | huh why didn't Zoffix's thing work? | ||
Zoffix | m: my $*A = 42; my @ps = ^10 .map: {start { $*A++ }}; await all @ps; say $*A | ||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | ||
Zoffix | yeah, why? | ||
timotimo | llfourn: we've recently gotten a bit of extra code that makes sure a start block will take over the dynamic variables from its "initial" scope | ||
llfourn | timotimo: by "take over" you mean "have no side affects on" or am I confused? | ||
is what Zoffix showed what you expected? | 13:10 | ||
timotimo | it means you can refer to the original variables | ||
it would have given "dynamic variable $*A not found" before | |||
Zoffix | m: my $A = 42; my @ps = ^10 .map: {start { $A++ }}; await all @ps; say $A | ||
camelia | rakudo-moar 04ac7e: OUTPUT«52» | ||
funrep | heard about perl6 back when i used haskell, but most recently ive been dwelling in c# making games, got bored and thought why not learn a new langauge | ||
Zoffix | timotimo, why is not found when it's right there? | ||
llfourn | m: my $*A = 0; start { $*A = 42 }; sleep 5; say $*A; | ||
13:10
secwang joined
|
|||
camelia | rakudo-moar 04ac7e: OUTPUT«42» | 13:10 | |
Zoffix | funrep, you've come to the right place! :) | 13:11 | |
timotimo | Zoffix: because dynamic variables are looked up on the stack, and "start" schedules a code block on the thread pool scheduler, which has its own stack | ||
Zoffix | I see. | ||
llfourn | m: sub t { say $*d }; my $*d = 1; await do { start { t() } } # is this still a bug? | ||
camelia | rakudo-moar fbe0a6: OUTPUT«Dynamic variable $*d not found in block <unit> at /tmp/7cxxFYV3o6 line 1» | ||
Zoffix | m: my $*A = 42; await start { $*A++ }; say $*A | 13:12 | |
camelia | rakudo-moar fbe0a6: OUTPUT«43» | ||
Zoffix | timotimo, then why does this ^ give 43? | ||
timotimo | why wouldn't it? | ||
llfourn | Zoffix: because of await | ||
Zoffix | Oh immediately await | ||
timotimo | yeah | ||
Zoffix | k. | ||
timotimo | m: my $*A = 42; start { $*A++ }; repeat say $*A until $*A != 42 | ||
camelia | rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YL6cJacByxMissing blockat /tmp/YL6cJacByx:1------> 3my $*A = 42; start { $*A++ }; repeat7⏏5 say $*A until $*A != 42 expecting any of: block or pointy block» | ||
timotimo | m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42 | 13:13 | |
camelia | rakudo-moar fbe0a6: OUTPUT«42» | ||
timotimo | m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42 | ||
camelia | rakudo-moar fbe0a6: OUTPUT«43» | ||
timotimo | m: my $*A = 42; start { $*A++ }; repeat { say $*A } until $*A != 42 | ||
camelia | rakudo-moar fbe0a6: OUTPUT«42» | ||
timotimo | not fast enough | ||
i wonder if SDL2_gfx is interesting for having a binding at all | |||
on the one hand, it's weird to be sidestepping OpenGL completely for simple operations like rectangles | |||
and even lines | |||
llfourn | m: my $*A = 42; for ^10 { start { $*A++ } }; sleep 2; say $*A # so why doesn't this work again :\ | 13:14 | |
camelia | rakudo-moar fbe0a6: OUTPUT«42» | ||
timotimo | on the other, it's nice to have a simple API for that kind of stuff without having to have an OpenGL binding | ||
that's interesting | |||
llfourn | m: my $*A = 42; start { $*A++ }; sleep 2; say $*A # what about without the for | ||
camelia | rakudo-moar fbe0a6: OUTPUT«43» | ||
timotimo | m: my $*A = 42; start { $*A++ } for ^10; sleep 2; say $*A | 13:15 | |
camelia | rakudo-moar fbe0a6: OUTPUT«42» | ||
timotimo | definitely strange | ||
llfourn | hmm it's sort of similar to rt.perl.org/Public/Bug/Display.html?id=127033 #except that is for the for loop inside the start {} | ||
timotimo | m: my $*A = 42; start { loop { start { $*A++ } } }; sleep 2; say $*A | 13:16 | |
camelia | rakudo-moar fbe0a6: OUTPUT«Memory allocation failed; could not allocate 14064 bytes» | ||
timotimo | hehe. | ||
llfourn | my $*A = 42; do { start { $*A++ } } sleep 2; say $*A | ||
m: my $*A = 42; do { start { $*A++ } } sleep 2; say $*A | |||
camelia | rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F72fXMWjVCStrange text after block (missing semicolon or comma?)at /tmp/F72fXMWjVC:1------> 3my $*A = 42; do { start { $*A++ } }7⏏5 sleep 2; say $*A expecting any of: infix …» | ||
llfourn | m: my $*A = 42; do { start { $*A++ } }; sleep 2; say $*A | ||
camelia | rakudo-moar fbe0a6: OUTPUT«42» | ||
llfourn | ^^ that golfs it | ||
timotimo | well, right now we're trying to make stuff break, so ... :P | 13:17 | |
llfourn | im going to note that on #RT127033 because they are similar | ||
13:17
ilbelkyr left
|
|||
timotimo | thanks | 13:18 | |
13:18
ilbelkyr_ joined
|
|||
timotimo | i'm not 100% certain about how the thread-y stuff should behave, so i won't give definite answers or such :) | 13:19 | |
13:19
ilbelkyr_ is now known as ilbelkyr,
lnrdo_ joined,
lnrdo left
|
|||
Skarsnik | RabidGravy, hm, did you already work with struct like s { char *data; int length}; and using Buf work for the char *data? | 13:20 | |
llfourn | I personally would be happy if dynamics become isolated inside start {} if that led to greater optimization opportunities. | ||
13:21
virtualsue joined
|
|||
timotimo | we don't guarantee safety of lexical or dynamic containers IIRC | 13:21 | |
RabidGravy | Skarsnik, strange you might ask that :) GDBM uses a struct just like that to pass the keys and values, it segfaults :-\ | 13:22 | |
timotimo | all we can do for that at the moment is use CArray ... | ||
llfourn | I would have thought lexical like start { my $a = '' } would be guaranteed but I know nothing | ||
arnsholt | CArray should work for that use case | 13:23 | |
timotimo | if the lexical is *inside* the start, sure, that's no problem | ||
arnsholt | Although you have to be very careful not to exceed the array bounds, of course | ||
llfourn | timotimo: ok then we are on the same page ;) | ||
timotimo | shared lexicals, on the other hand ... | 13:24 | |
RabidGravy | yeah, Str no good in that place | ||
nine | What exactly does nqp's =:= compare? It's not nqp::objectid, isn't it? | ||
timotimo | no, objectid causes an object to get a fixed ID in the future | ||
it's equivalent to a pointer compare | 13:25 | ||
nine | So what does it mean when two objects have the same nqp::objectid? | ||
timotimo | it's the eqaddr op | 13:26 | |
that's the same as eqaddr, but with a side-effect on the objects you get an objectid of | |||
nine | So if they have the same nqp::objectid, =:= should give 1? | ||
timotimo | hmm | 13:27 | |
i think so | |||
13:28
nexysno_ left
|
|||
timotimo | otherwise that'd mean two different objects have the same objid (which would cause the GC to put them into the same place on the next collection) without being actually the same object | 13:28 | |
Zoffix | \o/ I've just used ⊆ operator in real-life code \o/ | ||
nine | timotimo: rt.perl.org/Ticket/Display.html?id=127107 | ||
Zoffix | m: sub foo (*@args) { my $valid-args = set <foo bar ber>; say @args ⊆ $valid-args }; foo <foo bar bar moor>; | ||
camelia | rakudo-moar fbe0a6: OUTPUT«False» | 13:29 | |
Zoffix | m: sub foo (*@args) { my $valid-args = set <foo bar ber>; say @args ⊆ $valid-args }; foo <foo bar bar>; | ||
camelia | rakudo-moar fbe0a6: OUTPUT«True» | ||
nine | timotimo: full code with added debug output: gist.github.com/niner/88a97e8a1becbacab1d5 | ||
timotimo | o_O | 13:30 | |
there should be an op that gives you the address of something that would be used for =:=, too | 13:31 | ||
leont | m: sub foo(|c) { say |c }; foo("foo"); | 13:32 | |
camelia | rakudo-moar fbe0a6: OUTPUT«foo» | ||
leont | m: my |d = "foo; say |d; | ||
camelia | rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IwnzNHAuPAMalformed myat /tmp/IwnzNHAuPA:1------> 3my7⏏5 |d = "foo; say |d;» | ||
13:33
marmay left
|
|||
leont | m: my |d = "foo"; say |d; | 13:33 | |
camelia | rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/19sFl1IznQMalformed myat /tmp/19sFl1IznQ:1------> 3my7⏏5 |d = "foo"; say |d;» | ||
leont | Why can't I have a lexical capture variable? | ||
13:34
lucasb joined
|
|||
nine | leont: a capture is just a Capture object | 13:34 | |
13:34
vytas joined
|
|||
timotimo | m: sub foo(|c) { say c }; foo("foo") | 13:34 | |
camelia | rakudo-moar fbe0a6: OUTPUT«\("foo")» | ||
timotimo | ^- note also | ||
lucasb | a lexical capture is: my $x = \(...) | ||
timotimo | when you write |c, you're referring to the lexical variable "c", not "|c" | ||
leont | Ah, I see | 13:35 | |
nine | Checking symbol grammar value TracedGrammarHOW objid 59669208 existing TracedGrammarHOW objid 59669208 eqaddr 0 | ||
Definitely same objectid but eqaddr returns false | |||
FROGGS: any idea for this? rt.perl.org/Ticket/Display.html?id=127107 | 13:36 | ||
timotimo | nine: you can output the nqp::where of these two things | 13:38 | |
that's the value it'd use for =:= comparison, IIUC | 13:39 | ||
13:40
schnuppi joined
13:41
brrt joined
|
|||
nine | timotimo: look at this: Checking symbol grammar value TracedGrammarHOW objid 59501064 where 59501064 existing TracedGrammarHOW objid 59501064 where 59501064 eqaddr 0 | 13:42 | |
dalek | kudo/nom: 5c0631e | lizmat++ | src/ (6 files): Unite RAKUDO_MODULE_DEBUGging in nqp/Perl 6 Eradicates the global RAKUDO_MODULE_DEBUG sub. Instead, $*RAKUDO_MODULE_DEBUG now contains either False or a Callable that outputs the debug information. DRY! |
13:43 | |
nine | Updated the gist. Maybe I did something horribly wrong? | ||
13:44
raiph joined
|
|||
lucasb | lizmat: can I haz that nqp bump? [Coke] said ok in the backlog :) | 13:44 | |
Zoffix | "Was also very impressed by how the release tag was moved after the release".... was the release tag moved after release? | ||
lizmat | lucasb: will do | ||
nine | lizmat: I just love what you do to this code :) | ||
lucasb | lizmat++, thank you | 13:45 | |
Zoffix is fighting another battle twitter.com/xdg/status/685454041103597568 | |||
RabidGravy | There is something really messed up with the type constraints on CArrays : "Type check failed in binding; expected NativeCall::Types::CArray[uint8] but got NativeCall::Types::CArray[uint8].new" | ||
13:45
FritzZaucker joined
|
|||
nine | lizmat: maybe we should merge github.com/perl6/nqp/pull/271 before bumping? | 13:45 | |
dalek | kudo-star-daily: a4c90b0 | coke++ | log/ (5 files): today (automated commit) |
||
cognominal | m: say "\x[0]" | ||
camelia | rakudo-moar fbe0a6: OUTPUT«␀» | ||
cognominal | m: say "\x[0x0]" | ||
camelia | rakudo-moar fbe0a6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vJQzIESUn1Unrecognized backslash sequence: '\x'at /tmp/vJQzIESUn1:1------> 3say "\x[07⏏5x0]" expecting any of: argument list double quotes hex character …» | ||
lizmat | well, it seems to have issues :-( | 13:46 | |
nine | oh | ||
lizmat | maybe because it requires a bump in MOAR_REVISION first ? | ||
cognominal | only decimal notation is allowed in "\x[ ... ]" ? | ||
13:46
jkramer left
|
|||
nine | lizmat: yes, according to #moarvm it's been merged there | 13:47 | |
FritzZaucker | p6: say DateTime.now; | ||
camelia | rakudo-moar fbe0a6: OUTPUT«2016-01-08T14:47:08.724505+01:00» | ||
cognominal | or am I missing something obvious, as usual ? | ||
m: say 0x0 | |||
camelia | rakudo-moar fbe0a6: OUTPUT«0» | ||
lucasb | cognominal: I would expect that only hexadecimal would be allowed in \x[...] | ||
[Coke] | (2016.01 in a week), crap, I guess we have to decide some stuff by this weekend. | ||
lizmat | m: say 0xA | ||
camelia | rakudo-moar fbe0a6: OUTPUT«10» | ||
lizmat | m: say "\xA" | 13:48 | |
camelia | rakudo-moar fbe0a6: OUTPUT«» | ||
FROGGS | Zoffix: I have no knowledge of a release tag that has been moved | ||
nine: no ideas offhand | |||
Zoffix | Ah, I know what he's talking about. We tagged as 6.c BEFORE the release and then moved it when released. | ||
FritzZaucker | p6: say Date; | ||
camelia | rakudo-moar fbe0a6: OUTPUT«(Date)» | ||
FritzZaucker | p6: say Date.today; | 13:49 | |
camelia | rakudo-moar fbe0a6: OUTPUT«2016-01-08» | ||
cognominal | indeed, the examples in unicode.pod are deceptive, the hexadecimal digits don't have letters | ||
13:49
regreg_ is now known as regreg
|
|||
FritzZaucker | p6: Date.today.say; | 13:49 | |
camelia | rakudo-moar fbe0a6: OUTPUT«2016-01-08» | ||
cognominal | lucasb++, lizmat++ | 13:52 | |
[Coke] | nine; you have two people on the Grant Committee here who can also pass along messages, if that helps. | ||
dalek | p: 32acf1a | lizmat++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION to get the latest goodies |
||
lucasb | [Coke]: isn't to early for a new release? didn't you said that third tuesday/thursday rule was gonna be changed after xmas? I would say the release should happen between the 20th or 25th of every month, or maybe the weekends around that. | 13:53 | |
13:53
secwang left
|
|||
lizmat | testing NQP_REVISION now | 13:53 | |
lucasb | *too early | 13:54 | |
13:54
frankjh joined
|
|||
lizmat | lucasb: | 13:54 | |
you're right | |||
lucasb: you mean the NQP_REVISION, right ? | |||
13:54
molaf joined
|
|||
FROGGS | but anyway, [Coke]: please gist the topics that come to your mind that you feel need decision making | 13:55 | |
dalek | p: 37862cd | (Dagfinn Ilmari Mannsåker)++ | / (3 files): Add subsecond file time ops stat_time and lstat_time |
||
p: a709b8a | lizmat++ | / (3 files): Merge pull request #271 from ilmari/stat-subsecond Add subsecond file time ops stat_time and lstat_time |
|||
lucasb | lucasb: I was just expecting a nqp bump in *rakudo*. I don't know about moarvm bump in *nqp* | ||
lizmat: ^^ :) | |||
nine | Ok, this patch indeed fixes the bug: | ||
- elsif ($target){$sym} =:= $_.value { | |||
+ elsif nqp::where(($target){$sym}) == nqp::where($_.value) { | |||
FROGGS | :/ | ||
nine | Why? I don't have the slightest idea. Is it possible that =:= is really buggy? How could that have gone unnoticed for so long? | 13:56 | |
lizmat | indeed, I forgot to patch MoarVM first | ||
[Coke] | lucasb: there is a schedule; we're following the schedule. | ||
dalek | kudo/nom: 58964c5 | (Dagfinn Ilmari Mannsåker)++ | src/core/IO.pm: Use subsecond file time ops on MoarVM |
||
kudo/nom: e7197bd | lizmat++ | src/core/IO.pm: Merge pull request #676 from ilmari/stat-subsecond Use subsecond file time ops on MoarVM |
|||
nine | Before we can do a new release, we _have_ to decide how to handle language versions. Schedules are much less important than that. | ||
[Coke] | We probably should have said "and we're taking january off", but I didn't think of that in time. | ||
Skarsnik | hm, how I am supposed to transform a 40 in is string value (not '40')? | ||
[Coke] | nine: agreed, if it comes to that, we skip january anyway. | ||
FROGGS | nine: true | ||
leont | I have a «return unless … for» construct that seems to have been broken since february, but I don't understand why | ||
Making it two lines makes it work | |||
FROGGS | nine: and you said that the second object is NULL in the eqaddr op in moar? | 13:58 | |
dalek | p: 93a608c | lizmat++ | tools/build/MOAR_REVISION: Get some additional Moar goodies |
||
nine | FROGGS: no, I actually think they are the same object. | ||
leont | (this is probably because I was abusing the language, it's not a very readable line at all) | ||
FROGGS | leont: is that golfable? | ||
13:59
travis-ci joined
|
|||
travis-ci | NQP build failed. lizmat 'Merge pull request #271 from ilmari/stat-subsecond | 13:59 | |
travis-ci.org/perl6/nqp/builds/101064857 github.com/perl6/nqp/compare/32acf...09b8a4cae5 | |||
13:59
travis-ci left
|
|||
FROGGS | nine: can you check what the moar op receives in interp.c:2093? | 13:59 | |
leont | Probably. The actual line was return unless .d or .modified > $age for any(@files); | ||
FROGGS | m: sub foo { $_ = ".".IO; return unless .d or .modified > 42 for any(1, 2) }; foo | 14:00 | |
camelia | rakudo-moar 5c0631: OUTPUT«Method 'd' not found for invocant of class 'Int' in sub foo at /tmp/fyCw8mU0g6 line 1 in block <unit> at /tmp/fyCw8mU0g6 line 1» | ||
14:00
_Gustaf_ left
|
|||
leont | Making that my $_ = any(@files); return if !$_.d or $_.modified > $age; fixes it | 14:00 | |
FROGGS | m: sub foo { return unless .d or .modified > 42 for any(".".IO) }; foo | ||
camelia | ( no output ) | ||
FROGGS | bbi20 | 14:01 | |
nine | FROGGS: on it | 14:02 | |
leont | No wait, the "fix" is an accident, doing the boolean transformation correctly give the wrong result too. Possibly it's IO::Path that changed | ||
14:03
_Gustaf_ joined
14:04
joydo left
|
|||
nine | leont: FWIW for any(@files) doesn't make much sense to me | 14:06 | |
leont | Yeah, it was a hack for topicalization, I should get rid of it anyway | ||
lucasb | [Coke]: now I noticed the commit saying that the release is at third saturday of each month. sorry, I didn't see that before. | 14:07 | |
leont | I was trying to be smart, and getting punished for it now | ||
Zoffix | um... are there really about 1220 lines of rakudo-fudged tests in roast? | 14:08 | |
I've done "grep -iR 'rakudo' . | wc -l" in the roast repo | |||
14:08
awwaiid left
14:09
theorb joined,
awwaiid joined
|
|||
[Coke] | Zoffix: that's a little liberal, but it's close. | 14:09 | |
Zoffix | :S | ||
leont | Is there a pretty way to classify into two groups? List.classify seems more suitable to bigger sets of classes | 14:10 | |
I could do some sort of Swartzian transform I suppose, but it'd be ugly | |||
theorb | Hmm. What's the status of perl6 on jvm -- is it believed to be working? Has anybody tried android? Is there (reasonably fast) perl6-java interop using that route? | 14:11 | |
leont | e.g. ($files, $dirs) = @entries.classify-bool(*.d) | ||
AFAIK p6 on jvm isn't fully operational, though it isn't fully broken either | |||
RabidGravy | theorb, I believe the answer right now is no | ||
Zoffix | Heh twitter.com/marcusramberg/status/6...9800509444 | 14:12 | |
[Coke] | last I checked, rakudo-j wouldn't install. | ||
Zoffix | The next time someone points out the "anti-Perl-5 attitude" in this channel, I'll point to that tweet by the core Mojolicious developer :) | ||
[Coke] | if you run it from the build dir, it passes a lot of spectests, but it is not clean. | ||
nine | [Coke]: Daniel Wright just wrote back :) | ||
Skarsnik | damn cloning a CStruct is NYI | ||
[Coke] | nine: excellent. | 14:13 | |
14:13
skids joined
|
|||
dalek | kudo/nom: 7934ffe | lizmat++ | tools/build/NQP_REVISION: Bump NQP_REVISION for sub-second file info And other fixes in MoarVM, specifically the concat / GC issue fix |
14:13 | |
theorb | Zoffix: I wouldn't suggest it. As a mostly-outsider, I think he has a very good point. (Well, two of them.) | ||
Zoffix | theorb, the skippage of tests by Rakudo is one, what's the other one? | 14:14 | |
nine | FROGGS: I shouldn't have to recompile rakudo after doing make install in MoarVM, should I? | 14:15 | |
[Coke] | The tag was not moved. | ||
theorb | leont, RabidGravy: Hm, that's rather a shame. Writing android apps in perl is something I've long wanted to be able to do, and perl6 is probably perl enough. I tried, and failed, to get perl5 cleanly calling into jvm code. | 14:16 | |
lizmat | cycling& | ||
theorb | [Coke]: That's not the impression I get from that twitter thread. Rather, the tag did move, but not in ways that are really bad. | ||
RabidGravy | I'm sure it's fixable, just no-one has pitched in | ||
[Coke] | theorb: as the release manager - I did not move the tag. | 14:17 | |
Zoffix | I think Marcus is making the assumption that the tag was moved just because they were told to get newer Rakudo to fix a panda problem | ||
[Coke] | I am literally the best person in the world to answer that question. | ||
nine | Zoffix: yes, definitely. | 14:18 | |
RabidGravy | first the logo, now a tag, it's almost like people are desperate to find a problem | ||
Zoffix | :D | ||
llfourn | RabidGravy++ agreed | ||
14:20
FritzZaucker left,
frankjh left
|
|||
llfourn | They are disappointed that p6 is not stable and ready-for-production like p5. Though to me p6's ready-for-production means ready to produce fun. And in that way it is. | 14:21 | |
but I don't think many ppl outside this channel think like that :P | |||
RabidGravy | people don't have long enough memories | 14:22 | |
theorb | The problem is that "perl6 has been/will be released" seems to mean different things inside and outside the community, and it appears that the perl6 spec 6.c was frozen, but not an implementation of that spec. | ||
Zoffix | It's stable-enough for my purposes. | ||
theorb | ...and the spec isn't what people have been waiting for. | ||
llfourn | RabidGravy: go on :) | 14:23 | |
theorb | RabidGravy: My memory decidedly isn't long enough to remember the last major version upgrade of perl. | ||
Zoffix | s/my/my CURRENT/; | ||
arnsholt | Skarsnik: Implementing cloning of CStructs shouldn't be too hard, if you already know how to hack C | ||
[Coke] | who is github.com/krunen ? | ||
moritz | [Coke]: Karl Runen iirc, one of the Oslo Perl Mongers | 14:24 | |
[Coke] | are they on IRC? | ||
ilmari | [Coke]: yes, krunen is right here | ||
[Coke] | krunen: did you tell people we moved the release tag on the rakudo repository post christmas? | 14:25 | |
Skarsnik | RabidGravy, damn I can't get proper data with a CArray[int8] | 14:26 | |
14:26
travis-ci joined
|
|||
travis-ci | Rakudo build failed. lizmat 'Merge pull request #676 from ilmari/stat-subsecond | 14:26 | |
travis-ci.org/rakudo/rakudo/builds/101065076 github.com/rakudo/rakudo/compare/5...197bd8f8d7 | |||
14:26
travis-ci left
|
|||
nine | FROGGS: I can't seem to get it to print anything: OP(eqaddr): fprintf(stderr, "eqaddr: %p == %p ? %i\n", GET_REG(cur_op, 2).o, GET_REG(cur_op, 4).o, GET_REG(cur_op, 2).o == GET_REG(cur_op, 4).o ? 1 : 0); | 14:27 | |
[Coke] | ah well, twitter requires faster response times than an IRC ping | 14:29 | |
[Coke] curses Zoffix for dragging him into this. | 14:30 | ||
Zoffix | Look! A unicorn! | ||
Zoffix runs away amid the confusion | |||
theorb tries to remember what he was going to use ... ah, parsing! | |||
14:31
nowan left
|
|||
RabidGravy | Skarsnik, I'm totally struggling with a "class Foo is repr('CStruct') { has CArray[uint8] $.dptr; has int32 $.dsize; }" at the moment, considering abandoing GDBM or persuading someone else to do it | 14:32 | |
Skarsnik | Same issuehuhu | 14:33 | |
I get trash data in the array | |||
Zoffix | Man, this operator is really hot | ||
m: my %args = :libs<foo bar>, :modules<meow>; say %args ⊆ <libs modules>; | |||
camelia | rakudo-moar 7934ff: OUTPUT«True» | ||
Zoffix | m: my %args = :libs<foo bar>, :modules<meow>, :meow<foo>; say %args ⊆ <libs modules>; | ||
camelia | rakudo-moar 7934ff: OUTPUT«False» | ||
Zoffix | \o/ | 14:34 | |
nine | timotimo: any idea why my debug output doesn't get triggered? | ||
14:34
virtualsue left
|
|||
_sri | Zoffix: it's not anti-perl6 to point out screwups | 14:34 | |
14:34
nowan joined
|
|||
nine | _sri: it would just be nicer to point out the actual screwups, not imaginary ones like moved tags | 14:35 | |
Zoffix | _sri, how is alleging I have Stockholm syndrome a Perl 6 screwup? | ||
14:35
brrt left
|
|||
Zoffix | m: say <Stockholm syndrome> ⊆ <Perl 6 screwups> | 14:35 | |
camelia | rakudo-moar 7934ff: OUTPUT«False» | ||
Zoffix | :D | ||
14:36
virtualsue joined,
sjoshi left
|
|||
_sri | i've heard from like a dozen people that had trouble with pandas when trying your 6.c release | 14:36 | |
Zoffix | Yes, and I acknowledged that portion in the tweeter conversation. | 14:37 | |
14:37
jnap joined
|
|||
nine | _sri: yes, that's the actual screwups and I'm deeply sorry it didn't go better. All those problems were fixed in the two weeks after the release at least. | 14:37 | |
mspo | is panda supposed to work? :) | 14:38 | |
nine | mspo: absolutely | ||
_sri | Zoffix: you're also implying perl6 was usable already, but there is no way anyone would bet their company on it yet | ||
Skarsnik | RabidGravy, what kind of error you get? | ||
llfourn | nine: don't be too sorry the point is -Ofun after all :) | ||
jnap | is there an example of a 'canonical' P6 module I can cargo cult? I was thinking of trying to port something reasonably simple but hard enough I'd learn something, probably DOM::Tiny but I wasn't sure the right way to start | ||
[Coke] | _sri: No one is suggesting that someone bet their company on it. | ||
_sri | i think TimToady even called it production ready | ||
[Coke] | ok. If you don't think so, why are you here? | 14:39 | |
Zoffix | _sri, then clearly there are vast differences between what "usable" means to people. | ||
[Coke] | Seems like it would be a burden to have to listen to us talk about how much we like it. | ||
llfourn | _sri: it is if you are trying to produce fun :) | ||
nine | _sri: surely there is a spectrum between "unusable" and "bet your company on it"? | ||
Skarsnik | jnap, not sure to understand what you call a canonical module x) | 14:40 | |
Zoffix | _sri, the release notes specified what it means to us. It's unreasonable to make fun of the release efforts and ignoring the release notes. | ||
Quom__ | jnap: A while ago, JSON::Tiny served a bit of a role as that :) | ||
jnap | FWIW I'm trying to put myself in a good mood and think Perl6 is production ready in the way that Moose was production ready when it was version 0.3 :) | ||
Zoffix | jnap, I'm quite proud of github.com/zoffixznet/perl6-Test-Output | ||
[Coke] | My concern about the that small tweet stream I saw are twofold: people are having trouble getting perl6 to work. Ok. we are working on that; tickets noting the problem would absolutely help; and correcting some misinformation that got out there. | ||
Skarsnik | Zoffix, damn you should do a warn-ok or something! | 14:41 | |
jnap | Zoffix: like with Perl5 we have EUMM right as the basis for describing dependencies and meta data | ||
Zoffix | jnap, (ignore the _chromatin dir). Also jnap++ we really really REALLY need a DOM::Tiny port in P6. I've actually started a port of Mojo::DOM, but got stuck at porting regexes. Feel free to steal stuff (I think I ended after porting tests only and I'm unsure if they work): github.com/zoffixznet/perl6-DOM-Parser | ||
_sri | [Coke]: "if you don't think so"? | ||
jnap | I see a few things around with meta.info, should I cargo cult that? | ||
Zoffix | jnap, yeah | 14:42 | |
jnap, there's Test::META that can tell you if you screwed up with the META file and its docs also reference the spec portion describing that file. | |||
huggable, module Test::META | |||
Skarsnik | Should be add on the front page of perl6.org that the Christmas release has issue with panda and stuff? | ||
huggable | Zoffix, Link to module: modules.perl6.org/repo/Test::META | ||
jnap | cool thanks! do we think regex are still the way to go, or should I not be using the cool new grammar stuff? | ||
Zoffix | Skarsnik, does it still? | ||
mspo | gist.github.com/msporleder/4e9fa7c1429f2ca9362f any help? | 14:43 | |
[Coke] | _sri: sorry, yah, there's no antecedent there; "think its worth using" I guess is the closest thing to what I was thinking. | ||
jnap | Zoffix: I'll fork that and see what I can do. | ||
FROGGS | nine: did you disable JIT? | ||
RabidGravy | Skarsnik, I'm struggling to find a way to construct a suitable CArray | ||
FROGGS | nine: did you disable or spesh or so? | ||
Zoffix | jnap, my (possibly ignorant) suggestion is to go with a regex, because grammars are slow. | ||
nine | _sri: re-watching Larry's talk right now. He didn't even promise anything. He said "we're not exactly promising it. We're more like projecting and planning for it". | ||
FROGGS | nine: err, "or spesh or so?" | ||
nine | FROGGS: nine@sphinx:~/rakudo/nqp ((460c042...))> MVM_SPESH_DISABLE=1 MVM_JIT_DISABLE=1 perl6 -e 'use nqp; say nqp::eqaddr(0, 1)' | 14:44 | |
RabidGravy | Zoffix, Skarsnik if you look in the recent Test::Meta it actually does a test for a warning generated from the parsing of the META file | ||
nine | 0 | ||
_sri | [Coke]: think i've been here from the start, and in #parrot... | ||
FROGGS | nine: lemme check | ||
Zoffix | jnap, I think modules.perl6.org/dist/HTML::Parser::XML uses grammars. It's unberably slow last time I tried it. Maybe see what it's doing too, for learning | ||
Skarsnik | No it does not | ||
jnap | ok, so grammars maybe too slow right now? | ||
14:45
frankjh joined
|
|||
Skarsnik | and I think writing a full html5 parser in perl6 is too much (useless) work | 14:45 | |
Zoffix | Skarsnik, why? | ||
llfourn | Skarsnik: isn't there a few of those already? | ||
Zoffix | Skarsnik, we're also talking about a port, not from scratch | ||
Skarsnik | Because it's too big? | ||
Zoffix | Nah | 14:46 | |
_sri | [Coke]: i've voiced critical opinions for at least 10 years, and not once someone asked me to leave, wonder what changed | ||
Zoffix | Skarsnik, what do you mean "should do a a warn-ok"? I don't think Test::Output is the right place for such a subroutine | ||
Skarsnik | Zoffix, RabidGravy it should be in Test I think x) | ||
RabidGravy | feel free to adapt the code :) | 14:47 | |
FROGGS | nine: I like get a gazillion lines of output when running your one liner | ||
Skarsnik | and for html5. the spec is rather big and It's reinventing the wheel to write another one instead of using something properly/fully tested | ||
leont isn't so sure Test should grow too much | 14:48 | ||
FROGGS | nine: and that's the line I added: fprintf(stderr, "eqaddr %p == %p\n", GET_REG(cur_op, 2).o, GET_REG(cur_op, 4).o); | ||
leont | I'd rather go into the direction of an extensible testing framework | ||
_sri | [Coke]: but maybe you're right, i don't belong here anymore | ||
nine | _sri: he actually elaborated quite a bit on that point. Followed by an explanation about what will actually be released. Which is "the test suite". Followed by "nobody in their right mind expects a .0 release to be perfect". | ||
Zoffix | Skarsnik, do you mean using a C lib? | ||
Skarsnik, I don't think that's very user-friendly | |||
Skarsnik | hu, why? | 14:49 | |
Zoffix | Skarsnik, I don't want to install stuff with my package manager just to use a Perl 6 module. I might not even *have access to* a package manager to install C libs | ||
Also: Windows | |||
mspo | wouldn't panda/zef compile the c lib for you? | ||
Skarsnik | how about DBIish/sqlite? | ||
mspo | also C works on windows :) | ||
14:50
donaldh joined
|
|||
Zoffix | Skarsnik, we had the same conversation on the Issue on DBIish about bundling sqlite lib, remember? :) | 14:50 | |
mspo | but ::PP is always my preference | ||
Zoffix | mspo, Windows doesn't come with a C compiler. | ||
FROGGS | nine: how do I reproduce that global_merging explosion? | ||
Skarsnik | You can always provide a dll if the lib is standalone for windows | ||
Zoffix | mspo, and authors aren't bundling the C lib | ||
FROGGS | Zoffix: you can ship prebuild dlls | ||
Zoffix | FROGGS, that's good. | 14:51 | |
FROGGS | Zoffix: I did that with Alien::SDL and others (P5) | ||
nine | FROGGS: rt.perl.org/Ticket/Display.html?id=127107 has a simple test case | ||
FROGGS | these alian dists let you choose to use system libs, build the libs from source, and use prebuild libs | ||
Skarsnik | Zoffix, my issue with dbiish/sqlite is like FROGGS say, I prefer to offer a choice that just 'provide the lib' | 14:53 | |
mspo | Zoffix: so I need to install the linenoise lib before trying to panda install it? | ||
Zoffix | mspo, ?? | ||
nine | FROGGS: wow, my moar binary is from Dec 28th. There's something very wrong with my installation | 14:54 | |
FROGGS | that would explain one thing :o) | ||
nine: I can reproduce btw | |||
Zoffix | Skarsnik, I was not given that choice when I tried to use the SQLite back end. I was told the lib was not installed and I had to invoke my package manager. In an alternate universe I went without DBIish because I did not have root perms on my box. | ||
RabidGravy | mspo, it is at option for the module author to bundle and compile the library, this doesn't really work for some stuff | ||
mspo | Zoffix: as in github.com/antirez/linenoise.git first | 14:55 | |
FROGGS | nine: and there is a copy&paste in the module loader code | ||
hoelzro | mspo: you don't need to | ||
yoleaux | 08:44Z <nine> hoelzro: \o/ thanks a lot! | ||
[Coke] | For the logs, anyway, I wasn't asking _sri to leave. I was trying to ask what he got out of it. | ||
FROGGS | nine: look at line 146 | ||
hoelzro | linenoise.c is bundled with Linenoise | ||
mspo | k | ||
Zoffix | mspo, I think you're confusing me with something. I've no idea what you mean :) | ||
s/something/someone/; | |||
[Coke] | .tell _sri not sure if you'll get this, but I wasn't asking you to leave; I was trying to ask what you got out of the experience. | ||
yoleaux | [Coke]: I'll pass your message to _sri. | ||
Skarsnik | Zoffix, actually you can install the lib yourself and set a ENV variable | ||
Zoffix | [Coke], that's how I saw it too | ||
RabidGravy | something works too, "pardon me ma'am I mistook you for a join't stool" | 14:56 | |
Zoffix | Skarsnik, what do you mean by "install the lib yourself"? | ||
Skarsnik, I'm a Perl 6 user not a C library installer. | |||
Skarsnik | but since META.info is actually blind to external dep, it can't tell you | ||
Zoffix | :( | ||
RabidGravy | Zoffix, I proposed an Alien thing to assist in this and all sorts of freaking out ensued so I forgot the idea | 14:57 | |
llfourn | [Coke]: tbh it did sounds like if you are offering criticism you have no reason to be here | ||
Skarsnik | Zoffix, well if you have compiler right, you can compile sqlite yourself and tell DBIish:sqlite where to find it | ||
nine | FROGGS: you mean the source/target thing? Already noticed, but it's unrelated to this issue | ||
llfourn | *it did sound like you were saying | ||
FROGGS | nine: k | ||
Zoffix | Skarsnik, I don't have a compiler on one of the web hosts I use. I don't have a compiler on my Windows box. | ||
Skarsnik, and I don't KNOW how to compile things :) | |||
FROGGS | nine: you can leave that bug to me if you want | 14:58 | |
nine | FROGGS: do you already have an idea? | 14:59 | |
Zoffix | And it's not just about me. I also want to distribute my application. And I don't want to write lengthy installation instructions for my $paying-client to get confused about. | ||
theorb | OK, I'm having black-sheet issues. Is there a nice "here's how to go from zero to starting on writing a grammar for something" tutorial -- IE basic framework code that reads in a file, applies a grammar, and dumps the results. | ||
FROGGS | nine: not yet | ||
Skarsnik | Zoffix, you hit an another issue: having to provide prebuilded library for some plateform :) | ||
FROGGS | nine: but I know that code path quite well | ||
nine | Then you have a clear advantage there :) | 15:00 | |
llfourn | theorb: I haven't seen a good tutorial unfortunetly. but check out: rosettacode.org/wiki/Read_a_configu...ile#Perl_6 | 15:01 | |
hopefully that' sone of the examples that still works! | |||
RabidGravy | also the grammars page in the docs has a reasonable csv example | ||
llfourn | theorb: ^ that's probably better | 15:02 | |
it shows you "actions" | |||
Skarsnik | Zoffix, I am curious, did you try to build the stuff Mojo::UserAgent does with H:P:X? | ||
RabidGravy, damn I can't speed up xml parsing on gptrixie using gumbo for xml because of the same struct than you x) | 15:04 | ||
Zoffix | Skarsnik, ? Mojo::UserAgent is an HTTP/WebSocket client, H:P:X is... the parser, I'm assuming? | ||
15:04
pjscott joined
|
|||
Zoffix | What stuff? | 15:04 | |
theorb | Oh, a grammar just gets a .parsefile method? That's nice and simple... | ||
RabidGravy | I can't get beyond the | 15:05 | |
Skarsnik | I quickly saw $ua->get()->htmlelem->htmlelem on your factoid bot p5 part for the doc | ||
RabidGravy | m: use NativeCall; class Foo is repr("CStruct") { has CArray[uint8] $.dptr ; has int32 $.dsize; }; my CArray[uint8] $a = CArray[uint8].new; $a[10] = 0; say Foo.new(dptr => $a, dsize => 10); | ||
camelia | rakudo-moar 7934ff: OUTPUT«Cannot modify an immutable NativeCall::Types::CArray[uint8] in block <unit> at /tmp/ZXAfFUUccf line 1» | ||
Skarsnik | duh | 15:06 | |
15:06
Cabanossi left
|
|||
Zoffix | Skarsnik, no, I haven't tried. Mojo::DOM by far outclasses XML document in terms of usability. | 15:06 | |
15:06
rindolf joined
|
|||
llfourn | Mojo::DOM is awesome | 15:06 | |
frankjh | refresh-content | 15:07 | |
jnap | I wish sri hadn't left, I understand his frustration I think. | 15:08 | |
15:08
Cabanossi joined
15:09
g4 left
|
|||
Skarsnik | Zoffix, hm, I am not sure how Mojo::DOM work, but maybe you can build it on top of gumbo? or in XML? | 15:09 | |
lucasb | perl6 --optimize=off -e 'my Int $x = Inf' #=> Type check failed in assignment to $x; expected Int but got Num | ||
with optimize, it's that message: ===SORRY!=== Cannot find method 'value' | |||
Zoffix | Skarsnik, I'll wait and see what jnap comes up with :) | 15:10 | |
llfourn | Skarsnik: it uses css selectors | ||
Skarsnik | hm I could maybe use your Test::Output for gptrixie | 15:11 | |
Zoffix | lucasb, there's a ticket for the latter: rt.perl.org/Ticket/Display.html?id=127207 | ||
lucasb | Zoffix: yes, I saw that ticket. just wanted to show that not optimizing changes the result. | 15:12 | |
jnap | oh gods, its all regexes, the part of perl5 I liked the least :) | ||
Zoffix | jnap, not all :) It just tokenizes HTML with regexes :P | 15:13 | |
RabidGravy | is there any example of creating a CStruct with a CArray attribute that is populated to pass to a native sub? I'm really struggling to find an incantation that works | ||
15:13
Cabanossi left
|
|||
Skarsnik | RabidGravy, nothing in NC test? | 15:14 | |
jnap | ideally once we had a working DOM::Tiny port we could see about finding Perl6isms like returning promises instead of blocking, etc. but that is like far away for me right now | ||
Zoffix | jnap, I wouldn't bother with that. If I'm parsing something huge and want non-block, I'll create my own promise. | 15:15 | |
[Coke] | llfourn: ya, in retrospect, I can see that. Wish I had not been AFK to deal with that before it escalated. my fault. | ||
Zoffix | jnap, and if it's something small, I don't want to spin up a thread just for it and do any sort of promise handling. I just want the result | 15:16 | |
Skarsnik | gaah, that bother me to no end: Times -- gccxml: 0.2894700 sec; xml parsing: 3.8884037 sec; magic: 0.2994358 | ||
15:16
Cabanossi joined
|
|||
jnap | Zoffix: my understanding of all that stuff is so limited I'm probably just babbling :) | 15:16 | |
Zoffix | :) | ||
El_Che | twitter.com/xdg/status/685466943231520768 : My new hope: a Millennium Falcon version of Rakudo Perl 6. Looks like junk and breaks sometimes, but can do the Kessel Run in 12 parsecs! | 15:17 | |
Skarsnik | seeing p:h:x perf. I don't believe on a perl6 solution for parsing html on a usable way x) | ||
RabidGravy | Skarsnik, ah, there's some double binding hack | ||
Zoffix | El_Che, -_- | ||
Skarsnik, ever or just right now? | 15:18 | ||
Skarsnik, because if P6 is always going to be too slow to write an HTML parser in, we've got major problems XD | |||
Skarsnik | RabidGravy, I just want to read this data but I get junk stuff | ||
for probably a long time :) | |||
Zoffix | :) | 15:19 | |
Skarsnik | Gumbo take less than 0.02sec to parse what I want to scrap and perl6 spend 2 sec to create the xml object. h:p:h take 30 sec+ for a false tree x) | 15:20 | |
Zoffix | eww | ||
Skarsnik, do we already have Gumbo bindings? | |||
Skarsnik | Yes | ||
Zoffix | I'm looking for a project to learn NC with | ||
RabidGravy | Skarsnik, how are you going from CArray to Str? Surely you need to go CArray -> Buf -> Str to get the encoding right? | ||
Skarsnik | huggable, module Gumbo | ||
huggable | Skarsnik, Link to module: modules.perl6.org/repo/Gumbo | ||
15:20
sftf joined
|
|||
[Coke] | it might help to --profile it, figure out where the slowdown is. | 15:20 | |
Skarsnik | RabidGravy, I tried to iter over the CArray and do my $str = chr($data[$i]); | 15:21 | |
nine | jnap: can you explain _sri's frustration? | ||
RabidGravy | FWIW I'm still sitting on the one pass grammar Term::Cap because it is unusably slow | ||
Skarsnik | s/=/~=/ | 15:22 | |
15:22
pjscott left
|
|||
RabidGravy | Skarsnik, try a Buf in there | 15:22 | |
Skarsnik | NC does not let have a Buf on the CStruct :) | ||
RabidGravy | i.e. copy the element of the CArray to a Buf then decode | ||
dalek | kudo/nom: 793bf3b | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp: Fix copy&pasto in Perl6::ModuleLoader |
15:23 | |
RabidGravy | Mmmm copypasta | ||
jnap | nine: I don't want to speak for him, and I think I am going to try and put that all behind and be positive. Maybe I'll write a blog or something, I don't want to start a flame war when its clear there's a lot of positive energy in this room | 15:24 | |
Skarsnik | Na, I try to give the struct to a gumbo function that extra stuff from it, but it fails because the content is wrong | ||
[Coke] | jnap++ | 15:27 | |
15:28
marmay joined
15:29
Zoffix left
|
|||
Skarsnik | There was not libxml binding? | 15:29 | |
marmay | This question is probably trivial, but what is the easiest way to check whether the first or last element of an array is of a certain type? »head« and »tail« return a Seq. Am I supposed to append a [0] to get the element or is there a more idiomatic way? | 15:30 | |
lucasb | maybe @a[0] ~~ SomeType | 15:31 | |
@a[*-1] ~~ SomeType | |||
Skarsnik | I think there is a first? | ||
but not a last | |||
lucasb | first(:end) ? | ||
Skarsnik | say (1..4).first | ||
m: say (1..4).first | |||
camelia | rakudo-moar 793bf3: OUTPUT«1» | 15:32 | |
Skarsnik | m: say (1..4).tail.WHAT | ||
camelia | rakudo-moar 793bf3: OUTPUT«(Seq)» | ||
marmay | lucasb: Ah, thanks. | ||
Skarsnik | I don't know why there is a first but nota last x) | ||
leont | Because first is something one uses a lot more often that last? | 15:33 | |
nine | ^5.first(* %% 2).say | 15:34 | |
m: ^5.first(* %% 2).say | |||
camelia | rakudo-moar 793bf3: OUTPUT«Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at /tmp/JsrHv6sDJw:1 ------> 3^57⏏5.first(* %% 2).sayWARNINGS for /tmp/JsrHv6sDJw:Useless use of "^" in expression "^5.first(* %% 2).say" …» | ||
nine | m: (^5).first(* %% 2).say | ||
camelia | rakudo-moar 793bf3: OUTPUT«0» | ||
nine | because that's what first is for | ||
RabidGravy | Skarsnik, I think FROGGS started a libxml thing, dunno what shape it's in | 15:35 | |
15:38
joydon joined
15:39
_Gustaf_ left
|
|||
FROGGS | RabidGravy: still WIP | 15:41 | |
RabidGravy: kinda usable for very simple things | |||
RabidGravy | :) | 15:42 | |
FROGGS | you can parse xml/html and walk the node for example | 15:46 | |
15:50
Zoffix joined
|
|||
moritz | can anybody successfully ping vps205192.ovh.net ? | 15:51 | |
lucasb | hmm, I some doc page has a =SUBTITLE with formatting directives, it gets truncated in the summary/listing page | ||
*I noticed some... | |||
RabidGravy | I'm holding off on making an XSLT thing at the moment | ||
Zoffix | moritz, 6 packets transmitted, 0 received, 100% packet loss, time 5038ms | ||
moritz | Zoffix: thanks | ||
RabidGravy | okay ye olde double binding trick worketh, but still the sucker segfaults | 15:53 | |
lucasb | for example: Tap has a SUBTITLE of "Subscription to a L<Supply>". it shows only "Subscription to a ". but maybe this is already known | ||
15:53
bpmedley_ joined
|
|||
Zoffix | lucasb, yes, github.com/perl6/doc/issues/209 | 15:54 | |
lucasb | Zoffix++, you already found that | 15:55 | |
Skarsnik | hm, how I do group that match . and exlude some stuff? | ||
m: "hello stuff/*" ~~ /([.-/])+/ | 15:57 | ||
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/Bp5JrDVUOe:1------> 3"hello stuff/*" ~~ /([.7⏏5-/])+/Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' at /tmp/Bp5Jr…» | ||
Zoffix | m: use MONKEY-SEE-NO-EVAL; class Z is IO::Handle { has @.w; method print (*@w) {@.w.push: @w.join: ''}; method Str {@.w.join: ''}}; my $h = Z.new; $*OUT = $h; $*ERR = $h; EVAL "warn 42"; | ||
camelia | rakudo-moar 793bf3: OUTPUT«Z is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in block <unit> at /tmp/QfLLAGQxeN line 1» | ||
Zoffix | nice error :) | ||
m: class Zoffix is IO::Handle { }; Zoffix.new | 15:58 | ||
camelia | rakudo-moar 793bf3: OUTPUT«Zoffix is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in block <unit> at /tmp/qehw5CwBfe line 1» | ||
Zoffix | ^_^ | ||
Skarsnik | Zoffix you are not allowed | ||
Zoffix | /o\ | 15:59 | |
15:59
muraiki joined
|
|||
muraiki | I submitted a perl6 response to a code golf question on stackexchange. any improvements are welcome as I'm a novice at perl6 and at code golf :) codegolf.stackexchange.com/a/68906/48921 | 16:00 | |
Zoffix | For some reason my Test::Output isn't capturing code's output when the code is { EVALFILE 't/tests/01-env-smoke.t'; }, where the file is a small test with use Test :/ | ||
FROGGS | nine: somehow the symbols slip into extra containers | 16:03 | |
Zoffix | m: sub eval (&code) { $*OUT.close; $*ERR.close; &code() }; eval { EVAL "use Test; is 1, 1; done-testing" }; | ||
camelia | ( no output ) | ||
Zoffix | This gives me a really weird error on my home box: gist.github.com/zoffixznet/f345e8d74e13e798ebdb | ||
"write string requires an object with REPR MVMOSHandle" | |||
nine | FROGGS: both? | 16:04 | |
Zoffix | Ah. I know why. Complaining it ain't got nothing to write into | ||
FROGGS | nine: yes | ||
Skarsnik | hm closing stdout/err should just output nothing | 16:05 | |
Zoffix | Any idea why this still produces output? I have a custom IO::Handle class that overrides the .print method: perl6 -e 'class Z is IO::Handle { has @.w; method print (*@w) {@.w.push: @w.join: ""}; method Str {@.w.join: ""}}; sub eval (&code) { my $*OUT = Z.new; my $*ERR = Z.new; &code() }; eval { EVAL "use Test; is 1, 1; done-testing" };' | 16:06 | |
RabidGravy | any gdb guru in the house? | 16:07 | |
what does it mean when it say "index = <optimized out>" ? | 16:08 | ||
Zoffix | ehhhhh This answers my question: github.com/rakudo/rakudo/blob/nom/...st.pm6#L24 | 16:09 | |
CurtisOvidPoe | Desperately looking forward to the day when clients hire me for Perl 6 work instead of Perl 5. | 16:10 | |
16:11
pyrimidine joined
|
|||
Zoffix | Seems I wrote Test::Output last night for every case except the one I actually wanted to use it for X) | 16:11 | |
Unless there's some way to temporarily make $PROCESS::OUT save output into my variable, same as I can with $*OUT | |||
geekosaur | if you compile with optimization, both code and variables can be removed; variables can end up in registers and information about what register doesn't make it into the debug information because it isn't static | 16:12 | |
AlexDaniel | I'm not sure if they will hire people for Perl 6 work any time soon, but I'm pretty sure that a lot of people will start using Perl 6 at work for some of the tasks | ||
CurtisOvidPoe | AlexDaniel: Agreed. Most new languages, if they take off, still take 2 to 3 years before they start getting traction. | ||
awwaiid | muraiki: your solution looks cool, I especially like the use of :k | ||
pyrimidine | I had someone post a bug that seems related to precomp, any ideas? Works locally for me github.com/cjfields/bioperl6/issues/8 | 16:13 | |
geekosaur | (that is, the compiler may choose to switch registers if it's convenient because some machine operation leaves its result in a different register and there's no code elsewhere in the function that needs it to be in the first register) | ||
muraiki | awwaiid: yeah, when I saw :k I was really happy :) | ||
16:13
colomon joined
|
|||
pyrimidine | My guess is the install needs to be nuked | 16:13 | |
Zoffix | That's not my guess | 16:14 | |
geekosaur | also note that x86_64 can pass values in registers... | ||
Zoffix | pyrimidine, having the same issue. Hang on | ||
awwaiid | muraiki: I wonder if you can inverse the first one in the list to get shorter -- instead of being one of those chars, say it isn't one on another row (so \w or similar to eliminate all letters) | ||
pyrimidine | Zoffix: glad to see someone can reproduce | ||
geekosaur | s/pass values/pass parameters/ | ||
nine | pyrimidine: that looks....odd | ||
pyrimidine | . o O ( that came out wrong ) | ||
Zoffix | pyrimidine, haha | 16:15 | |
RabidGravy | CurtisOvidPoe, I would say at some point in the not too distant future some startup will make the plunge | ||
Skarsnik | m: say "hello stuff/*" ~~ /([.[-/]])+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/vH9V6DfETM:1------> 3say "hello stuff/*" ~~ /([.[7⏏5-/]])+/Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' at /tmp…» | ||
DrForr | Next Sunday A.D.? | ||
CurtisOvidPoe | RabidGravy: they’ll want to, but the performance issues will need to be sorted first. | 16:16 | |
pyrimidine | nine: agree. I nuked my local installation prior to seeing this, didn't run into this issue | ||
16:16
schnuppi left
|
|||
muraiki | awwaiid: yeah, I was also thinking of trying to find some way to make the 2nd regex the default if no others match, because it's the longest. one of the other solutions did that | 16:16 | |
Skarsnik | m: say "hello stuff/*" ~~ /([.[-\/]])+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/QHMvl4ZQnR:1------> 3say "hello stuff/*" ~~ /([.[7⏏5-\/]])+/Unrecognized regex metacharacter \ (must be quoted to match literally)at /tmp/Q…» | ||
AlexDaniel | CurtisOvidPoe: I'm not sure how successful in that sense Perl 6 will be, but it is already useful to me (I'm starting to prefer it to other languages). So, I'm kinda already happy with what I have, and I'm pretty sure that there lots of other people who feel the same. These are good signs for traction (e.g. the language is not just shiny, but it is already useful and people already use it) | ||
Skarsnik | m: say "hello stuff/*" ~~ /([.-\/])+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/fDHwkUXu2H:1------> 3say "hello stuff/*" ~~ /([.7⏏5-\/])+/Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' at /tmp/…» | ||
dalek | osystem: 77ea9df | jnthn++ | META.list: Add Concurrent::Iterator. |
||
Skarsnik | I am confused >< | ||
awwaiid | muraiki: yeah ... I was similarly eyeballing the "last", but it's just space so /./ isn't better | ||
Zoffix | pyrimidine, the issue is you're missing Bio::Role::Annotation from the `provides` section of your META file | ||
AlexDaniel | Skarsnik: .. | 16:17 | |
pyrimidine | ah | ||
AlexDaniel | Skarsnik: ah! | ||
Skarsnik: well, ‘’ then | |||
pyrimidine | Zoffix: will fix that now | ||
awwaiid | m: <a b 5>.last: * ~~ /\d/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«Method 'last' not found for invocant of class 'List' in block <unit> at /tmp/TF9jX9gnHk line 1» | ||
Skarsnik | I want to match everything in . but not / | ||
pyrimidine | Zoffix: do we have a way of autogenerating that if needed? | ||
AlexDaniel | m: say "hello stuff/*" ~~ /([^/])+/ | 16:18 | |
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ljOBhDV2lGUnable to parse expression in metachar:sym<[ ]>; couldn't find final ']' at /tmp/ljOBhDV2lG:1------> 3say "hello stuff/*" ~~ /([^7⏏5/])+/ expecting any of: infix stopper…» | ||
AlexDaniel | m: say "hello stuff/*" ~~ /([^\/])+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«Nil» | ||
AlexDaniel | m: say "hello stuff/*" ~~ /[^\/]+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«Nil» | ||
Skarsnik | m: say "hello stuff/*" ~~ /([-\/]+)/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/kNPYJdjOCX:1------> 3say "hello stuff/*" ~~ /([7⏏5-\/]+)/Unrecognized regex metacharacter \ (must be quoted to match literally)at /tmp/kNPY…» | ||
AlexDaniel | m: say "hello stuff/*" ~~ /<[^\/]>+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«「/」» | ||
AlexDaniel | m: say "hello stuff/*" ~~ /<-[\/]>+/ | ||
Skarsnik | m: say "hello stuff/*" ~~ /(<-\/>+)/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«「hello stuff」» | ||
rakudo-moar 793bf3: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter < (must be quoted to match literally)at /tmp/tzE8IvW5f3:1------> 3say "hello stuff/*" ~~ /(<-7⏏5\/>+)/Unrecognized regex metacharacter - (must be quoted to match literally)at /tmp/tzE8…» | |||
AlexDaniel | m: say "hello stuff/*" ~~ /<-[\/]>+/ # here it is | ||
camelia | rakudo-moar 793bf3: OUTPUT«「hello stuff」» | ||
AlexDaniel | Skarsnik: ok, I had too much perl5 in my mind to not notice the problem immediately :D | 16:19 | |
nine | FROGGS: indeed, elsif nqp::decont(($target){$sym}) =:= nqp::decont($_.value) { works just fine | ||
Zoffix | pyrimidine, probably 3 more too. You have 30 lines in `provides`, but `find lib/ -iname '*.pm*' | wc -l` gives 34. | ||
AlexDaniel | Skarsnik: [] is <[]> and [^…] is <-[]> | ||
RabidGravy | as I see it there are some things where the performance isn't a great issue and the modern trend is for having mixed architectures with different languages suited to different parts of the application stack | ||
AlexDaniel | Skarsnik: does it help? | ||
FROGGS | nine: though, I suspect it is not the right way to fix it | ||
AlexDaniel | m: say "hello stuff/*" ~~ /<![\/]>+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970162176 bytes» | ||
AlexDaniel | what | ||
Skarsnik | lol | ||
Zoffix | pyrimidine, there's modules.perl6.org/repo/App::Mi6 that does distro stuff. Not sure if it generates meta. Also, check panda's options, I think there might be a META generation tool there. And in about 4 months you could also checkout Chromatin (github.com/zoffixznet/perl6-Chromatin) it's a dist-minting tool I plan to make ^_^ | 16:20 | |
16:20
dwarring left
|
|||
AlexDaniel | m: say "hello stuff/*" ~~ /<-[‘/’]>+/ | 16:20 | |
camelia | rakudo-moar 793bf3: OUTPUT«「hello stuff」» | ||
pyrimidine | Zoffix: nice, and very bio-named :) | ||
Zoffix | ;) | ||
nine | FROGGS: Stashes are Hashes and Hashes store into scalar containers | 16:22 | |
RabidGravy | I think I'm going to leave this GDBM binding to the side for a bit as I just can't get to the bottom of the segfaulting | ||
FROGGS | nine: I'm trying now to decont in Stash.pm | 16:23 | |
PerlJam | good * #perl6 | 16:24 | |
stmuk__ | cr.yp.to/cdb.html might be easier to NativeCall than gdbm | 16:25 | |
if it's available as a .so I forget | |||
AlexDaniel | m: say ‘x’ ~~ /<![y]>+/ | ||
camelia | rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970194944 bytes» | 16:26 | |
Skarsnik | look like a bug? x) | 16:29 | |
siriu5b_ | Hi guys. i would like to unpack a var as follow : $longs = unpack('V*', $key) with $key is str() - i'm stuck | ||
Skarsnik | Don't use str | 16:30 | |
siriu5b_ | i know | ||
blob or ... | |||
PerlJam | siriu5b_: you want to know how to convert a string into a blob of buf? | ||
AlexDaniel | Skarsnik: I don't know, but it is less than awesome | ||
siriu5b_ | if it's the major problem ... so yes PerlJam :D | 16:31 | |
moritz | .encode | ||
AlexDaniel: <!...> is a zero-width assertion | 16:32 | ||
AlexDaniel: and yes, quantifying those is a known bug | |||
PerlJam | siriu5b_: what moritz said | ||
AlexDaniel | moritz: oh | ||
siriu5b_ | thanks :) | ||
moritz | AlexDaniel: <-[y]> if you want a negated char class | ||
AlexDaniel | moritz: I know, but I thought that I'll just try it anyway :) | 16:33 | |
Skarsnik | RabidGravy, any idea of stuff I can 'quickly' add in GPTrixie before moving on having conf file to change how some stuff are generated? | ||
AlexDaniel | moritz: is there a ticket for that? | ||
PerlJam | siriu5b_: $str.encode gives you utf8 by default IIRC btw | ||
moritz | AlexDaniel: yes | ||
AlexDaniel | rt.perl.org/Public/Bug/Display.html?id=75586 as far as I can see | 16:34 | |
m: say 'a' ~~ m/''*/ | 16:35 | ||
camelia | rakudo-moar 793bf3: OUTPUT«Memory allocation failed; could not allocate 970981376 bytes» | ||
AlexDaniel | moritz: okay, thank you! | ||
nine | FROGGS: when Stash entries are not containerized, assignment to dynamic variables like $*CWD is broken. | ||
hoelzro | does anyone know why an anonymous sub created at compile time would get a "Cannot invoke this object" when trying to call a sub (but not a method) at runtime? | 16:36 | |
FROGGS | nine: well, then let's decont in the =:= check? | 16:37 | |
hoelzro | afaik, it has something to do with precomp, and I'm guessing sub calls are pretty much "early bound", right? | ||
FROGGS | nine: maybe we can remove it later on... | ||
16:38
zwu joined
|
|||
Zoffix | pyrimidine, forgot to mention: there's Test::META module that would've detected your issue if you were using it :) modules.perl6.org/repo/Test::META | 16:38 | |
zwu | What does this dot means of calling print in m: $func = sub ($a, $b) { .print if $a eq $b }; ? | 16:39 | |
Zoffix | zwu, same as $_.print | ||
m: my $func = sub ($a, $b) { .print if $a eq $b }; given 'Foobar!' { $func(|<a a>) } | 16:40 | ||
camelia | rakudo-moar 793bf3: OUTPUT«Use of uninitialized value of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in sub at /tmp/MdcbQNsWQy line 1» | ||
zwu | I'm confused, isn't $_ is the unamed parameter? | ||
Zoffix | zwu, it's the topicalizer. And the above code suggests me your code is wrong. | ||
As in, it shouldn't be a .print, but something else | |||
m: sub foo { .say }; given 'Foobar!' { foo } | 16:41 | ||
camelia | rakudo-moar 793bf3: OUTPUT«(Any)» | ||
nine | FROGGS: btw. a single character fix to Grammar::Tracer has the same effect: EXPORTHOW::<grammar> := TracedGrammarHOW; instead of EXPORTHOW::<grammar> = TracedGrammarHOW; | 16:42 | |
zwu | the code example is in design.perl6.org/S04.html, the section of The Relationship of Blocks and Declarations | 16:43 | |
moritz | $_ is only passed on through blocks that don't have explicit signatures | ||
Zoffix | Ah | ||
moritz | not through routines | ||
the defaull signature for blocks is $_ = $OUTER::_ | 16:44 | ||
and for subs it's *@_ iirc | |||
zwu | Ah, I see, $_ is the for the block parameters, will there be multiple parameters passed to block? and How to do that? | ||
dalek | kudo/nom: 2d91f08 | (Stefan Seifert)++ | src/Perl6/ModuleLoader.nqp: Fix rare "duplicate definition of symbol" errors When an EXPORT or EXPORTHOW routine assigns a symbol as in: EXPORTHOW::<grammar> = TracedGrammarHOW; instead of binding it, the test in Perl6::ModuleLoader::merge_symbols for equivalence of source and destination symbols fails because it compares the containers of those symbols instead of the symbols themselves. Fix by always decont'ing before comparison. Many, many thanks to FROGGS++ for finding the final piece of this puzzle! Fixes RT #127107 |
16:46 | |
Skarsnik | github.com/perl6/DBIish/issues/47 should I put 18 for the version of libmysqlclient? considering the code works with older version | 16:47 | |
RabidGravy | nine++ | 16:49 | |
16:49
azawawi joined
|
|||
zwu | is the $_ dynamic or literal scope?, $_ = $OUTER::_? when the OUTER scope is resolved? | 16:49 | |
Zoffix | In case anyone was following my $*OUT/$PROCESS::OUT capturing business. I solved it pretty easily: gist.github.com/zoffixznet/124a0350f4fd61583d3f | ||
azawawi | hi | ||
rindolf | azawawi: meow! | ||
azawawi | rindolf: :) | 16:50 | |
16:51
itaipu left
|
|||
rindolf | azawawi: sup? | 16:51 | |
leont | zwu: $_ is lexical | ||
16:51
domidumont left
|
|||
azawawi | rindolf: reading about arduino and Perl :) | 16:52 | |
rindolf | azawawi: ah. | ||
Skarsnik | m: gist.github.com/zoffixznet/124a0350f4fd61583d3f | ||
camelia | rakudo-moar 2d91f0: OUTPUT«IO::Captured is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in method new at src/RESTRICTED.setting line 32 in sub output-capture at /tmp/OX7feZ8IzU line 10 in block <unit> at /tmp/OX7feZ8IzU line 25…» | ||
zwu | leont: thanks. So the example that Zoffix gave was not the expected one <Zoffix> m: sub foo { .say }; given 'Foobar!' { foo } | 16:53 | |
azawawi | rindolf: basically arduino + xbee + sensors + Perl 6 for 2016 | ||
Zoffix | Party time: www.pcworld.com/article/3019538/win...nd-10.html | 16:54 | |
rindolf | azawawi: someone was on ##programming asking about how to program C++ for Arduino with no prior programming experience. | ||
RabidGravy | azawawi, so you'll be making a serial module then :) | ||
azawawi | Zoffix: alright :) | ||
rindolf | azawawi: I told him he should start with something easier and he didn't listen. | ||
azawawi | rindolf: true | 16:55 | |
rindolf | azawawi: they hardly ever do. | ||
azawawi | rindolf: rpi is easier with the python route i took 2 years ago :) | ||
RabidGravy | to be honest the arduino c++ shields you from the gory details | 16:56 | |
rindolf | azawawi: OK. | ||
azawawi | rindolf: but with all the resources on arduino, docs and examples, someone can cook up something pretty fast given some programming experience | 16:57 | |
alpha123 | arduino c++ probably isnt the worst possible programming environment actually | ||
lots of docs, you can make cool stuff, etc | 16:58 | ||
azawawi | i read that the difficult thing about is the debugging part | ||
alpha123 | granted c++ will probably scar him for life | ||
azawawi | but that holds for every device out there if you think of it | ||
alpha123 | rpi debugging isnt that bad | 16:59 | |
pnu | is it possible to make .rakudobrew "relocatable" in the filesystem? Eg. in my .rakudobrew/moar-nom/install/bin/perl6 script all paths are absolute, which makes it not relocatable. | ||
17:00
donaldh left
|
|||
pnu | I'm trying to move the whole .rakudobrew directory to another path, temporarily, because of build deployment stuff. | 17:01 | |
Skarsnik | I don't think you can | 17:02 | |
rakudobrew is not mean to be used outside its scope ^^ | |||
azawawi | alpha123: rpi + breakout for pins then yes... otherwise it is a mess :) | 17:03 | |
pyrimidine | Zoffix: thx, that helps tremendously! | ||
17:06
bpmedley_ left
|
|||
Zoffix | aww... my capture breaks the minute I use Test::is -_- | 17:08 | |
pnu | Skarsnik: actually, i think rakudobrew doesn't care too much about that, but it's the normal rakudo build scripts that do this. | ||
AlexDaniel | arduino + perl 6? Huh? | 17:09 | |
Skarsnik | Look like arduino + C + perl6 probably x) | 17:10 | |
alpha123 | given the current state of perl6 compilers, embedded programming seems rather optimistic | 17:11 | |
Zoffix | Any idea why this code captures output into $x correctly as is, but breaks if I uncomment line 27, which is "is 1, 1;"? gist.github.com/zoffixznet/40062b484b67096ac0d8 | 17:12 | |
By "breaks", I mean I get output in the terminal and not in the $x | |||
RabidGravy | this is a new one on me "Bytecode validation error at offset 204, instruction 31: operand type 160 does not match register type 152" | ||
17:13
bpmedley joined,
davercc joined
|
|||
azawawi | RabidGravy: on what? | 17:15 | |
Zoffix | Ah, k. Test.pm6 saves the standard $PROCESS::OUT/IN and then doesn't refresh to them for my overrides | 17:17 | |
RabidGravy | rakudo, difficult to make a replication | ||
Skarsnik | Zoffix, I give you a (╯°□°)╯︵ ┻━┻ | 17:18 | |
nemo | Skarsnik: it's funny how much of my .XCompose consits of silly stuff like that | ||
*consists | 17:19 | ||
Skarsnik | I copy paste it from Discord that have a command for that xD | ||
Zoffix | nemo, for some reason the file you added to docs doesn't work for me :/ | ||
It got ⊆ as '{=(', but by the time I press =, I get the normal '=' | |||
17:20
Floyd-ATC joined
|
|||
nemo | Zoffix: the .XCompose? | 17:20 | |
Zoffix | yeah | ||
nemo | hm | ||
oh | 17:21 | ||
ilmari | Zoffix: is it a gtk app? the default input method has hard-coded built-in compose maps | ||
nemo | um | ||
ilmari: oh. lol | |||
Zoffix | xchat and Sublime Text 2 | ||
ilmari | Zoffix: right-click the text field, choose input methods -> X Input Method | ||
Zoffix | Palemoon | ||
nemo | Zoffix: yeah... definitely verify if you can do *any* of those in .XCompose | ||
Zoffix: like for example ← → ↓ ↑ | 17:22 | ||
Zoffix | What are the codes for those? | ||
*sequences | |||
nemo | left left right right down down up up | ||
Zoffix | nope | ||
nemo | ok. yeah. you're using stupid hardcoded stuff | ||
Zoffix | :( | ||
nemo | Zoffix: that's why I mentioned the env var in the doc | ||
Zoffix: and maybe need for a bridge | |||
no idea why GNOME did that stupidity | |||
Zoffix | k, not today then | ||
nemo | NIH syndrome? | ||
[Coke] | is Test::Util installed? | 17:23 | |
azawawi & | 17:24 | ||
nemo | the most irritating thing about the GNOME bit is the hardcoding - if they'd just made their own digraph thing, fine, whatever, but let me have a config file ☹ | ||
17:24
pmqs_ joined,
zakharyas left
|
|||
nemo | Zoffix: oh... one other possibility besides the stupid hardcoded stuff. need to log out, log back in... but if you're doing that, make sure you have that ENV var set before doing so. | 17:24 | |
17:24
mohae_ joined
|
|||
Zoffix | Already did | 17:25 | |
nemo | ok | ||
Zoffix | *loggeedout | ||
17:25
azawawi left
|
|||
nemo | $ env | grep xim | 17:25 | |
GTK_IM_MODULE=xim | |||
Floyd-ATC | If I installed rakudo as per instructions on perl6.org two weeks ago and I want to update, I just do "rakudobrew build moar 2015.12" again, right? | 17:26 | |
Skarsnik | It's a gtk issue, not even gnome? | ||
llfourn | Floyd-ATC: just rakudobrew build moar | ||
Skarsnik | and nuke before | ||
I don't think the 2015.12 will far well x) | |||
Floyd-ATC | oh ok | 17:27 | |
17:27
gensym_ joined,
gensym left
|
|||
Zoffix | not there | 17:27 | |
Gonna add | |||
17:27
pmqs left,
gensym_ is now known as gensym
|
|||
nemo | Skarsnik: yes | 17:27 | |
17:27
mohae left,
mindos left
17:28
mindos joined
|
|||
Floyd-ATC | I have no idea what I'm doing \o/ | 17:29 | |
TimToady | that's okay, neither do we :) | 17:30 | |
saaki | o/ is there a rakudobrew analogue for "perlbrew lib"? | 17:31 | |
Zoffix | saaki, what does "manage local directories" mean? | ||
saaki | ? | 17:32 | |
Zoffix | ah | ||
saaki, none that I know of | |||
saaki, `perlbrew` says "lib Manage local::lib directories.", which isn't very descriptive, but you can do `perlbrew lib` to get more info | 17:33 | ||
saaki | closest i've come up with is to have multiple .rakudobrew directories | ||
Zoffix: oh ok, i did "perlbrew help lib" and didn't see that :) | 17:34 | ||
Zoffix | Seems like my only solution is to set $PROCESS::OUT/ERR to my custom IO::Handles with a Bool $.is-capturing attribute that will control whether they're capturing or whether they should just proxy the data to *real* $PROCESS::OUT/ERR. -_- | 17:35 | |
Pretty hackety | |||
mst | saaki: yeah, inventing local::lib for perl6 is on my list of things to do at some point ;) | ||
17:35
lostinfog joined,
frankjh left
|
|||
Zoffix | mst++ | 17:35 | |
saaki | mst <3 | ||
Zoffix | This is starting to feel like work. | 17:37 | |
Zoffix leaves to play Warframe for the rest of the day | |||
17:37
llfourn left
17:38
Zoffix left
|
|||
saaki | have really liked python's virtualenv, seems far less messy than the perlbrew lib and carton juggling | 17:38 | |
[Coke] | muraiki: I found a bug in your perl6 answer. gives the wrong value for "/" - testing others... | 17:39 | |
muraiki | [Coke]: nuuu | ||
17:41
llfourn joined
|
|||
nine | I wonder if local::lib is actually necessary, since you can cut the repo-chain or completely replace it easily | 17:42 | |
17:43
frankjh joined
|
|||
mst | nine: local::lib is really just "a standardised way to stick something on the front of the repo chain" | 17:43 | |
[Coke] | muraiki: writing a test file so I can golf safely... | ||
TimToady | .oO(location, location, location) |
17:44 | |
.oO(identity, identity, identity) |
|||
[Coke] | that's the only failure I see. | ||
17:45
domidumont joined
|
|||
muraiki | [Coke]: thanks! I won't be able to get around to updating it for a bit, so if you want to comment on SO that's fine | 17:45 | |
RabidGravy | I'm putting this aside for a while, as a combination of things are making it difficult to debug github.com/jonathanstowe/p6-GDBM | 17:46 | |
17:46
Ch0c0late joined
|
|||
TimToady | the basic problem is that devs want to underspecify identity by using location as a proxy, and then kick up a fuss when we need to establish actual identity in a location-independent fashion | 17:47 | |
17:47
joydon left
|
|||
[Coke] | muraiki: gist.github.com/coke/e94f9a76b04dae359ecf | 17:47 | |
muraiki | [Coke]: awesome :) thank you again | 17:48 | |
17:49
nzkindest joined
|
|||
mst | saaki: if you're already using carton, why not 'carton exec' rather than faffing with perlbrew lib? | 17:50 | |
or, honestly, 'perl -Ilocal/lib/perl5 ...' | |||
or App::MyPerl | |||
[Coke] | muraiki: fixed it. will poke at golfing more. | ||
saaki | seems easier to dev with perlbrew lib | ||
muraiki | [Coke]: thanks, I have to head out but might be back on later | 17:51 | |
17:51
muraiki left,
schnuppi joined
|
|||
leont | Wasn't there a way to define a callable with a specific prototype? I remember something like add :(:$foo) to the type | 17:52 | |
RabidGravy | you mean like | 17:53 | |
masak .oO( prototype? ) | |||
leont | s/prototype/signature/ | ||
p5isms die hard | |||
RabidGravy | m: sub foo( &foo (Int $b) ) { }; sub bar(Int $a) { }; foo(&bar) | 17:54 | |
camelia | rakudo-moar 2d91f0: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in sub-signature of parameter &foo in sub foo at /tmp/3E_IhtHME0 line 1 in block <unit> at /tmp/3E_IhtHME0 line 1» | ||
RabidGravy | m: sub foo( &foo :(Int $b) ) { }; sub bar(Int $a) { }; foo(&bar) | ||
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oeaxXsIG0JCan only use the : invocant marker in the signature for a methodat /tmp/oeaxXsIG0J:1------> 3sub foo( &foo :(Int $b) 7⏏5) { }; sub bar(Int $a) { }; foo(&bar) expecting any of:…» | ||
RabidGravy | or something like that | ||
mst | saaki: well, ok, but if you do things the complicated way, don't blame us for it being complicated :) | 17:55 | |
saaki | mst: i like carton for some things, but switching sets of dependencies seems much easier with just perlbrew lib | ||
17:55
CurtisOvidPoe_ joined
|
|||
AlexDaniel | since when the output of camelia became colored? | 17:55 | |
17:55
CurtisOvidPoe left,
CurtisOvidPoe_ is now known as CurtisOvidPoe
|
|||
mst | I tend to have a single perl in path, and my scripts to 'use lib "$FindBin::Bin/../local/lib/perl5"; | 17:55 | |
so I cd into a project directory | |||
run 'carton install' | 17:56 | ||
then I can just do 'script/foo.pl' | |||
17:56
pierrot left
|
|||
geekosaur | AlexDaniel, it's been colored for years. until, hm, 2013ish, you needed a client that could interpret ANSI color escapes though | 17:56 | |
ilmari | m: sub foo( &cb:(Int $b) ) { &cb(42) }; sub bar(Int $a) { say $a }; foo(&bar) | ||
camelia | rakudo-moar 2d91f0: OUTPUT«42» | ||
ilmari | m: sub foo( &cb:(Int $b), $v ) { &cb($v) }; sub bar(Int $a) { say $a }; foo(&bar, "fleem") | 17:57 | |
camelia | rakudo-moar 2d91f0: OUTPUT«Type check failed in binding $a; expected Int but got Str in sub bar at /tmp/ZeqwkwD8bV line 1 in sub foo at /tmp/ZeqwkwD8bV line 1 in block <unit> at /tmp/ZeqwkwD8bV line 1» | ||
AlexDaniel | geekosaur: but this last thing looks like IRC colors | ||
saaki | mst: ah, yes, then there is building and switching perl versions, perlbrew makes that easy too | ||
mst | saaki: you can still use perlbrew for that, all perlbrew is from that POV is 'a fancy way to get the perl you wanted in path' | 17:58 | |
AlexDaniel | m: sub foo( &foo :(Int $b) ) { }; sub bar(Int $a) { }; foo(&bar) | ||
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jCGPqQ3ZCtCan only use the : invocant marker in the signature for a methodat /tmp/jCGPqQ3ZCt:1------> 3sub foo( &foo :(Int $b) 7⏏5) { }; sub bar(Int $a) { }; foo(&bar) expecting any of:…» | ||
leont | Possibly my problem is that I'm trying to use it in has | ||
ilmari | AlexDaniel: no space between &foo and :(...) | ||
AlexDaniel | ilmari: heh, I just wanted to trigger that error message :) | ||
leont | m: class Foo { has &foo:(Int $int); } | 17:59 | |
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/koyZS98HB_You can't adverb has &fooat /tmp/koyZS98HB_:1------> 3class Foo { has &foo:(Int $int)7⏏5; }» | ||
AlexDaniel | geekosaur: and I bet that I've never seen that before… | ||
saaki | mst: ah right, good point | ||
RabidGravy | leont, at this point you might want a subset | ||
17:59
pierrot joined
|
|||
geekosaur | let me rephrase what I said earlier. starting in I think 2013 camelia was changed to use mIRC color codes in IRC instead of ANSI escapes | 17:59 | |
ilmari | m: class Foo { has &foo(Int $int); } | 18:00 | |
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/frkabJ0S1eThe () shape syntax in routine declarations is reserved (maybe use :() to declare a longname?)at /tmp/frkabJ0S1e:1------> 3class Foo { has &foo(Int $int7⏏5); } expecting any of:…» | ||
geekosaur | however note that this only happens for compile time errors | ||
I don't think runtime errors have ever been colored | |||
AlexDaniel | in fact, even compile time errors are sometimes not colored | 18:02 | |
18:02
autogen_ joined
|
|||
lucasb | m: (0,6);m: 1 2 | 18:03 | |
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b2N5Po2DqKTwo terms in a rowat /tmp/b2N5Po2DqK:1------> 3,6);m: 17⏏5 2 expecting any of: infix infix stopper statement end …» | ||
lucasb | m: (0,7);m: 1 2 | ||
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fo0QNbzVmTTwo terms in a rowat /tmp/fo0QNbzVmT:1------> 3,7);m: 17⏏5 2 expecting any of: infix infix stopper statement end …» | ||
lucasb | AlexDaniel: do you like those colors? :) | ||
18:03
firstdayonthejob joined,
pmurias joined
|
|||
pmurias | hi | 18:03 | |
hoelzro | o/ pmurias | ||
AlexDaniel | lucasb: yeah, I see it as ^C5===^CSORRY!^C5===^C. I like it very much… :( | 18:04 | |
lucasb | AlexDaniel: aww, sorry. It's colored here in my terminal | ||
18:04
abraxxa left,
autogen left,
abraxxa1 joined
|
|||
leont | After changing a public @variable to private and adding my own submethod BUILD(:@!rules) {}, the array is suddenly containing Seq instead of a bunch of Callable's. Anyone a clue what's going on | 18:05 | |
AlexDaniel | m: (0,6);m: | ||
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1fNWFMj3G7Colons may not be used to delimit quoting constructsat /tmp/1fNWFMj3G7:1------> 3(0,6);m:7⏏5<EOL> expecting any of: colon pair (restricted)» | ||
lucasb | AlexDaniel: the exact number of spaces is relevant. | 18:06 | |
AlexDaniel | lucasb: nah, I'm just trying to get the colors to work :D | ||
18:08
todd_ joined
|
|||
RabidGravy | Okay, what's this about, this one works: | 18:09 | |
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo(Int $a) { }; say Foo.new(cb => &foo) | |||
camelia | rakudo-moar 2d91f0: OUTPUT«Foo.new(cb => sub foo (Int $a) { #`(Sub|86641400) ... })» | ||
18:09
sortiz joined
|
|||
RabidGravy | and, this does as I expected: | 18:09 | |
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo(Str $a) { }; say Foo.new(cb => &foo) | 18:10 | ||
camelia | rakudo-moar 2d91f0: OUTPUT«Type check failed in assignment to $!cb; expected Foo::Callback but got Sub in block <unit> at /tmp/WY1Oyhbevv line 1» | ||
RabidGravy | but: | ||
m: class Foo { subset Callback of Sub where { $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo() { }; say Foo.new(cb => &foo) | |||
camelia | rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List' in block <unit> at /tmp/pBMZhvPJRF line 1» | ||
RabidGravy | what's that all about? | ||
18:10
sftf left
|
|||
RabidGravy | what immutable List? | 18:11 | |
lucasb | m: sub () {}.signature ~~ :(Int) # shorter | ||
camelia | rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List' in block <unit> at /tmp/LkFWzBdOgg line 1» | ||
lucasb | maybe smartmatching signatures has some problems | 18:12 | |
RabidGravy | ah, it is shifting the params | ||
m: class Foo { subset Callback of Sub where {$_.signature.count && $_.signature ~~ :(Int $a) } ; has Callback $.cb; }; sub foo() { }; say Foo.new(cb => &foo) | 18:13 | ||
camelia | rakudo-moar 2d91f0: OUTPUT«Type check failed in assignment to $!cb; expected Foo::Callback but got Sub in block <unit> at /tmp/emRYJguoqV line 1» | ||
todd_ | trying to install P6 and running into trouble with "panda install Task::Star" I'm behind a proxy, have all my proxy settings correct (git works, http/https works). Saw that I need Http::UserAgent, which lists panda as the method to install. OK, cloned it and tried pointing panda at local directory but no joy. Ideas? | ||
RabidGravy | but yes, it is not checking the number of params before shifting them | 18:14 | |
todd_ | panda install ./http-useragent ==> Installing HTTP::UserAgent from a local directory './http-useragent' Could not download module metadata: Failed to connect: connection timed out | ||
18:14
vendethiel joined
|
|||
nine | todd_: cd into http-useragent and try panda install . | 18:14 | |
[Coke] | todd_: our behind-a-proxy story is not excellent at the moment. | ||
but what nine said -should- handle it. future versions of panda should probably include HTTP::UserAgent as part of the initial download. | 18:15 | ||
ugexe | HTTP::UserAgent has quite a dependency chain | ||
18:15
leont left
|
|||
todd_ | giving a shot "cd ./http-useragent; panda install ./" | 18:15 | |
ugexe | which is why it still needs to fetch meta data etc | 18:16 | |
timotimo | nine++, FROGGS++ # symbol merge fix | ||
18:16
abraxxa1 is now known as abraxxa
|
|||
timotimo | i'm annoyed i didn't think of that | 18:16 | |
todd_ | connection timed out getting metadata, can I manually get that metadata? | 18:17 | |
18:18
abraxxa left,
abraxxa joined
|
|||
RabidGravy | todd_, the problem is that HTTP::UserAgent has dependencies which it will have to install remotely | 18:18 | |
18:19
espadrine left
|
|||
todd_ | OK, should I try to build the "depends" in the META.info by hand? | 18:20 | |
ugexe | you shouldnt have to since you say your git works properly | ||
todd_ | the panda install from the http-useragent directory fails, how else should I be doing this? | 18:21 | |
is there a perl Buildfile.PL equivalent that I don't know about? | |||
ugexe | ecosystem-api.p6c.org/projects.json if you place this in some spot (I dont know off hand) it should be enough | 18:22 | |
18:23
uruwi joined
18:24
sbaxbo joined
|
|||
lucasb | github.com/rakudo/rakudo/blob/nom/...ure.pm#L25 | 18:24 | |
timotimo | ./share/perl6/site/panda/projects.json maybe? | ||
18:25
jack_rabbit_ left
|
|||
lucasb | ^^ if the signature doesn't have positional parameters, it gets defaulted to a empty list. but shift on lists fails. so maybe a quick fix would be to default to an empty array "// []" | 18:25 | |
idk, this is just my interpretation | |||
m: :($).ACCEPTS(:()) # another short example | 18:26 | ||
camelia | rakudo-moar 2d91f0: OUTPUT«Cannot call 'shift' on an immutable 'List' in block <unit> at /tmp/q46I8PdfAr line 1» | ||
18:26
sbaxbo left
18:29
MadcapJake left
|
|||
lucasb | oops, [].shift also fails!, so no, that won't work. I thought shifting an empty array would return Nil or something | 18:30 | |
18:30
lnrdo_ left
|
|||
RabidGravy | todd_, if you stick the projects.json in .rakudobrew/moar-nom/install/share/perl6/site/panda/projects.json (or wherever your rakudo is installed) it shouldn't have to fetch it | 18:31 | |
18:34
raiph left
18:35
Actualeyes left
|
|||
nine | I wonder if the time spent on finding workarounds wouldn't better spent by hacking a fallback to curl or wget into panda | 18:37 | |
RabidGravy | really had a most un-productive day | ||
nine, yes | |||
18:37
Calibellus joined
18:38
wamba left
18:39
vividsnow left
18:40
vividsnow joined
|
|||
timotimo | there's someone on twitter talking with @xdg who says "and much though perl6 people talk of this massive influx of newbies, i'm failing to see large numbers of non-perl5 people" ... am i just super biased? | 18:41 | |
DrForr | I'd be half-tempted to respond "So your considered opinion is that we should just stop?" | 18:43 | |
mst | timotimo: I think that's availability bias because he already knows where to see the perl5 people's online presences | ||
ugexe | i keep a git repo of the ecosystem meta data to solve it github.com/ugexe/Perl6-ecosystems/...r/p6c.json | ||
TimToady | does "perl people" include people who used to use perl and drifted away? | 18:44 | |
mst | nine: or we could just steal whatever logic cpanm has for http fallback and call it good | ||
timotimo | mst: i wonder if we could just do a little survey of a bunch of online perl6 places about this? | ||
mst | TimToady: that depends entirely on what conclusion you're trying to make the data fit, I suspect | 18:45 | |
timotimo: or get the various perl6-as-first-perl people to be more visible via blogs etc. or ... dunno | |||
TimToady | maybe we should build an Iron Curtain to prevent people from switching | ||
lucasb | .oO( non-perl5 people in this channel, please raise your hand ) |
||
mst | that's not going to help, we can't see their hands over IRC! | 18:46 | |
llfourn puts his hand down | |||
TimToady | or maybe we should have an immigration quota | ||
DrForr | Easy enough, considering the online perl places consist of here and a few blogs :) | 18:47 | |
18:47
schnuppi left
|
|||
TimToady | and just set the immigration quota much higher for Java refugees | 18:47 | |
immigrants from various FP languages could request religous asylum | 18:49 | ||
*gious | |||
timotimo | or maybe i'm just mostly considering people who are contributing to core and modules, rather than people just checking perl6 out? | ||
[Coke] | (fallback to curl) .. that's probably much nicer than forcing the huge dep into panda. | 18:50 | |
good thinking | |||
timotimo | that might be a dumb mistake anyway | ||
mspo | panda could embed a tiny http client | 18:52 | |
ugexe | it used to | ||
mst | has anybody written a tiny http client? | ||
timotimo | it used to be a simple http client, then it became a simple http client with support for proxies ... | 18:53 | |
dunno if it got any further | |||
mspo | can anyone tell me why my panda doesn't work at all? gist.github.com/msporleder/4e9fa7c1429f2ca9362f | ||
or does panda try to call out to git? | |||
[Coke] | timotimo: the proxy support was left to an external module if it's installed... but if it's not, you need proxy support to install it... | 18:54 | |
18:54
Psyche^_ joined
|
|||
RabidGravy | yeah, it's very tiny literally good enough to fetch the projects.json | 18:55 | |
mst | right, but that seems to be to be a case of "if $ENV{http_proxy}, use curl/wget" | ||
RabidGravy | except if there is a proxy involved | ||
mst | I mean, the idea is to minimise the situations where things isn't easy | 18:56 | |
this is toolchain/systems type work, you'll never make it work everywhere | |||
RabidGravy | yeah, on the face of it, not that hard | ||
ugexe | mspo how old is your rakudo? | ||
mst | if you try, some bugger will run it on a Nintento DS or something and prove you wrong | ||
18:56
Psyche^ left
|
|||
[Coke] | "don't know how to no precomp" sounds old. | 18:57 | |
mspo: perl6 --version ? | |||
mst | (yes, somebody actually got microperl running on a DS ... only time I've ever blessed somebody's non-use of CPAN ;) | ||
RabidGravy | there's some weirdos about aren't there | 18:58 | |
18:58
vendethiel left
18:59
frankjh left
|
|||
mspo | This is perl6 version 2015.11 built on MoarVM version 2015.11 | 19:01 | |
19:03
hankache joined
|
|||
hankache | good * #perl6 | 19:03 | |
lucasb | ^^ santa claus missed visiting someone | 19:05 | |
hoelzro | o/ hankache | ||
El_Che | hehe. From the backlog it looks like TimToady is in a good mood :) | 19:06 | |
hoelzro | should POD after =finish be parsed? | ||
I put some POD after =finish (a la POD after __END__ in P5), and perl6 --doc doesn't render it | |||
hankache | hi hoelzro | ||
mspo | wow erlang might actually add unix socket support soon | 19:08 | |
hankache | hoelzro is it by design or the render is bogus? | 19:09 | |
hoelzro | hankache: that's what I'm wondering | 19:10 | |
"This means that the parser will treat all the remaining | |||
1572 text in the file as Pod, even if it is not inside an explicit block" | |||
sounds like a bug | |||
19:11
skids left
|
|||
timotimo | sounds like a bug to me | 19:22 | |
19:29
MadcapJake joined
|
|||
hoelzro rakudobugs | 19:32 | ||
gtodd | stackoverflow.com/a/24328496/2019415 is change in behaviour accurate ? | 19:33 | |
The question is old but a wholesale update or removal doesn't seem right. Correcting with a comment maybe better ... | 19:35 | ||
[Coke] | "CPAN's Perl6 documentation" ain't no such thing. | 19:38 | |
please point at doc.perl6.org instead. | 19:39 | ||
gtodd | ok | 19:40 | |
chansen_ | mst: porting p5's HTTP::Tiny to p6 shouldn't be be hard, but I don't consider myself qualified even though I'm the original author | 19:43 | |
mst | [Coke]: yet | ||
19:43
pmurias left
|
|||
chansen_ | I guess you meant to address me and not [Coke]! Yes, not yet! | 19:45 | |
todd_ | RabidGravy, thanks for the location to place the json file. That worked. | 19:47 | |
RabidGravy | yay! | ||
perigrin | chansen_: there's a start on github | ||
chansen_ | perigrin: URI? | ||
perigrin | hold please (I'm on 4G things are slow) | ||
AlexDaniel | m: my @s = [2443,5,33, 90, -9, 2, 764]; @s.sort.say | 19:48 | |
camelia | rakudo-moar 2d91f0: OUTPUT«(-9 2 5 33 90 764 2443)» | ||
AlexDaniel | gtodd: I'd say removal is correct | 19:49 | |
chansen_ 4G sucks! And i'm supposed to live in the land with most coverage! | |||
perigrin | chansen_: github.com/shoichikaji/perl6-HTTP-Tinyish ... I think I may have read that wrong | ||
AlexDaniel | but the whole stackoverflow thing is not so good in that sense. Why keep obsolete questions/answers? | 19:50 | |
todd_ | By worked, I mean, I have advanced to my next problem! :-) Tests are failing in Http:UserAgent t/160-issue-67.t line 21 "expected 1 got 2" | ||
chansen_ | perigrin: Thats no port! It's using libcurl for http(s) | 19:51 | |
perigrin | chansen_: yeah I think I read it wrong when I was nooding through modules.perl6.org ... it's a port of HTTP::Tinyish which is miyagawa's "HTTP::Tiny-around-Curl" | 19:52 | |
timotimo | 4G sucks? isn't 4G "LTE"? | ||
perigrin | timotimo: no LTE is LTE. | ||
timotimo | oh, ok | 19:53 | |
perigrin | I get like 12M/s on LTE, I think I get 1-2M/s on 4G | ||
timotimo | AFAIK my nexus 5 doesn't do LTE | ||
perigrin | and when it hits edge I get a paperback book. | ||
timotimo | and i don't have a data plan that lets me have LTE. also, in germany, LTE data plans are ridiculously bad. | ||
geekosaur | my n5 did lte fine | ||
but there are still places that have old 4g but not lte | 19:54 | ||
timotimo | like "have one gigabyte of data over LTE, then be throttled down to prehistoric speeds" | ||
perigrin | I'm inside a building hiding by some bathrooms which I suspect is what's going on | 19:55 | |
or not ... back up to LTE now ... weird. | |||
19:56
tspjf left
|
|||
timotimo | oh. huh. 3 gb of "21.6 mbit/s highspeed internet" for "just" 15 euros per month | 19:56 | |
diakopter | Google FI is $1/GB worldwide, but limited to 256Kb/s | ||
little b | |||
timotimo | that's not much :( | 19:57 | |
but worldwide ... that's not bad | |||
the EU has come up with some kind of general maximum cost for roaming | 19:58 | ||
that's a good step forward, but it's still a ridiculously low amount of data you can get for a ridiculously high price | |||
moritz | timotimo: but that (max roaming cost) isn't in place yet | ||
timotimo | ... of course not >_> | 19:59 | |
and 9 eurocent per minute or text message ... is also kind of ridiculous | 20:00 | ||
gtodd | mobile and roaming are passé we need to plan for the future economy where people *stay home* | 20:01 | |
timotimo | stay home? that's ridiculous! what did we build these gigantic cities for?! | 20:02 | |
Skarsnik | are all the dependancy on http::ua still relevant? | ||
gtodd | so we can fly or take train from one to another in a mad rush of productivity! | ||
AlexDaniel | timotimo: well, a city is just a set of homes | 20:03 | |
20:03
llfourn left
|
|||
AlexDaniel | timotimo: they are packed this way so that if you ever have to go somewhere (e.g. once in a year or two) you don't have spend too much time outside | 20:04 | |
TimToady | AlexDaniel: if that's so, why do the terrorists shoot up things that aren't homes? | ||
TimToady thinks there are somewheres that are not homes in cities | 20:05 | ||
huf | only because the police keep chasing people away | ||
diakopter | timotimo: I think Fi figures you'll use mostly WiFi, but have the 256Kbps there for emergencies such as IRC and SMS | ||
AlexDaniel | TimToady: I don't know, ask a terrorist :) | ||
TimToady | how can I, we keep chasing them out of the room | 20:06 | |
timotimo | diakopter: how would you have access to wifi? | ||
gtodd | we need friction and cost to be able shape and control the economics of abundance ! | ||
diakopter | timotimo: I don't understand, how wouldn't you have access to WiFi | ||
TimToady | first we need traction, now we need friction... | ||
timotimo | diakopter: if you have google fi, does that mean they automatically h4x0r everyone's home wi-fi for you? | 20:07 | |
AlexDaniel | .oO( hm, perhaps consider submitting a request to IAmA on reddit ) |
||
todd_ | Guess I'm spoiled by cpan, but I'm disappointed by my inability to get any packages built via panda. I want to start working with P6, and will keep trying, but others this position will probably rage quit. | ||
diakopter | I don't understand the purpose of your absurd rhetorical question | ||
timotimo: were we talking only about "in people's homes where they won't let you use their wifi?" | 20:08 | ||
RabidGravy | to be honest, the Wifi here is so bad I use a cable most of the time | 20:09 | |
timotimo | okay, so the Fi thing is supposed to be a mobile data plan that has a bit of cheap extra worldwide data for you, too? | 20:10 | |
TimToady | todd_: well, rage quitters would probably not be our first choice of new recruits to the community in any case... :) | ||
perigrin | RabidGravy: I would but there is no port on my iPad for it. | 20:11 | |
diakopter | timotimo: Google Fi is only for USAians. so, when globally traveling, there will be WiFi generally most public places of transit, as well as essentially every hotel and airbnb | ||
timotimo | diakopter: saying "fi figures you'll use mostly wifi" sounds a bit like "yeah, we sell you a data plan, but you don't actually get any data. you wouldn't use it anyway, right?" | ||
AlexDaniel | TimToady: what's that? An exam for refugees? | ||
TimToady | I've never been keen to be co-dependent for people who play the "I'm taking my marbles and going home" game | 20:12 | |
timotimo | anyway, gotta go! :( | ||
diakopter | well it's for being able to make voice calls in emergency and SMS, and a tiny bit of data where there's no WiFi | ||
20:12
darutoko left
|
|||
timotimo | TimToady: i do prefer "ragequit" over "ragestay", tbh | 20:12 | |
perigrin can't even find his marbles anymore. | |||
diakopter | I think I never had any.. | ||
todd_: what's your current obstacle | 20:13 | ||
or is it Useragent module specific? | |||
RabidGravy | perigrin, strangely my tablet and the tv are fine with the wifi, my laptop and phone not so much | ||
todd_ | tests failed in Useragent, and LWP::Simple fails to build in Task::Star | ||
diakopter | if it's specific to just that module, seems unfair to blame all of "getting a module built by panda" | 20:14 | |
perigrin | RabidGravy: the last time my router died ( couple months ago actually) I replaced it with a mikrotik and I've been incredibly happy since. | ||
diakopter | "I can't publish a module because someone put some crap in the module index" | ||
mst | diakopter: (1) the user is always frustrated | 20:15 | |
todd_ | BTW, not threatening to take my marbles home, just the a lot of people will not bother to come and ask questions here, and there isn't a lot of help on building these things in the usual places yet. | ||
mst | diakopter: (2) the installer is the thing directly in front of the user therefore the thing they're most likely to be frustated -at- | ||
todd_ | yes, and at the end of the day, I just want to get a tool chain working so I can start developing in P6 | 20:16 | |
TimToady | Both the "take my marbles" ploy and the "fait accompli" ploy tend to be used by people who are not willing to work inside a community where compromises are valued over ultimatums. | ||
20:16
marmay left
|
|||
mst | todd_: 'panda install HTTP::UserAgent' just completed fine here | 20:16 | |
diakopter | it would be nice to have docs for making panda work, and also travis-ci in a github repo, for that matter | ||
RabidGravy | todd_, the problem with H::UA there is that it goes to the network for some tests, you could either run with --notests *or* try and set $HTTP_PROXY in the environment | ||
todd_ | I have no ploys, just asking for help. Willing to do the work. | ||
mst | NETWORK_TESTING needs to be set for it to care about that, I think | 20:17 | |
certainly I got a skip based on it not being set | |||
TimToady | todd_: wasn't accusing you of that :) | ||
RabidGravy | mst, not necessarily *all* | ||
TimToady | was just using your remark to launch my own diatribe :) | ||
todd_ | is $HTTP_PROXY set from the shell's http_proxy var | ||
mst | ah. so the 'check NETWORK_TESTING' block might want to be copied to other places? | ||
TimToady | todd_: do you know about #perl6-toolchain? | 20:18 | |
mst | TimToady: the trouble with ultimatums is they're only fun once | ||
RabidGravy | mst, yes, it has only been applied to places that are always trublesome :) | ||
todd_, let me look at the code again :) | 20:19 | ||
mst | if this is a bug in a specific module's tests, I dunno if that's exactly a toolchain thing as such | ||
TimToady | lunch & | ||
mst | (though given that channel's relativelty quiet I don't really mind, we can always split stuff out again later if we find a reason) | ||
todd_ | sorry to sound dumb, but is that another channel that I should move too? | 20:20 | |
mst | that's where we're discussing improvements to installers etc. so you should probably be aware of it if the installers break | ||
this is a module being weird | |||
DrForr | Not necessarily move to, but join if you're interested. | ||
RabidGravy | todd_, no you're fine | ||
mst | hrm, does panda keep a cache of sources? | 20:21 | |
hoelzro | mst: I think it does in the state file | ||
er, nvm, I'm dumb | |||
that's installation state | |||
I swear there's a projects.json or something that it uses | |||
yup, there is | 20:22 | ||
RabidGravy | well the proxy code does "%*ENV<http_proxy> || %*ENV<HTTP_PROXY>" so you should be good if you have http_proxy in the environment | ||
hoelzro | it respects HTTP_PROXY? that seems a little scary | 20:23 | |
todd_ | ok, then it is set correctly. wget, curl recognize it and I have pulled files through using it | ||
RabidGravy | hoelzro, ? | ||
hoelzro | don't some systems (like the obsolete CGI) set HTTP_PROXY from HTTP headers of incoming requests? | ||
hoelzro isn't sure if modern things do this | 20:24 | ||
I'm just visualizing a system that allows users to install panda modules via a webform or something, and an attacker injecting a bad proxy that would serve up bad modules | |||
I'm probably just being paranoid | |||
mst | LWP::UserAgent's code traps $ENV{REQUEST_METHOD} | 20:25 | |
todd_ | building useragent with --notests | 20:26 | |
Skarsnik | RabidGravy, any idea why I have to explicitly-manage something so the lib pointing to the content is not lost? (I am not even done with the variable itself) | ||
gtodd | hmm I was always on very good terms with my sibling .... | ||
todd_ | moving back to install Task::Star | 20:28 | |
RabidGravy | todd_, I don't think the code in H::UA for proxy support is very well tested tbh, it's kind of tricky to test without an actual proxy | ||
todd_ | sounds like a place I could be helpful | 20:29 | |
since I live behind one :) | 20:30 | ||
RabidGravy | Skarsnik, not sure matey | ||
todd_ | LWP::Simple t/socket-sanity.t fails with nonzero exit status of 255 | 20:31 | |
abraxxa wants a Star::Trek module | |||
mst | o/ boldly going forwards / cos we can't find reverse o/ | 20:32 | |
diakopter | todd_: I'm guessing that one's not proxy-aware | ||
DrForr | o/' Next Gen'ration twerps o/' | 20:33 | |
RabidGravy | yeah I think tadzik contributed the proxy code in H::UA explicitly to support the panda case | ||
diakopter | my ($proxy, $proxy-port) = %*ENV<http_proxy>.split('/').[2].split(':'); | 20:34 | |
well it doesn't support proxying SSL, that's for sure | |||
when it says "Simple"...... | 20:35 | ||
RabidGravy | well neither does h::ua to be fair, need someone clever and motivated to do the CONNECT THING | 20:36 | |
diakopter | github.com/cosimo/perl6-lwp-simple...t-sanity.t doesn't even use LWP::Simple | 20:37 | |
20:38
lichtkind joined
|
|||
chansen_ | A port of HTTP::Tiny seems in order that implements the minimum of RFC2616 | 20:39 | |
RabidGravy | in the fullness of time, I'd like to do protocol plugins for the connection and request stuff for h::ua | ||
DrForr | What Unicode character does camelia use for n/l? It's not \c[2424], at least I don't think... | ||
Skarsnik | RabidGravy, H:ua should be maybe split to share the http:: stuff that are not ua x) | 20:40 | |
RabidGravy | that would be sergot's call | ||
I just make it do the things I need it to | |||
20:41
Tonik left
|
|||
lucasb | DrForr: I think it's indeed U+2424. | 20:43 | |
20:43
psy_ joined
|
|||
DrForr | irssi must be doing something differently then. | 20:43 | |
20:45
_Gustaf_ joined
|
|||
ugexe | Net::HTTP is broken up into non-ua parts and has no dependencies | 20:46 | |
20:48
hankache left
|
|||
lucasb | hoelzro: sorry to be picky, but can I suggest you to add the snippet in the body of the email in you RT tickets (maybe in addition to add as attachments). This way, it's easier to see them in email clients. | 20:49 | |
AlexDaniel | m: say ‘’.ord.base: 16 | 20:50 | |
camelia | rakudo-moar 2d91f0: OUTPUT«A» | ||
AlexDaniel | right… | ||
moritz | AlexDaniel: camelia translates newlines to  on output and vice versa on input | ||
Skarsnik | I wonder how to input stuff like this under Windows on a nice way x) | 20:51 | |
moritz | .u  | ||
yoleaux | U+2424 SYMBOL FOR NEWLINE [So] () | ||
AlexDaniel | moritz: yea, I know | ||
DrForr | Yeah, worrisomely it's not irssi but perl. I'm running s:g/\n/\c[2424]/ over a sample input string and I'm getting E0 A5 B8 where I expect to see the UTF-8 eqiv of U+2424. | 20:52 | |
moritz | m: say :16<2424>.encode | 20:53 | |
camelia | rakudo-moar 2d91f0: OUTPUT«Method 'encode' not found for invocant of class 'Int' in block <unit> at /tmp/iKkofUCfkf line 1» | ||
moritz | m: say :16<2424>.chr.encode | ||
camelia | rakudo-moar 2d91f0: OUTPUT«utf8:0x<e2 90 a4>» | ||
moritz | m: say Buf.new(:16<E0 A5 B8>).decode | 20:54 | |
camelia | rakudo-moar 2d91f0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/izpxprLF0ZMalformed radix numberat /tmp/izpxprLF0Z:1------> 3say Buf.new(:16<E07⏏5 A5 B8>).decode expecting any of: number in radix notation» | ||
moritz | m: say Buf.new(:16(<E0 A5 B8>)).decode | ||
camelia | rakudo-moar 2d91f0: OUTPUT«This call only converts base-16 strings to numbers; value $("E0", "A5", "B8") is of type List, so cannot be converted!(If you really wanted to convert $("E0", "A5", "B8") to a base-16 string, use $("E0", "A5", "B8").base(16) instead.) in block <unit…» | ||
moritz | grml | ||
DrForr | E0 A5 B8 isn't even assigned, as it's U+0978 right by Devanagari. | ||
dalek | kudo-star-daily: 0077dfd | coke++ | log/ (6 files): today (automated commit) |
20:56 | |
20:57
rindolf left
|
|||
hoelzro | lucasb: sure thing! | 20:58 | |
20:59
domidumont left,
llfourn joined
21:03
llfourn left
|
|||
lizmat | Turns out #127207 is because we try to take a .value from a QAST::Op to find the value to be mentioned in the error message | 21:04 | |
since the error message is going to be LTA with NaN or Inf anyway, I'm going to make it not complain for now | |||
ugexe | lizmat: can mkdir be made to `$!e = True` on success like spurt? or is there a reason not to do that? | 21:06 | |
lizmat | apart from race conditions, I don't see why not | 21:07 | |
that also applies to spurt | |||
so go ahead :-) | |||
AlexDaniel | lizmat: 126990 is related | 21:09 | |
21:09
zwu left
|
|||
lizmat | AlexDaniel: yeah, but only the first part, the second part I'm not going to touch or fix or anything until jnthn has found a way to take care of it | 21:10 | |
AlexDaniel | lizmat: sure, but perhaps these should be linked somehow or something | 21:11 | |
dalek | osystem: c8b01b0 | ugexe++ | META.list: Re-add zef module installer |
||
lizmat | I'm spectesting fix for #127207 now, will mention in the commit message | ||
and mail to RT | |||
AlexDaniel | lizmat: personally I highly doubt that Int will ever be allowed to store Infs or NaNs | ||
chansen_ | ugexe: Net::HTTP probably implements p5 weaknesses, eg lacks abstraction | 21:12 | |
ugexe | chansen_: its not a user agent. its the parts to build one | ||
lizmat | Ah, I see part 2 of RT #126990 has already been fixed :-) | ||
chansen_ | ugexe: why doesn't it separate the transport from the protocol layer? That would wake it testable! | 21:15 | |
AlexDaniel | lizmat: well, it's not “fixed” but perhaps the ticket could be closed, yeah. This is pretty interesting: irclog.perlgeek.de/perl6/2014-08-20#i_9217322 | 21:16 | |
[Coke] | how many copies of 127207 are there... | 21:17 | |
lizmat: what's the A error message? | |||
lizmat | [Coke]: not sure what you mean? | 21:18 | |
[Coke] | You replaced with an awesome error message, yes? | 21:20 | |
(as opposed to the LT A error message) | 21:21 | ||
chansen_ | ugexe: I have been around an implemented several UA's in perl and other languages! | 21:22 | |
I'm quite fluent when it comes to RFC2616 | 21:23 | ||
dalek | kudo/nom: af87982 | lizmat++ | src/Perl6/Optimizer.nqp: At least temporary fix for RT #127207 Seems the optimizer thought that all Num values where actual numeric values and not abstract things like Inf or NaN. This patch (probably very badly) checks for that situation, and basically just emits the compile time error if it *is* an actual literal numeric value. Else it just ignores, and it becomes a runtime error. Leaving it as an exercise to the more knowledgable Optimizer.nqp devs to make it go to the exception *and* handle the error in such a way that it won't suggest trying to coerce the value to Int/Rat/Complex first. |
||
ugexe | i dont think anyone questions that? | ||
21:23
jameslenz joined
|
|||
lizmat | [Coke]: no, it makes it a runtime error | 21:23 | |
at least for now | |||
21:24
yurivish joined
21:26
huggable left
|
|||
lucasb | lizmat: you used 'my $value := $op[1][2];' just once? | 21:27 | |
lizmat | no, it's used twice in the stringification | ||
I guess it could be used also in the other if branches, but I was really hoping someone else could make the my Int $a = Inf case a compile time error as well | 21:28 | ||
El_Che | today I blocked some time at work to write some perl6. It was a good day :) | 21:29 | |
lucasb | lizmat: ah, ok. I thought you meant to write ':value($value.value)' instead of ':value($op[1][2].value)' | 21:30 | |
lizmat | I guess I could do that... :-) | ||
21:31
_Gustaf_ left
21:33
davercc left,
_Gustaf_ joined
21:36
sena_kun joined
21:38
setty1 joined
21:39
vendethiel joined
21:41
spider-mario joined,
kaare_ left
|
|||
dalek | kudo/nom: f9039dc | lizmat++ | src/Perl6/Optimizer.nqp: Optimize the optimizer a bot, lucasb++ |
21:41 | |
RabidGravy | what you made the optimizer a bot-net? out of the box! ;-) | 21:43 | |
lizmat | *sogh* :-) | ||
Skarsnik | x) | 21:44 | |
moritz | there's a bot-net box? | 21:46 | |
does it contain doughnuts too? :-) | |||
masak | m: class C { has $.x = D.new }; class D {} | 21:47 | |
camelia | rakudo-moar af8798: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9mEQAw_f9TIllegally post-declared type: D used at line 1» | ||
masak | m: class C { has $.x = D::E.new }; class D::E {}; C.new | ||
camelia | rakudo-moar af8798: OUTPUT«Could not find symbol '&E' in method at /tmp/QnoFxbCni2 line 1 in block <unit> at /tmp/QnoFxbCni2 line 1Actually thrown at: in method at /tmp/QnoFxbCni2 line 1 in block <unit> at /tmp/QnoFxbCni2 line 1» | ||
masak submits rakudobug | |||
timotimo | does somebody know a simple way to force a program to swap out pages when it hits a vastly lower RSS than it would usually have to? | 21:48 | |
lucasb | acronym bot: resident set size (RSS) | 21:50 | |
moritz | timotimo: google/stackoverflow says you can configure the swappiness per cgroup | 21:51 | |
timotimo | moritz: well, swappiness, but i can't force early swapping when there's still lots and lots of ram left? | ||
moritz | timotimo: I'm not aware of a means to do that; why would you even want that? | 21:52 | |
dunno, does an ulimit for the RSS force swapping, or does it kill the process? | |||
timotimo | ulimit for RSS is a no-op in linux | 21:53 | |
i'd like to experiment with things in moar's GC that could potentially make moar more responsible when swapping is involved | |||
21:55
joydon joined
|
|||
geekosaur thinks the easiest way to trigger that is a virtualbox or etc. with a low memory size | 21:56 | ||
timotimo | probably is :\ | ||
RabidGravy | yeah I was going to suggest that | ||
timotimo | i was hoping for a much less invasive way | 21:58 | |
El_Che | what about running the moar in a docker container with restricted mem resources | 21:59 | |
moritz | cgroups maybe? | ||
El_Che | a lot more lightweight | ||
lichtkind | is there a way to define a ternary sort operator? | ||
RabidGravy | yeah, docker you can specify e.g. tiny memory and huge swap | ||
El_Che | (docker uses cgroups btw) | 22:00 | |
22:00
llfourn joined
|
|||
El_Che | you may need to change the boot options | 22:00 | |
(--memory and --memory-swap | 22:01 | ||
) | |||
(the second is ram + swap) | |||
RabidGravy | it's an option to run isn't it? | ||
El_Che | yes | ||
moritz | El_Che: I know; which is why I thought you might not need docker at all | ||
RabidGravy | docs.docker.com/engine/reference/r...-resources | ||
El_Che | moritz: you don't need docker at all, idd | ||
moritz: it's just cgroups | |||
hoelzro | lichtkind: ternary sort operator? can you give an example of its usage? | 22:02 | |
El_Che | but I think it's easier | ||
RabidGravy | there's even a perl 6 module to do it | ||
Kains? or something | 22:03 | ||
lichtkind | there is an tablets.perl6.org/appendix-a-index#...x-category | ||
and i want to have the precircumfix | |||
to write matrix norms naturally | |||
like ||A||2 | |||
for euklidean eg | 22:04 | ||
22:05
llfourn left
|
|||
lichtkind | or shoult i take the metaop category | 22:05 | |
lucasb | I don't think there's a predefined grammatical category for this type of syntax | 22:07 | |
hoelzro .oO( sub regular-ol-circumfix:<||>(...) ) | 22:08 | ||
lichtkind | but i want to attach the p value of the norm postfix | ||
like mathematiians do all day | |||
im not even dreaming about to hammar the q value somhow in | 22:09 | ||
22:14
sena_kun left
22:15
_nadim left,
_nadim joined
22:17
_Gustaf_ left
|
|||
Skarsnik | Is there some way to force some behavior for a variable in a gc? Like I needed to use explitictly manage on a var just for the GC to not move it in memory (or free it before I am out of its scope) to not screw the c lib that keep ptr on it | 22:17 | |
22:17
AndyDee joined,
lucasb left
22:19
eddiejr left
|
|||
patrickz | @FROGGS: Is rakudo* going to contain zef? | 22:20 | |
lizmat | m: my uint64 $a = 18446744073709551616 # do we have an RT for this one already ? | 22:21 | |
camelia | rakudo-moar f9039d: OUTPUT«Cannot unbox 65 bit wide bigint into native integer in block <unit> at /tmp/nJggLEt6Cl line 1» | ||
lizmat | should overflow to 0 really | 22:22 | |
timotimo | patrickz: does zef currently work? | ||
22:22
Psyche^ joined
|
|||
lizmat | m: my uint64 $a = 18446744073709551615; $a++; say $a # works as expected | 22:23 | |
camelia | rakudo-moar f9039d: OUTPUT«0» | ||
Skarsnik | uintxx are like whatever | ||
patrickz | It seems ugexe pushed his last weeks (months?) of work on zef, now that the blocking precomp bugs have been fixed. | ||
timotimo | i haven't tested it yet | 22:24 | |
22:24
muraiki joined
22:25
Psyche^_ left
|
|||
Skarsnik | m: my uint8 $a = -1; say $a; | 22:26 | |
camelia | rakudo-moar f9039d: OUTPUT«255» | ||
22:26
yurivish left
|
|||
Skarsnik | m: my CArray[uint8] $a; $a[0] = -1; say $a[0]; | 22:26 | |
camelia | rakudo-moar f9039d: OUTPUT«5===SORRY!5===Type 'CArray' is not declared. Did you mean any of these? Array arrayat /tmp/vwuZZdAc76:1------> 3my CArray7⏏5[uint8] $a; $a[0] = -1; say $a[0];Malformed myat /tmp/vwuZZdAc76:1------> 3my7⏏5 CAr…» | ||
Skarsnik | m: use NativeCall; my CArray[uint8] $a; $a[0] = -1; say $a[0]; | 22:27 | |
camelia | rakudo-moar f9039d: OUTPUT«Type check failed in assignment to $a; expected NativeCall::Types::CArray[uint8] but got Array in block <unit> at /tmp/RkdPti_iv_ line 1» | ||
Skarsnik | m: use NativeCall; my CArray[uint8] $a .= new; $a[0] = -1; say $a[0]; | ||
camelia | rakudo-moar f9039d: OUTPUT«-1» | ||
patrickz is doing so now | 22:28 | ||
lizmat | m: my uint64 $a = 18446744073709551615; say $a # huh ? | 22:30 | |
camelia | rakudo-moar f9039d: OUTPUT«-1» | ||
Skarsnik | I think most of uintxx are just a nice name x) | 22:31 | |
22:33
todd_ left
|
|||
dalek | ast: d8cf465 | lizmat++ | S02-types/int-uint.t: Reinstate int/uint tests, add tests for #127210 |
22:33 | |
22:34
regreg left
22:35
yurivish joined
|
|||
dalek | kudo/nom: 8d35f65 | ugexe++ | src/core/IO/Path.pm: Update $!e on mkdir/rmdir perl6 -e 'my $path = "xxx".IO; say $path.e; say $path.mkdir; say $path.e' Before: False, True, False After: False, True, True |
22:39 | |
kudo/nom: d7f3f0b | lizmat++ | src/core/IO/Path.pm: Merge pull request #677 from ugexe/patch-11 Update $!e on mkdir/rmdir |
|||
RabidGravy | I | 22:40 | |
er | |||
Skarsnik | I give you a f | ||
lizmat | good night, #perl6! | 22:42 | |
lichtkind | good night | 22:43 | |
Skarsnik | good night | ||
RabidGravy | toodles | 22:44 | |
lichtkind | how hard is it to introduce a precircumfix category? | ||
22:47
sena_kun joined
|
|||
arnsholt | You'd have to add it as a category the operator precedence parser | 22:47 | |
I don't think Rakudo customizes that, so it'd be in HLL/Grammar.nqp in NQP; the EXPR method | |||
TimToady | note that you cannot add a precircumfix that would be ambiguous with a term | 22:49 | |
you can't add precircumfix:<[ ]> for instance, since we already have circumfix:<[ ]> that is parsed in the same spot | |||
sena_kun | hi guys. I'm playing with NativeCall library and need some advices now. Firstly, how should I represent 'void**'? Something like "Pointer[Pointer[void]]" will be valid(it compiles)? | 22:51 | |
Skarsnik | Pointer[Pointer] or just Pointer | ||
masak | it's not that precircumfixes are impossible, it's that they don't tend to happen in languages, I guess. | 22:52 | |
Skarsnik | I should document nativecast x) | ||
masak | probably something to do with the order in which the reader expects things | ||
TimToady | in a sense, the reduce operator is already a precircumfix | ||
22:52
lzlgboy joined
|
|||
sena_kun | Thanks. Also, I think that "FILE*" will be just plain Pointer also? | 22:52 | |
22:53
lzlgboy left,
abraxxa left
|
|||
Skarsnik | Yes, if you do nothing special with | 22:53 | |
timotimo | it's just a funky integer | 22:54 | |
22:54
yqt joined
|
|||
RabidGravy | sena_kun, yeah, but if you are use it a lot you can do "class File is repr('CPointer') { ... }" which means that you can add your subs in there and add methods that abstrat them | 22:54 | |
abstract | |||
Skarsnik | I am not fan of this pattern x) | 22:55 | |
sena_kun | Okay, thank you. It's integer, but coercion can be tricky sometimes. | ||
Skarsnik | also I wonder how hard it will be to allow CStruct to have method | ||
RabidGravy | see e.g github.com/jonathanstowe/Audio-Lib...ut.pm#L388 | ||
Skarsnik, you can put methods in a CStruct | 22:56 | ||
Skarsnik | Oh I never tried | ||
I think nc tell you that you can't | |||
+doc | 22:57 | ||
sena_kun | Thanks for the link. | ||
22:57
roguelazer left,
roguelazer joined
|
|||
arnsholt | Skarsnik: You're probably confusing it with CPointer, which can't have *data members* | 22:58 | |
Both CStruct and CPointer can have methods | |||
RabidGravy | it getss messy if you try *native* methods, but normal ones are fine | ||
Skarsnik | You can look at App::GPTrixie if you don't want to write too much NC code yourself ^^ | ||
RabidGravy | it's even more fun with CPPStruct ;-) | ||
arnsholt | Oh, I take no responsibility for "method foo(...) is native {...}" | ||
If you try that, you deserve what you get =) | 22:59 | ||
patrickz | timotimo: zef seems to work | ||
RabidGravy | github.com/jonathanstowe/Audio-Sou...uch.pm#L32 works fine :) | ||
Skarsnik | "Of course, methods are completely fine too. Go wild!" I can't read | ||
arnsholt | Basically, to use NativeCall you should be able to write the equivalent code in C | 23:00 | |
timotimo | patrickz: cool. | ||
Skarsnik | I love this: has Pointer $!vtable; | ||
RabidGravy | yeah, it's odd, I guess that's what it is because it's out by one pointer without it | 23:01 | |
lichtkind | TimToady thank you | ||
TimToady, so i should use the prefix_circumfix_meta_operator category to make matrix norm ops? | 23:02 | ||
23:02
muraiki left
|
|||
RabidGravy | and you only seem to need it if there are "virtuals" in the inheritance chain | 23:04 | |
Skarsnik | Oh | ||
I think cpp does something special for virtual | |||
like adding virtual to a class keep it abi compat | |||
Juerd | lizmat: Why assign u32 *and* u16 *and* u8 in a union? Assigning anything other than the widest type makes little sense... | 23:05 | |
Skarsnik | it's probably because of this ptr? | ||
El_Che | this is nice: thelackthereof.org/TLT/2016.01.08/...t_for_None | 23:06 | |
lichtkind | thanks for link | ||
i see some interesting parallels beween fortress and perl 6 | 23:07 | ||
RabidGravy | El_Che, the colour scheme makes my eyes hurt, but yes | 23:11 | |
El_Che | :) | ||
23:11
sena_kun left,
zwu joined
23:24
TEttinger joined
23:27
zwu left
23:31
kid51 joined
23:33
spider-mario left
23:39
patrickz left
|
|||
masak | 'night, #perl6 | 23:40 | |
RabidGravy | toodles masak | 23:41 | |
what number of supplies in an application might be considered "insane" ? | 23:42 | ||
flussence jumps out of backlogging mode for a second | 23:43 | ||
m: say "\c[2424]".ord; say "\x[2424]".ord | |||
camelia | rakudo-moar d7f3f0: OUTPUT«24249252» | ||
flussence | DrForr: ^ | ||
RabidGravy | I only ever scroll back now to find the last time someone mentions me | ||
flussence | most days I try to do the whole thing, it's why I usually show up late :) | 23:44 | |
profan | anyone have a reccomendation for a usable perl6 http client lib? | 23:45 | |
23:45
yurivish left
|
|||
profan | recommendation, even | 23:45 | |
came across HTTP::Client but was apparently unmaintained | |||
23:46
zwu joined
|
|||
flussence uses Net::HTTP | 23:46 | ||
RabidGravy | well, HTTP::UserAgent is maintained, it probably lacks some features but works | ||
profan | neat, will take a look at those two then | 23:48 | |
RabidGravy | I've added stuff to it to the extent that I needed features for my own modules | 23:49 | |
23:49
geraud joined
23:50
zengargoyle left
|
|||
profan | HTTP::UserAgent seems to serve me well enough, thanks to you both, flussence++ and RabidGravy++ :) | 23:54 | |
23:54
zengargoyle joined
|
|||
RabidGravy | profan, please do post any enhancements and/or issues you may have to the H::UA github so we can make it better | 23:55 | |
any advice about using it can usually be had here :) | |||
23:56
yurivish joined
|
|||
profan | RabidGravy: will do, does it handle redirects yet by the way? | 23:56 | |
ie, some way to specify "follow when given a moved response" when doing requests | 23:57 | ||
RabidGravy | yeah, it's actually quite well tested in that regard | ||
23:58
sena_kun joined
|
|||
RabidGravy | though, at this point I'm sure we haven't covered all the scenarios | 23:58 | |
profan | so, it always follows redirects, or is there a way to specify that? | 23:59 |