»ö« 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:00
pierre-vigier left
|
|||
ajr_ | Thanks AD. | 00:00 | |
00:00
pierre-vigier joined
00:07
maslan joined
00:12
leont joined
00:16
SCHAAP137 joined
00:18
cpage_ joined
|
|||
AlexDaniel | haha! For years that thing made me laugh. Close your eyes and block your ears, quotes around arguments is the most secure way when using qqx! | 00:24 | |
especially if those are double quotes! | |||
from perl6advent.wordpress.com/2014/12/...om-perl-6/ | |||
my @commit_results = qqx/git commit -am "$message"/.lines; | |||
00:29
revhippie joined
00:31
firstdayonthejob left
00:33
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
|
|||
ZoffixWin | Would you say this C++ program can be done via NativeCall? gist.github.com/zoffixznet/b896db31ba3d7672edb2 | 00:34 | |
I see some custom "types" and objects... | 00:35 | ||
gfldex | btAlignedObjectArray<btCollisionShape*> collisionShapes; <-- template | ||
ZoffixWin | Maybe I'm trying to bite off way too big a piece of pie to chew | 00:36 | |
leont | ZoffixWin: that C++ is the equivalent of using mid-90s perl code :-/ | 00:42 | |
ZoffixWin | heh | 00:43 | |
It's one of the examples that came with libbullet | |||
leont | There's lots of such code out there (just like with perl5), but I would fire anyone still writing like that in 2016 | 00:44 | |
00:49
laz78 left
|
|||
skids | Looks better than the code most college grads can produce, so I guess you'd be paying rather competitive wages then :-) | 00:52 | |
00:53
pierre-vigier left,
pierre-vigier joined
00:58
pierre-vigier left
|
|||
leont | I never said I'd succeed at running a company! :-p | 01:03 | |
(also, for some reason my tolerance for this sort of thing is way lower in C++ than in other languages) | 01:04 | ||
01:06
ajr_ left
01:09
alpha123 left
01:14
leont left
01:15
ZoffixWin left
01:22
laz78 joined
|
|||
orbus | hey at least it has a lot of comments | 01:28 | |
01:31
sufrostico left
01:41
rickbike joined
01:46
ELBeavers joined
01:49
yqt left
01:51
ELBeavers left
02:05
BenGoldberg left
02:06
xpen joined
|
|||
dalek | kudo-star-daily: 56dc069 | coke++ | log/ (5 files): today (automated commit) |
02:32 | |
kudo-star-daily: 4959942 | coke++ | log/ (5 files): today (automated commit) |
|||
kudo-star-daily: 0c2eef4 | coke++ | log/ (5 files): today (automated commit) |
|||
rl6-roast-data: 3e41392 | coke++ | / (6 files): today (automated commit) |
|||
02:43
mcmillhj left
02:45
mcmillhj joined
02:46
maslan left
|
|||
dalek | c: 5dbb3a1 | LLFourn++ | doc/Language/modules.pod: separate EXPORT examples |
02:55 | |
02:58
revhippie left
|
|||
rickbike | Geetings Perl6! | 02:58 | |
02:59
colomon left
03:00
colomon joined
|
|||
timotimo | hello there | 03:00 | |
rickbike | Hash keys can be integers, yeah? | ||
timotimo | you're checking in during sleepy-time for almost most of our devs | ||
yeah, but only if you have an "object hash". regular hashes will stringify everything for you | |||
rickbike | The issue I have is how to use an integer hash key in MAIN options | 03:01 | |
timotimo | you get an object hash literal by writing :{ ... } insetad of just { ... } | ||
oh. but args don't actually have a concept of ints | 03:02 | ||
as all you get from the OS is strings | |||
rickbike | heres how Main parses options | 03:03 | |
if !$stopped && $passed-value ~~ /^ ( '--' | '-' | ':' ) ('/'?) (<-[0..9\.]> .*) $/ { | |||
my ($switch, $negate, $arg) = (~$0, ?((~$1).chars), ~$2); | |||
timotimo | oh | 03:04 | |
rickbike | So an integer hash key '--42' turns into '-42' | ||
timotimo | so it doesn't like numbered flags | ||
03:04
ggoebel9 joined
|
|||
timotimo | at all | 03:04 | |
03:04
n0xff joined
|
|||
rickbike | I filed a bug but I'm trying to understand what the intention is | 03:05 | |
timotimo | i see the bug | ||
just someone assuming you'd never want to have numbers as flags | |||
clearly they've never played with ipv6 in their life | |||
rickbike | I have a csv file with years as column headings | 03:06 | |
03:06
ggoebel8 left
03:07
SCHAAP137 left
|
|||
rickbike | Not understanding if the fix should allow positive integers | 03:08 | |
timotimo | what does your CLI design look like that you actually want the keys to correspond to csv header pieces? | ||
llfourn | .tell gfldex I don't seem to be able to subscribe to your blog :S | 03:09 | |
yoleaux | llfourn: I'll pass your message to gfldex. | ||
03:09
laz78 left
|
|||
rickbike | I want to filter by columns, some of which have integer headers | 03:09 | |
03:10
n0xff left,
laz78 joined
|
|||
timotimo | why wouldn't it be like --no 42 --no blah --no foobar | 03:10 | |
instead of --42 --blah --foobar ? | |||
rickbike | good point! | 03:11 | |
timotimo | it's still not cool that you can't have numbers as flags | ||
rickbike | yes | 03:12 | |
timotimo | especially for -4 and -6 | ||
03:16
revhippie joined
|
|||
llfourn | .tell gfldex nvm I found it, it's a funny popup thing | 03:18 | |
yoleaux | llfourn: I'll pass your message to gfldex. | ||
03:34
ELBeavers joined
03:39
ELBeavers left
03:44
noganex_ joined
03:45
ParsonsNose joined
03:47
noganex left,
colomon left
03:51
colomon joined
03:54
kid51 left
03:56
ParsonsNose left,
Averna joined
03:59
lsm-desktop left
04:00
dj_goku left
04:02
dj_goku joined,
Averna left
04:03
Averna joined
04:04
Averna left,
Averna joined,
lsm-desktop joined
04:07
Herby_ joined
|
|||
Herby_ | Evening, everyone! | 04:07 | |
o/ | |||
04:11
skids left
|
|||
Herby_ | \o | 04:12 | |
o/ | |||
timotimo | hey herby how are you doing | ||
04:12
Psyche^_ joined
|
|||
Herby_ | Doing well, just had some pizza and am about to work on understanding Grammars. Yourself? | 04:13 | |
timotimo | my sleep schedule is messed up, so i'm awake at 5am | ||
"still" awake | 04:14 | ||
Herby_ | You work nights? | ||
timotimo | no, i work flexibly | ||
Herby_ | ah ok. Programmer by trade? | ||
04:15
treaki_ joined
|
|||
Herby_ | I worked nights in a hospital for years, threw my sleep schedule out of whack for a long time | 04:15 | |
timotimo | hehe. yeah, programming is what i do | ||
04:16
jack_rabbit joined
|
|||
Herby_ | I'd like to program for a living but I don't think I have the necessary base talent for it | 04:16 | |
04:16
Psyche^ left
|
|||
Herby_ | I can write extremely small hacks/scripts but have never completed and released a project in any language | 04:16 | |
timotimo | it seems like most people who work in programming - or at least those trying to get a job - are actually super crazy useless? or something? | 04:17 | |
i don't really know | |||
no clue how small "extremely small" is | 04:18 | ||
Herby_ | lol, its a perfectly legit unit of measurement :) | ||
I'm a nurse but I work with the electronic health records. I've wrote a couple of small decision support modules, and auditing scripts for work | |||
04:18
treaki left
|
|||
Herby_ | using perl. rewrote a few in perl 6 before I left | 04:19 | |
I read an article talking about how easy electronic medical equipment (IV pumps etc...) are to hack | |||
timotimo | ah, yeah | 04:20 | |
Herby_ | that seems like it would be an interesting field of work | ||
timotimo | may be interesting, but i imagine it'd be hard to get into? | ||
Herby_ | yeah. probably be a free-lancer or consultant of some sort | 04:21 | |
what languages do you use for your day job? | |||
timotimo | will medical hardware companies actually look for people like that? or accept them if they came knocking on their door? | ||
currently javascript; i also expect to be working some java at that job, too | |||
before that job i did python | |||
Herby_ | from my limited understanding, the device manufacturers are probably the big players in that. they might hire some "consultants" to poke holes in their solutions, so they can patch it | 04:22 | |
timotimo | is perl your first language? | ||
Herby_ | Python was my first but I'm at a complete beginner level in it. Perl and Perl 6 too | ||
timotimo | if you're interested in that topic, there was a talk at the recent chaos communication congress by a lady with an implanted defibrilator and another dude and they talked about how she hacked/investigated | ||
Herby_ | yeah, that stuff really interests me | 04:23 | |
timotimo | media.ccc.de/v/32c3-7273-unpatchable - there you go | ||
in english language, too | |||
Herby_ | thanks, got it playing now | 04:24 | |
04:25
cpage_ left
04:28
Averna left,
Averna joined
|
|||
ugexe | is there a nice way to do bracket matching in regex (yet)? | 04:32 | |
04:32
lostinfog joined,
lostinfog left
|
|||
timotimo | don't think so :< | 04:33 | |
04:40
quester joined
04:55
laz78 left,
pierre-vigier joined
04:56
revhippie left
04:59
Averna left,
pierre-vigier left
05:09
cpage_ joined
|
|||
timotimo | Object of type Tree in QAST::WVal, but not in SC | 05:18 | |
isn't that great? | |||
05:22
ELBeavers joined
05:27
ELBeavers left
05:29
laz78 joined
05:30
kaare_ joined
05:35
yurivish left,
Herby_ left
05:40
pierre-vigier joined
05:42
Cabanossi left
05:43
mr-foobar left,
mr-foobar joined
05:46
Cabanossi joined
05:48
mr-foobar left
05:55
Averna joined
06:07
laz78 left
06:09
laz78 joined
06:23
pierre-vigier left
06:30
rickbike left
06:33
ZoffixWin joined,
ZoffixWin left,
ZoffixWin joined
|
|||
ZoffixWin | The API version warning in NativeCall is bloody annoying. | 06:43 | |
Can't it just use whatever it can find? | |||
I ain't got a version for a lib I'm trying to use. | 06:44 | ||
06:48
pierre-vigier joined
|
|||
ZoffixWin | Hm.... what possible problem can it be if I'm getting "Cannot find method 'CALL-ME'" when calling a nativecalled sub? gist.github.com/zoffixznet/11c536e6956818a694b9 | 06:48 | |
06:50
sammers left
|
|||
ZoffixWin | m: use NativeCall; sub system (Str) is native {*}; system "ls *foo*"; system q{echo 'what could possibly go wrong' > foo}; system "cat foo"; | 06:55 | |
camelia | rakudo-moar 775271: OUTPUT«ls: cannot access *foo*: No such file or directorywhat could possibly go wrong» | ||
06:55
laz78 left
|
|||
ZoffixWin | So much for restricted setting :) | 06:55 | |
m: use NativeCall; sub system (Str) is native {*}; system "rm foo" | |||
camelia | ( no output ) | ||
ZoffixWin | ^ moritz dunno if there's a way to make that stop working | ||
sortiz | \o #perl6 | 06:58 | |
ZoffixWin | \o | 07:00 | |
sortiz | ZoffixWin, As far as MoarVM don't have more powers/privileges that the invoking user, I don't see any problem. | 07:01 | |
Unless you are talking about camelia ;) | 07:02 | ||
ZoffixWin | or installation of botnets or email spam bots. | ||
07:02
sammers joined
|
|||
ZoffixWin | I can just use camelia add my public key and then ssh and I got a free, internet-connected box | 07:03 | |
sortiz | That the use case of Restricted.settings, no? | ||
ZoffixWin | But even a plain old rm -fr ran by a curious idiot leads to a lot of work restoring things | ||
I guess. | |||
You can use `run` to do those things. | 07:04 | ||
m: run 'ls'; | |||
camelia | rakudo-moar 775271: OUTPUT«run is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub run at src/RESTRICTED.setting line 14 in block <unit> at /tmp/7ILeTngF3O line 1» | ||
07:04
domidumont joined
|
|||
sortiz | I see something of that kind happen the other day, and someone has to enter rescue mode. | 07:05 | |
ZoffixWin | Yeah, the chmod stuff. But at least that's easy to fix | 07:06 | |
(unless something else happened) | |||
sortiz | I hope all that can be ironed in time. | 07:09 | |
pierre-vigier | m: sub t( *@x) { say @x;} ; t(1..2);t(1..2,5..7); | ||
camelia | rakudo-moar 775271: OUTPUT«[1 2][1 2 5 6 7]» | ||
07:10
domidumont left,
ggoebel10 joined
|
|||
pierre-vigier | m: sub t(@l1,@l2) { say @l1;say @l2} t( (1..3,5..7) , (1,2,4) ); | 07:10 | |
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p3o3M9Cci0Strange text after block (missing semicolon or comma?)at /tmp/p3o3M9Cci0:1------> 3sub t(@l1,@l2) { say @l1;say @l2}7⏏5 t( (1..3,5..7) , (1,2,4) ); expecting any of: inf…» | ||
pierre-vigier | m: sub t(@l1,@l2) { say @l1;say @l2} ;t( (1..3,5..7) , (1,2,4) ); | 07:11 | |
camelia | rakudo-moar 775271: OUTPUT«(1..3 5..7)(1 2 4)» | ||
07:11
ELBeavers joined,
domidumont joined
|
|||
pierre-vigier | In the second case, is there any way to auto flatten? a bit like the slurpy *@ ? | 07:11 | |
07:11
ggoebel9 left
|
|||
ZoffixWin | m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat} ;t( (1..3,(3,4),5..7) , (1,2,4) ); | 07:13 | |
camelia | rakudo-moar 775271: OUTPUT«(1 2 3 3 4 5 6 7)(1 2 4)» | ||
ZoffixWin | No idea about "auto" | ||
07:13
jme` left
|
|||
pierre-vigier | m: sub t( Iterable $l1, Iterable $l2 ) { say $l1; say $l2 }; t(1..4,[3,5,6..8]); | 07:14 | |
camelia | rakudo-moar 775271: OUTPUT«1..4[3 5 6..8]» | ||
ZoffixWin | m: sub t( Slip $l1, Slip $l2 ) { say $l1; say $l2 }; t(1..4,[3,5,6..8]); | 07:15 | |
camelia | rakudo-moar 775271: OUTPUT«Type check failed in binding $l1; expected Slip but got Range in sub t at /tmp/TsApXVTUje line 1 in block <unit> at /tmp/TsApXVTUje line 1» | ||
pierre-vigier | m: sub t( Iterable $l1, Iterable $l2 ) { say $l1.flat; say $l2.flat}; t(1..4,[3,5,6..8]); | ||
camelia | rakudo-moar 775271: OUTPUT«(1 2 3 4)(3 5 6..8)» | ||
pierre-vigier | but is it even a good idea to accept an Iterable ... | 07:16 | |
07:16
ELBeavers left
|
|||
ZoffixWin | Hm, here's a stacktrace for my CALL-ME issue with NativeCall.. still no idea what's wrong :( gist.github.com/zoffixznet/11c536e...nt-1678167 | 07:17 | |
07:17
rickbike joined
|
|||
ZoffixWin | Maybe using fancy UI libs isn't really that easy with NativeCall :/ | 07:18 | |
07:19
ggoebel10 left
07:20
CIAvash joined
|
|||
pierre-vigier | m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3; t(@a,@b); | 07:22 | |
camelia | rakudo-moar 775271: OUTPUT«(1 2 3)(1 2 3)» | ||
pierre-vigier | m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3,5; t(@a,@b); | ||
camelia | rakudo-moar 775271: OUTPUT«(1 2 3)(1..3 5)» | ||
07:22
azawawi joined
|
|||
azawawi | good morning #perl6 | 07:22 | |
ZoffixWin | \o | ||
Is it morning already? :) | |||
m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = 1..3,5; t(|@a,|@b); | 07:23 | ||
camelia | rakudo-moar 775271: OUTPUT«Too many positionals passed; expected 2 arguments but got 5 in sub t at /tmp/yeDMydqS00 line 1 in block <unit> at /tmp/yeDMydqS00 line 1» | ||
ZoffixWin | mmkay | ||
pierre-vigier | m: say (DateTime.new(now).hour <= 12)??"morning"!!"afternoon"; | 07:25 | |
camelia | rakudo-moar 775271: OUTPUT«morning» | ||
pierre-vigier | m: sub t(@l1,@l2 ) { say @l1.flat;say @l2.flat}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b); | 07:26 | |
camelia | rakudo-moar 775271: OUTPUT«(1 2 3)(1..3 5)» | ||
pierre-vigier | m: sub t(@l1,@l2 ) { say @l1.values;say @l2.values}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b); | 07:27 | |
camelia | rakudo-moar 775271: OUTPUT«(1 2 3)(1..3 5)» | ||
ZoffixWin | m: say DateTime.new(now).hour | ||
camelia | rakudo-moar 775271: OUTPUT«7» | ||
pierre-vigier | m: sub t(@l1,@l2 ) { say @l1.fmt;say @l2.fmt}; my @a = 1,2,3; my @b = |1..3,5; t(@a,@b); | ||
camelia | rakudo-moar 775271: OUTPUT«1 2 31 2 3 5» | ||
07:27
ggoebel10 joined
|
|||
pierre-vigier | hum strange, fmt for the display is flatening | 07:28 | |
maybe i should check the implementation of fmt | |||
07:29
rickbike left,
geraud left
|
|||
quester | Actually... could it be that you're confusing 1..3, which is a Range, with 1...3, which is a Seq? The Seq behaves somewhat more like a List than a Range does. Just a thought. | 07:30 | |
ZoffixWin | (╯°□°)╯︵┻━┻ no idea why I'm having this issue with NativeCall | ||
pierre-vigier | oh, ... might be the solution | 07:31 | |
m: say (1..2).WHAT | |||
camelia | rakudo-moar 775271: OUTPUT«(Range)» | ||
pierre-vigier | m: say (1..>2).WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F7rbi26MsYPreceding context expects a term, but found infix > insteadat /tmp/F7rbi26MsY:1------> 3say (1..>7⏏052).WHAT» | ||
pierre-vigier | m: say (1...2).WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«(Seq)» | ||
ZoffixWin | I was planning to write about how Perl 6 lets you easily use C libs so you don't have to know a lot of C.... but, looks like that's wishful thinking. | ||
I've no idea what I'm doing :) | |||
pierre-vigier | thanks for telling me about ... | ||
m: sub t(@l1,@l2 ) { say @l1.fmt;say @l2.fmt}; my @a = 1,2,3; my @b = 1...3,5; t(@a,@b); | 07:32 | ||
camelia | rakudo-moar 775271: OUTPUT«1 2 31 2 3 5» | ||
pierre-vigier | indeed, working | ||
quester | Glad it helped. | ||
pierre-vigier | Found a bug in doc.perl6.org/ | 07:33 | |
where to report? | |||
ZoffixWin | github.com/perl6/doc | ||
pierre-vigier | thank you | ||
07:33
wtw joined
|
|||
pierre-vigier | try to search ... in the doc, and click on it | 07:33 | |
it redirects to doc.perl6.org/routine/... | |||
ZoffixWin | That's a known bug: github.com/perl6/doc/issues/155 | 07:34 | |
pierre-vigier | indeed | 07:35 | |
07:36
psy__ joined
07:37
psy__ left
07:38
quester left
|
|||
dalek | c: 7afd9be | (James ( Jeremy ) Carman)++ | doc/Type/Str.pod: Fixed a typo. |
07:40 | |
c: 87d76f8 | (Zoffix Znet)++ | doc/Type/Str.pod: Merge pull request #361 from peelle/patch-1 Fixed a typo. |
|||
azawawi | ZoffixWin: yup it is morning and im drinking morning coffee :) | 07:41 | |
ZoffixWin | It's 2:41AM here and I'm drinking my 2:41AM coffee :) | ||
azawawi | ZoffixWin: busy fixing appveyor.yml for MagickWand Windows support | ||
07:43
psy_ left
|
|||
MadcapJake | ZoffixWin: what was the problem you had with Atom? | 07:44 | |
ZoffixWin | MadcapJake, seems a regression from way back: github.com/atom/atom/issues/10554 | 07:45 | |
Unless I'm just the one unlucky one who stumbled on an old bug | |||
MadcapJake | potential workaround: github.com/atom/atom/issues/3622#i...t-73421592 | 07:47 | |
ZoffixWin | Yeah, that didn't work | 07:48 | |
MadcapJake | do you use vim-mode? | ||
ZoffixWin | Probably not. It's a fresh install. All I've done is add your Perl 6 highlights and change theme from dark to light (it's broken on dark themes too) | 07:49 | |
(and it's broken on C code too) | |||
MadcapJake | what OS and version of Atom? | 07:50 | |
ZoffixWin | Atom 1.4.0 on Bodhi Linux 3.1.1 (fork of Ubuntu 14.04, trusty), running inside VirtualBox on Windows7 | ||
MadcapJake | glad you opened a new issue! not sure on that one :S that is a real bummer! | 07:51 | |
07:53
pierre-vigier left
|
|||
azawawi | Doing a 'rakudobrew build moar' on Travis CI Mac OSX VMs is like 3 times slower (5 min -> 15 min) to Linux VMs | 07:59 | |
08:00
ggoebel11 joined
|
|||
azawawi | see travis-ci.org/azawawi/perl6-magick.../104252845 | 08:01 | |
ZoffixWin | But are they the same type of boxes? I heard Apple allows you run a Mac OSX VM only on Apple's hardware. | ||
08:01
ggoebel10 left,
pierre-vigier joined
|
|||
ZoffixWin | So I figure Travis bought crappy, slow, and cheap apple boxes, but run Linux of fast hardware | 08:01 | |
azawawi | i think it is the memory | ||
ZoffixWin | Ah | ||
08:02
rindolf joined
|
|||
azawawi | to be honest, why am i testing building of perl6 on my perl6 module... | 08:03 | |
we should be focusing on better stuff like a debian pkg for rakudo star | |||
and an msi/exe for windows | 08:04 | ||
appveyor (windows) is slow also see build times ci.appveyor.com/project/azawawi/pe...ild/1.0.40 | |||
Stage parse : 166.610 | |||
ZoffixWin | There was an updated on that topic on our FB page: www.facebook.com/groups/1595443877...654542020/ | 08:05 | |
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[1..3,6]; | 08:06 | |
camelia | rakudo-moar 775271: OUTPUT«((1 2 3) 6)» | ||
ZoffixWin | If it's a module, that doesn't matter, since it'll be precompiled. | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[1...3,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«(1 2 3 6)» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«((0 1 2) 6)» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3.Seq,6]; | 08:07 | |
camelia | rakudo-moar 775271: OUTPUT«Potential difficulties: Precedence of ^ is looser than method call; please parenthesize at /tmp/ZbHZ1p8tcp:1 ------> 3my @a=0,1,2,3,4,5,6,7,8;say @a[^37⏏5.Seq,6];Method 'Seq' not found for invocant of class 'Int' in block <un…» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).Seq,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«Method 'Seq' not found for invocant of class 'Range' in block <unit> at /tmp/lcBbVvnhBX line 1» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).values,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«((0 1 2) 6)» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).lsit,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«Method 'lsit' not found for invocant of class 'Range' in block <unit> at /tmp/Tkxgf5qHd8 line 1» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).list,6]; | 08:08 | |
camelia | rakudo-moar 775271: OUTPUT«((0 1 2) 6)» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[(^3).List,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«((0 1 2) 6)» | ||
ZoffixWin | m: my @a=0,1,2,3,4,5,6,7,8;say @a[^3 .Slip,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«(0 1 2 6)» | ||
ZoffixWin | huggable, slip | 08:09 | |
huggable | ZoffixWin, nothing found | ||
ZoffixWin | huggable, Slip | ||
huggable | ZoffixWin, class Slip [A kind of List that automatically flattens into an outer container]: doc.perl6.org/type/Slip | ||
pierre-vigier | i always forgot that one | 08:10 | |
azawawi | ZoffixWin: also one more observation about appveyor and travis ci macosx builds, their output is buffered somehow. they need a flush :) | 08:11 | |
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[!^3,6]; | 08:12 | |
camelia | rakudo-moar 775271: OUTPUT«(0 6)» | ||
pierre-vigier | m: my @a=0,1,2,3,4,5,6,7,8;say @a[|^3,6]; | ||
camelia | rakudo-moar 775271: OUTPUT«(0 1 2 6)» | ||
08:13
brrt joined
|
|||
azawawi | also we need to upload chocolatey.org/packages?q=rakudo :) | 08:14 | |
2014.12.1 is way too old | |||
choco install rakudostar | |||
:) | 08:15 | ||
ZoffixWin | :o | ||
azawawi | 103 downloads is not bad | 08:16 | |
for windows that is | |||
everyone dismisses windows but then again a lot of business is on windows | |||
08:17
darutoko joined
|
|||
azawawi | e.g. here in the middle east region it is windows-based | 08:17 | |
ZoffixWin | I dismiss it with my Perl 5 modules because there are always some weird, hard-to-reproduce, sporadic bugs | 08:18 | |
azawawi | ZoffixWin: because they was no build environment for you to test | 08:19 | |
ZoffixWin: now there is | |||
08:19
hankache joined
|
|||
ZoffixWin | hm? I had a Windows in a VM, but I often could not reproduce the reports I got from smokers | 08:20 | |
Not to mention the coredumps when fork + unicode is involved | |||
hankache | hola #perl6 | 08:21 | |
ZoffixWin | \o | ||
azawawi | ZoffixWin: true, because you didnot have all the OS matrix... | 08:22 | |
ZoffixWin: s/didnot/did not/ | 08:23 | ||
ZoffixWin | How can I get rid of the nagging NativeCall warning? | ||
hankache | what was the Parcel type? | ||
ZoffixWin | The version one | ||
huggable, Parcel | |||
huggable | ZoffixWin, nothing found | ||
ZoffixWin | If I explicitly add v1, I get "Cannot locate native library 'libcpuid.so.1'" | 08:24 | |
08:26
yeahnoob joined
|
|||
azawawi | ZoffixWin: find /usr/lib/ -name "*libcpuid*" ? | 08:27 | |
ZoffixWin | lrwxrwxrwx 1 root root 18 Jan 23 03:15 /usr/local/lib/libcpuid.so -> libcpuid.so.11.1.2 | 08:28 | |
But what if the user of my module has 11.1.1? | |||
I really don't understand why this warning was added. | |||
azawawi | ZoffixWin: i hate it | 08:29 | |
cxreg | ZoffixWin: wouldn't it be v11, not v1? | ||
azawawi | ZoffixWin: symbolic links were added for a reason... why should i care about the libfoo version if it works :) | ||
cxreg | well actually, those symbolic links are for compilation, not for runtime | 08:30 | |
08:30
abaugher left
|
|||
cxreg | versioned shared libraries are what separates us from the animals. and microsoft. | 08:30 | |
08:31
hankache left,
abaugher joined
|
|||
ZoffixWin | cxreg, that works, but that makes the warning even more pointless. If I can ignore the difference between a subset of versions, I, as a programmer, should have a choice to ignore all versions. | 08:31 | |
azawawi | cxreg: well, it complicates installation/detection procedures and wastes valuable development time :) | ||
cxreg | ZoffixWin: no argument on that point | ||
08:31
pierre-vigier left
|
|||
cxreg | you should be _allowed_ to not care | 08:31 | |
even though it may result in breakage | |||
08:33
pierre-vigier joined
|
|||
cxreg | ZoffixWin: but to quibble, "the difference between a subset of versions" is what semver is all about | 08:33 | |
not pointless at all | |||
not to say that all project maintainers actually follow the rules responsibly :P | 08:34 | ||
ZoffixWin | What about libs that don't use semver or don't follow the rules? What if I'm using a sub that hasn't changed? | ||
huggable, Version | |||
huggable | ZoffixWin, class Version [Module version descriptor]: doc.perl6.org/type/Version | ||
ZoffixWin | There's probably a way to specify "any" version | 08:35 | |
cxreg | ZoffixWin: again, I agree with your basic point, but there's at least some reason behind why it's there | ||
ZoffixWin | m: say (v*).WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KG7RQ3qUs7Missing required term after infixat /tmp/KG7RQ3qUs7:1------> 3say (v*7⏏5).WHAT expecting any of: prefix term» | ||
ZoffixWin | m: say (v.*).WHAT | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kzqEgGRwxrMalformed postfix callat /tmp/kzqEgGRwxr:1------> 3say (v.*7⏏5).WHAT» | ||
cxreg | maybe you could even specify version ranges or something. lots of precedent here. | 08:36 | |
ZoffixWin | Looking at the source, it wants a Version object | ||
azawawi | is native(&callable) | ||
ZoffixWin: github.com/azawawi/perl6-magickwan...ll.pm6#L10 | 08:37 | ||
ZoffixWin | cxreg, I'd say the logic for that warning's existence is not sound. { say Nil eq 'foo' } generates a warning because comparing Nil with a string looks fishy and there's high likelyhood of an error in my code... Warning that it'd be better to specify an API version is attempting to shove someone's "best practice" down the programmer's throat. | 08:38 | |
08:38
hankache joined
|
|||
cxreg | I didn't add the warning o_O | 08:38 | |
ZoffixWin | I'm just saying. | 08:39 | |
It's also helpful to point out it's 3:39AM here... and I'm a bit cranky :P | |||
cxreg | this is the third time i'm telling you I agree :P don't need to convince me | ||
azawawi | :) | 08:40 | |
i hate "best practice" :) | |||
cxreg | that MagickWand example looks useful if tedious | ||
azawawi | i know... my objective now to make it work on all platforms (windows, linux, mac osx) | 08:41 | |
cxreg | maybe that could be golfed to a pointy block with concise syntax | ||
for simple cases | 08:42 | ||
08:42
firstdayonthejob joined
|
|||
azawawi | that's the problem with cross-platform... dont optimize until you figure out that it is working or not :) | 08:43 | |
the library revisions is like 1% of the total effort i need to work on to complete the wrapper library for all functions along with the OO interface | 08:47 | ||
azawawi is working on making "ci.appveyor.com/project/azawawi/pe...agickwand" work :) | 08:48 | ||
ZoffixWin | Actually v11 only works because I have another simlink with libcpuid.so.11 | ||
m: say so (Version.new: *).Str eq '*' | 08:51 | ||
camelia | rakudo-moar 775271: OUTPUT«True» | ||
ZoffixWin | m: say so (Version.new: *) eq '*' | 08:52 | |
camelia | rakudo-moar 775271: OUTPUT«True» | ||
ZoffixWin | Rakudobugged rt.perl.org/Ticket/Display.html?id=127354 and submitted two possible PRs: removing the warning entirely: github.com/rakudo/rakudo/pull/691 | 08:59 | |
PR or use '*' version to mean 'any version': github.com/rakudo/rakudo/pull/692 | |||
08:59
ELBeavers joined,
yeahnoob left
|
|||
dalek | c: f134e9e | (Wenzel P. P. Peppmeyer)++ | doc/Language/5to6-nutshell.pod: get heading level in 5to6-nutshell in line with the other 5to6-* |
09:00 | |
09:04
ELBeavers left
09:11
lokien_ joined
|
|||
masak | antenoon, #perl6 | 09:16 | |
09:16
bowtie left
09:17
bowtie joined
|
|||
ZoffixWin | \o | 09:18 | |
sortiz | \o | 09:19 | |
09:24
TEttinger left
09:29
pierre-vigier left
|
|||
ZoffixWin | How do you use an enum? | 09:30 | |
m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say cpu_vendor_t<VENDOR_UNKNOWN> | |||
camelia | rakudo-moar 775271: OUTPUT«(Any)» | ||
09:31
pierre-vigier joined
|
|||
ZoffixWin | m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say VENDOR_INTEL == 0 | 09:31 | |
camelia | rakudo-moar 775271: OUTPUT«True» | ||
Juerd | m: enum foo (a => 0, <b c d>); say a; say b; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8n6ldnAeluUndeclared routine: b used at line 1» | ||
ZoffixWin | m: enum cpu_vendor_t (VENDOR_INTEL => 0, 'VENDOR_AMD', 'NUM_CPU_VENDORS', VENDOR_UNKNOWN => -1); say VENDOR_UNKNOWN == -1 | ||
camelia | rakudo-moar 775271: OUTPUT«True» | ||
ZoffixWin | I see. | ||
Juerd | m: enum foo (<a b c d>); say a; say b; | 09:32 | |
camelia | rakudo-moar 775271: OUTPUT«ab» | ||
Juerd | m: enum foo (<a b c d>); say a == 0; say b == 1; | ||
camelia | rakudo-moar 775271: OUTPUT«TrueTrue» | ||
Juerd | m: enum foo (<a b c d>); say foo<2>; | ||
camelia | rakudo-moar 775271: OUTPUT«(Any)» | ||
Juerd | m: enum foo (<a b c d>); say foo<c>; | ||
camelia | rakudo-moar 775271: OUTPUT«(Any)» | ||
Juerd | Hmm. | ||
m: enum foo (<a b c d>); say foo<x>; | |||
camelia | rakudo-moar 775271: OUTPUT«(Any)» | ||
Juerd | m: enum foo (<a b c d>); say foo(2); | 09:33 | |
camelia | rakudo-moar 775271: OUTPUT«c» | ||
Juerd | Ah, that was it | ||
I don't understand the (Any) though. | |||
ZoffixWin | m: enum foo (a => 0, 'b', 'c', 'd'); say a; say b | ||
camelia | rakudo-moar 775271: OUTPUT«ab» | ||
ZoffixWin | I kinda wonder why the a => 0, <b c d> doesn't work | 09:34 | |
Juerd | ZoffixWin: Because that's two elements... | ||
ZoffixWin | m: enum foo (a => 0, |<b c d>); say a; say b | ||
Juerd | m: enum foo (a => 0, |<b c d>); say a; say b; | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tujrELdX6vUndeclared routine: b used at line 1» | ||
rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LtScsnggsIUndeclared routine: b used at line 1» | |||
Juerd | Heh. | ||
m: enum foo (flat a => 0, <b c d>); say a; say b; | |||
camelia | rakudo-moar 775271: OUTPUT«===SORRY!===Unexpected named parameter 'a' passed» | ||
Juerd | I give up :) | ||
ZoffixWin | m: enum foo (a => 0, <b c d>.Slip); say a; say b | ||
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PoYwp8MbT0Undeclared routine: b used at line 1» | ||
ZoffixWin | m: enum foo (a => 0, (<b c d>).Slip); say a; say b | 09:35 | |
camelia | rakudo-moar 775271: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qehDRH_qm4Undeclared routine: b used at line 1» | ||
ZoffixWin | *shrug* | ||
Juerd | It's a declaration. You never get nice things when declaring variables :P | 09:36 | |
Although Perl <6 had a time where you'd get unofficial and unreliable state variables that were fun | |||
(my $foo if 0;) | |||
masak | I wouldn't classify that as a "nice thing" | 09:41 | |
in other news, writing tests to increase coverage can be used for good -- it's making me write tests I definitely wouldn't have thought of on my own | 09:42 | ||
09:50
brrt left,
pierre-vigier left
09:55
FROGGS left
10:02
bowtie left
|
|||
masak | m: enum Foo << :a(0) b c d >>; say a; say b; say +a; say +b | 10:03 | |
camelia | rakudo-moar 775271: OUTPUT«ab01» | ||
masak | Juerd, ZoffixWin: ^ | ||
(granted, your forms ought probably to work as well) | |||
hankache | how do i get rid of this warning? NativeCall: Consider adding the api version of the library you want to use, | ||
ZoffixWin | lmao | 10:04 | |
10:04
pierre-vigier joined
|
|||
ZoffixWin | hankache, we've just had a heated discussion on the topic: irclog.perlgeek.de/perl6/2016-01-23#i_11928779 | 10:05 | |
Which resulted in a rakudobug and two potential PRs: rt.perl.org/Ticket/Display.html?id=127354 | |||
And two answer your question: at the moment, specify version. | |||
masak, thanks | 10:06 | ||
10:07
bowtie joined
10:08
secwang joined
10:10
RabidGravy joined
10:13
SCHAAP137 joined
|
|||
azawawi | ci.appveyor.com/project/azawawi/pe...magickwand # now passing on windows 7 64-bit (AppVeyor CI) :) | 10:13 | |
initial template for testing on windows (for Perl 6 modules) github.com/azawawi/perl6-magickwan...pveyor.yml | 10:14 | ||
dalek | c: 17bcb7d | (Zoffix Znet)++ | doc/Language/nativecall.pod: Grammar |
10:16 | |
ZoffixWin | azawawi, how did you install Perl 6 on Windows? | ||
azawawi | github.com/azawawi/perl6-magickwan...pveyor.yml :) | ||
ZoffixWin | I see | 10:17 | |
azawawi | you need to remove three lines and you're ready :) | ||
that's why i said we need to update chocolatey.org/packages?q=rakudo | 10:18 | ||
choco install rakudostar # and we're done | |||
MadcapJake++ | |||
ZoffixWin | Do I need "Microsoft SDKs"? | 10:19 | |
azawawi | yup | ||
ZoffixWin | Is it free? | ||
azawawi | yup | ||
ZoffixWin | k | ||
azawawi | www.microsoft.com/en-us/download/d...px?id=8442 | ||
VS Community 2015 is also free for open source and enterprises below 250 employees | 10:20 | ||
ZoffixWin | So the Standard C library is included with Rakudo, basically, right? | 10:22 | |
m: use NativeCall; sub fork is native {*}; fork; say 42; | |||
camelia | rakudo-moar 775271: OUTPUT«4242» | ||
ZoffixWin | You don't need to install anything special for stuff like that ^ to work, right? | 10:23 | |
azawawi | let me check | ||
moritz | ZoffixWin: it's not included with Rakudo; it's already installed on your system | ||
ZoffixWin | moritz, and on Windows and MacOS too? | 10:24 | |
or OSX | |||
moritz | ZoffixWin: sure; they are just a bit different | ||
ZoffixWin | k | ||
moritz | ZoffixWin: windows doesn't support fork, for example | ||
10:26
perl6newbee joined
|
|||
azawawi installs windows sdk 7.1 to verify | 10:28 | ||
sortiz | ZoffixWin, In PR#692 you want that if explicitly use Wherever (*) as apiversion, the warning was skipped, right? | 10:29 | |
ZoffixWin | sortiz, no, if the version is Whatever | ||
hm | |||
m: say so * eq '42' | 10:30 | ||
camelia | rakudo-moar 775271: OUTPUT«WhateverCode.new» | ||
ZoffixWin | m: say * ~ '' | ||
camelia | rakudo-moar 775271: OUTPUT«WhateverCode.new» | ||
ZoffixWin | sortiz, I've no idea how to work with WhateverCode, but Version.new: *; or string "*" will work with my PR | 10:31 | |
10:31
ely-se joined
|
|||
ZoffixWin | I'm much in favour of getting rid of that warning entirely, since it'll cause people to specify API versions all over the place and modules will be breaking whenever the version of the lib isn't the same as what the other used. | 10:32 | |
ely-se | .tell Skarsnik not a pair of instants (that would be called an "interval"). It's just a number of seconds. | ||
yoleaux | ely-se: I'll pass your message to Skarsnik. | ||
moritz | ZoffixWin: huh? the solution to that is to install the required version | ||
ely-se thinks anyone who wants to design a time library should look at Noda Time | |||
sortiz | I understand well the need to have a way to avoid the warning, just want to understand the proposed implementation. | 10:33 | |
ZoffixWin | moritz, but why is it required? Both libfoo v1.11 and libfoo v1.12 provide a function "foosify" that behaves exactly the same. The author of the module uses a brand new and shiny OS that has libfoo v1.12, but my stable server is still on libfoo v1.11. | 10:34 | |
It's a solution to a problem that doesn't need to exist. | |||
RabidGravy | there are a small number of libraries that don't install versioned .so files | ||
moritz | ZoffixWin: it exists, it just isn't everywhere | 10:35 | |
sortiz | And I agree that a good way is to explicitly use a Whatever. | ||
ZoffixWin | moritz, I don't think it's a job of the Perl 6 compiler to make that decision, considering the warning's generated even with libraries the compiler has no clue about. | 10:36 | |
moritz | ZoffixWin: right | ||
10:40
lnrdo joined
|
|||
sortiz | I'm in the camp that if I use an explicit version the compiler enforces that, and understand the sense of the warning if don't specified, but with a way to say "I known what I'm doing, please shut" | 10:42 | |
moritz | sortiz: ZoffixWin is talking about versions of native libraries, not version of a compiler | ||
RabidGravy | yeah, I think that's where I'm at | ||
sortiz | Yes | ||
moritz | (unless I totally misunderstood him) | ||
sortiz | moritz, yes. | 10:43 | |
azawawi | I agree with ZoffixWin ... it is a solution to a problem that doesn't need to exist. It is a best practice and nothing else. We have more important things to focus on. | 10:45 | |
Different OS platform = Different practices | 10:46 | ||
There is no fork on windows. Do not try to emulate it. Windows is windows and *nix is *nix | |||
10:47
pierre-vigier left,
secwang left
|
|||
ZoffixWin | What's the purpose of the asterisk in the subroutine body? | 10:48 | |
m: use NativeCall; sub exp2(num64) returns num64 is native { * }; say exp2 42e0 | |||
camelia | rakudo-moar 775271: OUTPUT«4398046511104» | ||
ZoffixWin | m: use NativeCall; sub exp2(num64) returns num64 is native {}; say exp2 42e0 | ||
camelia | rakudo-moar 775271: OUTPUT«4398046511104» | ||
ZoffixWin | With and without seems to work. | ||
azawawi | when i look at this page www.imagemagick.org/api/magick-image.php, i realize there are more important things to finish than is native(LIB, version) | ||
s/more/way more/ | 10:49 | ||
:) | |||
RabidGravy | ZoffixWin, native over-writes the CALL-ME of the sub so you can put anything in there afaik (as long as it compiles) | ||
sortiz | azawawi, Wait, even in Windows I a have a way that specify the need for specific versions of libraries. | ||
10:49
DoverMo joined
|
|||
DoverMo | is there an estimate to how many synergies perl6 will leverage? | 10:50 | |
ZoffixWin | "synergies"? | ||
gfldex | bingo! | ||
yoleaux | 03:09Z <llfourn> gfldex: I don't seem to be able to subscribe to your blog :S | ||
03:18Z <llfourn> gfldex: nvm I found it, it's a funny popup thing | |||
RabidGravy | ?????? | 10:51 | |
azawawi | sortiz: and while we think of a way of doing it the right way(tm), we can can re-focus our efforts of more productive things :) | ||
DoverMo | ZoffixWin, yeah | ||
ZoffixWin | DoverMo, well, what do you mean by that? | ||
azawawi | sortiz: what's more important a working libfoo wrapper under N platforms with a test suite or the right way of doing things. | 10:52 | |
sortiz | azawawi, Sure. Right now I'm battling a LTA problem in my own module (LMDB) | ||
DoverMo | ZoffixWin, the interaction or cooperation of two or more organizations, substances, or other agents to produce a combined effect greater than the sum of their separate effects. | ||
ZoffixWin | DoverMo, thanks for the copy-paste from dictionary.com. What do you mean by your question? What "organizations" and "substances" do you mean? | 10:53 | |
masak | DoverMo: it will leverage (approximately) 69,105 synergies. | ||
huf | how do you measure combined and separate effects? :) | ||
ZoffixWin | :) | ||
huf | yes, masak got it right | ||
DoverMo | masak, thank you : ) | ||
well you have to be able to see into the future | 10:54 | ||
huf | the single case when i knew what syngergy meant was in diablo 2 when points in skills gave fractional points in other skills | ||
azawawi | moritz: Any plans to release rakudo star msi anytime soon? what's holding us back on this one? | ||
RabidGravy | I don't think Perl 6 will in and of itself do any of that, but it does provide features that would enable designs to be made that can make the most of its strengths in combination with other things | ||
moritz | DoverMo: we have that. How else could we have solved the Haling problem? | ||
gfldex | DoverMo: we are right now in the process to find out what we can do with Perl 6. That will take us at least 20 years. | ||
ZoffixWin | azawawi, see the post on our FB group: www.facebook.com/groups/1595443877...654542020/ | ||
moritz | azawawi: what's holding us back is the lack of a rakudo star to build an MSI from | 10:55 | |
DoverMo | gfldex, oh O: | ||
azawawi | moritz: how can i help? :) | ||
RabidGravy | a programming language can't "leverage synergies", a developer does that | ||
moritz | azawawi: 1) do rakudo compiler release for Januar; make sure it tests fine both against the current roast status and against the one from the 2015.12 release | 10:56 | |
ZoffixWin | huggable, where's christmas star :is: See the post on our FB group: www.facebook.com/groups/1595443877...654542020/ | ||
huggable | ZoffixWin, Added where's christmas star as See the post on our FB group: www.facebook.com/groups/1595443877...654542020/ | ||
moritz | azawawi: 2) do an R* release | ||
10:56
secwang joined
|
|||
moritz | azawawi: 3) build the MSI | 10:56 | |
DoverMo | if you quantify all developers using perl5 and then do an 'average' growth chart within the past few decades | ||
kaare_ | Of course Perl 6 can see into the future. | ||
masak | DoverMo: some of the leveraged synergies will leverage further synergies, et cetera | ||
ZoffixWin | DoverMo, Perl 5 is a different language :P | ||
kaare_ | Only problem is that right now Perl 6 is so slow that the future will arrive before Perl 6 finished the prediction ;-) | 10:57 | |
ZoffixWin | haha | ||
moritz | DoverMo: please start by quantifying me :-) | ||
ZoffixWin | That's a feature, not a bug! | ||
gfldex | DoverMo: why do you want to know that? (read: you are likely asking the wrong question) | ||
DoverMo | moritz, it might take some time.. | 10:58 | |
jast | the question is maybe a little bit too vague to answer | ||
DoverMo | then we'll have to use quantum perl theology | 10:59 | |
azawawi | moritz: thanks for the info | 11:00 | |
ZoffixWin: what about people who do not use facebook? :) | |||
ZoffixWin | azawawi, those people will get a lesson in why it's useful to have a Facebook account :P | 11:01 | |
jast | let's break this down: are we talking about diversifying synergies or streamlining synergies? | ||
DoverMo | jast, diversifying | 11:02 | |
moritz | jast: we're talking about leveraging synergies to streamline second-order synergies in diverse full-stack environments | ||
sortiz | My personal position is simple: Right now, for lack of understanding I can't optimize, for example, the sink path, but if I found a detail that I can fix, I will try to fix it. | 11:03 | |
jast | okay, I can see how that would empower us to shift paradigms right outside the box | ||
I've been wondering, is Perl 6 web scale? | 11:04 | ||
masak | DoverMo: the diversifying synergies are very unpredictable. they "frazzle" when you don't observe them. | 11:05 | |
moritz | jast: it's Web 2.0 scale, even | ||
masak | jast: Perl 6 is web scale, but the scale is a bit slow right now | ||
jast | wow | ||
11:05
xpen left
|
|||
jast | masak: I think that doesn't matter as long it's the responsive kind of slow | 11:05 | |
DoverMo | masak, oh | ||
jast | you can just scale horizontally | ||
moritz likes front scaling better | 11:06 | ||
jast | the wikipedia page "List of buzzwords" is fun. did you know "parsing" is a buzzword? | ||
ZoffixWin | heh | 11:07 | |
masak | DoverMo: but don't worry! this has absolutely no bearing on how to actually use Perl 6 | ||
11:07
sammers left
|
|||
masak | jast: I'm sure "parsing" can be used as a buzzword | 11:07 | |
jast | I guess that means Perl 6 grammars are snake oil | ||
masak | jast: "parse" is originally sanskrit, methinks | 11:08 | |
ely-se | Is it dangerous to run perl6 --doc on untrusted code? | ||
masak | jast: Perl 6 grammars are olive oil | ||
moritz | it's just a p-arse | ||
ely-se: yes | |||
ely-se | :( ok | ||
DoverMo | masak, i don't have to observe perl within a environmentally controlled box? | ||
masak | ely-se: there was some discussion of that many years ago | ||
on p6l | 11:09 | ||
ely-se | I want to make a website that renders POD for the modules on modules.perl6.org, as an exercise | ||
ely-se likes her exercises to result in useful programs | 11:10 | ||
so I guess I'll have to look up sandboxing stuff | |||
jast | there's a Pod::Parser module... marked experimental, though | 11:11 | |
masak | I think the conclusion of that discussion was that --doc ought to be sandboxed by default | ||
not sure how viable that is, though | |||
ZoffixWin | m: use NativeCall; sub signal (int32, &code) is native {}; signal 1, -> { say 42 } | ||
camelia | rakudo-moar 775271: OUTPUT«Type check failed in binding $sig; expected Signature but got Any in sub param_list_for at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 58 in sub param_hash_for at /home/camelia/rakudo-m-inst-1/sha…» | ||
ZoffixWin | dat error | ||
ely-se | masak: I know the author of an online compile-and-run tool so I'll ask them how they did sandboxing for it. | 11:12 | |
sortiz | Right now Perl 6 is just right for some of my clients current needs. I'm just waiting for R*. | 11:13 | |
dalek | osystem: f2a635b | okaoka++ | META.list: Add p6-Algorithm-AhoCorasick |
11:15 | |
osystem: ac57099 | (Zoffix Znet)++ | META.list: Merge pull request #132 from okaoka/feature-aho-corasick Add p6-Algorithm-AhoCorasick: github.com/okaoka/p6-Algorithm-AhoCorasick/ |
|||
ZoffixWin | Watch a magic trick where I make camelia DISAPPEAR! | 11:17 | |
m: say "still here" | |||
ZoffixWin taps impatiently on desk | |||
dalek | kudo/nom: 5a04ff6 | (Tommy Stanton)++ | src/core/Exception.pm: Fix typo in X::Seq::Consumed exception |
||
kudo/nom: 217e976 | lizmat++ | src/core/Exception.pm: Merge pull request #690 from tommystanton/exception-typo Typo in X::Seq::Consumed exception |
|||
ZoffixWin | Dammit.. I hate when magic tricks don't work right... | ||
dalek | kudo/nom: 89aa6c8 | (Zoffix Znet)++ | lib/NativeCall.pm6: Fix for RT#127354 Proposal that removes the warning completely. |
11:18 | |
kudo/nom: fb0a135 | lizmat++ | lib/NativeCall.pm6: Merge pull request #691 from zoffixznet/patch-1 Fix for RT#127354 |
|||
sortiz | ZoffixWin, you do it again! :) | 11:19 | |
ZoffixWin | Well, I don't know why she died. | ||
The first time I've done the trick in private, she talked afterwards | |||
11:19
BenGoldberg joined,
lokien_ left
11:20
sammers joined,
molaf joined
|
|||
ZoffixWin | hm | 11:20 | |
11:20
camelia left
|
|||
ZoffixWin | :o | 11:21 | |
ZoffixWin-- | |||
Note to self... Playing with signals is a bad idea (this is what killed the bot:) m: use NativeCall; sub raise (int32) returns int32 is native {}; raise 19 | 11:22 | ||
I'm guess it's waiting for the SIGCONT. I wonder why it was responsive after the first time I ran that | 11:23 | ||
11:26
maslan joined
|
|||
ZoffixWin | Oh haha. The copy running on irc.perl.org is still active. I wonder if I can use it to restart camelia :D | 11:27 | |
11:29
molaf left
11:31
pierre-vigier joined
11:33
jack_rabbit left,
pierre-vigier left
|
|||
azawawi | what's the recommended "perl" in META.info? | 11:35 | |
"perl" : "6", ? | |||
ZoffixWin | azawawi, 6.c? | ||
Or "6.*" | |||
m: say so v6 before v6.c | 11:36 | ||
Ah.... right... | |||
llfourn | azawawi: 6.* imo | ||
11:36
camelia joined,
camelia left,
brrt joined,
camelia joined
|
|||
ZoffixWin | Ahaha | 11:37 | |
m: say so v6 before v6.c | |||
azawawi | so what's the answer? :) | ||
ZoffixWin | The answer is "False" | ||
azawawi | not 42? | ||
:) | |||
ZoffixWin | Did I actually manage to restart camelia using the other bot or did someone have to connect to the server? :) | ||
11:38
ChanServ sets mode: +v camelia
|
|||
camelia | rakudo-moar fb0a13: OUTPUT«False» | 11:38 | |
llfourn | ZoffixWin: no according to camelia | ||
11:39
pierre-vigier joined
|
|||
azawawi | ZoffixWin: confirmed, windows 7.1 SDK + strawberry perl is all you need to use rakudobrew | 11:40 | |
ZoffixWin | sweet | ||
azawawi | ==> Installing MagickWand ==> Successfully installed MagickWand # Windows 7 AMD FX-8150 gaming machine :) | ||
azawawi install "script" package for atom to run the example :) | 11:42 | ||
11:45
DoverMo left
|
|||
ely-se | can I specify CPAN modules as dependencies in META.info when I use Inline::Perl5? | 11:47 | |
llfourn | ely-se: that's certainly an interesting question | 11:48 | |
but I don't have an answer :( | |||
11:49
pierre-vigier left
|
|||
ZoffixWin | m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3, 4 | 11:53 | |
camelia | rakudo-moar fb0a13: OUTPUT«This type cannot unbox to a native number in method CALL-ME at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 283 in block <unit> at /tmp/A1FLWvqQzT line 1» | ||
ZoffixWin | m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3e0, 4e0 | ||
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
ZoffixWin | It would be nice for that to unbox automagically. | ||
hm | |||
m: say 4.Num | |||
camelia | rakudo-moar fb0a13: OUTPUT«4» | ||
11:53
kid51 joined
|
|||
BenGoldberg | m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot 3.0, 4.0 | 11:54 | |
camelia | rakudo-moar fb0a13: OUTPUT«This type cannot unbox to a native number in method CALL-ME at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 283 in block <unit> at /tmp/pQt4f43Oej line 1» | ||
azawawi | pasteboard.co/10uVnma1.png # The result of gist.github.com/azawawi/cdeae2c709aee411a188 on windows :) | ||
ZoffixWin | Because, basically to make a perlish sub that interfaces with a C lib, you'd need to make an intermediate that does the coercion. | ||
azawawi++ very cool | 11:55 | ||
11:55
virtualsue joined
|
|||
azawawi | thx | 11:57 | |
11:57
vendethiel joined
11:58
musiKk joined
|
|||
ZoffixWin | 0.o | 11:59 | |
m: use NativeCall; sub hypot (long , long) returns long is native {}; say hypot 3, 4 | |||
camelia | rakudo-moar fb0a13: OUTPUT«121480020004» | ||
ZoffixWin | m: use NativeCall; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
11:59
lnrdo left
|
|||
ZoffixWin | Weird, eh? Comma position changes the return value | 11:59 | |
11:59
lnrdo joined
|
|||
ZoffixWin | But was I was gonna say is we got long but no double? | 11:59 | |
There's more actually: | 12:01 | ||
12:01
hankache left
|
|||
ZoffixWin | m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | 12:01 | |
camelia | rakudo-moar fb0a13: OUTPUT«133062896» | ||
ZoffixWin | dafuq? | 12:02 | |
12:03
pierre-vigier joined
|
|||
ZoffixWin | m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | 12:04 | |
camelia | rakudo-moar fb0a13: OUTPUT«153817849» | ||
ZoffixWin | m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«8589934595» | ||
ZoffixWin | m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«17180291710» | ||
ZoffixWin giggles | |||
m: use NativeCall; our native double is Int is ctype("double") is repr("P6int") { }; ; ; ; ; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | |||
camelia | rakudo-moar fb0a13: OUTPUT«149815081» | ||
12:04
bowtie left
12:05
bowtie joined
|
|||
ZoffixWin | Ah, the our native stuff isn't even needed: | 12:06 | |
m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | |||
camelia | rakudo-moar fb0a13: OUTPUT«1220935716» | ||
ZoffixWin | m: use NativeCall; ; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
ZoffixWin | m: use NativeCall; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
12:06
sammers left
|
|||
ZoffixWin | m: use NativeCall; sub hypot (int16, int16) returns num64 is native {}; say hypot 3, 4 | 12:08 | |
camelia | rakudo-moar fb0a13: OUTPUT«4.87068332437578e-316» | ||
BenGoldberg | m: use NativeCall; sub hypot (int64, int64) returns int64 is native {}; say hypot 3, 4 | 12:09 | |
camelia | rakudo-moar fb0a13: OUTPUT«102417584» | ||
BenGoldberg | m: use NativeCall; sub hypot (int64, int64) returns num64 is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«4.63856575042433e-316» | ||
12:10
sammers joined
12:14
pierre-vigier left
|
|||
sortiz | m: use NativeCall; sub hypot (num64, num64) returns num64 is native {}; say hypot num64.new(3.0), num64.new(4.0) | 12:14 | |
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
sortiz | NativeCall can not known nor check the correctness of the types used, only if the function exists. | 12:19 | |
ZoffixWin | m: use NativeCall; sub strcpy (Str, Str) returns Str is native {}; my $x = "42"; say strcpy $x, "4222222222222222222" x 42 | ||
camelia | rakudo-moar fb0a13: OUTPUT«(timeout)*** Error in `/home/camelia/rakudo-m-inst-1/bin/moar': malloc(): memory corruption: 0x0000000007087b20 ***» | 12:20 | |
ZoffixWin | m: use NativeCall; sub strcpy (Str, Str) returns Str is native {}; my @x = "42", "43"; say strcpy @x[0], @x[1]; say @x | 12:22 | |
camelia | rakudo-moar fb0a13: OUTPUT«43[42 43]» | ||
ZoffixWin | :D | ||
Oh, I misread the output :( | 12:23 | ||
12:23
Zero_Dogg left,
Zero_Dogg joined,
Zero_Dogg left,
Zero_Dogg joined
|
|||
sortiz | And yes, we can easy shot ourselves in the foot, the head, or kill the neighbor's cat. | 12:23 | |
m: use NativeCall; sub hypotf (num32, num32) returns num32 is native {}; say hypotf 3e0, 4e0 | 12:27 | ||
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
ely-se | masak: I am thinking of using Rakudo's JVM support and JVM's sandboxing facilities for perl6 --doc. Do you think that would work? | 12:29 | |
I don't have any idea of how mature the JVM back-end is though | 12:30 | ||
12:34
Cabanossi left
|
|||
RabidGravy discovers there are three different installations of couchdb on his laptop, deletes two (hopefully the right two) | 12:34 | ||
12:34
sammers left
12:36
azawawi left
12:37
leont joined
12:38
Cabanossi joined
|
|||
geekosaur | r-j: "test".say | 12:39 | |
camelia | rakudo-jvm 6c0f93: OUTPUT«test» | ||
geekosaur | well, that's better than it's been doing recently | ||
jvm backend has been pretty broken | |||
ely-se | ok :P | 12:42 | |
stmuk | RabidGravy: what was that DB perl CI thing called? | ||
12:47
sammers joined
|
|||
stmuk | ah smolder | 12:48 | |
12:50
pierre-vigier joined
12:51
maslan left
12:54
sammers left
|
|||
pierre-vigier | Hi #perl6 | 12:56 | |
m: multi sub t( Array @l ) { say "Array" }; multi sub t( List @l ) { say "List" }; my $l = ( (1,2),(3,4) ); t( $l ); | |||
camelia | rakudo-moar fb0a13: OUTPUT«Cannot call t(List); none of these signatures match: (Array @l) (List @l) in block <unit> at /tmp/w8HXaY2nmo line 1» | ||
pierre-vigier | any Idea ? | ||
gfldex | type contraint and structure are not the same thing | 12:57 | |
pierre-vigier | yes, what i want is to receive an array of array | 12:58 | |
gfldex | m: my Array @a; dd @a.^name; my $l = [[1],]; dd $l.^name; | ||
camelia | rakudo-moar fb0a13: OUTPUT«"Array[Array]""Array"» | ||
pierre-vigier | or Array of list, | 12:59 | |
the only solution is to use a where? | |||
gfldex | m: multi sub t( Array @l ) { say "Array" }; multi sub t( List @l ) { say "List" }; my Array @l = [[1],]; t( @l ); | ||
camelia | rakudo-moar fb0a13: OUTPUT«Array» | ||
pierre-vigier | ah | 13:00 | |
understoof | |||
understood | |||
i need to force the type of Array element to be Array, | 13:01 | ||
13:06
sammers joined
|
|||
RabidGravy | stmuk, it was a combo of smolder & buildbot | 13:11 | |
both of those things are eminently doable in P6 right now | |||
(IMO) | 13:12 | ||
MadcapJake | I completely forgot that I made the chocolatey package for rakudo xD | 13:15 | |
13:28
virtualsue left
|
|||
MadcapJake | awwaiid: if you or anyone else wants to be a chocolatey maintainer for rakudo *, I can add you. I don't currently have a windows machine. | 13:29 | |
13:30
acrussell joined
13:33
brrt left
|
|||
stmuk | there is nothing like PPI for perl6 (or a simple API to the internal Perl 6 grammars) I suppose | 13:34 | |
13:35
lnrdo left
13:36
lnrdo joined
|
|||
stmuk | maybe Rakudo::Perl6::Parsing | 13:38 | |
RabidGravy | well you can get at the grammar (I just keep forgetting how) | ||
13:38
musiKk left
|
|||
leont | But the grammar will execute BEGIN blocks | 13:41 | |
This was discussed a few days ago, I think | |||
13:47
Skarsnik joined
|
|||
Skarsnik | Hello | 13:47 | |
yoleaux | 10:32Z <ely-se> Skarsnik: not a pair of instants (that would be called an "interval"). It's just a number of seconds. | ||
RabidGravy | but you could potentially alter the actions to prevent that from happening (I guess I claim no great knowledge of the matter) | 13:52 | |
13:52
virtualsue joined
|
|||
leont | Probably | 13:52 | |
dalek | ecs: 7713048 | (Stéphane Payrard)++ | t.elm: c |
14:00 | |
ecs: 78bcffc | (Stéphane Payrard)++ | S05-regex.pod: <?[]> and <![]> were undocumented |
|||
moritz | yes, but then you can't parse it anymore | ||
the BEGIN time actions are necessary for registering declared symbols, new operators and so on | |||
virtualsue | \o/ Perl 6 installation partay @London Hackspace today | 14:06 | |
cognominal | arf the <![]> was documented. I only searched for <?[ Anyway now if someone searches for <![ he will find it. | 14:08 | |
leont | That t.elm is confusing me | 14:12 | |
cognominal: Is that an accident? | 14:14 | ||
cognominal | arf | ||
I am using a atomagit. Visibily I don't master it | |||
will fix it. | 14:15 | ||
dalek | ecs: ca0a0bc | (Stéphane Payrard)++ | t.elm: delete file accidentally checked |
14:16 | |
cognominal | sorry about that | 14:17 | |
leont++ for noticing | |||
14:19
colomon left
14:20
mephinet left
14:24
ELBeavers joined
14:25
Averna left
14:27
pi1 left,
pi1 joined
|
|||
dalek | ecs: cbb8978 | (Steve Mynott)++ | S22-package-format.pod: remove leading v in version example |
14:28 | |
RabidGravy | why do I get "Missing serialize REPR function for REPR VMException" on Travis-CI when I don't get it locally and how the hell do I diagnose ot | ||
it | |||
Skarsnik | Oo | ||
14:29
ELBeavers left
14:31
xpen joined
14:32
xpen left
14:33
xpen joined
|
|||
orbus question - is there a baked in way to require an unsigned int in a signature? | 14:34 | ||
or do I just need to check what was passed in and throw an exception if I don't like what I got? | |||
14:34
mephinet joined
|
|||
Skarsnik | unsigned type are not really working properly x) | 14:35 | |
orbus | that's kind of what I thought | ||
alright, exception it is then | |||
Skarsnik | I think uint32 and uint64 are kind of fine? | ||
orbus | hrm | ||
well I can try | |||
let's see | |||
it's for a BUILD method | |||
object construction | 14:36 | ||
uint64 didn't seem to constrain it | 14:37 | ||
seems like it's just acting like an int | |||
Skarsnik | The issue all the intx are see as Int in type. that make being constraint around them kind of hard | ||
orbus | well, no worries | 14:38 | |
I can just put a check in the constructor | |||
and die if I get a negative | |||
dalek | ecs: db43544 | (Steve Mynott)++ | S22-package-format.pod: update perl version example to use 6.c type vers |
||
14:43
sjoshi joined
|
|||
Skarsnik | I really need more ram :( | 14:44 | |
14:44
azawawi joined
|
|||
azawawi | hi | 14:44 | |
Skarsnik | hello | ||
azawawi | Skarsnik: how much ram you have? :) | ||
14:44
lokien_ joined
|
|||
Skarsnik | 8Gb, but the issue is to be able to run more than 1 vm at the time ^^ | 14:45 | |
azawawi | 12-16 GB is good | 14:46 | |
and an SSD | 14:47 | ||
finally got MagicWand to work on all three platforms (Linux, Windows and MacOS X) github.com/azawawi/perl6-magickwan...ild-status | 14:48 | ||
14:48
bowtie left
|
|||
Skarsnik | I need to have a look at these windows build x) | 14:50 | |
14:50
bowtie joined
|
|||
orbus has two vms running on a machine with 8 gb | 14:51 | ||
I don't think I'd want to go much over that though | |||
pierre-vigier | class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; }; | ||
m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; }; | |||
Skarsnik | win 7 (host) is hungry for ram already x) | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Gkv843v7gRCannot use this form of method call with a private methodat /tmp/Gkv843v7gR:1------> 3";}; method m() { my $m = "p"; self!$m()7⏏5; }; };» | ||
azawawi | Skarsnik: run lightweight VMs... i use lubuntu over windows 7 :) | 14:52 | |
pierre-vigier | strange, is it not possible to call a private method, from a name contained in a variable? | ||
m: class Foo { method !p() { say "private";}; method m() { self!"m"(); }; }; | |||
camelia | ( no output ) | ||
pierre-vigier | a string seems ok, but a variable conaining a string does not work | 14:53 | |
azawawi | Skarsnik: vmware or virtualbox? | ||
Skarsnik | virtualbox | ||
azawawi | Skarsnik: go vmware then :) | ||
pierre-vigier | vmware is way more efficient than virtualbox indeed, however, not free :( | 14:54 | |
geekosaur | player is free for personal use on linux | ||
and unlike older versions is perfectly capable of creating vm-s | 14:55 | ||
(you dont have what they call "restricted vms" but you don't want those. by "restricted" they mean "IT decides what you're allowed to do with that VM") | 14:56 | ||
pierre-vigier | m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!$m(); }; }; | 14:58 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VFmCdjQStoCannot use this form of method call with a private methodat /tmp/VFmCdjQSto:1------> 3";}; method m() { my $m = "p"; self!$m()7⏏5; }; };» | ||
azawawi | im looking at the prices... fusion (on mac) is way cheaper than workstation on windows | ||
pierre-vigier | Someone not how to do that? | 14:59 | |
VMware Workstation 12 Player Free for Personal Use | |||
from www.vmware.com/products/player/ | |||
geekosaur | yes, fusion is scary cheap compared to all the other ones | ||
azawawi | yup | 15:00 | |
geekosaur | I've mostly migrated to Linux but keep the Mac around specifically so I can run VMs with Fusion | ||
ely-se | Hmm, sandboxing MoarVM is difficult. | ||
It crashes if the ioctl system call fails, but ioctl is dangerous. | 15:01 | ||
Skarsnik | My issue is more my host already take 6GB | 15:02 | |
so not some much ram free for vm | |||
azawawi | are there any other free CI build services (excluding travis ci & appveyor) for open source? | 15:03 | |
geekosaur | S12 says that should work, btw | ||
$obj!"$methodname"() # indirect call to private method name | |||
oh, maybe you just need the quotes | |||
pierre-vigier | m: class Foo { method !p() { say "private";}; method m() { my $m = self.^private_nethod_table<p>; self.$m(); }; }; | 15:04 | |
camelia | ( no output ) | ||
geekosaur | m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!"$m"(); }; }; | ||
camelia | ( no output ) | ||
pierre-vigier | oh, with quote it's working, nice | ||
other solution, get the method from the private_method_table | |||
and call it as public | |||
geekosaur | yeh | ||
15:04
cosarara_ joined
|
|||
geekosaur | m: class Foo { method !p() { say "private";}; method m() { my $m = "p"; self!"$m"(); }; }; Foo.new.m | 15:05 | |
camelia | rakudo-moar fb0a13: OUTPUT«private» | ||
15:05
maslan joined
|
|||
masak | ely-se: unfortunately, I don't know enough about JVM's sandboxing facilities to sensibly answer that | 15:05 | |
Skarsnik | and it could be nice if virtualbox check for free ram before try to restore a vm and fail xD | 15:06 | |
15:07
cosarara left
|
|||
awwaiid | MadcapJake: what is a chocholatey? | 15:10 | |
geekosaur | windows package manager | ||
stmuk | openssl/nativecall seems broken on mac | 15:11 | |
15:11
BenGoldberg left
|
|||
geekosaur | microsoft finally figured out that hey, maybe somehting like yum or apt-get would be nice | 15:11 | |
15:13
CIAvash left
15:14
secwang left
|
|||
azawawi | awwaiid: chocolatey.org/packages/rakudostar | 15:16 | |
15:16
lnrdo left
|
|||
azawawi | geekosaur: :) | 15:16 | |
Skarsnik | 2014.12.1 ? | 15:17 | |
azawawi ducks | |||
15:18
lnrdo joined
|
|||
MadcapJake | lol i did it a year ago when I had a Windows rig | 15:18 | |
azawawi | vs chocolatey.org/packages/strawberryperl | ||
interesting commentary about strawberry perl chocolatey.org/packages/strawberry...ionhistory | 15:20 | ||
15:21
sftf joined
15:23
BenGoldberg joined
|
|||
orbus | apparently StrawberryPerl 5.20.2.1 has been awaiting approval since April? | 15:26 | |
azawawi | no follow up | 15:27 | |
orbus would probably just install strawberry perl | |||
with the windows installer | |||
15:27
TEttinger joined
15:28
azawawi left
15:30
ELBeavers joined
|
|||
orbus | but I guess this sort of thing might be good if you're managing a bunch of networked windows boxes | 15:30 | |
AlexDaniel | m: say flat ‘earth’ | 15:35 | |
camelia | rakudo-moar fb0a13: OUTPUT«(earth)» | ||
AlexDaniel | m: say round ‘earth’ | ||
camelia | rakudo-moar fb0a13: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5earth' (indicated by ⏏) in block <unit> at /tmp/hsCnlLgZyf line 1Actually thrown at: in block <unit> at /tmp/hsCnlLgZyf line 1» | ||
15:37
molaf joined
15:38
xinming left
15:40
pierre-vigier left
|
|||
RabidGravy | timotimo, copying and pasting that "will lazy" code isn't quite as simple as all that it appears the closures don't quite work if you use it more than one :) | 15:40 | |
15:43
xpen left
|
|||
RabidGravy | nothing that turning it anto a parameterised role can't fix however | 15:43 | |
15:46
ely-se left
|
|||
RabidGravy | yep that works a treat | 15:46 | |
[Tux] | csv-ip5xs 17.656 | 15:58 | |
test 22.467 | |||
test-t 12.165 | |||
csv-parser 49.241 | |||
RabidGravy | is that creeping back up again? | 15:59 | |
16:00
Peter- left
16:01
Peter- joined
|
|||
awwaiid | choco is like apt-get for windows?! sweet! | 16:04 | |
vendethiel | ..in that every package uploaded is severely outdated, yeah :p | 16:08 | |
geekosaur | heheh | 16:09 | |
ugexe | if they continue on their current path it should get better. nuget is pretty cool | 16:11 | |
16:11
hankache joined
|
|||
hankache | is there a difference between sub foo(int32) is native('libfoo') { * }; and sub foo(int32) is native('libfoo') { ... }; ?? | 16:13 | |
Skarsnik | probably not | ||
hankache | thanks Skarsnik | 16:14 | |
Skarsnik | maybe if you go for multi it can have an influence? | ||
hankache | no idea | 16:15 | |
Skarsnik++ #GPTrixie | |||
can we specify stdout to be a file instead of te terminal? | 16:17 | ||
^^ for GPTrixie | |||
16:17
xinming joined
|
|||
Skarsnik | > file ? | 16:17 | |
ZoffixWin | Oh, is that what Trixie is lol | ||
I never bothered to look at it and has just been wondering that it should be possible to generate NC stuff from headers :D | |||
Skarsnik++ | 16:18 | ||
Skarsnik | well thx gccxml xD | ||
I tried lot of stuff based on clang but I never managed to have something that compile on debian or just work | 16:19 | ||
like cast does not want c99... | |||
ZoffixWin | Do you know what's happening here, when incorrect types are used? What are those return values? | 16:21 | |
m: use NativeCall; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | |||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
ZoffixWin | m: use NativeCall; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
ZoffixWin | m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«1220935716» | ||
ZoffixWin | (note: I'm just adding ';') | ||
16:22
arlenik joined
|
|||
Skarsnik | lol | 16:22 | |
16:22
sQuEE` left,
ely-se joined,
xinming left
|
|||
Skarsnik | not even sure how a native with {} work | 16:23 | |
m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { * }; say hypot 3, 4 | |||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
Skarsnik | m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { returns 42 }; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5_PYxRnK_7Undeclared routine: returns used at line 1. Did you mean 'return', 'return-rw'?» | ||
Skarsnik | m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { return 42 }; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«1574504822» | ||
arnsholt | The body of a sub marked with is native is ignored | ||
Skarsnik | m: use NativeCall; ; ; sub hypot (int32, int32) returns int32 is native { return 42 }; say hypot 3, 4; say hypot 3, 4; | 16:24 | |
camelia | rakudo-moar fb0a13: OUTPUT«00» | ||
ZoffixWin | Oh, is that what is it? | ||
16:24
sQuEE joined
|
|||
arnsholt | The Native role mixes in a CALL-ME method (or something like that, the exact name escapes me ATM) which overrides the whole call process | 16:24 | |
ZoffixWin | Hm | ||
m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {*}; say hypot 3, 4 | 16:25 | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bKIVUtKIIoBogus postfixat /tmp/bKIVUtKIIo:1------> 3turns long is native {*}; say hypot 3, 47⏏5 expecting any of: infix infix stopper postfix statem…» | ||
Skarsnik | but that buggy to have random output like that | ||
ZoffixWin | m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {*}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
ZoffixWin | m: use NativeCall; ; ; ; ; ; sub hypot (long, long) returns long is native {}; say hypot 3, 4 | ||
camelia | rakudo-moar fb0a13: OUTPUT«89791560» | ||
arnsholt | Yeah, it's weird that adding the semicolons changes things | 16:26 | |
Hard to say why that is | |||
Skarsnik | what hypot does? | ||
arnsholt | Why it goes wrong | 16:27 | |
ZoffixWin | hypotenuse | ||
m: use NativeCall; ; ; ; ; ; sub hypot (num64, num64) returns num64 is native {}; say hypot 3e0, 4e0 | |||
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
ZoffixWin | m: say sqrt(3**2, 4**2) | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EOkdy71oGqCalling sqrt(Int, Int) will never work with proto signature ($)at /tmp/EOkdy71oGq:1------> 3say 7⏏5sqrt(3**2, 4**2)» | ||
jnthn | hypot is defined as taking num32 afaict | ||
16:27
skids joined
|
|||
ZoffixWin | It takes a double | 16:27 | |
moritz | ouble hypot(double x, double y); | 16:28 | |
jnthn | ah, you're right | ||
moritz | float hypotf(float x, float y); | ||
RabidGravy | ooh, I'm sure I tried this before and found it not to work as expected | ||
ZoffixWin | m: say sqrt(3**2 + 4**2) | ||
RabidGravy | m: role F[Callable $f] { method f() { say "callable" }}; role F[Str $f] { method f() { say "string" }}; my $a = 1; $a does F["foo"]; $a.f; my $b = 1; $b does F[-> { }]; $b.f | ||
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
rakudo-moar fb0a13: OUTPUT«stringcallable» | |||
arnsholt | It's weird that adding semicolons between the use and the sub definition changes the return value, though | ||
RabidGravy | which is possibly the coolest thing in the workd | ||
jnthn | yeah...though calling it with long is violating the calling conventions. | 16:29 | |
arnsholt | Although that was with the wrong type might invoke something undefined | ||
Definitely | |||
ZoffixWin | arnsholt, my wild guess would be the incorrect types are making NC read incorrect memory areas and those areas are affected by the content of the program itself or something | ||
jnthn | It'll maybe invoke the right thing, but callee-save registers might get hosed up for example. | ||
arnsholt | ZoffixWin: Yeah, that's probably it. Since the weird example defines it with two 32 bit arguments it probably reads bogus data on the stack or some such# | 16:30 | |
jnthn | If it is behaving weird with the *correct* signature then it's certainly a bug :) | ||
arnsholt | Yeah | ||
jnthn | But if it's only with bogus ones, well, memory corruption is likely. | ||
arnsholt | Yeah, I agree | ||
jnthn | And the harder we optimize NativeCall, the likelier it's going to get. | ||
sortiz | ZoffixWin, I suppose that when you use the wrong types, the demarchaling take some random values from the stack. | ||
ZoffixWin nods | 16:31 | ||
jnthn | (Since the endgame is that we're just JIT-compiling the call to the C function directly into the JITting of the Perl 6 code) | ||
(Though we're a bit off that) | |||
ZoffixWin | BTW, any idea why I was having issues earlier? getting "Cannot find method 'CALL-ME'" when calling a nativecalled sub irclog.perlgeek.de/perl6/2016-01-23#i_11928513 | 16:33 | |
16:33
araujo_ joined
|
|||
hankache | what is sized ints? | 16:34 | |
sortiz | At the machine level reading from the stack an int64 and a double, reads the same amount of memory, nothing bad happens. | 16:35 | |
ZoffixWin | hankache, ints that fit into a particular number of bytes | ||
16:35
araujo_ left
|
|||
ZoffixWin | m: my int16 $x = 2**15; say $x; $x = 2**16; say $x | 16:35 | |
camelia | rakudo-moar fb0a13: OUTPUT«-327680» | ||
16:35
araujo_ joined
|
|||
hankache | ZoffixWin so int32 and int64 are called sized ints? | 16:35 | |
ZoffixWin | Yeah | ||
hankache | ZoffixWin thanks mate | 16:36 | |
ZoffixWin | m: my int16 $x = 2**15 - 1; say $x | ||
camelia | rakudo-moar fb0a13: OUTPUT«32767» | ||
jnthn | sortiz: Yes, but the calling conventions on x64 don't use the stack for various cases. | ||
16:36
zakharyas joined,
araujo left
|
|||
Skarsnik | sized int are a nice name mainly for now x) | 16:36 | |
jnthn | Skarsnik: Huh? They're pretty widely implemented, even if there's some imperfections. | 16:37 | |
m: my int8 $x = 2**9; say $x | |||
camelia | rakudo-moar fb0a13: OUTPUT«0» | ||
sortiz | Yes, and if the stack isn't involved, you are reading bogus registers. | 16:38 | |
jnthn | sortiz: Yeah, that's what I suspect is going on here | ||
Note how the 2**9 overflows | |||
The most useful use of native ints, outside of native call, is in packed arrays | |||
my int8 @a[10000] will use a lot less memory than my int64 @a[10000] | |||
ZoffixWin | m: my int8 @a[100000] | 16:39 | |
camelia | ( no output ) | ||
Skarsnik | They should not match Int btw when using multi or ~~ or in given statement | ||
I mean they should be usable | |||
ZoffixWin | Well, some combination of values makes camelia report a nice round number of bytes that could not be allocated and you can see the difference for different sizes | ||
rindolf | Hi all! paste.debian.net/367409/ - this gives me «Unexpected block in infix position (missing statement control word before the expression?)» - why and how can I fix it? | ||
ZoffixWin: hi, sup? | |||
jnthn | m: say int32 ~~ Int | 16:40 | |
camelia | rakudo-moar fb0a13: OUTPUT«Cannot unbox a type object in block <unit> at /tmp/yc7mEmub4P line 1» | ||
jnthn | wtf... | ||
AlexDaniel | :) | ||
jnthn | m: say Str ~~ Int | ||
camelia | rakudo-moar fb0a13: OUTPUT«False» | ||
jnthn | m: say Int ~~ Int | ||
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
jnthn | Oddness | ||
But anyway, the native ints are subclasses of Int | 16:41 | ||
But also, any time you're smart-matching then you're dealing in object space | |||
Skarsnik | m: my int8 $a; given $a { when int8 { say "int8"} when Int { say "Int"}}; | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9sLIpofWSvStrange text after block (missing semicolon or comma?)at /tmp/9sLIpofWSv:1------> 038 $a; given $a { when int8 { say "int8"}7⏏5 when Int { say "Int"}};» | ||
jnthn | So boxing is likely | ||
16:41
pi2 joined,
pi1 left
|
|||
jnthn | Skarsnik: Yes, native types don't know their type, they all box to Int | 16:41 | |
That's by design | |||
Skarsnik | That bad | ||
AlexDaniel | m: my int8 $a; given $a { when int8 { say "int8"}; when Int { say "Int"} }; | 16:42 | |
camelia | rakudo-moar fb0a13: OUTPUT«Int» | ||
sortiz | Weird things can happen, if for example, a bad declared structure with pointers are dereferenced. | ||
Skarsnik | like even using ^name on $a will not gie you int9 | ||
jnthn | Correct, because that's an object operation | ||
AlexDaniel | m: say int32.^methods | 16:43 | |
camelia | rakudo-moar fb0a13: OUTPUT«Method 'methods' not found for invocant of class 'Perl6::Metamodel::NativeHOW' in block <unit> at /tmp/pbmwyXA52V line 1» | ||
jnthn | Meta-OBJECT protocol | ||
We go pretty far to let you pretend most things are objects in Perl 6 | |||
16:43
araujo__ joined
|
|||
jnthn | But like most other languages, we do it by autoboxing natives. | 16:43 | |
rindolf | anyone? | ||
Skarsnik | I don't care how that work behind the scene. it's just, you can't do stuff based on these type | ||
ZoffixWin | rindolf, what line number is that error on? | 16:44 | |
Skarsnik | and it's annoying IMO | ||
rindolf | ZoffixWin: 18. | ||
jnthn | Skarsnik: Well that's your problem. If you're using native types you are expected to care a bit more. | ||
Skarsnik | ? | 16:45 | |
You realise that annoying when working with NC? | |||
ZoffixWin | rindolf, tossing all those parenthesis makes it go away | ||
geekosaur | rindolf, I don't think the outer set of parens is legal | ||
if you put the close paren before the arrow, it should work | |||
Skarsnik | since your dealing with 'extra' type that make sens in this context | ||
16:46
araujo_ left
|
|||
rindolf | geekosaur: OK, thanks. | 16:46 | |
ZoffixWin | rindolf, But you have a host of other errors. | ||
geekosaur | (of course then it's redundant) | ||
Skarsnik | I know that in regular perl6 code, these native type are fine as 'internal weird stuff' but in NC context there are more meaningful | ||
geekosaur | but -> is not an operator, it's syntax, and the syntax does not expect parens | 16:47 | |
Skarsnik | m: my int8 $a; say $a.nativesize; | ||
camelia | rakudo-moar fb0a13: OUTPUT«Method 'nativesize' not found for invocant of class 'Int' in block <unit> at /tmp/7lsUnuHMQn line 1» | ||
jnthn | bbi10, cheese needs attention... | ||
16:47
pi2 left,
virtualsue left
16:48
pi4 joined,
ajr_ joined
|
|||
sortiz | Skarsnik, I'm empathetic, have some problems, mainly with unsigned types, that turns negative when boxed as Int. | 16:49 | |
16:49
lokien_ left
|
|||
jnthn | m: my int8 $a; say $a.VAR.of.^nativesize | 16:52 | |
camelia | rakudo-moar fb0a13: OUTPUT«Method 'of' not found for invocant of class 'Int' in block <unit> at /tmp/ZD6kZzSO2G line 1» | ||
jnthn | That one we should make work. | ||
ZoffixWin | What's the name for "returns" in sub cpu_clock returns int32 is native('cpuid') {} ? | ||
trait? | |||
jnthn | ZoffixWin: Yes, it's a trait | ||
ZoffixWin | Thanks | ||
jnthn | is/does/of/returns are all traits | ||
handles too | |||
I think there's another one I forgot. They're all in le grammar. | 16:53 | ||
geekosaur | will? | ||
jnthn | Yup :) | ||
In general, I agree natives need a decent bit more work, but they'll always have the "don't in isolation know what they are" issue. | 16:54 | ||
'cus the point of them is they're just the raw data, not carrying a type flag around. | |||
So as soon as they leave their "context" that says how they're to be interpreted, they need boxing. | |||
Skarsnik | Probably need to make extra type for NC them, so they became more meaningful | 16:55 | |
16:56
BenGoldberg left
|
|||
Skarsnik | m: my uint8 $a; say $a ~~ Unsigned; | 16:56 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/f22FTIjYYgUndeclared name: Unsigned used at line 1» | ||
16:59
TEttinger left
|
|||
ely-se | modules.perl6.org documentation scraper is working well :) | 17:00 | |
ZoffixWin | modules.perl6.org has a documentation scraper?? | ||
17:01
revhippie joined
|
|||
ely-se | no, I'm writing one | 17:01 | |
ZoffixWin | Sweet | ||
This reminds me tho... | |||
ely-se | github.com/rightfold/sixdoc/blob/m...doc-scrape | ||
ZoffixWin | The code that figures out whether there's a readme is case-sensitive and SDL2::Raw, for example, names it Readme.md and detection fails. | 17:02 | |
17:02
zakharyas left
|
|||
ZoffixWin | ely-se, cool :) | 17:03 | |
ely-se | wish Pod::To::HTML had a "bare" option, to only generate the text that would go in the <body> element | 17:04 | |
ZoffixWin | say DOM::Tiny->new($html)->at('body') :) | ||
->descendant_nodes->map('xml') I guess, to remove the <body> itself | 17:06 | ||
Skarsnik | I should write something like that based on gumbo x) | ||
ZoffixWin | That would be great | 17:08 | |
ely-se | ZoffixWin: is that Perl 5 or 6? | ||
17:08
DrPete_ left
|
|||
ZoffixWin | ely-se, 5 | 17:09 | |
ely-se | nice | ||
ZoffixWin | ely-se, DOM::Tiny is a port of Mojo::DOM by one of the core Mojolicious members: metacpan.org/pod/DOM::Tiny | ||
Well, the goal of it was to provide a parser WITHOUT having to install a web framework :) | 17:10 | ||
ely-se | I'll probably store all data in a SQLite database | ||
much easier and safer (because user input) than dealing with files | |||
17:12
xinming joined
|
|||
dalek | osystem: 436f89c | RabidGravy++ | META.list: Add Attribute::Lazy See github.com/jonathanstowe/Attribute-Lazy |
17:14 | |
Skarsnik | nice RabidGravy x) | ||
17:14
salva left,
nchambers joined
17:15
colourspace joined
|
|||
ZoffixWin | weeee RabidGravy++ | 17:15 | |
RabidGravy | ^ is basically the code reverted from the code changed a bit to make it pass some tests ;-) | ||
timotimo, there ^ | |||
colourspace | hello, i have perhaps a noobish regex problem i'm trying to work through. i need to match both the strings "foo - bar" and "foo - bar - baz", so i have a regex something like / <first> <separator> <second> [ <separator> <third> ]? / where second and third are an arbitrary sequence of characters NOT matching <separator>. naively i have second and third both defined as / .+ /, but as you can imagine it will greedily match second as | 17:17 | |
any idea how to make it not so greedily match? | |||
awwaiid | colourspace: try throwing a ? after the .+, as in .+? | 17:19 | |
jnthn | They're syntax for matching things between separators also | 17:20 | |
*there's | |||
colourspace | jnthn that sounds exactly what i'd need, can you point me in the right direction? | ||
ely-se | How do you in English differentiate between a module defined with the module keyword and a module as distributed with META.info, lib, t, etc files? | ||
jnthn | m: say 'foo - bar' ~~ / (\w+)**2..3 % [\s*'-'\s*] / | ||
camelia | rakudo-moar fb0a13: OUTPUT«「foo - bar」 0 => 「foo」 0 => 「bar」» | ||
jnthn | m: say 'foo - bar - baz' ~~ / (\w+)**2..3 % [\s*'-'\s*] / | ||
camelia | rakudo-moar fb0a13: OUTPUT«「foo - bar - baz」 0 => 「foo」 0 => 「bar」 0 => 「baz」» | ||
jnthn | **2..3 is the "match 2 to 3 times" quantifier | 17:21 | |
% can be used with any quantifier and means "match the thing to the right between each of the matches of the quantified thing" | |||
doc.perl6.org/language/regexes#Modi...ier%3A_%25 | |||
17:21
autark joined
|
|||
colourspace | ok thank you, i will play around with these suggestions | 17:22 | |
17:22
araujo_ joined
17:24
araujo__ left
17:29
alpha123 joined
|
|||
skids | ely-se: "distribution"? | 17:29 | |
17:32
colourspace left
|
|||
ely-se | skids: yeah I went with that :P | 17:32 | |
17:36
DrPete_ joined
|
|||
ZoffixWin | m: use NativeCalls; sub hypot (uint32_t, uint32_t) is native {} | 17:40 | |
camelia | rakudo-moar fb0a13: OUTPUT«===SORRY!===Could not find NativeCalls in: /home/camelia/.perl6/2015.12-218-gfb0a135 /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 …» | ||
ZoffixWin | m: use NativeCall; sub hypot (uint32_t, uint32_t) is native {} | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rIwkeuSvoLInvalid typename 'uint32_t' in parameter declaration. Did you mean 'uint32'?at /tmp/rIwkeuSvoL:1------> 3use NativeCall; sub hypot (uint32_t7⏏5, uint32_t) is native {}» | ||
dalek | c/jgoff-regex-substitution: a606c27 | (Jeffrey Goff)++ | doc/Language/regexes.pod: Basic documentation for the s/// operator. |
||
ZoffixWin | hmmmm | ||
The NativeCall's learning curve is super steep (if you don't know C, I mean) | 17:41 | ||
17:41
khw joined
|
|||
Skarsnik | just use gptrixie xD | 17:41 | |
17:42
mollmerx joined
|
|||
ZoffixWin | Yup, installing it right now :) | 17:42 | |
Hm, actually this plays well into my blog post... I'll show that even an idiot like me can use C libraries :P | 17:43 | ||
Skarsnik | Well translation C definition -> perl6 is not even half the work | 17:44 | |
You still need to know some C to understand how some stuff are to be handled | |||
ZoffixWin | I wonder if we can improve that actually. I see in Haskel, they can just do C.include "<stdio.h>" and go to town: www.fpcomplete.com/blog/2015/05/inline-c | 17:45 | |
Skarsnik | how they parse the header? | 17:47 | |
ZoffixWin | No idea. | ||
Skarsnik | and it's cute for stdio probably | 17:48 | |
but I have header that involve 150 files | |||
ZoffixWin | Later on that page they say "we use a function from C's GNU Scientific Library", so I assume it works with bigger things too. | 17:49 | |
Hm "*resolve stage failed for modules.perl6.org/dist/App::GPTrixie: Project modules.perl6.org/dist/App::GPTrixie not found in the ecosystem)" | 17:50 | ||
Ah, right, I've used the full URL instead of module name >_< | |||
Skarsnik | xD | 17:52 | |
17:52
ggoebel12 joined
17:54
ggoebel11 left
|
|||
DrForr | About to make a pull request for s/// documentation. | 17:55 | |
(currently waiting for the indexer to run.) | 17:56 | ||
17:57
espadrine joined
|
|||
ZoffixWin | Skarsnik, sent you a PR to fix typos and I see I typoed myself with "thatsome" here that should be left alone as "some": github.com/Skarsnik/gptrixie/pull/...d2eec7d8R6 | 17:58 | |
I've no idea how to modify a commit with GitHub's web interface :) | 17:59 | ||
Skarsnik | just redo a commit? | 18:00 | |
ZoffixWin | I installed the module but `gptrixie` is not available. | ||
Skarsnik | it update the pr | ||
ZoffixWin | I don't see any redo options | 18:01 | |
Skarsnik | I mean do another commit | ||
hm, I have no idea where/how panda install 'binary' | 18:02 | ||
18:02
jme` joined
|
|||
Skarsnik | and I probably forget to put a #!/bin/env perl6 | 18:02 | |
ZoffixWin | Ah, yeah, that did it (the commit) | 18:03 | |
DrForr | Wow. When the docs said it would take a while they.. weren't kidding. | ||
18:04
colomon joined,
lnrdo left
|
|||
ZoffixWin | Ah, yeah, it's installed in /home/zoffix/./.rakudobrew/moar-nom/install/share/perl6/site/bin/gptrixie, but that's not in my path | 18:04 | |
18:04
sftf left
|
|||
ZoffixWin | bummer.... | 18:05 | |
18:06
xtreak joined,
travis-ci joined
|
|||
travis-ci | Doc build passed. Jeffrey Goff 'Basic documentation for the s/// operator.' | 18:06 | |
travis-ci.org/perl6/doc/builds/104314461 github.com/perl6/doc/commit/a606c27cb574 | |||
18:06
travis-ci left
|
|||
Skarsnik | panda did not warn about that? | 18:06 | |
xtreak | Is there a release schedule for perl6? | ||
ZoffixWin | Skarsnik, nope | 18:07 | |
flussence | xtreak: Rakudo is released the third Saturday of each month. | 18:08 | |
ZoffixWin | xtreak, not at the moment. As far as I know, the Rakudo release schedule is being modified and decided on at the moment. It'll still be monthly, though. As for Perl 6 the language, I think it's yearly, with the next release being around Diwali | ||
18:16
ggoebel13 joined
18:17
ggoebel12 left
18:18
_mg_ joined
18:21
laz78 joined
18:23
domidumont left
|
|||
dalek | href="https://perl6.org:">perl6.org: 2d93ad0 | (Zoffix Znet)++ | source/downloads/index.html: Include panda's module binaries dir in the PATH addition |
18:24 | |
RabidGravy | in case anyone's interested just updated that Attribute::Lazy so that you can get access to the instance in the builder | 18:26 | |
which makes it much more useful | 18:27 | ||
18:28
hc0d3r joined
18:31
leont left
|
|||
RabidGravy | that's definitely not what I set out to do today | 18:36 | |
dalek | c/jgoff-regex-substitution: 28826ed | (Jeffrey Goff)++ | doc/Language/regexes.pod: Reindexed =head markers |
||
18:36
_mg_ left
|
|||
ZoffixWin | Am I doing anything obviously wrong? I'm getting "An exception occurred while parameterizing CArray" gist.github.com/zoffixznet/bd204722f68b70bd5709 | 18:37 | |
Skarsnik | uint32_t does not exist x) | 18:38 | |
18:38
leont joined
|
|||
RabidGravy | yeah that's what I thought | 18:38 | |
ZoffixWin | Oh | ||
RabidGravy | you get the funny error because of the way it gets applied at compile time or something | ||
ZoffixWin | What do I use instead of unit32_t? | 18:39 | |
RabidGravy | uint32 | ||
Skarsnik | I should probably replace these type since there are in c99 | ||
but I need th pray first to redoing my type-eq operator does not segfault moar again xD | 18:40 | ||
18:42
yurivish joined
|
|||
RabidGravy | I wouldn't replace them | 18:44 | |
I'd just document that you don't need the _t in NC code :) | 18:45 | ||
ZoffixWin | :( "Native call expected return type with CPointer representation, but got a CStruct" | 18:47 | |
This is the code gist.github.com/zoffixznet/c0421f531653043cfdb3 | 18:48 | ||
18:49
nchambers left,
nchambers joined
18:50
nchambers left
|
|||
ZoffixWin | return type of what :S | 18:52 | |
*sigh* time to take a break from this tuff | 18:55 | ||
18:57
colomon left
18:59
xtreak left,
colomon joined,
mollmerx left
|
|||
Skarsnik | ZoffixWin, weird, what line? | 19:03 | |
19:03
nchambers joined
|
|||
ZoffixWin | Skarsnik, 43. I now added the full error in the comment: gist.github.com/zoffixznet/c0421f5...nt-1678384 | 19:04 | |
Skarsnik | oh yeah make sense | ||
you give it a cpu_raw_data but it expect a Pointer[cpu_raw_data] | 19:05 | ||
but it's probably a case of just replaceing Pointer[cpu_raw_data] with cpu_raw_data is rw | |||
19:06
ifim joined,
_mg_ joined
|
|||
hankache | why when i run tests i see this line: "done without supply or react in block <unit> at t/00-load.t line 7" ?? | 19:06 | |
Skarsnik | make test on rakudo? | 19:08 | |
RabidGravy | because there is a "done" without a supply or react block :) | ||
you want done-testing | |||
Skarsnik | did you write done testing instead of done-testing? | ||
RabidGravy | it's been like that for months | ||
hankache | RabidGravy++ Skarsnik++ #silly done | ||
i can delete it safely right? my understanding is that i don't need "done" if i specify a plan. Am i right? | 19:09 | ||
RabidGravy | yes | 19:10 | |
hankache | thanks you gents | ||
ZoffixWin | Skarsnik, that just results in segmenation fault :/ | 19:12 | |
19:13
perl6newbee left
|
|||
ZoffixWin | Skarsnik, that just results in segmenation fault :/ | 19:13 | |
oops | |||
dalek | c: a606c27 | (Jeffrey Goff)++ | doc/Language/regexes.pod: Basic documentation for the s/// operator. |
||
c: 28826ed | (Jeffrey Goff)++ | doc/Language/regexes.pod: Reindexed =head markers |
|||
c: b8a03ba | RabidGravy++ | doc/Language/regexes.pod: Merge pull request #363 from perl6/jgoff-regex-substitution Add documentation for s/// operator |
|||
ely-se | i.imgur.com/XkUG6OJ.png :) | ||
hahainternet | so i saw wenderen.github.io/Ruler-Series/ on HN, but i can't seem to figure out if it's possible to zip two infinite lists | ||
i assume i'm doing something dumb, so i thought i'd ask for an example :D | 19:14 | ||
ZoffixWin | ely-se++ | ||
Skarsnik | lol | ||
RabidGravy | You'd want a lazy zip I guess but I don't think there is one | ||
hahainternet | hmm actually now it works | ||
m: say ((1,3...*) Z (2,4...*)) | |||
camelia | rakudo-moar fb0a13: OUTPUT«(...)» | ||
hahainternet | well | ||
AlexDaniel | what is it? Fastest merge in the west contest? | 19:15 | |
hahainternet | m: say ((1,3...*) Z (2,4...*))[^10] | ||
camelia | rakudo-moar fb0a13: OUTPUT«((1 2) (3 4) (5 6) (7 8) (9 10) (11 12) (13 14) (15 16) (17 18) (19 20))» | ||
19:15
lnrdo joined
|
|||
hahainternet | so that's nice | 19:15 | |
Skarsnik | ZoffixWin, you will need to know what the lib does with the pointer. that can change how to declare the functon/use it | ||
ZoffixWin | hmmm | ||
19:15
lnrdo left
|
|||
ZoffixWin | K. I'm gonna leave NC for now :) I need to learn way more first | 19:15 | |
Skarsnik | You can say it's a drawback of wanting to do 'magic' stuff in NC and don't have a malloc | 19:16 | |
I can't translate a c declaration directly because of that | |||
ZoffixWin | Ah | 19:17 | |
Skarsnik | yes a function taking a * cstruct can be written in NC with just the cstruct | ||
but sometime it's wrong | 19:18 | ||
That why the generator in gptrixie is called dumb | |||
RabidGravy | I think the native documentation probably wants a note saying that some things are easier if you build a C wrapper for the functions yourself | ||
Skarsnik | it does not make smart choice | ||
19:19
colomon left
19:20
colomon joined,
musiKk joined
|
|||
hahainternet | i might be being stupid, but in the above example, is there a nice way to have those two element lists flattened into one? | 19:21 | |
ely-se | many modules seem to attempt to mkdir /home/rightfold/.perl6/2015.12/dist | ||
why is that? I'm on a read-only FS | |||
hahainternet | i swear i have done this before, but i can't think | ||
19:22
nchambers left
|
|||
Skarsnik | lol | 19:22 | |
AlexDaniel | m: say (flat (1,3...*) Z (2,4...*))[^10] | 19:23 | |
camelia | rakudo-moar fb0a13: OUTPUT«(1 2 3 4 5 6 7 8 9 10)» | ||
AlexDaniel | hahainternet: I don't think that it is what you mean. So what do you mean? | ||
hahainternet | no that's what i meant, i didn't realise you could call flat like that | 19:24 | |
that works perfectly | |||
AlexDaniel | m: say flat ((1,3...*) Z (2,4...*))[^10] | ||
camelia | rakudo-moar fb0a13: OUTPUT«(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)» | ||
hahainternet | i assumed something like Z, might work as Z==> does, but clearly the list part happens a little 'earlier' | 19:25 | |
19:33
colomon left
19:34
ajr_ left,
ajr_ joined
19:35
colomon joined
|
|||
masak | ely-se: I don't know why it's trying to create that directory -- but your scenario ("I am on a read-only FS") feels like it should (be made to) work | 19:35 | |
19:36
psy_ joined
|
|||
dalek | c: 106a629 | (Wenzel P. P. Peppmeyer)++ | doc/Language/control.pod: doc once |
19:42 | |
c: 8a758ad | (Wenzel P. P. Peppmeyer)++ | doc/Language/control.pod: doc quietly |
|||
osystem: 411820f | RabidGravy++ | META.list: Give that the prooper URL Maybe it could be made a bit smarter in this regard |
19:46 | ||
RabidGravy | me-- # how many times do I need to do that | ||
masak | we could have Travis check against such a URL | 19:50 | |
RabidGravy | it's entirely possible in that one case the module list builder thingy could have worked out the proper URL | 19:56 | |
ZoffixWin | Not in the last one :) | 19:59 | |
(unless you mean it should be made to be able to work it out) | |||
RabidGravy | yes that is exactly what I meant | ||
ZoffixWin | It's very easy to do with modules.perl6.org, but I'm unsure what other things use that META.list | 20:00 | |
RabidGravy | sure, and iin the end I need to just not keep making that mistake | 20:01 | |
is the "will" trait word actually different in the grammar so it can take a block like that or is there something I'm missing i traits.pm ? | 20:04 | ||
20:06
sjoshi left
20:08
nchambers joined
|
|||
jnthn | RabidGravy: No, it's different in the grammar | 20:09 | |
RabidGravy: is parses one way, will another, and returns/does/of a third | |||
ely-se | I'm not sure what to do with respect to licenses of the POD /cc ZoffixWin | 20:11 | |
RabidGravy | cool, I guess that ouughta be documented somewhere | ||
dalek | osystem: 80ac5f9 | (Zoffix Znet)++ | META.list: Fix modules that have build errors [META.info is now META6.json]: stmuk/p6-String-Koremutake, stmuk/p6-Text-VimColour, stmuk/p6-html-restrict, stmuk/p6-eco-readme, fayland/perl6-Cache-LRU |
||
ZoffixWin | ely-se, I'm not a lawyer, but I think a blurb on your thing stating that the copyright belongs to the original authors and you're only displaying their content yada yada would work | 20:13 | |
20:13
ifim` joined
|
|||
ZoffixWin | s/your thing/modules.perl6.org/; # Since I'm hoping we'll just add it into that :) | 20:14 | |
20:15
ifim left
|
|||
musiKk | question: why is "{0} or 1" a Block but "{0} and 1" is an Int? | 20:16 | |
ely-se | ZoffixWin: for now: 6doc.rightfold.sexy/ (yes that's my domain name xD) | ||
ZoffixWin | haha | ||
20:17
darutoko left
|
|||
RabidGravy | m: say so {0} | 20:17 | |
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
ZoffixWin | musiKk, lazy evaluation? {0} is true, so it never gets to the "or 1" bit, but with the latter it reaches to the second part | ||
timotimo | yeah, foobar and barbaz evaluates to barbaz if foobar is true | 20:18 | |
and a code block is true | |||
musiKk | sure but why is essentially "true or 1" a block then? | ||
ZoffixWin | oh, man, you can see all that modules include in distros in that list! ely-se++ | ||
musiKk, no, {0} is a block | |||
musiKk | ZoffixWin: I know. but "{0} or 1" is a block, too. | 20:19 | |
gfldex | neither or nor and coerce to bool | ||
RabidGravy | it's just you're askiing to evaluate it in a boolean context | ||
timotimo | musiKk: "foo" or 1 is a Str | ||
ely-se | ZoffixWin: it's all stored as SQL so I can easily add search functionality too once I index more of META.info files than just name and source-url | ||
timotimo | musiKk: Version.new() or 1 is a Version | ||
musiKk: for the same reason, { 0 } or 1 is a Block | |||
musiKk | oooh | ||
ZoffixWin | :) | 20:20 | |
musiKk | yeah right, thanks. didn't see if for some reason. | ||
*it | 20:21 | ||
ZoffixWin | ely-se, none of my modules are in that list because I keep my docs only in README.md X) | ||
timotimo | :) | ||
ZoffixWin | Which I probably shouldn't be doing... p6doc, then auto-generate README.md is the way to go | ||
ely-se | ZoffixWin: I have only indexed a few modules anyway | 20:22 | |
because it takes a lot of time to set up sandboxes which are needed because perl6 --doc can execute arbitrary code | |||
I should parallelise it but :effort: | 20:24 | ||
20:28
TEttinger joined
20:30
yqt joined,
BenGoldberg joined
20:34
AlexDani` joined,
AlexDani` is now known as AlexDaniel`
20:36
AlexDaniel left
20:38
AlexDaniel` is now known as AlexDaniel
|
|||
ely-se | All those DateTime::TimeZone modules take a long time to extract documentation from, and they are undocumented. | 20:45 | |
May want to special-case those :) | |||
ZoffixWin | :) | ||
TimToady | m: say so Version.new | 20:50 | |
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
TimToady | I could argue that should be false, just so versions have a distinguished defined but false value | ||
20:52
espadrine left
|
|||
ely-se | why should versions be false? | 20:52 | |
make them false if they aren't the current value :P | 20:53 | ||
ZoffixWin | m: say so Version.new: False | ||
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
ZoffixWin | m: say so Version.new: '' | ||
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
ZoffixWin | :S | ||
ely-se | m: say perl Version.new: False | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XzLF14XGltUndeclared routine: perl used at line 1» | ||
20:53
TEttinger left
20:54
TEttinger joined
20:56
lichtkind joined
|
|||
ely-se | oh great | 21:06 | |
you can't extract a module's documentation without having its dependencies installed | |||
21:07
hankache left
21:09
arlenik left
|
|||
ely-se | or maybe you can | 21:11 | |
hmmm | |||
apparently only sometimes | |||
stmuk | grrrr Mac's OpenSSL doesn't support TLSv1.2 and OpenSSL module is broken as a result | 21:13 | |
Grrrr | stmuk: I did not do it; I was not even there! | 21:16 | |
21:16
hc0d3r left
|
|||
leont | stmuk: what? That doesn't sound right | 21:18 | |
stmuk | its 0.9.8 | 21:21 | |
I think their browser uses a different SSL library | |||
21:22
hankache joined
|
|||
AlexDaniel | is it part of their attempts to get rid of GPLv3? | 21:22 | |
stmuk | I think its Apache Licence so its more likely NIH | 21:23 | |
they never added any GPLv3 stuff | |||
AlexDaniel | riiight… | ||
stmuk: yeah but that was the reason why they were shipping some really old stuff | 21:24 | ||
because some projects switched to GPLv3 | |||
leont | Wow, that is old | ||
21:27
_mg_ left
|
|||
AlexDaniel | if it is Apache License, then what's their problem? NIH is not enough (because they are already using it!) | 21:27 | |
stmuk | I suppose they don't care | ||
21:28
colomon left
21:31
_mg_ joined
|
|||
timotimo | oh hey TimToady | 21:31 | |
hankache | how come for a specific module, the tests are all ok on my local machine, but some of them fail on travis ? | 21:34 | |
github.com/hankache/perl6-Imlib2 | |||
the Imlib module was dead and I am trying to revive it | 21:35 | ||
21:37
ely-se left
21:39
ely-se joined
|
|||
hankache | any idea? | 21:41 | |
21:43
colomon joined
|
|||
stmuk | maybe travis is headless and doesn't have an X server? | 21:44 | |
RabidGravy | almost certainly I would say | ||
21:44
lsm-desktop left
|
|||
RabidGravy | it would be skip the tests if e.g. $DISPLAY isn't set | 21:44 | |
hankache | most errors are: Cannot modify an immutable Range | 21:45 | |
jdv79 | what is imlib needing a x server? | ||
*why | |||
stmuk | github.com/perl6/gtk-simple/commit...a991f68f02 | 21:46 | |
21:46
lsm-desktop joined,
Sgeo left
|
|||
stmuk | its a graphocal library isn't it? | 21:46 | |
speelt rite | |||
hankache | travis-ci.org/hankache/perl6-Imlib2 | 21:47 | |
21:47
araujo__ joined
|
|||
jdv79 | oh, i never used it that way. just to gen graphics files or resize images. | 21:47 | |
cool | 21:48 | ||
21:48
araujo_ left
|
|||
hankache | jdv79 yes this is what i use it for. The latest PR was from 2014, I am trying to bring it up to speed | 21:48 | |
i even found "Parcel" inside ;) | 21:49 | ||
RabidGravy | :-\ | ||
ancieunte | |||
jdv79 | sweet | ||
ely-se | m: sub infix:<iff>(Bool:D $a, Bool:D $b) { $a eqv $b }; say((True, False) Xiff (True, False)) | ||
camelia | rakudo-moar fb0a13: OUTPUT«(True False False True)» | ||
ely-se | :D :D :D | ||
hankache | stmuk the failed tests returned this error: "Cannot modify an immutable Range" weird eh! | 21:51 | |
stmuk | maybe preGLRism | 21:52 | |
hankache | but how come tests are ok on my local machine? | ||
stmuk | errr | ||
hankache | i have the latest rakudo | ||
This is Rakudo version 2015.12-218-gfb0a135 built on MoarVM version 2015.12-29-g8079ca5 | 21:53 | ||
stmuk | dunno reasons :) | ||
maybe its something else | |||
hankache | ok | 21:54 | |
:) | |||
jdv79 | maybe the tests are not of a high caliber | 21:58 | |
RabidGravy | Sometimes you get those weird "cannot modify ... " errors when something gone broke in some asynchronous code, saw a lot of it when I was fixing Net::AMQP | ||
stmuk | blame travis | ||
21:58
ajr_ left
|
|||
hankache | jdv79 I didn't write the tests, just forked the repo and made all required changes while making sure tests run | 21:59 | |
stmuk | Travis Bickle | ||
RabidGravy | it's a pain if you can't reprododuce locally | ||
dalek | kudo-star-daily: 015df23 | coke++ | log/ (5 files): today (automated commit) |
||
rl6-roast-data: 74ae2d6 | coke++ | / (6 files): today (automated commit) |
|||
hankache | stmuk yeah travis is drunk | ||
21:59
colomon left
22:00
colomon joined
|
|||
RabidGravy | you might try our theory out by running the tests with "DISPLAY= prove -e 'perl6 -Ilib' t" | 22:00 | |
22:01
Biappi joined,
Biappi left
|
|||
hankache | RabidGravy why not. let's see what happens | 22:01 | |
22:02
_mg_ left
|
|||
stmuk | github.com/gelstudios/gitfiti | 22:02 | |
hankache | lol | ||
ely-se | I'm going to work on Inline::False (strlen.com/false-language) tomorrow | 22:08 | |
ZoffixWin | lmao | ||
ely-se | I've always wanted to implement False. | ||
ZoffixWin wants to do Brainfuck | |||
That language always mystified me and its vulgarity appeals to me :) | 22:09 | ||
22:09
kaare_ left
22:10
Sgeo joined
|
|||
ely-se | Bra*infuck isn't particularly interesting IMO | 22:10 | |
hankache | ely-se++ ZoffixWin++ | ||
ely-se | hankache: what for? | ||
hankache | ely-se #Inline::False | 22:11 | |
ely-se | oh :p | ||
hankache | RabidGravy "DISPLAY= prove -e 'perl6 -Ilib' t" goes in "script:" ? | 22:13 | |
22:18
mprelude left,
mprelude joined
22:24
araujo__ left
|
|||
DrForr | I was thinking Malbolge :) | 22:26 | |
22:28
araujo__ joined
|
|||
musiKk | question: I can't find anything in the docs about specifying the return type of a routine with the "returns" keyword and I don't remember where I read about it. Is it the same as using -->? | 22:28 | |
ZoffixWin | I believe so | ||
m: sub foo returns int32 { }; say &foo.^signature | 22:29 | ||
camelia | rakudo-moar fb0a13: OUTPUT«Method 'signature' not found for invocant of class 'Perl6::Metamodel::ClassHOW' in block <unit> at /tmp/QE_JhFCfWx line 1» | ||
ZoffixWin | m: sub foo returns int32 { }; say &foo.signature | ||
camelia | rakudo-moar fb0a13: OUTPUT«( --> int32)» | ||
musiKk | maybe legacy syntax? | 22:30 | |
ZoffixWin | TMTOWTDI more likely | ||
Are there any tutorials for slangs? | |||
musiKk | I thought about that but still find it weird. Just doesn't feel right. | ||
I guess it's safe to say --> is more idiomatic? | 22:31 | ||
ZoffixWin uses returns | |||
musiKk | I guess I need to read more code before making assumptions like that. | 22:33 | |
ZoffixWin | Well, it's also a brand new language... Many things to become "idiomatic" are yet to be established :) | ||
musiKk | It's just the lack of (easy to find) documentation that made me think that. | ||
Yeah. Though funnily enough many useful information I find is from 2010-2013. | 22:34 | ||
RabidGravy | hankache, I was proposing you ran that on your local match | 22:35 | |
er machine | |||
ely-se | how can I get a scalar container out of a hash? | ||
RabidGravy | to emulate how it might be on travis | ||
ely-se | m: my %h = 1 => 2; %h{1}.VAR.say | 22:36 | |
camelia | rakudo-moar fb0a13: OUTPUT«2» | ||
ely-se | m: my %h = 1 => 2; %h{1}.VAR.perl.say | 22:37 | |
camelia | rakudo-moar fb0a13: OUTPUT«Int.new» | ||
ely-se | m: my %h = 1 => 2; %h{1}.VAR.WHAT.say | ||
camelia | rakudo-moar fb0a13: OUTPUT«(Scalar)» | ||
ely-se | m: my %h = 1 => 2; %h{1}.VAR = 5; %h.say | ||
camelia | rakudo-moar fb0a13: OUTPUT«Cannot assign to a readonly variable or a value in block <unit> at /tmp/ZxGDzzFG2Y line 1» | ||
ely-se | m: my %h = 1 => 2; my $x := %h{1}.VAR; $x = 5; %h.say | 22:38 | |
camelia | rakudo-moar fb0a13: OUTPUT«Cannot assign to a readonly variable or a value in block <unit> at /tmp/ltLUh6ktXq line 1» | ||
RabidGravy | musiKk, the --> can be used in places where the returns can't | ||
geekosaur | if you have the VAR cn't you only bind to it? | ||
RabidGravy | m: my &foo = -> $x --> Int { 1 }; say &foo.signature | ||
camelia | rakudo-moar fb0a13: OUTPUT«($x --> Int)» | ||
ely-se | m: my %h = 1 => 2; my $x := %h{1}.VAR; $x := 5; %h.say | ||
camelia | rakudo-moar fb0a13: OUTPUT«1 => 2» | ||
ely-se | m: my %h = 1 => 2; %h{1}.VAR := 5; %h.say | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6PgS2Iw_zyCannot use bind operator with this left-hand sideat /tmp/6PgS2Iw_zy:1------> 3my %h = 1 => 2; %h{1}.VAR := 57⏏5; %h.say» | ||
ely-se | geekosaur: nah, binding is for lexpads, not for containers | ||
22:39
colomon left
|
|||
ely-se | my: ($).WHAT.say | 22:39 | |
m: ($).WHAT.say | |||
camelia | rakudo-moar fb0a13: OUTPUT«(Any)» | ||
22:39
hankache left,
mscha joined
|
|||
musiKk | RabidGravy: Makes sense. Is the opposite also true? | 22:39 | |
TimToady generally prefers --> | 22:40 | ||
RabidGravy | I'm not sure myself | ||
mscha | In perl 5, I use the following to “remove diacritics”: use Unicode::Normalize qw(normalize); $str = normalize('NFD', $str); $str =~ s{\p{Mn}}{}g; | ||
Any idea how to do that in perl6? | |||
leont | Is there any use-case for the return type? | 22:41 | |
I can imagine it being useful for optimizations, but I don't think we're there yet | |||
Is there anything else that can reasonably be done with it | |||
22:41
colomon joined
|
|||
TimToady | m: sub foo (--> 42) {}; say foo | 22:41 | |
camelia | rakudo-moar fb0a13: OUTPUT«42» | ||
TimToady | m: sub foo (--> 42) { 43 }; say foo | 22:42 | |
camelia | rakudo-moar fb0a13: OUTPUT«WARNINGS for /tmp/7Pzkkaj28L:Useless use of constant integer 43 in sink context (line 1)42» | ||
ZoffixWin | :o | ||
22:42
araujo_ joined,
aindilis joined
|
|||
ZoffixWin | leont, output validation? | 22:43 | |
22:43
araujo__ left
|
|||
leont | I can see that point, but it doesn't feel like it'd be very useful when I know what object I just created | 22:43 | |
TimToady | it's not about you :) | 22:44 | |
it's the contract with the user | |||
ZoffixWin | Why not? | 22:45 | |
m: sub foo (--> Int) { { "complex code and conditionals" }; return "foo"; }; foo | |||
camelia | rakudo-moar fb0a13: OUTPUT«WARNINGS for /tmp/kf6t6fL6Lg:Useless use of constant string "complex code and conditionals" in sink context (line 1)Type check failed for return value; expected Int but got Str in sub foo at /tmp/kf6t6fL6Lg line 1 in block <unit> at /tmp/kf6t…» | ||
ZoffixWin | m: sub kelvin (--> Int where * > 0 ) { return -42; }; kelvin | 22:46 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bT0HmrKe3GType 'Int' is not declared. Did you mean 'int'?at /tmp/bT0HmrKe3G:1------> 3sub kelvin (--> Int7⏏5 where * > 0 ) { return -42; }; kelvin» | ||
leont | Fair enough, I do like that part | ||
ZoffixWin | :/ | ||
weird error | |||
RabidGravy | yeah because even if your code is doing the right thing, it doesn't mean the rest is | ||
AlexDaniel | m: sub foo returns 42 {}; say foo | 22:47 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ua4bajlaBvMalformed traitat /tmp/ua4bajlaBv:1------> 3sub foo returns7⏏5 42 {}; say foo» | ||
AlexDaniel | this does not work though | ||
what was the third and fourth way to do it? | |||
RabidGravy | so yeah, there are places where --> is required | 22:48 | |
:) | |||
when I was working on Tinky I was playing with dispatchers and I can foresee you might want to consider the return type as well as the types of the arguments | 22:49 | ||
AlexDaniel | m: sub foo of 42 {}; say foo | 22:50 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Bu5bsoJLKaMalformed traitat /tmp/Bu5bsoJLKa:1------> 3sub foo of7⏏5 42 {}; say foo» | ||
AlexDaniel | ok this one does not work too :) | ||
RabidGravy | e.g. "run all the methods that say they do this trait and return this thing" | 22:51 | |
AlexDaniel | and sure this doesn't work too | ||
m: my 42 sub foo {}; say foo | |||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SPtKCEHmHkMalformed myat /tmp/SPtKCEHmHk:1------> 3my7⏏5 42 sub foo {}; say foo» | ||
musiKk | What's a "my sub" again...? | 22:54 | |
RabidGravy | redundant for the most part, as subs are by default lexically scoped | ||
AlexDaniel | m: my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns | ||
camelia | rakudo-moar fb0a13: OUTPUT«((Int) (Int) (Int) (Int))» | ||
musiKk | Ok. So we have three ways of specifying the return type. | ||
AlexDaniel | musiKk: 4 | ||
musiKk | What's the 4th? I know -->, returns and "my RETTYPE sub ..." | 22:55 | |
RabidGravy | of | ||
AlexDaniel | musiKk: all of them listed ↑ | ||
22:56
hankache joined
|
|||
musiKk | Sorry. Hard to see between all the compile errors. :) | 22:56 | |
AlexDaniel | huggable: return :is: my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns | ||
huggable | AlexDaniel, Added return as my Int sub A {}; sub B(--> Int) {}; sub C returns Int {}; sub D of Int {}; say (&A, &B, &C, &D)».returns | ||
TimToady | m: sub foo { also returns Int; 42}; say foo | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/27sqT2UupjMethod 'has_returns' not found for invocant of class 'Mu'at /tmp/27sqT2Uupj:1» | ||
ZoffixWin | :o | 22:57 | |
hankache | what is the equivalent of Int in native type. int32 or int64? | ||
ZoffixWin | hankache, yeah | ||
AlexDaniel | hankache: just int as well, I guess | ||
ZoffixWin | :) | ||
m: my Int $x = 2**100; my int64 $y = 2**100; say $x, $y | 22:58 | ||
camelia | rakudo-moar fb0a13: OUTPUT«Cannot unbox 101 bit wide bigint into native integer in block <unit> at /tmp/K3lFeiGcjR line 1» | ||
ZoffixWin | orly | ||
AlexDaniel | m: my int128 $x = 2**100; say $x | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5===Type 'int128' is not declared. Did you mean any of these? int16 int32at /tmp/WxyxQvciSK:1------> 3my int1287⏏5 $x = 2**100; say $xMalformed myat /tmp/WxyxQvciSK:1------> 3my7⏏5 int128 $x = 2**10…» | ||
hankache | AlexDaniel NC complains wheb it sees plain int | ||
AlexDaniel | hankache: ah yeah | ||
RabidGravy | m: use NativeCall; say nativesizeof(int); | 22:59 | |
camelia | rakudo-moar fb0a13: OUTPUT«8» | ||
AlexDaniel | though I'm not quite sure why… what if some function has “int” in its parameter? | ||
why would I hard code int32 or int64 in this case? | |||
hankache | AlexDaniel hence my question | 23:00 | |
RabidGravy | or indeed int16 | ||
TimToady | p6's 'int' is rarely the same as C's 'int' | ||
hankache | since NC nags about int whith what should i replace it? | ||
ely-se | m: my $f = *.say; $f(1) | ||
camelia | rakudo-moar fb0a13: OUTPUT«1» | ||
ely-se | m: my &f = *.say; $f(1) | ||
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j3CT0EUoMPVariable '$f' is not declared. Did you mean '&f'?at /tmp/j3CT0EUoMP:1------> 3my &f = *.say; 7⏏5$f(1)» | ||
ely-se | O: | ||
TimToady | there oughta be a Cint type or so | ||
lunch & | 23:01 | ||
ely-se | m: *.say.WHAT.say | ||
camelia | rakudo-moar fb0a13: OUTPUT«(WhateverCode)» | ||
ely-se | m: *.say.WHAT ~~ Callable | ||
camelia | ( no output ) | ||
ely-se | m: say *.say.WHAT ~~ Callable | ||
camelia | rakudo-moar fb0a13: OUTPUT«True» | ||
ely-se | :( | ||
AlexDaniel | huggable: return :is: sub A(--> Int) {}; sub B returns Int {}; sub C of Int {}; my Int sub D {}; say (&A, &B, &C, &D)».returns | 23:02 | |
huggable | AlexDaniel, Added return as sub A(--> Int) {}; sub B returns Int {}; sub C of Int {}; my Int sub D {}; say (&A, &B, &C, &D)».returns | ||
AlexDaniel | better order | 23:03 | |
RabidGravy | m: (*.say)("foooo") | ||
camelia | rakudo-moar fb0a13: OUTPUT«foooo» | ||
ely-se | aha! | 23:04 | |
(* && *) and (* || *) don't WhateverCode | |||
that's nasty | 23:05 | ||
RabidGravy | BUG OR DESIGN? PLACE YOUR BETS NOW! | ||
:) | |||
AlexDaniel | m: say (* && *).WHAT | 23:06 | |
camelia | rakudo-moar fb0a13: OUTPUT«(Whatever)» | ||
leont | If you're not sure if something would whatever-curry, don't use it anyway: it will confuse others | ||
sortiz | Design | ||
AlexDaniel | - WHAT? - Whatever! | ||
23:06
SCHAAP137 left
|
|||
TimToady | && and || are more like control code than like operators | 23:06 | |
hankache | n.m.m | 23:07 | |
AlexDaniel | TimToady: it was definitely more important to point that out than to enjoy your lunch :) | ||
sortiz | RabidGravy, *.say is -> { $^arg.say } | 23:08 | |
hankache | mm.n.n..m,n.n.n..n..m.n..nn.n.nn.n.n..n.n.n.n?n.n.n.n.nn,n.n.n.n.n.n.n.nn.n.n.nn.n.n. | ||
TimToady | you wouldn't expct 'if' or 'unless' to autocurry | ||
TimToady can type while he's chewing :) | |||
RabidGravy | sortiz, thanks but I know that | ||
hankache | sorry ;) | ||
AlexDaniel | m: say {$^a && $^b}(2, 5) | ||
camelia | rakudo-moar fb0a13: OUTPUT«5» | ||
ely-se | maybe it should be listed in the traps on doc.perl6.org | 23:09 | |
23:09
hankache left
|
|||
AlexDaniel | huggable: traps :is: doc.perl6.org/language/traps | 23:09 | |
huggable | AlexDaniel, Added traps as doc.perl6.org/language/traps | ||
AlexDaniel | huggable: traps :is: doc.perl6.org/language/traps | ||
huggable | AlexDaniel, Added traps as doc.perl6.org/language/traps | ||
RabidGravy | "not everything will generate a WhateverCode, if in doubt don't do it" | 23:10 | |
ely-se | What class provides an in-memory IO handle? | 23:12 | |
I want to capture what is written to $*OUT | |||
RabidGravy | ZoffixWin recently made an IO::SomethingOrOther that does that | 23:13 | |
ely-se | hmm github.com/hoelzro/p6-io-string/ | ||
Skarsnik | Test::Output? | 23:14 | |
I think it use something he write for | |||
ZoffixWin | modules.perl6.org/repo/IO::MiddleMan | ||
ely-se, ^ | 23:15 | ||
mscha | m: sub remove-diacritics($str) { $str.comb».NFD»[0]».chr.join; }; say remove-diacritics('Héllò, Wöřld!'); | 23:20 | |
camelia | rakudo-moar fb0a13: OUTPUT«Hello, World!» | ||
mscha | (To answer my own question from 40 minutes ago.) | ||
revhippie | neat | 23:21 | |
AlexDaniel | mscha: oh I remember that | ||
ZoffixWin | mscha, thanks for mentioning :) | 23:22 | |
I don't see .NFD documented on docs.perl6.org | |||
mscha, how did you figure it out? | |||
AlexDaniel | irclog.perlgeek.de/perl6/2015-11-12#i_11522549 | 23:23 | |
mscha | Zoffixwin, Googling and trying. :) I found .NFD fairly early, but it is somewhat underdocumented. | ||
Cool, I came up with essentially the same thing as TimToady! | 23:24 | ||
AlexDaniel | huggable: unzalgo :is: irclog.perlgeek.de/perl6/2015-11-12#i_11522549 | ||
huggable | AlexDaniel, Added unzalgo as irclog.perlgeek.de/perl6/2015-11-12#i_11522549 | ||
ZoffixWin | Created issue: github.com/perl6/doc/issues/365 | ||
23:31
araujo__ joined
|
|||
ZoffixWin | m: my $code = 'das4q35wtsf5.,[<>]]'; $code.subst-mutate: /:g <-[<>]>/, ''; $code.say | 23:31 | |
camelia | rakudo-moar fb0a13: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Sp0HQJu8eQUnrecognized regex modifier :gat /tmp/Sp0HQJu8eQ:1------> 3q35wtsf5.,[<>]]'; $code.subst-mutate: /:7⏏5g <-[<>]>/, ''; $code.say expecting any of: argument list …» | ||
ZoffixWin | I forget, how do I replace ALL chars? | ||
m: my $code = 'das4q35wtsf5.,[<>]]'; $code.subst-mutate: /<-[<>]>/, '', :g; $code.say | |||
camelia | rakudo-moar fb0a13: OUTPUT«<>» | ||
ZoffixWin | Ah | ||
23:32
araujo_ left
|
|||
dalek | c: 6701bcf | (Zoffix Znet)++ | doc/Type/Str.pod: make it more clear positionals from subst apply to subst-mutate too |
23:34 | |
Skarsnik | Feel free to improve/complete this page btw x) doc.perl6.org/language/modules-extra | ||
23:34
alpha123 left
|
|||
TimToady | m: my $code = 'das4q35wtsf5.,[<>]]'; $code ~~ s:g[<-[<>]>] = ''; $code.say | 23:35 | |
camelia | rakudo-moar fb0a13: OUTPUT«<>» | ||
ZoffixWin | hm | 23:36 | |
TimToady | m: my $code = 'das4q35wtsf5.,[<>]]'; say S:g[<-[<>]>] = '' given $code | 23:37 | |
camelia | rakudo-moar fb0a13: OUTPUT«<>» | ||
23:38
laz78 left
23:40
keusej joined
23:41
keusej left
23:44
sufrostico joined
23:47
pierre-vigier joined
23:52
keusej joined
23:53
pierre-vigier left,
keusej left,
keusej joined,
secwang joined
23:54
lichtkind left,
ifim` left,
pierre-vigier joined
23:59
AlexDaniel left
|