»ö« 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:05
avgn5 joined,
BenGoldberg joined
|
|||
avgn5 | p6: say 3; | 00:06 | |
camelia | rakudo-moar 64e1c7: OUTPUT«3» | ||
avgn5 notices the '/msg camelia' part... | |||
00:11
avgn5 left
00:14
rurban joined
00:17
SCHAAP137 left,
pmurias left
00:18
rurban left
00:23
guru joined
00:24
guru is now known as guru__
|
|||
guru__ | I've just installed rak* 2016.01, tried to install Readline as recommeded, it failed its tests | 00:25 | |
Is this a known problem, or should I start trying to debug? | |||
00:26
sevvie left
00:37
k-man left
00:39
tmch left
00:40
k-man joined,
Ben_Goldberg joined
00:42
wamba1 left
00:43
BenGoldberg left
00:50
Actualeyes joined
00:52
rburkholder joined
00:54
secwang joined
00:56
guru__ left
|
|||
sortiz | guru__, Readline works well for me, what failed tests or problems you have? | 00:56 | |
01:11
RabidGravy left
01:18
BenGoldberg_ joined
01:19
kid511 joined,
BenGoldberg_ left
01:20
kid51 left,
Ben_Goldberg left
01:21
BenGoldberg_ joined
01:22
secwang left
01:33
cdg_ left
01:35
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Will "Coke" Coleda 'use errata branch for testing, not original tag' | 01:35 | |
travis-ci.org/rakudo/rakudo/builds/111340254 github.com/rakudo/rakudo/compare/a...01c3a4cf53 | |||
01:35
travis-ci left
01:39
BenGoldberg_ left
01:40
BenGoldberg_ joined
01:44
TimToady left
01:45
secwang joined,
BenGoldberg joined
01:46
BenGoldberg_ left
01:47
raiph left
01:50
BenGoldberg left
01:51
TimToady joined
01:58
sftp left
02:03
secwang left
02:09
secwang joined
02:23
raiph joined
02:32
iloveunix joined,
ka joined
02:44
kid511 left
02:45
abaugher left
02:46
ilbot3 left,
abaugher joined,
kid51 joined,
kid51 left
02:47
ilbot3 joined
03:03
noganex_ joined
03:07
noganex left
03:16
rburkholder left
03:18
Actualeyes left
03:37
revhippie joined
03:46
perturbation left
03:47
vendethiel joined
03:49
toddr joined
03:50
a3r0_ is now known as a3r0
03:53
yqt left
03:54
Herby_ joined
|
|||
Herby_ | Evening, everyone! | 03:54 | |
\o | 03:55 | ||
04:02
secwang left
|
|||
MadcapJake | super quiet in here... | 04:04 | |
Herby_ | Herby is here! | 04:06 | |
contemplating how difficult it would be to create a " | 04:07 | ||
"On-Call Schedule" program for my hospital | |||
turns out they don't currently have one | |||
It would have to be a web app of some sort, which I don't think is currently Perl 6's strong suit | 04:08 | ||
but I could be wrong | |||
04:14
vendethiel left
04:24
toddr left
|
|||
tadzik | yeah, webdev is not exactly perl6's strong suit indeed | 04:31 | |
then again, depending on how little you need, we may be able to figure something out :) | 04:33 | ||
04:34
beatdown left
|
|||
jdv79 | p5 has serious webdev chops. you could do it there and then port over if you like with Inline::Perl5/6 when it suits... | 04:35 | |
04:36
secwang joined
04:44
revhippie left
|
|||
Herby_ | yeah, if I was thinking Perl 5 if I started working on it | 04:44 | |
I'd have to learn Dancer 2 I guess | |||
jdv79 | or mojo or web::simple or cat or, shudder, mason2 if you really need to contort perl into php | 04:51 | |
sorry jon if you ever read that | 04:52 | ||
04:52
sortiz left
05:08
remmie joined
05:11
autarch left
05:13
Actualeyes joined
05:17
secwang left,
remmie left
05:24
Herby_ left
|
|||
MadcapJake | .tell Herby_ i'd suggest trying Crust if you do want to peruse webdev in Perl 6 | 05:27 | |
yoleaux | MadcapJake: I'll pass your message to Herby_. | ||
05:27
skids left
05:45
nakiro joined
|
|||
raiph | .tell moritz I'm writing a Type System p6doc page. I've made good progress but will have to pause on it for a couple days. It's not ready to publish in a gist. I wanted to "let #perl6 know" to reduce the chances of duplicated effort. | 05:45 | |
yoleaux | raiph: I'll pass your message to moritz. | ||
06:00
Cabanossi left
06:02
ka left
06:03
Cabanossi joined
06:04
ka joined
06:06
vendethiel joined
06:10
dayangkun joined
|
|||
Woodi | so Mint ISO was hacked by absentvodka via Wordpress... that blogging platform will beat BIND soon :) | 06:11 | |
06:17
raiph left
06:23
zpmorgan left
06:25
CIAvash joined
06:27
vendethiel left
06:46
pierrot left,
dayangkun left
06:51
vendethiel joined
06:55
khw left
06:58
CIAvash left,
CIAvash joined
|
|||
moritz | . | 07:01 | |
yoleaux | 05:45Z <raiph> moritz: I'm writing a Type System p6doc page. I've made good progress but will have to pause on it for a couple days. It's not ready to publish in a gist. I wanted to "let #perl6 know" to reduce the chances of duplicated effort. | ||
[Tux] | Any news on untouched CRNL RT#127358 and/or UTF8-C8 ? | 07:05 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127358 | ||
[Tux] | or longdouble perl5 support in Inline::Pelr5 | ||
07:05
domidumont joined
|
|||
[Tux] | test 23.298 | 07:08 | |
test-t 12.060 | |||
csv-parser 50.995 | |||
07:10
domidumont left
07:11
domidumont joined
07:12
vendethiel left
07:27
firstdayonthejob joined,
sno left
07:30
vendethiel joined,
_mg_ joined
07:33
jeek left
07:36
jeek joined
07:42
azawawi joined
|
|||
azawawi | good morning #perl6 | 07:42 | |
github.com/azawawi/atom-perl6-edit...nippets.md # Supported snippets in Atom Perl 6 editor tools. PRs are more than welcome. | 07:43 | ||
07:44
azawawi left
07:50
sno joined
07:52
vendethiel left,
adu joined,
fireartist joined
07:55
sjoshi joined
07:57
Ven joined
07:59
Ven_ joined
08:02
Ven left
08:12
abraxxa joined
08:20
darutoko joined
08:33
tmch joined,
zakharyas joined
08:35
ka left
08:38
john51_ left
08:39
firstdayonthejob left,
john51 joined
08:43
brrt joined,
dakkar__ joined
08:46
rurban joined,
rurban left
08:51
ely-se joined
08:56
gregf_ joined
|
|||
abraxxa | the perl6 --help output is confusing: | 08:57 | |
--doc extract documentation and print it as text | |||
--doc=[module] Use Pod::To::[module] to render inline documentation. | |||
the same parameter controls how pod is displayed and which pod is displayed? | 08:58 | ||
08:59
RabidGravy joined
|
|||
moritz | where do you read the "how" aspect? | 09:00 | |
it tells you that it renders it as text by default | |||
abraxxa | ReadLine fails its tests on 2016.02 | 09:01 | |
moritz: how do I specify the modulename of which i want to display the docs? | |||
perl6 --doc Some::Module doesn't work | 09:02 | ||
perl6 -M Some::Module --doc neither | |||
09:02
adu_ joined
|
|||
abraxxa misses a perldoc6 | 09:02 | ||
moritz | there's a p6doc in the perl6/doc repo | ||
09:03
zakharyas left
|
|||
abraxxa | @Readline: # Type check failed in binding $version; expected Version but got Str ("v6") | 09:03 | |
DrForr | Sigh. | ||
abraxxa | moritz: but that isn't installed by default when using rakudobrew? | ||
09:04
adu left,
adu_ is now known as adu
|
|||
moritz | abraxxa: no | 09:04 | |
abraxxa | moritz: how can I install it and are there plans to do so by default? | 09:06 | |
DrForr | Okay, what *should* I be using for the version, I was just using constant LIB = ('readline', 'v6') as someone else was doing. | ||
DrForr checks doco again hoping to find something... | |||
moritz | abraxxa: with panda | ||
abraxxa: and no, no plans; rakudo star ships it by default, and that's what we recommend to do | 09:07 | ||
abraxxa | moritz: ah, great, thanks! | ||
DrForr | Version.new(6)? | ||
moritz | m: say Version.new('v6') | ||
camelia | rakudo-moar 64e1c7: OUTPUT«vv.6» | ||
moritz | m: say Version.new('6') | ||
camelia | rakudo-moar 64e1c7: OUTPUT«v6» | ||
09:08
kurahaupo joined
|
|||
DrForr | quoted, riiight. | 09:08 | |
09:08
kurahaupo left
|
|||
moritz | m: say Version.new(6) | 09:08 | |
camelia | rakudo-moar 64e1c7: OUTPUT«v6» | ||
moritz | works without the quotes too | ||
but in general, versions are strings, not just integers | 09:09 | ||
DrForr | That's what I thougt as well, which is why I just used ('readline',v6) thinking that v-strings were the way to go. 'sokay. | 09:10 | |
DrForr reruns tests. | 09:11 | ||
moritz | oh, nativecall? | ||
well, C libraries don't share version objects with Perl 6 :/ | |||
09:11
Actualeyes left
|
|||
DrForr points at abraxxa's failure report. | 09:11 | ||
I'm running test suits now, no worries. | 09:12 | ||
abraxxa | p6doc installed successfully but the command p6doc can't be found in the path | 09:13 | |
DrForr | abraxxa: Fixed and pushed, give it a try. | 09:14 | |
abraxxa | DrForr: ok | ||
DrForr++ # ==> Successfully installed Readline | 09:15 | ||
DrForr | Yay. | 09:17 | |
abraxxa | it seems p6doc wasn't installed by panda... | 09:18 | |
panda list --installed doesn't work although documented | 09:19 | ||
09:19
wamba joined
|
|||
fireartist | it needs to be `panda --installed list` :-( | 09:19 | |
that had me stumped yesterday for a minute | |||
09:19
sjoshi left
|
|||
abraxxa | oh, the example is even shows | 09:20 | |
quite non-standard | |||
have I done something wrong? panda install p6doc | 09:21 | ||
09:21
kurahaupo joined
|
|||
abraxxa | but there is no p6doc in the perl6 bin directory | 09:21 | |
moritz | abraxxa: do other programs show up in your $PATH when you install them via panda? | 09:22 | |
abraxxa | moritz: i can't find the p6doc file at all | 09:23 | |
fireartist | I used panda to install Task::Star, and it put p6doc in ~/.rakudobrew/bin/ | ||
abraxxa | panda --installed list already takes minutes but doesn't display anything ;( | ||
09:23
vendethiel joined
|
|||
abraxxa | there is a p6doc in ~/.rakudobrew/moar-2016.02/install/share/perl6/site/bin/p6doc | 09:23 | |
but none in ~/.rakudobrew/bin/ where the perl6 executable is and which is in my PATH | 09:24 | ||
09:25
sjoshi joined
|
|||
abraxxa | github.com/tadzik/Task-Star/blob/m.../META.info doesn't show something obvious | 09:25 | |
strace shows that panda --installed list hangs at epoll_wait(5, | 09:27 | ||
open("/home/ahartmai/perl5/perlbrew/perls/22.1/lib/5.22.1/vars.pm", O_RDONLY) = 5 | 09:28 | ||
09:28
adu left
|
|||
brrt | suggestion. i get a complaint about p6doc-index build when using it for a single file | 09:28 | |
eh, single function | 09:29 | ||
p6doc -f foobar | |||
however, p6doc-index build takes a neglible time here | |||
why not just run it on the first time? | |||
09:31
FROGGS joined
|
|||
fireartist | abraxxa: in case it helps, this is what I did yesterday, and got a p6doc in my PATH | 09:31 | |
abraxxa: rakudobrew build moar 2016.02 && rakudobrew switch moar-2016.02 && rakudobrew build panda && panda install Task::Star | |||
abraxxa | fireartist: same there but panda install p6doc instead of Task::Star | 09:32 | |
09:36
lustlife left
09:41
labster joined,
domm_ left,
CIAvash left
09:44
domm_ joined
09:46
vendethiel left
|
|||
stmuk_ | brrt: PR welcome for p6doc Build.pm :) | 09:47 | |
abraxxa: you may have to rakudobrew rehash | |||
abraxxa | stmuk++ # that was it! | 09:48 | |
brrt | stmuk_: where be the repo | ||
stmuk_ | brrt: panda info p6doc | ||
09:48
iloveunix left
|
|||
brrt | aha | 09:48 | |
moritz | now if panda had a post-install hook which rakudobrew could use... | ||
09:51
kurahaupo left
|
|||
tadzik | or it can just rehash after each 'panda' run, just in case :) | 09:52 | |
abraxxa | p6doc does nothing when executed without params | ||
moritz | tadzik: but how does rakudobrew even know that panda ran? | ||
abraxxa | what does rehash do? | ||
tadzik | moritz: rakudobrew generates the 'panda' script that runs the actual panda, so yes | 09:53 | |
moritz | tadzik: ah right | ||
stmuk_ | its shims all the way down! | ||
09:53
atta left
09:54
atta joined
|
|||
abraxxa | p6doc Net::AMQP hangs too | 09:54 | |
stmuk_ | abraxxa: its a bug in perl6 -doc | 09:55 | |
10:02
brrt left
10:04
xinming left,
tinita_ is now known as tinita
10:07
cognominal left,
vendethiel joined
10:13
Ven_ left
10:16
sno left
|
|||
abraxxa | stmuk_: ok, thanks | 10:18 | |
10:19
espadrine joined
10:31
vendethiel left
10:33
zakharyas joined
10:37
rindolf joined
10:41
vendethiel joined
10:42
AlexDaniel left
10:56
dakkar__ is now known as dakkar
10:58
CIAvash joined
11:02
vendethiel left
11:05
vendethiel joined
|
|||
stmuk_ receives 40 bottles of Club Mate | 11:07 | ||
11:07
ka joined
11:08
telex left
11:10
telex joined,
dvinciguerra joined
11:14
Beelu joined,
Beelu left
11:17
Skarsnik joined
|
|||
Skarsnik | Hello | 11:18 | |
11:19
Ven joined
|
|||
DrForr | o/ | 11:22 | |
jnthn | o/ | 11:23 | |
psch | o/ | ||
8/25 passes in 03-jvm/interop.t \o/ | 11:25 | ||
11:26
vendethiel left
11:28
rindolf left
11:29
sjoshi left
|
|||
psch | and the broken bits should be expected, fwiw. the dying test is the one for CRC32/update([B)V, but list-y marshalling is NYI | 11:31 | |
curious that it doesn't die with that message though, but with an NPE... | |||
dalek | kudo/jvminterop: abe034b | peschwa++ | src/vm/jvm/ (2 files): Get basic JVM Interop working again. As in, basic (i.e. natives and their box types) work again, as do simple callouts, e.g. System.out.println. |
11:34 | |
11:34
dvinciguerra left
|
|||
psch | s/ types\)/) types/ | 11:35 | |
FROGGS | psch++ # \o/ | ||
tadzik | nice! | ||
11:40
rurban joined
11:42
sjoshi joined
|
|||
psch | now to get back into thinking in this somewhat annoying indy abstraction level... :S | 11:42 | |
11:44
labster left
|
|||
ilmari | psch's github username makes me think of peshwari naan | 11:45 | |
ilmari wants curry now | |||
jnthn | Damn...me too :P | ||
psch++ | |||
11:48
molaf joined
11:49
tmch left
11:58
frederico left
12:07
brrt joined
12:17
mkz left
|
|||
FROGGS shakes his fist at the function scoping of variables in javascript | 12:17 | ||
12:18
xinming joined
12:22
vendethiel joined
12:25
dvinciguerra joined
|
|||
lizmat | good *, #perl6! | 12:25 | |
lizmat wonders whether she should announce the P6W herself on reddit/r/perl6 in the future | |||
moritz | lizmat: or just reddit/r/perl | 12:26 | |
lizmat wishes she should not need to get a reddit login | 12:28 | ||
12:29
sufrostico joined,
rurban left
|
|||
jnthn | FROGGS: Use `let` and `const` ;) | 12:31 | |
(And an ES6 => ES-whatever-crap-browsers-run compiler :)) | |||
Or "transpiler", as the "we don't know what we're building is called a compiler" kids say :P | 12:32 | ||
moritz | lizmat: I can submit the stuff for you if you just /msg me the URL | 12:33 | |
lizmat | p6weekly.wordpress.com/2016/02/22/2016-8-yacr/ | 12:34 | |
moritz++ | |||
moritz | www.reddit.com/r/perl/comments/47c...nd_perl_6/ | 12:35 | |
www.reddit.com/r/perl6/comments/47...nd_perl_6/ | 12:36 | ||
lizmat++ # weekly | |||
timotimo | lizmat++ # weekly | 12:37 | |
FROGGS | jnthn: nah, I jst try to remember the scoping rule... my functions arnt that big so there is hardly a problem | ||
brrt | ohai lizmat | ||
i would not get a reddit login if i could avoid it | |||
12:38
pierrot joined
|
|||
DrForr | moritz: Heh, next week is the last part of my series on regex and grammars, and I'm trying to stay away from the term 'transpiler'. Sounds too much like something from the Hunger Games. | 12:38 | |
moritz | DrForr: :-) | ||
DrForr: just call it a compiler, which is what it is :-) | |||
jnthn | FROGGS: tbh, I still use var a load anyway...the main thing that makes it worth it for me is the short syntax for lambdas :) | 12:39 | |
.oO( So much for let over lambda :P ) |
|||
lizmat | jnthn: I was thinking about augment in precompiled modules | 12:40 | |
I was thinking, maybe that should become a role in precomp, to be mixed in at runtime ? | |||
jnthn | Mixed in to what, exactly? | 12:41 | |
You mix in to objects, which changes the type of an object. Whereas an augment is a mutation on a type. | 12:42 | ||
lizmat | yes, in the scope of the import, the class would get transmogrofied with the role mixed in | ||
only for accesses in that scope | 12:43 | ||
jnthn | That isn't the semantics of augment. | ||
kent\n | Archeology q: iirc, Perl5 Moose + Type Constraints stole the idea from Perl6. Are there other languages which have this concept? Did P6 steal it from one? | ||
12:43
kent\n left
|
|||
lizmat | jnthn: well, maybe we shouldn't call it augment then | 12:44 | |
12:44
vendethiel left
|
|||
lizmat | maybe we should call it an export role to be applied to any creation of objects with the given class | 12:44 | |
jnthn | That already exists today: constant foo is export = TheType but MyRole | ||
And is pre-comp safe | 12:45 | ||
lizmat | yeah, but then people all of a sudden need to say foo.new instead of Bar.new | ||
jnthn | Fine | 12:46 | |
constant TheType is export = SETTING::TheType but MyRole; :) | |||
12:47
Guest84889 joined
|
|||
lizmat | would that allow me to export a method "unpack" to Blob ? | 12:47 | |
12:47
Guest84889 left,
Guest84889 joined,
Guest84889 is now known as kent\n
|
|||
lizmat | Ah, I guess it would | 12:47 | |
jnthn | lizmat: Well, with the caveat it only helps Blobs that are created in the scope in question | ||
12:47
CIAvash left
|
|||
jnthn | lizmat: And doesn't help, say, Buf which does Blob | 12:48 | |
lizmat | well, that would work for me :) | ||
12:48
kent\n left
|
|||
jnthn | So you'd need similar on those too | 12:48 | |
lizmat | well, rins and repeat yes | ||
jnthn | But you can do a little loop in a BEGIN block and shove things in EXPORT::DEFAULT :) | ||
12:48
kent\n joined,
kent\n left,
kent\n joined,
xinming left
|
|||
lizmat | well, I guess that means the death of augment then... | 12:48 | |
RabidGravy | nah | 12:49 | |
psch | "Wrong number of arguments passed; expected 2..2, but got 2" # /o\ | ||
jnthn | Well, augment is different. :) | ||
RabidGravy | m: role Foo {}; constant Blob = Blob but Foo | ||
camelia | rakudo-moar 64e1c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wR6K1Aj7_WAn exception occurred while evaluating a constantat /tmp/wR6K1Aj7_W:1Exception details: 5===SORRY!5=== Error while compiling  Method 'mixin' not found for invocant of class 'Perl6…» | ||
12:49
pmurias joined
|
|||
lizmat | yeah, but if we use that for e.g. Str in 6.d, nobody can augment Str down the line, no? | 12:49 | |
kent\n | wow, I chose a suck time to ask a question, my network flaked out right afterwards :/ | 12:50 | |
jnthn | lizmat: Right, which is why we don't try to solve the "can't see methods from future Perl 6 versions" thing :) | ||
So we don't have to augment :) | |||
lizmat | ok | ||
jnthn | kent\n: What are you referring to in partiuclar by type constraints? Lots of languages have type annotations...the incorporation of them into Perl 6 was somewhat guided by work on gradual typing. And the `where` stuff was from work on refinement types, if you mean those bits. | 12:52 | |
12:52
TEttinger left
12:53
skids joined
|
|||
jnthn | kent\n: Both I became aware of from academic papers, which were shared among various Perl 6 folks back in the Pugs days, iirc. | 12:54 | |
But it was before I was really involved with things :) | |||
12:55
skids left
|
|||
kent\n | jnthn: with regards to being able to subclass things like "String" and add additional constraints to things that are "also strings", where in the constraint doesn't actually change the type, just serves as a convenience factor for reliable/reusable validation | 12:56 | |
I was asked if they bore any resemblance to "constraints for haskell type classes" . I don't think they do, but I've had a hard time working out what that is exactly ;) | 12:58 | ||
jnthn | m: subset Id of Str where /^ \w ** 5..10 $/; # You mean things like this? | 12:59 | |
camelia | ( no output ) | ||
12:59
tmch joined
|
|||
stmuk_ | how are the docs to handled with 6.c and 6.d? I assume the new sections are tagged as version specific somehow? | 13:00 | |
RabidGravy tries to remember why he called his wife's laptop "ozymandius" | |||
13:00
dakkar left
|
|||
psch | m: subset ShortStr of Str where .chars < 5; class DiffStr is Str { }; my ShortStr $shstr = DiffStr.new(:value("foo")) | 13:00 | |
camelia | ( no output ) | ||
psch | m: subset ShortStr of Str where .chars < 5; class DiffStr is Str { }; my ShortStr $shstr = DiffStr.new(:value("foobar")) | ||
camelia | rakudo-moar 64e1c7: OUTPUT«Type check failed in assignment to $shstr; expected ShortStr but got DiffStr ("foobar") in block <unit> at /tmp/noz8vSd8Wg line 1» | ||
psch | hm, can we get the constraint for the subset in that error msg? | 13:01 | |
kent\n | I think so. I'm just not too familiar with the P6 syntax, and I'm mostly using my knowledge of Moose type-constraints. | ||
psch | feels like that would make it a bit more awesome | ||
it'd probably also have to throw something somewhat different for subsets, similarly to how we already do for constraints in Signatures iirc | 13:02 | ||
jnthn | kent\n: Yeah, the refinement types...some references at en.wikipedia.org/wiki/Refinement_(...ment_types | ||
lizmat | psch: you of course realize that could be quite a lot of code in the refinement.. ? | 13:03 | |
kent\n | jnthn++ # that term gives much more useful results when I throw "haskell" at it + google =) | 13:04 | |
psch | lizmat: "refinement" means the subset constraint? no, i hadn't though about that, but it seems a good point against getting it there | ||
Skarsnik | what is the tag to make Test stop at the first faillyre? | 13:09 | |
arnsholt | RabidGravy: Recently re-read Watchmen when you set it up? =) | 13:12 | |
13:13
brrt left
|
|||
RabidGravy | unlikely, it's almost certain from the Shelley sonnet | 13:15 | |
13:15
guru__ joined
|
|||
dalek | kudo-star-daily: a5f00b4 | coke++ | log/ (9 files): today (automated commit) |
13:17 | |
arnsholt | Yeah, that was my other option. But new computer named after a poem on the inevitability of death was a bit weird, yeah =) | 13:18 | |
RabidGravy | it's an HP Mini so probably appropriate | 13:20 | |
13:25
autarch joined
|
|||
dalek | Iish/oracle: b4b0bad | (Sylvain Colinet)++ | / (6 files): Remove all the Num stuff in Pg/sqlite/mysql, everything is Rat. Fix the tests |
13:27 | |
Skarsnik | Was a bit 'tricky' to 'fix' | ||
some drivers does not type Null result | |||
13:28
Ven left
|
|||
Skarsnik | We will need to add capabilities to the drivers to have proper tests | 13:28 | |
sufrostico | Hi! | 13:31 | |
moritz | hello sufrostico | ||
sufrostico | Is there a way to represent the C function pointers (within an struct) by using the native call library ? | ||
timotimo | not yet, sorry! | 13:32 | |
only as an opaque pointer that you cannot invoke | |||
Skarsnik | Well you can as Pointer | ||
but you will not be able to call it | |||
timotimo | and you cannot yet put a perl6 function into a struct as a function pointer | ||
Skarsnik | but you can still pass it to C | ||
stmuk_ | hmm I can kernel panic OS X by using rakudo to access a non-thread safe library (SDL) with threads | 13:33 | |
Skarsnik | Oo | ||
stmuk_ | I suspect this is Apple's problem | ||
jnthn | Yup. Wow. | 13:34 | |
A kernel should never let userspace panic it | 13:35 | ||
13:35
kaare_ joined
|
|||
moritz | submit an applebug :-) | 13:36 | |
presumably a security one | |||
13:36
dakkar joined
|
|||
timotimo | well, SDL does opengl stuff, or perhaps the apple-proprietary metal thing | 13:36 | |
moritz | (hey, you could even get money for that; dunno if apple does that) | ||
jnthn | Was gonna say, if you found one of those on something actually used for servers it'd be a decided DoS vector... | 13:37 | |
stmuk_ | yeah maybe the apple graphics level is privileged for performance somehow | ||
DrForr | Quartz, no? | 13:38 | |
timotimo | i think graphics APIs are in general a very good target for crashing systems, which is why some security engineers were very much looking forward to WebGL and friends | ||
jnthn | Windows used to do that :P | ||
moritz | which might lead to interesting privilege escalation | ||
stmuk_ | I may try and golf it if I can get OS X virtualized | ||
timotimo | in general, apple's OpenGL drivers are absolute and utter crap. | 13:39 | |
they don't update them, or something like that | |||
well, what do i know :) | |||
i know the krita devs (a painting program) are super annoyed by OSX and their stance towards OpenGL on their system | |||
BBL | 13:40 | ||
sufrostico | Skarsnik: so... something like this should work gist.github.com/Sufrostico/49a8bb3a92ca62624a8c ? | ||
RabidGravy | Skarsnik, I think there's still a problem with the mysql tests | ||
timotimo | yes, that should work | ||
sufrostico | as long as I don't try to call the functions from perl6 ? | ||
moritz | sufrostico: you should get a redeclaration error | 13:41 | |
timotimo | well, you want to call those things different names | ||
moritz | also notice that "has" already implies on level of pointer | ||
13:41
ocbtec joined
13:42
Ven joined
13:43
ocbtec left
|
|||
sufrostico | moritz: why redeclaration error ? | 13:43 | |
moritz | sufrostico: because you're declaring the attribute 'create' three times | ||
13:44
guru__ left,
ocbtec joined
|
|||
Skarsnik | sufrostico, yes | 13:44 | |
13:45
guru__ joined
|
|||
sufrostico | moritz: damn copy/paste. | 13:46 | |
Skarsnik | RabidGravy, damn and I don't have a mysqlservre working to test on this vm | ||
sufrostico | ok, thanks to everyone... going to work on that now | ||
Skarsnik | try GPTrixie if you are binding something x) | ||
13:47
ocbtec left
13:48
brrt joined,
rurban joined
|
|||
RabidGravy | Skarsnik, I'll take a look later, I installed a mysql on the little computer | 13:51 | |
13:51
Psyche^_ joined
|
|||
dalek | Iish/oracle: 90e295a | (Sylvain Colinet)++ | t/lib/Test/DBDish.pm6: Put the numeric untyped ref data as the right Str |
13:51 | |
Skarsnik | I have no idea what is the crash on the Int thingy | ||
13:54
avenj joined
13:55
avenj left,
avenj joined,
Psyche^ left
|
|||
lizmat | jnthn: thinking about the constant Blob is export = SETTING::Blob but Extra | 14:03 | |
14:03
cdg_ joined
|
|||
lizmat | that would not really work if we have two exports to Blob in the same scope :-( | 14:03 | |
so maybe we need something smarter than SETTING:: ? | |||
that would take the one from the scope to be imported into and if it's not there, use the SETTING:: one ? | 14:04 | ||
14:05
sno joined
14:06
rindolf joined
14:07
pmurias left
14:08
pmurias joined,
rindolf left
14:09
pmurias left
|
|||
jnthn | lizmat: I think it'd give an error rather than silently fail, at least... | 14:09 | |
lizmat: Not sure how we can do soemthing smarter...there's no way at present to reach the scope to import into... | |||
lizmat | :( | 14:10 | |
14:11
kid51 joined
14:13
zpmorgan joined
14:20
skids joined
|
|||
psch | aha! | 14:21 | |
the failing test for CRC32."method/update/([B)V" fails correctly, if LTA | |||
14:22
rurban left
|
|||
psch | as in, the test is iterating over 'Hello, Java'.encode('utf-8') and passes $_ into that method | 14:22 | |
m: 'Hello, Java'.encode('utf-8')[0].WHAT.say | |||
camelia | rakudo-moar 64e1c7: OUTPUT«(Int)» | ||
psch | ^^^ that's clearly not a byte array though | ||
m: sub f(@a) { say @a.perl }; f 5 # not sure i can get it this pretty though... | 14:23 | ||
camelia | rakudo-moar 64e1c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h8poR39gEYCalling f(Int) will never work with declared signature (@a)at /tmp/h8poR39gEY:1------> 3sub f(@a) { say @a.perl }; 7⏏5f 5 # not sure i can get it this pretty » | ||
14:23
rurban joined,
zakharyas left
|
|||
psch | m: for 'abc'.encode('utf-8') { $_.say } | 14:24 | |
camelia | rakudo-moar 64e1c7: OUTPUT«979899» | ||
psch | that used to give only one iteration when i wrote the tests iirc | ||
14:24
zakharyas joined
14:25
gorgor joined
14:27
rurban1 joined,
rurban left
|
|||
jnthn | psch: Perhaps changed with GLR single arg rule | 14:29 | |
14:30
nakiro left
14:31
rurban1 left
|
|||
psch | m: say utf8 ~~ List | 14:31 | |
camelia | rakudo-moar 64e1c7: OUTPUT«False» | ||
14:31
rurban joined
|
|||
psch | m: say utf8 ~~ Iterable | 14:31 | |
camelia | rakudo-moar 64e1c7: OUTPUT«False» | ||
psch | m: say utf8 ~~ Positional | ||
camelia | rakudo-moar 64e1c7: OUTPUT«True» | ||
psch | well, it does get me up to 23/25 vOv | 14:32 | |
i'll have to add tests for wrong argument types though... | |||
14:36
rurban left,
rurban1 joined
14:41
rurban1 left,
rurban joined,
rurban left
14:43
raiph joined,
n0xff_ left
14:44
_mg_ left
14:45
_mg_ joined
14:57
zakharyas left,
zakharyas joined
14:58
Actualeyes joined
15:01
zakharyas left
15:04
CIAvash joined
15:05
brrt left
|
|||
dalek | ast/6.c-errata: 0f3e1f4 | lizmat++ | / (1223 files): Change v6 to v6.c / add v6.c where appropriate All your files are belong to us |
15:09 | |
hoelzro | o/ #perl6 | 15:10 | |
dalek | ast: 85bbd8d | lizmat++ | / (179 files): Add use v6 where appropriate |
15:12 | |
lizmat | afk for a few hours& | 15:13 | |
15:23
Guest72897 left
|
|||
Skarsnik | this NC-explicit-managed role leakage in dbiish ref data is becoming annoying | 15:26 | |
15:27
rindolf joined
|
|||
RabidGravy | Str,new | 15:28 | |
Skarsnik | ? | ||
RabidGravy | I found another way of removing roles but creating a new object from the one with the role works | 15:29 | |
m: role Foo { }; my $a = "hdhd"; $a does Foo; say $a.WHAT; say Str.new(value => $a).WHAT | 15:30 | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(Str+{Foo})(Str)» | ||
15:31
tmch left
|
|||
Skarsnik | Well it's not really a fix in this case | 15:33 | |
the ref data have nothing to do with NC, they should not get the role at the first place xD | |||
15:36
fireartist left
15:39
xinming joined
15:44
sjoshi left
15:45
mkz joined
15:50
ely-se left,
Perleone joined,
ely-se joined
15:53
sufrosti1o joined,
sufrostico left,
xinming left
|
|||
Perleone | Something for the PR department: Perl 6 has made it onto the cover of German IT pro magazine "iX": www.heise.de/ix/inhalt/thumbnails/2016/03/1.jpg | 15:54 | |
15:54
Ven_ joined,
Ven_ left
|
|||
tadzik | nice, that's the second IT magazine where Perl 6 makes the cover :) | 15:55 | |
Perleone | Larger: www.heise.de/ix/inhalt/2016/3/titelseite.pdf | ||
15:56
kent\n left,
Ven left
|
|||
psch | tadzik: which was the first one, ooc? | 15:57 | |
tadzik | psch: Polish "Programista" | ||
let me take a pic | |||
psch ponders getting the iX tomorrow | |||
perlpilot | What does "endlich verfugbar" mean? | 15:58 | |
15:58
kent\n joined,
kent\n left,
kent\n joined
|
|||
psch | perlpilot: "finally available" | 15:58 | |
perlpilot | danke | ||
Perleone | "finally available" | ||
too slow :> | |||
tadzik | i.imgur.com/Cs9VvFQ.jpg | 15:59 | |
it even has half-camelia :P | |||
psch | hah yeah | ||
that's a bit more focused on Perl 6 than the other cover :) | |||
Perleone | The iX article is written by ... (drum roll) ... moritz! | ||
perlpilot | and apparently they are very excited about perl 6 | ||
Perleone | moritz++ | ||
psch | moritz++ | 16:00 | |
tadzik | moritz++ indeed :) | ||
timotimo | moritz++ # iX article | ||
16:01
xinming joined
|
|||
moritz | wow, I didn't know I'd get front-page'd | 16:03 | |
perlpilot | now all someone needs to do is get a regular Perl 6 column in a reasonably well-circulated magazine or two | 16:04 | |
Perleone | moritz: And it's a nice contrast to C++, also on the front page | ||
moritz | perlpilot: I do plan to ask them if they want follow-up articles (though I probably won't be able to deliver a regular column) | 16:06 | |
perlpilot | moritz: #perl6 could tag-team for a regular column | 16:07 | |
timotimo | all the german #perl6ers? | ||
moritz | perlpilot: my experience with such things has been mixed | ||
the last advent went surprisingly well | 16:08 | ||
16:08
zakharyas joined
|
|||
moritz | but you can see the trouble that timotimo and lizmat are having with p6w (like, not always actually managing to publish it weekly) | 16:08 | |
perlpilot | aye, it would require some more advanced coordination to do a regular column | 16:09 | |
16:09
domidumont left
|
|||
moritz | and then a magazine will want a single point of contact, most likely | 16:09 | |
16:15
kurahaupo joined
16:17
nchambers is now known as BackupHeddwch,
_mg_ left
16:18
ely-se left
|
|||
nemo | wow. zoffix must be really sick | 16:19 | |
it's been like a week and a half? | 16:20 | ||
timotimo | i think we should really do something about rakudo.org's outdated wordpress installation | 16:21 | |
like, i'm surprised it hasn't gotten pwned already | 16:22 | ||
skids | What, someone has to provide a "back door to the Internet" | ||
timotimo | nemo: i'm a little worried, too :S | 16:24 | |
perlpilot | timotimo: re rakudo.org ... Ping [email@hidden.address] about it. See what happens. | 16:25 | |
16:25
zakharyas left
|
|||
timotimo | pm is super busy, i'm not sure if i should bother him about stuff like that. especially since i'm probably not the right person to do a migration to the p6c servers for example ... | 16:26 | |
nemo | timotimo: hedgewars drupal instance is like a decade old :/ | 16:28 | |
timotimo: no one around willing to go through a painful migration | |||
16:30
CIAvash left
|
|||
hoelzro parsed initially parsed that "painful migraine" | 16:31 | ||
geekosaur | no. that comes later | 16:32 | |
hoelzro | hehe | ||
perlpilot | timotimo: if you send him an email, he can ignore it, update WP himself, give you the ability to do it, etc. If you don't send an email ... we'll still be talking about upgrading WP on rakudo.org next year :) | ||
16:33
cdg_ left
|
|||
nemo | timotimo: I'd just wanted to mention to Zoffix manpages.ubuntu.com/manpages/gutsy/...tch.8.html | 16:34 | |
timotimo: since I'd managed to screw up my XCompose on a machine, and this nice lil' utility fixed it | |||
16:34
cdg joined
|
|||
nemo | timotimo: (related to perl6 unicode input) | 16:34 | |
16:34
BackupHeddwch is now known as bACKUPhEDDWCH
|
|||
nemo | timotimo: I figured zoffix might be interested since he'd had similar issues | 16:34 | |
16:38
vendethiel joined,
zakharyas joined
16:41
ka left
16:44
ka joined,
zakharyas left
16:45
dfcarpenterak joined
|
|||
[Coke] | Anyone pondering a perl 6 talk for yapc::na ? | 16:46 | |
16:46
lichtkind joined
|
|||
DrForr | Several, I just need time to write up talks. | 16:48 | |
16:50
khw joined
16:53
zakharyas joined
16:54
dvinciguerra left,
bACKUPhEDDWCH is now known as nchambers
16:57
stmuk joined
16:58
abraxxa left
17:00
stmuk_ left,
lostinfog joined
17:02
CIAvash joined
17:03
ka left
17:04
yqt joined
17:06
FROGGS left
17:10
zakharyas left
|
|||
dalek | Iish: 037c377 | (Salvador Ortiz)++ | lib/DB (9 files): Rationalize 'use' and 'need' in modules With module 'require' fixed, now DBDish.pm loads roles and other modules only needs DBDish. |
17:12 | |
Iish: 5250f2a | (Salvador Ortiz)++ | lib/DBDish/ (6 files): Use exported typed Pointers for type safety |
|||
17:15
sortiz joined
17:16
tmch joined,
kurahaupo left
|
|||
[Coke] | anyone pondering a response to RT #127601 ? | 17:16 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127601 | ||
[Coke] | DrForr: I was also fishing for "about what?" :) | 17:17 | |
(RT) I am working on one now | |||
timotimo | we've been meaning to get loop ( ... ) that return values; do we have that? | ||
jnthn | m: my @list = lazy loop (my $i = 0; $i < 10; $i++) { $i }; say @list | 17:18 | |
camelia | rakudo-moar 64e1c7: OUTPUT«[...]» | ||
psch | ...the example for the lazy list seems awefully contrived | ||
jnthn | m: my @list = lazy loop (my $i = 0; $i < 10; $i++) { $i }; say @list[^10] | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(0 1 2 3 4 5 6 7 8 9)» | ||
jnthn | We already have that feature. :) | ||
timotimo | good | ||
17:18
yqt left
|
|||
jnthn | But the ticket reads like "omfg more than a couple of non-alaphenumeric chars in a row!!!" :P | 17:18 | |
17:18
CIAvash left
|
|||
timotimo | perl6 may not be the right thing for them. though of course a slang can be proposed | 17:19 | |
jnthn | None of the tickets by that submitter were well researched. | ||
ugexe | m: my @x = 1,2,3,4; my $lazylist = lazy @x; say $lazylist | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(...)» | ||
psch | m: my $llist = (0, { $_ + 3 } ...^ * > 10; say $llist.is-lazy | ||
camelia | rakudo-moar 64e1c7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EwnTQlKFnFUnable to parse expression in parenthesized expression; couldn't find final ')' at /tmp/EwnTQlKFnF:1------> 3$_ + 3 } ...^ * > 10; say $llist.is-lazy7⏏5<EOL> expecting any of: …» | ||
psch | m: my $llist = (0, { $_ + 3 } ...^ * > 10); say $llist.is-lazy | ||
camelia | rakudo-moar 64e1c7: OUTPUT«False» | ||
psch | hue hue | ||
vOv | |||
jnthn | m: my $llist = lazy (0, { $_ + 3 } ...^ * > 10); say $llist.is-lazy | 17:21 | |
camelia | rakudo-moar 64e1c7: OUTPUT«True» | ||
jnthn | Can mark it easy enough :) | ||
17:21
vendethiel left
|
|||
timotimo | well, why isn't it lazy in the first place? :P | 17:21 | |
psch | yeah, i guess that's just another hint for the "badly researched" comment before | ||
17:21
neilb left
17:22
neilb joined
|
|||
jnthn | timotimo: Lazy implementers didn't work hard enough at the halting problem... :P | 17:22 | |
17:23
neilb left
|
|||
jnthn notes that the loop also introduces state to the program, while the sequence operator is free of it :) | 17:23 | ||
ugexe | a shame he didnt just ask first | ||
17:24
neilb joined
|
|||
jnthn | Well, I suspect we'll see an amount of people submitting essentially questions to the bug queue. | 17:24 | |
timotimo | shouldn't it just set is-lazy by virtue of being a ... operator? | ||
psch | m: my $llist = (0, { $_ + 3 } ... *); say $llist.is-lazy | ||
camelia | rakudo-moar 64e1c7: OUTPUT«True» | ||
jnthn | timotimo: I think we've been down the "make more things lazy by default" road and it ended up worse in various cases. | ||
timotimo | hmm. like array access, eh? | 17:25 | |
jnthn | Well, the big one was trying making gather/take assume lazy. | ||
timotimo | so, um, who will write the reply? :) | ||
jnthn | I thought [Coke]++ said he was working on one? :) | ||
ugexe | m: my @a = 1,2,3,4,5; @a[1]:delete; say @a[0..*]; say @a[lazy 0..*]; # :( | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(1)(1)» | ||
timotimo | cool | ||
jnthn | ugexe: Marking things lazy is only useful for operations that will do something different. | 17:27 | |
ugexe: And array indexing ain't one of them (yet). | |||
ugexe | its used in method splice | ||
jnthn | Oh? | ||
ugexe | @arr[lazy 0..X] | ||
its why .splice and .splice(0) give different results when you @a[1]:delete | 17:28 | ||
17:28
neilb left
|
|||
jnthn | m: my @a = 1..*; my @b = @a[lazy 3..*]; say @b[^10] | 17:28 | |
Figured that'll hang | 17:29 | ||
m: my @a = 1..*; my @b := @a[lazy 3..*]; say @b[^10] | |||
camelia | rakudo-moar 64e1c7: OUTPUT«(timeout)» | ||
jnthn | Figure that one will do | ||
*too | |||
ugexe | m: my @a = 1,2,3,4; @a[1]:delete; say @a.splice; my @b = 1,2,3,4; @b[1]:delete; say @b.splice(0) | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(timeout)» | ||
rakudo-moar 64e1c7: OUTPUT«[1 (Any) 3 4][1]» | |||
jnthn | ugexe: But if you remove the lazy does it not behave the same? | 17:30 | |
Oh...or... | |||
ugexe | .splice takes the first method splice candidate, and .splice(0) takes the 2nd or 3rd hitting this: github.com/rakudo/rakudo/blob/0871...ay.pm#L688 | ||
m: my @a = 1,2,3,4,5; @a[1]:delete; say @a[0..4]; say @a[lazy 0..*]; | 17:31 | ||
camelia | rakudo-moar 64e1c7: OUTPUT«(1 (Any) 3 4 5)(1)» | ||
jnthn | Oh, I mis-remembered | ||
Something marked lazy will *not* return a lazy list | |||
However, it will auto-bound to the elems of the array | |||
Or something like that | 17:32 | ||
jnthn reads the code more carefully | |||
17:32
zakharyas joined
17:33
leont joined
|
|||
jnthn | Yeah, POSITIONS doesn't do the .eager itself, but rather the things that call it | 17:33 | |
So, I was right in so far as you ain't getting a lazy list back from a lazy slice | 17:34 | ||
But wrong in that lazy is useless there | |||
And the actual semantics are "keep going until an element doesn't exist" | |||
ugexe | darn, i was just going to ask if the `lazy` could just be removed | ||
jnthn | Or so the comment said | 17:35 | |
Oh no, it's almost right :) | |||
See array_slice.pm line 15 | |||
Anyway, :delete causes EXISTS-POS to return False | |||
And so a "lazy" will cause anything beyond a deleted element to be ignored | 17:37 | ||
Which I think is what you're seeing | |||
So the interesting question is maybe "why is the lazy there" :) | |||
ugexe | yea | ||
psch felt @:delete to be somewhat foot-ropey for quite some time | |||
ugexe | heh, jnthn you added the lazy it looks like | 17:38 | |
jnthn | Very possibly. Doesn't mean I'll remember why. :) | ||
Does the commit message say why? :) | |||
ugexe | Make @a[^2] consistent with @a[0,1] | 17:39 | |
That is, it doesn't auto-truncate. Only lazy ranges will now truncate. An infinite range is automatically lazy; the existing behavior is now available as @a[lazy ^2]. | |||
17:39
von_cheam joined
|
|||
ugexe | there is also a @array[lazy 0..X] in Str.pm (added in same commit) | 17:39 | |
jnthn | Hmm | 17:40 | |
17:41
raiph left
|
|||
jnthn | It may not be needed | 17:41 | |
Since I *think* the code is already bounds-checking $s | |||
I guess "remove it and spectest" is one option :) | 17:42 | ||
17:43
Actualeyes left
|
|||
jnthn | The lazy may have been added conservatively to preserve semantics. | 17:43 | |
17:43
zakharyas left
|
|||
jnthn is running a spectest without the lazy ATM | 17:44 | ||
dalek | osystem: 15a121e | leont++ | META.list: Add Getopt::Long to ecosystem |
||
osystem: 598a95f | jnthn++ | META.list: Merge pull request #160 from Leont/master Add Getopt::Long to ecosystem |
|||
von_cheam | Hello. Total newcomer to Perl6 here! I have a question - is there a way I can convert an array of strings to a single string, delimited by newline characters? I've tried: | 17:45 | |
for @strings -> $string { $big_string ~= $string ~ '\n'; } | |||
But it doesn't work. (Ultimately what I want to do is write my array of strings to an empty file, but ideally in one go, avoiding multiple reads and writes; if there's a better way of doing this than creating one big newline-delimited string, that's cool too!) | |||
ugexe | @strings.join("\n") | 17:46 | |
timotimo | the fastest way to create that large string would be @strings.join("\n") in any case | ||
psch | m: my @a = <abc def ghi>; my $str = @a.join("\n"); say $str | ||
camelia | rakudo-moar 64e1c7: OUTPUT«abcdefghi» | ||
von_cheam | Okay, awesome, thanks! | ||
alpha123 | von_cheam: the OS probably buffers multiple reads/writes anyway | ||
psch | von_cheam: note that .join doesn't give you a trailing newline (or whatever else you'd join with) | 17:48 | |
timotimo | right. if you want a newline at the end, you can .say it into a file handle and get one appended for free | ||
von_cheam | By the by, is this the right place for newbie Perl6 questions, in general, or are you folks mostly here for maintenance, ongoing devolpment of the language, etc.? | ||
alpha123 | if it's related to perl6, you're fine here ^_^ | 17:49 | |
jnthn | dinner & | ||
von_cheam | Magic. Thanks, all! | ||
17:51
virtualsue joined
17:52
von_cheam left,
guru__ left
17:54
bioexpress joined
17:56
Actualeyes joined
17:58
vendethiel joined
17:59
bioexpress left,
bioexpress joined
18:02
bioexpress_ joined,
bioexpress left
18:03
bioexpress joined
18:06
bioexpress_ left
|
|||
perlpilot wonders how long before "put" becomes as common as "say" | 18:08 | ||
18:08
leont left
|
|||
[Coke] | jnthn: rejected that ticket with something like your code snippet. | 18:12 | |
I definitely took a deep breath before responding. | |||
psch | [Coke]++ | 18:13 | |
very reasonable reply | |||
18:15
musiKk joined
18:16
dakkar left
18:17
bioexpress left,
andrewalker left
18:19
andrewalker joined
18:20
cognominal joined
18:21
vendethiel left,
bioexpress joined
|
|||
cognominal | hi, is there a parser of Perl 5 in Perl 6 ? | 18:23 | |
perlpilot | cognominal: not that I know of | 18:24 | |
18:26
prammer left
|
|||
DrForr | [Coke]: Probably Prancer, assuming I can get it into decent shape by then. | 18:26 | |
18:27
prammer joined
|
|||
jnthn | ugexe: Removing the lazy causes a regression | 18:27 | |
ugexe: So, not quite so simple. | |||
18:28
yqt joined
18:29
bioexpress_ joined
18:30
virtualsue left
18:31
guru_ joined
18:32
ka joined
18:33
xinming left
18:35
xinming joined
18:38
addison_ joined
18:39
vendethiel joined
|
|||
timotimo | it could very well be we don't have anything in the docs yet for the combination of lazy and loop | 18:41 | |
18:42
virtualsue joined
18:43
yqt left
18:45
leont joined
18:46
domidumont joined
18:47
bioexpress_ left
18:48
musiKk left,
bioexpress left
18:52
bioexpress joined
18:56
firstdayonthejob joined
|
|||
[Coke] | DrForr: is prancer like dancer but not? | 18:57 | |
If so, I need some kind of webapp handling I can run in p6, so let me know if I can help. | |||
DrForr | github.com/drforr/perl6-App-prancer | 19:00 | |
perlpilot | It would be perfect if someone did a talk on Crust too | 19:01 | |
RabidGravy | I'll really give it a good kicking when I'm done with this stupid XML thing | ||
19:01
wamba left
19:02
bioexpress left
|
|||
timotimo | didn't the author of crust actually give a talk? at fosdem maybe? | 19:03 | |
RabidGravy | I think so | ||
perlpilot | I dunno, but I haven't seen one. | ||
DrForr | One of the authors, yes. | ||
Hotkeys | Hey all | ||
I've been using panda since I started perl6ing but I was wondering if there's any reason I should switch to zef? | 19:04 | ||
or should I just stick with panda | |||
RabidGravy | it's whatever works for you really | ||
Hotkeys | are there any major differences? | ||
or is the functionality more or less the same | 19:05 | ||
[Coke] | right now it's survival of the fittest, I think (panda v. zef) | ||
I wish cpanm would ask me if I meant Vroom when I said vroom | 19:06 | ||
TimToady | .oO(maybe someone should write zenda...) |
||
Hotkeys | just to be clear that's zef x panda? | 19:07 | |
TimToady | well, zenda sounds cooler than paf | 19:08 | |
19:08
cdg left
|
|||
Hotkeys | true | 19:08 | |
RabidGravy | :) | 19:09 | |
Hotkeys | oh nice, "Str.trans can now be up to 160x faster" | 19:10 | |
that's quite an optimization | |||
19:13
virtualsue left
|
|||
Hotkeys | was .trans just really slow before | 19:14 | |
or is it now lightning speed | |||
psch | m: for ^500 { "foo".subst(/o/, 'u', :g) }; say now - BEGIN now | ||
camelia | rakudo-moar 64e1c7: OUTPUT«0.2355113» | ||
psch | m: for ^500 { "foo".trans("o" => "u") }; say now - BEGIN now | 19:15 | |
camelia | rakudo-moar 64e1c7: OUTPUT«0.02786291» | ||
19:15
prammer left
|
|||
psch | Hotkeys: i don't think that's lightning speed yet, but i'd guess further optimizations will come from general optimization | 19:16 | |
i.e. lower method call overhead or things like that vOv | |||
timotimo | oh it's the toady :) | ||
19:17
prammer joined
|
|||
skids | .oO("general optimization" verges on an oxymoron :-) |
19:17 | |
psch | *more* general optimization then :) | ||
[Coke] | .seen ingy | 19:19 | |
yoleaux | I saw ingy 30 Jan 2016 23:04Z in #perl6: <ingy> {} are special in ""? | ||
19:21
prammer left
19:22
virtualsue joined,
espadrine left
19:23
prammer joined
19:27
Actualeyes left,
_mg_ joined
19:28
virtualsue left
|
|||
leont | A while ago someone posted an example of how to make MAIN-HELPER(?) work, anyone still got a pointer? | 19:28 | |
19:29
prammer left
19:30
prammer joined,
labster joined
|
|||
leont | Ah, google tells me it's MAIN_HELPER, but that doesn't get me far either | 19:30 | |
MadcapJake | leont, this? gist.github.com/hoelzro/7fd925b4f4617a5c46b5 | 19:31 | |
leont | Yes that | ||
19:32
fireartist joined
|
|||
perlpilot | but, it should be called MAIN-HELPER to jibe with the other kebab things | 19:32 | |
timotimo | we have a rule for when things are UNDER_UPPER'd, though | ||
like the mop is UNDER_UPPER'd perhaps? | |||
MadcapJake | perlpilot, I think it has to be MAIN_HELPER to work | ||
lizmat | cognominal: you mean something like "v5" ? | 19:33 | |
perlpilot | timotimo: Well ... where is that rule written? :) | 19:34 | |
leont | Now I'm wondering how MAIN_HELPER works with arguments… | 19:35 | |
timotimo | *shrug* | 19:36 | |
perlpilot | leont: maybe read src/core/Main.pm to see how the original MAIN_HELPER works? | 19:37 | |
s/original/default/ | |||
leont | Ah, yeah that'd help | 19:38 | |
It works \o/ | 19:42 | ||
dalek | kudo/nom: 6952bec | lizmat++ | src/core/Buf.pm: Get rid of unnecessary private methods nqp::splice already returns the first argument, so no need for methods to make it return self |
||
Skarsnik | is p6-valgrind-m usable? | 19:46 | |
timotimo | should be, yeah | 19:47 | |
it doesn't really have a way to specify what valgrind tool you want to use | |||
RabidGravy | I've found it quite useful in the past | 19:48 | |
timotimo | yeah, it's good | ||
but it really should also give "--full-cleanup" to moar | |||
19:48
domidumont left
|
|||
perlpilot didn't know or had forgotten about perl6-valgrind-m | 19:49 | ||
timotimo | we also have perl6-gdb-m | ||
perlpilot | those would make a good article or two about Perl 6 for some well circulated tech magazine :) | 19:50 | |
or maybe a YAPC talk or two | 19:51 | ||
19:53
darutoko left
|
|||
hoelzro | I'm going to try and work on some improvements to the REPL today or tomorrow - I was thinking the next step is to create src/core/REPL.pm and have the higher level functionality live in Perl 6 rather than NQP. Does anyone think this is a *bad* idea? | 19:57 | |
19:58
wamba joined
|
|||
[Coke] | no. | 19:59 | |
perlpilot | hoelzro: not knowing anything about the implementation, it sounds like an incredibly *good* idea. | ||
[Coke] | nqp doesn't really need an advanced repl. | ||
hoelzro | that's what I'm thinking =) | ||
perlpilot | If someone wanted to switch out the REPL, what would they have to do? Redefine a sub like we do with MAIN_HELPER? | 20:01 | |
20:01
SCHAAP137 joined
|
|||
hoelzro | hmm...that's an interesting idea. | 20:01 | |
I had not considered that | 20:02 | ||
20:02
zpmorgan left
|
|||
hoelzro | I'm thinking that we could have a RAKUDO_REPL env var that specifies the name of a module that extends the existing REPL | 20:02 | |
if the module is not available, we fall back to the default | |||
perlpilot | If the redefine-a-sub pattern is something we're going to repeat, we may want to namespace such routines. | 20:03 | |
hoelzro | like CORE::MAIN_HELPER or something? | 20:04 | |
cognominal | lizmat++ ok, I see indeed that v5 includes a Perl 5 parser in Perl 6 github.com/rakudo-p5/v5/blob/maste...Grammar.pm | ||
hoelzro | I don't know if I | ||
ugh | |||
I don't know if I'd call it redefining subs - it's more like shadowing them | 20:05 | ||
perlpilot | yes, something like that. More like "over shadowing", but you're right :) | 20:06 | |
hoelzro++ btw | 20:08 | ||
DrForr | cognominal++ lizmat++ # that's what I need for another project... | 20:09 | |
perlpilot must be getting forgetful in his old age ... | 20:11 | ||
I knew about (but had forgotten) v5 as well | |||
20:11
pierrot left
20:12
molaf left
20:14
pierrot joined
|
|||
cognominal | DrFoor: note that some stuff is pasted from HLL::Grammar, maybe if the grammar were derived from HLL::Parser that would be not ncessary. On the other hand that makes it immune to change in HLL::Parser. | 20:14 | |
DrForr | Yeah, the methods were familiar. | ||
20:16
musiKk joined
20:19
yqt joined
|
|||
DrForr waits to see if Crust::Request doesn't spontaneously die this time 'round. Not sure what was going on, the traceback was useless. | 20:26 | ||
20:31
fireartist left
20:40
ely-se joined
20:44
addison_ left
20:48
sufrosti1o left
20:50
kjs_ joined
|
|||
kjs_ | good evening. quick question if I wanted to generated SQL statements from a JSON file (to store that json file in a database), what would be the best way to go about? | 20:51 | |
20:51
wamba left,
wamba joined
|
|||
kjs_ | s/generated/generate/ | 20:51 | |
20:51
_dolmen_ joined
20:52
firstdayonthejob left
|
|||
rindolf | kjs_: can you use a JSON parser? | 20:52 | |
kjs_ | rindolf: well that’s what I was thinking - inherit an existing JSON parser and override the methods to Do The Right Thing. But JSON::Fast and JSON::Tiny don’t support inheritance. | 20:53 | |
but perhaps that’s the wrong way. | |||
rindolf | kjs_: maybe use composition instead of inheritance. | 20:54 | |
20:54
TreyHarris left
|
|||
kjs_ | rindolf: mm ok. this isn’t as easy as I thought. Thanks for the hint, I’ll have to read up on that. | 20:54 | |
20:54
firstdayonthejob joined
|
|||
rindolf | kjs_: you're welcome . | 20:55 | |
20:57
zakharyas joined
|
|||
perlpilot | kjs_: look at JSON::Tiny. You could use its grammar and write your own action class. other than that, you'd only have to replace from-json which is like 5 lines or something | 20:58 | |
kjs_ | perlpilot: great, thanks. I’ll look at that. | ||
leont | I think that with a tiny PR to JSON::Tiny, that from-json override isn't necessary either | 21:01 | |
I would add a :$actions argument to from-json, that defaults to the current value | |||
moritz | kjs_: why not simply use JSON::Tiny, and work no the data structure it returns | ||
? | |||
kjs_: then you'd be totally independent from the JSON implementation, and could easily switch it out later | 21:02 | ||
leont | Probably easier, yes | ||
That's the XY question, really | |||
kjs_ | moritz: yes that’s probably easier. I’m not a perl programmer, but thought about the fact that perl6 has grammars, and I figured that the actions could emit SQl, as if it were the generated code. | 21:03 | |
moritz | as the maintainer of JSON::Tiny, I strongly discourage subclassing of its action class; it's not part of the documented API | ||
kjs_: even when you write a compiler, you usually don't emit code from the actions; you first put it into an abstract syntax tree | |||
kjs_ | moritz: yes, right. good point | 21:04 | |
moritz | and the return value from from-json can act as your abstract syntax tree | ||
dalek | kudo/nom: 85172b2 | lizmat++ | src/core/Buf.pm: Eliminate need for extra int unshift/prepend case |
||
kudo/nom: fb1be44 | lizmat++ | src/core/Buf.pm: Don't use CATCH to catch non-int push Two reasons: 1. jnthn++ tells us that blocks with CATCH don't optimize very well. 2. the resulting private methods can be used in more places |
|||
21:04
zakharyas left
|
|||
moritz | kjs_: funny thing is, I recently talked somebody else out of the idea of mucking around with the JSON::Tiny internals :-) | 21:06 | |
21:08
rindolf left
|
|||
kjs_ | moritz: yes that makes sense now. Don’t know what I was thinking. Is there a function to read JSON from a file? | 21:08 | |
perlpilot | moritz: clearly someone should make JSON::Huge to go along with JSON::Tiny where JSON::Huge's guts are fully exposed and tweakable. :) | ||
kjs_ | in J::T | ||
Skarsnik | from-json("myjson.json".IO.slurp) | ||
something like that | |||
21:09
cdg joined
|
|||
leont | I originally based YAMLish's internals on JSON::Tiny's, but it turns out to need way more guts… | 21:09 | |
21:11
_mg_ left
|
|||
kjs_ | Skarsnik: aha that works! | 21:11 | |
moritz | perlpilot: well, I'm kinda considering that; offer a stream-based API maybe | 21:12 | |
perlpilot | that would be nice. | 21:13 | |
Sounds like another potential article for a well-circulated tech mag too ;) | |||
21:17
sufrostico joined
21:40
addison_ joined
21:45
Amnez777 left,
Amnez777 joined,
addison_ left
21:46
khw left
|
|||
timotimo | yeah, a stream-based api for json would probably be quite nice | 21:50 | |
i expect JSON::Fast could grow that rather quickly | |||
21:51
firstdayonthejob left
|
|||
timotimo | it'd be ... fast ... even :) | 21:52 | |
21:53
firstdayonthejob joined,
sno left
21:54
kid51 left,
kid511 joined
21:56
skids left
|
|||
timotimo | hm. will i put that in a sub-namespace? | 21:57 | |
JSON::Fast::Streaming? sounds a bit backwards to have the "authority" in the middle, the functionality at the end and the "group" at the beginning | 21:58 | ||
21:58
sftp joined
|
|||
psch | assuming it can be decoupled enough i'd put it as JSON::Streaming and let the user choose the actual 'backend' | 21:59 | |
no idea if that's actually feasible though | 22:00 | ||
otherwise i'd probably use different EXPORT tags | |||
i.e. < use JSON::Fast :streaming; >, if i don't misremember the syntax | |||
timotimo | so from-json would either be a streaming version or a object-generating version depending on the export tag? | 22:01 | |
i'm not sure i like that | 22:02 | ||
22:02
musiKk left
|
|||
timotimo | well, i could use export tags as well as give the things different names | 22:02 | |
stream-json-from(...) perhaps | |||
psch | hm, yeah, exporting the same symbols with different semantics is a bad idea | 22:03 | |
timotimo | can you link me to some prior art on streaming json parsers? | ||
to see what exact tokens people would expect in the stream? | 22:04 | ||
or would they expect to pass an object that has "on-object-enter"-like methods? | |||
psch | *i* personally definitely can't :) | ||
dalek | kudo/nom: ce32045 | lizmat++ | src/core/Buf.pm: Make Buf.splice fully functional |
||
psch | i did find one via google though, in PHP :P | 22:05 | |
github.com/salsify/jsonstreamingparser | |||
timotimo | oke | ||
psch | there's a blog post linked from the github README which is probably better than perusing the source | 22:06 | |
timotimo | my first idea was to expose the token stream as a lazy list rather than calling methods on an object | ||
or even a supply would be neat, that'd allow for chunkwise json to come in, too, and have Supply in, Supply out | |||
22:07
khw joined
|
|||
timotimo | does it make things easier to have a class with methods or a given with a bunch of whens? | 22:09 | |
Skarsnik | why not having both? xD | ||
timotimo | well, i'll have to implement each one that i'd want to support | 22:10 | |
psch | i'm not sure outputting streamily is that useful | 22:11 | |
22:11
espadrine joined
|
|||
psch | as in, one advantage of streaming parsers is to not keep the *source* in memory | 22:11 | |
but you'll still want to have finished the source before acting on the data you parsed, no? | 22:12 | ||
22:12
sno joined
|
|||
Skarsnik | I am not fan off the object method, but giving callable is very C for me x) | 22:12 | |
22:13
lostinfog left
|
|||
timotimo | why would you want to wait for the document to complete before outputting the stream? | 22:14 | |
that sounds totally wrong to me | |||
dalek | kudo/nom: 7b2b7a1 | lizmat++ | src/core/Buf.pm: Move private support methods to the Blob role |
||
22:14
kaare_ left,
TreyHarris joined,
kaare_ joined
|
|||
psch | well, from what i understand you want to use JSON::Fast to get deserialized JSON as data into your perl6 program | 22:16 | |
which means as a user of JSON::Fast i need nothing less but finished top-level objects | |||
so yeah, maybe the stream doesn't have to be completely finished, but the outer most started scope has to be | 22:17 | ||
i do admit that i'm not really used to thinking with streaming parser, so take that as you may... :) | |||
ingy | hi [Coke] | 22:19 | |
timotimo | yeah, i think you have the idea of streaming parsers completely wrong :) | 22:20 | |
22:20
autarch left
|
|||
psch | eh, i object on the "completely" :P | 22:20 | |
i'd agree with "mostly" though :) | |||
timotimo | i'm rather sure you want to receive the individual stream parts immediately | 22:21 | |
psch | probably, yes. i think this comes down to me not being able to make up a use case | 22:22 | |
Skarsnik | think of a jhuge html page you only want the header, stopping the processing of the document make sense, before parsing everything | 22:24 | |
psch | huh. yes, known early data is definitely a use case | ||
timotimo | fwiw, using a streaming parser for the profiler would also be doable. if chrome came with such a thing | ||
i'm not going to implement that, though :) | 22:25 | ||
if you have a json structure where you mostly iterate over a bunch of arrays in it, you'll likely be able to benefit from a streaming parser | |||
22:28
guru_ left
|
|||
timotimo | mhhh, with "next", "last", "succeed" and such, the listener that gets the data streamed to could be instructed to do specific things with the stream | 22:28 | |
i wonder if that'd be cool | |||
22:29
kurahaupo joined
22:30
kurahaupo left
|
|||
Skarsnik | you mean like parse-json-stuff{sub { START { hey a thing}, END { finished parsing the thing }}} ? | 22:30 | |
psch | ...i don't get the intent behind having the parser instruct the listener | 22:31 | |
timotimo | nah | ||
sorry | |||
i meant the other way around, of course | |||
psch | oh | ||
kjs_ | Does anyone have a suggestion as to how to generate a ‘create table’ statement based on a hash? (which is generated by JSON::Tiny). I’m playing with prepared statements supported by DBIsh, which works great. | ||
timotimo | like "yeah, i don't care about this object at all, just go find the closing brace for me, will ya?" | ||
psch | hm, i'd rather export new CX for that | 22:32 | |
ControlException, that is | |||
the semantics feel a bit different | |||
[Coke] | ingy: hio. pinged you some other channel. | ||
#pkg, I think. | 22:33 | ||
Skarsnik | kjs_, well iterate over the hash and build the sql request? | ||
kjs_ | Skarsnik: yes, like, construct the sql query and then execute it. I suppose I got spoiled so quickly that it seemed like a naive solution :-) | 22:34 | |
22:35
sufrostico left
22:36
perlpilot_ joined
22:37
perlpilot_ left
|
|||
psch | eh, on the other hand 'next' or 'last' probably read much better than whatever statement_control token could be exported... | 22:39 | |
timotimo | :) | ||
i wonder how the streaming interface ought to handle errors | 22:41 | ||
i'm not sure about the "trailing non-whitespace data" for example | |||
if that kind of exception could be resumed, maybe something like "comments until newlines are now allowed" could be implemented with a custom listener that advances the $pos and just resumes work on stuff | 22:45 | ||
22:49
sufrostico joined,
Skarsnik left
22:50
prammer left
22:53
raiph joined
22:55
sufrostico left
22:59
mohae left,
mohae joined
|
|||
flussence | «error: pathspec '2016.02' did not match any file(s) known to git.» -- I think --gen-moar needs a `git fetch --tags` somewhere... | 23:03 | |
23:11
ely-se left
23:13
vendethiel left
|
|||
hoelzro | sortiz: I took a look at your REPL PR, and it looks like it will do the job of handling unfinished "braced" input just fine! I'm a little concerned, however, that it will match too many other expressions for which multi-line mode wouldn't make sense | 23:14 | |
23:18
yurivish joined,
vendethiel joined
23:21
skids joined
23:22
prammer joined,
prammer left
|
|||
sortiz | hoelzro, I do a good amount of testing, and think the the context, for example the test for $inner.pos, results in a safe use. Have you an example of a failed case? | 23:24 | |
hoelzro | I don't yet, I'm going to try to break it later ;) | ||
sortiz | *that the context* | ||
23:24
TEttinger joined
|
|||
sortiz | In the grammar that kind of exceptions are produced when white-space isn't important and the parser can't get the expected token, in combination with the logic of the new eval, testing for end of line, gives me confidence. | 23:29 | |
And, indeed, much more testing is desired. | 23:30 | ||
dalek | kudo/nom: 0bf86c3 | lizmat++ | src/core/Buf.pm: Make Blob.new be more like Buf.new.shift With regards to error checking and giving sensible error messages. Also fix some issues with push/unshifting things like Ranges. |
23:32 | |
23:32
_dolmen_ left
|
|||
dalek | kudo/nom: a7ec540 | lizmat++ | src/core/Buf.pm: Fix ordinal number of value with error |
23:36 | |
lizmat | and with that, I wish #perl6 a good night! | ||
sortiz | 'night lizmat, good trick: ... ~ "ing! | 23:40 | |
23:41
vendethiel left
23:42
addison_ joined
23:43
espadrine left
23:45
Trey_ joined
23:46
tmch left,
TreyHarris left,
addison_ left
23:47
wamba left
23:48
firstdayonthejob left
23:49
ka left
|
|||
RabidGravy | right, that's enough. toodles! | 23:53 | |
23:57
kjs_ left,
autarch joined
23:58
RabidGravy left
|