»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by moritz on 25 December 2014. |
|||
timotimo | avar: yes, nom is our current main branch | 00:00 | |
avar | Where's the build instructions for all of this? | 00:01 | |
masak | avar: github.com/rakudo/rakudo/blob/nom/INSTALL.txt | ||
00:02
espadrine left
|
|||
ab5tract | avar: alternatively, you can use rakudobrew github.com/tadzik/rakudobrew/ | 00:03 | |
avar | amazing | ||
ab5tract | avar: is that your response to ./Configure.pl --backends= ? :) | 00:04 | |
anyway, looking forward to the backlog. ciao for now #perl6! | 00:06 | ||
00:07
adu joined
|
|||
timotimo | gnite | 00:08 | |
avar | mm, the INSTALL.txt needs some instructions for how to use your own clones of nqp/moarvm, I tried to compile my own moarvm and --with-moar just whinees about missing .so's | 00:10 | |
00:10
KCL_ joined
|
|||
timotimo | what i usually do is just point the --prefix= at the same place for all three components | 00:11 | |
but we also now have a flag that'll let you use existing git clones or at least existing git repos so you don't have to fetch everything over the 'net all the time | |||
00:12
hzhou321 left
00:17
KCL_ left
|
|||
btyler | avar: here's my "I'm sick of doing this by hand" 3-minute script for refreshing clones of moar, nqp, and rakudo: ssl.thorsen.pm/paste/4a9cbc9b6700 . not as a "use this code" but "pull out the perl Configure.pl lines to suit you" | 00:22 | |
00:23
SevenWolf joined,
KCL_ joined
|
|||
avar | btyler: cool | 00:24 | |
vendethiel prefers perl6's ffi to nim | 00:36 | ||
though we don't have memory regions... oh wait that's good | |||
00:38
SevenWolf left
00:44
rjbs- joined
00:50
flussenc1 is now known as flussence
01:04
broquaint left
|
|||
raydiak_ | just curious...did something weird happen in the rakudo repo? "On branch nomYour branch is ahead of 'origin/nom' by 92 commits." I didn't commit anything, much less 92 anythings | 01:08 | |
01:08
raydiak_ is now known as raydiak,
hzhou321 joined
01:13
muraiki_ joined
|
|||
hoelzro | ab5tract: happy to be of serivce =) | 01:18 | |
service, too | 01:20 | ||
Peter_R | raydiak, looks like your repo's come back from the future | 01:22 | |
raydiak | guess so :) | 01:23 | |
hoelzro | your kids, Marty! | 01:24 | |
something has to be done about your kids! | |||
raydiak | hey it's 2015, where's the holographic sharks already? | 01:25 | |
01:25
kurahaupo joined
|
|||
raydiak | .oO( everyone goes on about the flying cars and hoverboard and forgets the holographic sharks ) |
01:25 | |
Peter_R | Don't forget the self lacing shoes | 01:30 | |
Soon to be a reality I hear | |||
raydiak | heh | 01:33 | |
01:34
kurahaupo left
|
|||
muraiki_ | does anyone know if there are any efforts to make subset constraints checked at compile type? I guess that'd essentially be on the way to implementing dependent types, so I imagine that answer is no :) | 01:39 | |
masak | muraiki_: no. | 01:42 | |
muraiki_: but I don't really see any reason some "safe" subset (pun not intended) of subset constraints couldn't be checked at compile time, as a friendly bonus on the part of the compiler. | 01:43 | ||
the only thing that it has to be careful about is that the subset check terminates. which can be checked in a fair number of cases without angering the Halting Problem Beast. | |||
...but (a) it's not done yet, and (b) who knows whether it will be | 01:44 | ||
muraiki_ | masak: thanks! | ||
masak | same thing with enforcing return types. *theoretically*, Perl 6 could warn and say "you're clearly returning a Str here, but you declared you'd return an Int. that'll never work, and so I'm telling you now instead of letting you find out at runtime." | 01:45 | |
...but it's not done yet. | |||
I consider those things optional compile-time bonuses on which you should not depend (because they'd likely be implementation-dependent) but which will ultimately save you time because you don't have to rebuild your whole project. | |||
vendethiel | masak: I think the return type one will come a long time before liquid types ;-) | 01:47 | |
Peter_R | I wish I knew what half the stuff talked about here meant | 01:50 | |
vendethiel | masak: makes me think about CL's optional types | 01:52 | |
it's not required in the specs that compiler do it, but most of them will do it anyways | |||
masak | Peter_R: just so you know, I was once in your current place. | ||
Peter_R: it gets better, fast, to the extent you curiously explore the terrain. | 01:53 | ||
Peter_R: half of the confusion is just language barrier. we're pretty specific in our terminology and lingo. | |||
Peter_R | I'm not a complete stranger to compilers and such, but certainly no expert | 01:54 | |
masak | I remember looking at the backlog of pmurias and ruoso the way a deer looks at approaching car headlights. | ||
that must be many years ago now. | |||
Peter_R | All very interesting to hear anyway :) | ||
masak | when in doubt, ask people to show you stuff on camelia. you'd be surprised how concrete some things can be made ;) | 01:55 | |
Peter_R | Will do, thanks for the encouragement | ||
masak is all about encouragement | 01:56 | ||
masak .oO( "We should consider an actual prime." -- "You mean an actual number?" -- "Yes, an actual prime number." -- "All right, take 57." ) | 01:57 | ||
01:59
kurahaupo joined,
BenGoldberg left
02:00
BenGoldberg joined
|
|||
masak | vendethiel: ooc... "liquid types"? | 02:04 | |
vendethiel | masak: "ooc"? | ||
02:04
[Sno] left
|
|||
masak | "out of curiousity" | 02:05 | |
curiosity* | |||
vendethiel | masak: would allow to check for "where"s at compile time -- see liquid haskell | ||
that's what I'm interested in in the very very very long term :) | 02:06 | ||
02:07
fwilson left
|
|||
masak | vendethiel: lately I've been hearing like a refrain in my head, but it's still hard to verbalize. something like, if you do TDD and eschew side effects to some degree, your editor/IDE should be able to run circles around your typing, helping you in all manner of ways by abstractly interpreting the code you're writing. | 02:07 | |
not sure if that makes sense. | |||
vendethiel | it does to every haskell/idris/...-er out there :-) | ||
02:08
fwilson joined
|
|||
masak | but let's say you start by writing a test case. an input and an expected output. now the IDE knows what you should have once you're done/happy. | 02:08 | |
then do that for a couple of tests. | |||
vendethiel | masak: you should try agda or idris, often enough, the compiler can generate implementation for the function :P | ||
masak | ideally, you could get feedback for all the tests at each *keypress* you do in the editor. just nicely tabulated next to your code. | ||
vendethiel | with data Bool = True | False then a "not" function with Bool -> w/e, the ide-slave will generate different implems. for each constructor in the type | 02:09 | |
masak | vendethiel: I will. thanks for the tip. I sometimes skim some agda/idris docs just to make sure I have a clue what they're about. | ||
vendethiel | (ctrl-c ctrl-l iirc for agda2-mode emacs) | ||
I call that "try by autocompletition" :P. I just type w/e, and try to complete until the compiler finds stuff to put in holes | 02:10 | ||
02:14
virtualsue joined
02:18
yeahnoob joined,
kurahaupo left
02:29
BenGoldberg left,
BenGoldberg joined
|
|||
[Coke] finally catches up post-conference. | 02:44 | ||
~~, sixers. | |||
02:44
chenryn joined
02:45
ilbot3 left
02:46
andreoss left
02:47
ilbot3 joined
|
|||
hzhou321 | I am new to perl6. Does perl6 have method to interface with C like xs? | 02:53 | |
masak | yes | 02:55 | |
hzhou321 | Do you have pointer to documentation? | 02:56 | |
masak | github.com/jnthn/zavolaj/ | 02:57 | |
02:57
yqt joined
|
|||
masak | 'night, #perl6 | 02:57 | |
hzhou321 | masak: thx. | ||
japhb | masak++ # Advice? Rant? Manifesto? ... starting at irclog.perlgeek.de/perl6/2015-01-27#i_10016004 and continuing at irclog.perlgeek.de/perl6/2015-01-27#i_10016097 | 03:10 | |
hzhou321 | Is there any benchmark between Perl5 and Perl6? | 03:17 | |
Peter_R | I've seen graphs, they must exist... | 03:18 | |
03:18
Psyche^ joined
|
|||
Peter_R | The cliff notes of the graph were "lists are slow" | 03:19 | |
moritz | \o/ | 03:20 | |
itz_: do you have any idea why my old blog posts are showing up as new in the pl6anet feed? | 03:21 | ||
03:22
Patterner left,
risou is now known as risou_awy,
risou_awy is now known as risou
03:25
virtualsue left
|
|||
dalek | kudo/nom: d5c67dc | hoelzro++ | src/ (3 files): Don't pass capture to invoke/postcircumfix:<( )> when performing Type(...) If a user wants to override the behavior of Type(...), they have to know that the invoke/postcircumfix:<( )> method takes a single argument that is a Capture, rather than the actual values provided. This is an implementation detail, not in the spec, and unintuitive. |
03:25 | |
ast: d32ba94 | hoelzro++ | S13-overloading/typecasting-long.t: Take the full argument list when overriding (...) for Type(...) |
03:26 | ||
muraiki_ | night p6 | 03:27 | |
03:27
muraiki_ left
03:35
yqt left
|
|||
skids | hoelzro++ I remebering going WTF over that. | 03:39 | |
hoelzro | skids: oh, good on me then =) | 03:40 | |
hopefully others are ok with the change | |||
03:41
kurahaupo joined
03:43
Mouq joined
03:47
noganex_ joined
03:50
noganex left
03:52
vendethiel left,
vendethiel joined
|
|||
moritz | hoelzro: I'm not OK with it missing from ChangeLogs | 04:02 | |
s/s$// | |||
hoelzro | moritz: ah, noted | ||
I'll add that | |||
dalek | kudo/nom: ffc5836 | hoelzro++ | docs/ChangeLog: Document the change to overriding Type(...) |
04:04 | |
hoelzro | moritz++ # advice | ||
dalek | kudo/nom: 9f15442 | moritz++ | docs/ChangeLog: Add more changelog entries |
04:07 | |
moritz | hoelzro++ # acting on it :-) | ||
time to sleep again, now that $smallone also sleeps again | 04:08 | ||
hoelzro | o/ moritz | 04:09 | |
Mouq | hoelzro: Does that commit break nativecall? | 04:11 | |
Mouq also has to try catching some sleep | 04:12 | ||
dalek | ast/coerce-multi: a22c42c | hoelzro++ | S02-types/COERCE.t: Start implementing tests for COERCE |
04:14 | |
ast/coerce-multi: b717214 | hoelzro++ | S02-types/COERCE.t: Test that Type(...) still calls invoke if present |
|||
ast/coerce-multi: e142fd0 | hoelzro++ | S02-types/COERCE.t: Test COERCE + subclasses |
|||
hoelzro | Mouq: eesh, I sure hope not | ||
hoelzro tests | |||
dalek | kudo/coerce-multi: a298d34 | hoelzro++ | src/ (2 files): Start on implementation of COERCE COERCE is a multi that takes a value and a type object; users wishing to define special semantics for how a value of a given type is coerced to other type may implement the appropriate candidate for COERCE to perform that coercion. The default is call a method of the same name as the type object's class on the value. |
||
kudo/coerce-multi: d9460c5 | hoelzro++ | t/spectest.data: Use new COERCE test in roast |
|||
04:17
Mouq left
|
|||
japhb | hzhou321: Yes, there are p5/p6 benchmarks. I wrote the framework and the majority of the tests: github.com/japhb/perl6-bench . timotimo++ has published the graphs from some of his perl6-bench runs, but I don't have the URL at hand. | 04:19 | |
04:19
vendethiel left
|
|||
japhb | This is getting to be enough of a channel FAQ that I'm considering adding the github URL to the topic. I was planning to wait for us to have an arewefastyet clone in place, but that has been slow in appearing. (And I can't host it myself.) | 04:20 | |
hoelzro | Mouq was right; that *does* break NativeCall o_O | 04:27 | |
unfortunately, my NQP fu is not strong enough to fix it | |||
if anyone could help me fix that, I would really appreciate it | 04:34 | ||
if it's a blocker for anyone, feel free to revert my commits and we can chat about how to fix it tomorrow | 04:35 | ||
04:46
yeahnoob left
04:47
sivoais left
04:48
sivoais joined
04:56
charsbar_____ left
05:03
KCL_ left
05:06
chenryn left
05:07
chenryn_ joined
05:10
chenryn_ left,
chenryn_ joined
05:23
raiph left
05:33
charsbar joined
05:54
chenryn__ joined
05:55
chenryn_ left
05:56
mr-foobar left
06:00
chenryn__ left
06:01
chenryn__ joined
06:04
chenryn__ left
06:05
chenryn__ joined
06:08
broquaint joined
06:18
bjz joined
06:20
bjz left
|
|||
dalek | volaj: 339501e | moritz++ | lib/NativeCall.pm6: Fix for latest rakudo postcircumfix:<( )> now receives a normal argument list, not a single-item capture |
06:22 | |
moritz | hoelzro: ^^ FTFY. No NQP hackery required | ||
06:22
[Sno] joined
06:32
BenGoldberg left
06:33
Khisanth left
06:34
Khisanth joined
06:35
spider-mario left
06:45
baest left
06:46
bartolin_ left,
bartolin joined
|
|||
bartolin | fwiw Parrot builds again and last nights spectest on Parrot was clean | 06:48 | |
lizmat++ moritz++ jnthn++ # bisecting and fixing | |||
07:09
telex left
07:10
telex joined,
vendethiel joined
07:11
[Sno] left
07:16
rindolf joined,
kaleem joined
07:36
rindolf left
|
|||
lizmat confirms parrot builds and tests ok again | 07:38 | ||
although I'm not quite sure what caused the fix | 07:39 | ||
07:39
kjs_ joined
|
|||
lizmat | offline until late& | 07:40 | |
07:56
vendethiel left
07:57
chenryn__ left
|
|||
TimToady | sitting in AMS waiting for our next flight | 07:57 | |
07:58
Rounin joined,
chenryn__ joined
|
|||
El_Che | TimToady: it's not raining, so that's a good thing :) | 07:59 | |
TimToady | boarding... | 08:01 | |
08:05
prime- left
08:06
yeahnoob joined
08:08
chenryn___ joined
08:09
chenryn__ left
08:10
yeahnoob left
08:11
avuserow left,
FROGGS joined,
prime joined
08:14
yeahnoob joined,
[Sno] joined
08:15
avuserow joined,
vendethiel joined
08:21
darutoko joined
08:22
xfix joined
08:29
moritz left
08:33
pdcawley joined
08:34
moritz joined
08:35
espadrine joined
08:38
vendethiel left
08:40
Kristien joined,
bjz joined,
telex left
08:45
telex joined
08:50
espadrine left
08:53
adu left
08:57
zakharyas joined,
brrt joined
|
|||
Kristien | How can you make grammars ignore whitespace from the input between tokens? | 08:58 | |
I tried to google this, but all I can find is the difference between the token and rule and sigspace. | 08:59 | ||
brrt | iirc - and i'm not at all a regular perl6 user btw - that's the difference between rules and tokens | ||
oh | 09:00 | ||
that's what you said | |||
Kristien | or do I have to put \s* before all of my rules and tokens? | ||
brrt | i'd be surprised if that were the case | 09:01 | |
Kristien | yeah, me too | ||
or perhaps proto token lexeme { \s* * } | 09:02 | ||
FROGGS | m: my rule foo { a b }; say "a b" ~~ /<foo>/ | 09:03 | |
camelia | rakudo-moar 9f1544: OUTPUT«「a b」 foo => 「a b」» | ||
FROGGS | m: my rule foo { a b }; say "ab" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«Nil» | ||
FROGGS | m: my token foo { a b }; say "ab" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«「ab」 foo => 「ab」» | ||
FROGGS | m: my token foo { a b }; say "a b" ~~ /<foo>/ | ||
camelia | rakudo-moar 9f1544: OUTPUT«Nil» | ||
FROGGS | Kristien: see? | ||
consider a token a word, and rule about sentences | 09:04 | ||
Kristien | ah I see | ||
thanks | |||
now it works :D | 09:05 | ||
09:06
andreoss joined
|
|||
JimmyZ | FROGGS: github.com/MoarVM/dyncall/wiki | 09:07 | |
09:08
pecastro joined
|
|||
FROGGS | JimmyZ++ | 09:09 | |
awesome :o) | |||
09:11
Kristien left
|
|||
andreoss | rakudo.org is 500 now | 09:15 | |
09:17
fhelmberger joined
|
|||
moritz | pmichaud: ^^ rakudo.org gives a 500 internal server error. Could you please investigate? | 09:20 | |
09:22
mvuets joined
09:24
kjs_ left
09:25
abraxxa joined
09:29
kjs_ joined
09:32
kjs_ left
09:35
vendethiel joined,
espadrine joined
|
|||
timotimo | hzhou321: t.h8.lv/p6bench/ | 09:38 | |
09:39
Kristien joined
09:43
dakkar joined
09:44
kjs_ joined
09:52
baest joined
09:56
vendethiel left
10:02
sirdancealot joined
|
|||
andreoss | error: pathspec '2015.01-22-g5a33762' did not match any file(s) known to git. | 10:11 | |
Command failed (status 256): git checkout 2015.01-22-g5a33762 | |||
Kristien | why does Grammar.parse return Any on failure? | 10:12 | |
Rather than say Nil or Failure | 10:13 | ||
moritz | it returns Nil, I think | ||
10:13
nyuszika7h left
|
|||
andreoss | Configure.pl tries to checkout MoarVM sources with some tag, but it seems non-existent | 10:13 | |
moritz | and assigning Nil to a scalar resets the scalar to the default value | ||
Kristien | Oh, I see. | ||
Ah right nice. | 10:15 | ||
10:18
nyuszika7h joined
10:21
yeahnoob left
|
|||
andreoss | i can't compile parrot backend | 10:29 | |
its failing to link with this error | |||
/usr/bin/ld: h_errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS definition in /home/local/local/lib/libc.so section .bss | |||
why parrot needs TLS? | |||
FROGGS | andreoss: I am forwarding it to #parrot on irc.perl.org | 10:30 | |
10:30
virtualsue joined
|
|||
andreoss | might be something wrong with my localy installed libc, links ok against system one | 10:34 | |
masak | good mor'n, #perl6 | 10:37 | |
andreoss | /usr/lib/gcc/x86_64-redhat-linux/4.9.2/../../../../lib64/crt1.o: In function `_start': | 10:39 | |
(.text+0x12): undefined reference to `__libc_csu_fini' | |||
FROGGS: may be i should make distclean somewhere? | 10:40 | ||
10:42
Sqirrel left
10:44
vendethiel joined
10:55
sirdancealot left
|
|||
masak | japhb: actually, my rant started at irclog.perlgeek.de/perl6/2015-01-27#i_10015898 and the parts you pointed to were kind of a continuation of that. | 10:56 | |
11:00
btyler left
11:03
Kristien left
11:04
chenryn___ left
|
|||
tadzik | PLPW 2015 is cooking :} | 11:04 | |
11:05
brrt left
|
|||
El_Che | pw.pl? | 11:05 | |
11:05
brrt joined
|
|||
tadzik | Polish Perl Workshop | 11:05 | |
11:05
chenryn___ joined
|
|||
El_Che | nice | 11:05 | |
11:07
vendethiel left,
rurban_ joined
11:08
kjs_ left,
vendethiel joined
|
|||
masak | tadzik: \o/ | 11:09 | |
11:10
chenryn___ left
11:11
chenryn___ joined
11:12
noganex joined
11:13
mvuets left
11:14
noganex_ left
11:16
mvuets joined
11:17
Kristien joined
|
|||
Kristien | I wrote my first parser written in Perl 6! | 11:19 | |
moritz | \o/ | ||
11:20
Kristien left
11:23
brrt left
11:37
ka05 left
11:53
kaleem left
11:55
chenryn____ joined
11:57
chenryn___ left,
Kristien joined
|
|||
Kristien | I'm writing a tool to generate data structures in various languages and serialization/deserialization code | 11:58 | |
12:01
Kristien left
12:02
kjs_ joined
12:04
Kristien joined
|
|||
vendethiel | seems like something ingy would love :) | 12:05 | |
12:07
rindolf joined
|
|||
Kristien | currently looks like this: gist.github.com/rightfold/9296916eb5f32c6580d6 | 12:09 | |
vendethiel | "grammar Grammar" always make me feel uneasy | 12:10 | |
Kristien | not me :D | 12:11 | |
FROGGS | m: grammar Grammar { }; say Grammar.WHAT | 12:12 | |
camelia | rakudo-moar 9f1544: OUTPUT«(Grammar)» | ||
FROGGS | andreoss: did you just pull and rebuild? perhaps you can remove your install directory | 12:13 | |
12:16
chenryn____ left
12:20
rindolf left
12:21
brrt joined
|
|||
andreoss | FROGGS: yes, i've already removed it, parrot still fails to link | 12:23 | |
12:28
pmurias joined
|
|||
hoelzro | moritz: thanks for fixing that; I didn't think about just grabbing the whole Capture! | 12:32 | |
moritz | hoelzro: you're welcome | ||
12:33
chenryn____ joined
|
|||
moritz | with the right idea, it was trivial. Otherwise it might have been quite nasty | 12:33 | |
12:37
brrt left
12:38
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
|
|||
dalek | p-js: c46c987 | (Pawel Murias)++ | src/vm/js/bin/run_tests: Add passing test 64 to run_tests. |
12:40 | |
p-js: 3cca062 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Add a test for nqp::isnull_s/nqp::null_s. |
|||
p-js: 6b6a8f1 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Implement nqp::isnull_s/nqp::null. |
|||
12:47
chenryn____ left
12:48
risou is now known as risou_awy,
risou_awy is now known as risou
|
|||
pmurias | what would be a good way to test nqp::time_n(), nqp::time_i()? | 12:50 | |
Kristien | m: say('a') ==> say() | 12:53 | |
camelia | rakudo-moar 9f1544: OUTPUT«aTrue» | ||
moritz | pmurias: you can call time_n() several times, and test that the results are increasing | ||
pmurias: and you can sleep (if you have implemented that), and test that the time difference is larger or equal the sleep time | 12:54 | ||
jnthn | Please don't write tests that sleep. | ||
yoleaux | 27 Jan 2015 21:27Z <moritz> jnthn: bisecting of nqp tells me that your commit 98c0b61f8b5fee6e383b6ee03070139ebf04106f "Add parametricity bits to STable." causes the rakudo-parrot core compilation segfault | ||
jnthn | That already makes spectest horribly slow for me during S17... | 12:55 | |
moritz: Yes, matches with github.com/rakudo/rakudo/commit/34...55d1c077e4 having fixed it :) | 12:56 | ||
pmurias | and the other question is how accurate is time_n supposed to be? | ||
is one millisecond resolution enough? | 12:57 | ||
moritz | pmurias: on the femtosecond level, please | ||
:-) | |||
pmurias: there's no spec on how accurate it must be | |||
Kristien | millenia | ||
the function will be fast as hell | |||
nobody runs Perl 6 code anymore in 3001 | 12:58 | ||
moritz | Kristien: the maintainers in 986 years will resurrect you for that statement, just to be able to torture you to death again :-) | ||
dalek | p-js: ab9ea8b | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: Implement nqp::time_n()/nqp::time_i(). |
12:59 | |
Kristien | not me | ||
I won't implement it! | |||
moritz | pmurias: I'd just go with millisecond resolution for now, and if somebody complains, you can still try to improve on it later | ||
but until them, YAGNI applies | |||
13:03
btyler joined
|
|||
vendethiel | .oO( si-defects ) |
13:04 | |
dalek | p-js: 4dc5253 | (Pawel Murias)++ | t/nqp/59-nqpop.t: Add some weak tests for nqp::time_i/nqp::time_n. |
13:05 | |
Kristien | vendethiel: :O | 13:07 | |
I think I should write my compiler in Perl 6. | |||
Instead of in JavaScript. | |||
vendethiel | "put the javascript down, we can help you" | 13:08 | |
Kristien | Though I don't think there's an escodegen-like library for Perl 6. :v | ||
There is Rhino, though. | |||
pmurias | Kristien: what are you compiling? | 13:09 | |
vendethiel | pmurias: lasagnas :P | ||
Kristien | language I'm working on | 13:10 | |
pmurias | any description of that? | ||
Kristien | The language is like Eiffel and Scala and the compiler generates ECMAScript 5 code. | 13:11 | |
Or rather, is to generate ECMAScript 5 code. | 13:12 | ||
pmurias | is it a lightweight layer on javascript like coffescript or something more removed like nqp-js/rakudo-js? | 13:13 | |
vendethiel | less lightweight | ||
it changes semantics, big time | |||
Kristien | Much less lightweight. | 13:14 | |
and much more strict | |||
pmurias | is the code/description somewhere? | 13:15 | |
Kristien | vaguely: github.com/rightfold/lasagnascript | ||
but the compiler is junk currently; I'm rewriting it asap | |||
13:19
kjs_ left
|
|||
Kristien | I want to use an SSA intermediate representation since that's much more flexible than directly converting the AST to an ECMAScript AST | 13:22 | |
pmurias | in nqp-js I'm using a "chunks" abstraction, Chunk.new($type, $sideeffect_free_js_expression, @array_of_js_statements_as_strings_or_chunks_needed_to_make_expression_valid) | 13:26 | |
Kristien | and I want to focus less on ES interop and more on sanity | ||
pmurias: my current compiler has two functions: one to generate statmeents and one to generate an expression | |||
which one is used depends on context | |||
if something can only be compiled to a statement and an expression is expected, it's put in an IIFE | 13:27 | ||
(e.g. throw and switch) | |||
pmurias | IIFE? | ||
Kristien | immiediately-invoked function expression | ||
you can use that to turn statements into expressions | |||
vendethiel | *sometimes* | ||
13:27
yqt joined
|
|||
Kristien | You can't do it for return statements obviously. | 13:27 | |
vendethiel | that'll work with throw (somehow), but will completly fail with break/return | ||
and also, generators | 13:28 | ||
Kristien | Good thing LasagnaScript has neither return statements nor generators. | ||
vendethiel | well, compiling with "yield* IIFE" *should* work | ||
Kristien | I've never written a return statement in Perl :P | 13:30 | |
pmurias | re sanity vs transprency, IMHO not having fully transparent interop is a serious barrier | ||
Kristien | I still have to design the whole interop stuff | 13:32 | |
pmurias | we won't be able to have fully transparent interop in nqp-js/rakudo-js to the degree coffescript because the language is too far removed from javascript | 13:34 | |
Kristien | how does nqp-js do stuff like Int? | 13:35 | |
pmurias | what do you mean by that? | ||
Kristien | well rather, uint32 | ||
e.g. integer arithmetic and overflow stuff | 13:36 | ||
JS has only floats so you have to use bitwise operations on integers | |||
pmurias | that's what I use | ||
Kristien | nice | ||
pmurias | I currently have int32 only | 13:37 | |
nqp doesn't expose uint32 | |||
Kristien | OK | ||
dalek | ecs/coerce-multi: b994904 | hoelzro++ | S13-overloading.pod: Document COERCE |
||
pmurias | having 64bit integers is a harder problem | ||
13:37
sqirrel joined
|
|||
hoelzro | ok, I have implementation, tests, and specs for COERCE in the coerce-multi branch on the various repos | 13:37 | |
what's the next step to getting this accepted/rejected into the current spec? | 13:38 | ||
pmurias | Kristien: the exact code for something like adding two integers is pastie.org/9868250 | 13:39 | |
13:40
DieGraueEminenz joined
|
|||
Kristien | m: my uint $x = 0; $x = $x - 1; say $x | 13:41 | |
camelia | rakudo-moar 9f1544: OUTPUT«-1» | ||
vendethiel | obviously... | ||
Kristien | :V | ||
13:43
brrt joined
|
|||
pmurias | bbl& # job interview for what I fear might be a php job :( | 13:43 | |
Kristien | PHP is nice. | ||
vendethiel | :( | 13:44 | |
brrt | Kristien - that's one of those things you're going to find a lot of people disagreeing with | 13:47 | |
:-P | |||
Kristien | What is? | ||
brrt | php's niceness | ||
Kristien | Oh :P | ||
I wish I were competent enough to implement a static type system. | |||
brrt | php is effective, *if* your program is a CGI-style form-to-database CRUD | 13:48 | |
13:48
DarthGandalf left
|
|||
brrt | otherwise, it's horrible | 13:48 | |
14:00
Kristien left
14:01
dayangkun joined
|
|||
nwc10 | pmurias: I'm curious - where in the world are you? | 14:02 | |
(To be clear, I'm not hiring, nor am I asking "for a friend") | |||
[and this is not because I have no friends :-)] | 14:03 | ||
14:04
salv0 left,
salv0 joined
14:06
Kristien joined
14:07
go|dfish left
|
|||
brrt | how many qualifications do you need for a question :-) | 14:08 | |
anyway, last year the perl devroom was quite full | |||
14:09
_4d47 joined
|
|||
moritz | nwc10: where on the planet are you that you're *not* hiring? :-) | 14:09 | |
hzhou321 | Kristien: instead of using bitwise operations, what's wrong with converting to integer back and forth? | 14:12 | |
nwc10 | moritz: we *were* hiring. But the new sysadmin starts on Monday | ||
and also, there's no space for any more warm bodies | |||
14:12
rindolf joined
14:16
darutoko- joined
14:17
darutoko left
|
|||
Kristien | hzhou321: there are no integers. | 14:19 | |
hzhou321 | Kristien: I thought you were implementing integer types in Javascript | ||
14:25
[Sno] left
|
|||
andreoss | how do i add a new bench case in perl6-bench? I see there're 67 benches, i found some of them in ./perl5 and ./perl6, but not all of them. | 14:26 | |
14:26
kaleem joined
14:28
Sqirrel_ joined
14:30
raiph joined
|
|||
timotimo | andreoss: there are many more in microbenchmarks.pl | 14:34 | |
andreoss | thanks | 14:39 | |
timotimo: if I need to generate some auxiliary input where I place it | 14:40 | ||
moritz | andreoss: can't you put into a heredoc? | 14:41 | |
14:41
lestrrat left
|
|||
Kristien | I'm part of a conspiracy that denies the existence of heredocs. | 14:43 | |
andreoss | moritz: i guess it wouldn't scale this way. I would have to generate random ints within bench case, it may affect results. | ||
moritz | andreoss: but you assume that reading from disc is faster than generating random ints? | ||
14:44
lestrrat joined
14:45
sqirrel left
|
|||
andreoss | % seq 1 100000 | time perl -ne '' | 14:48 | |
0.02user 0.00system 0:00.02elapsed 87%CPU (0avgtext+0avgdata 3948maxresident)k | |||
0inputs+0outputs (0major+174minor)pagefaults 0swaps | |||
'~/src/perl6-bench' (master % u=) | |||
% seq 1 100000 | time perl6 -ne '' | |||
15.73user 0.22system 0:17.28elapsed 92%CPU (0avgtext+0avgdata 196208maxresident)k | |||
39896inputs+0outputs (159major+44841minor)pagefaults 0swaps | |||
moritz: i guess it should be a separated benchmark case | 14:49 | ||
moritz | andreoss: aye | 14:51 | |
andreoss: the you should add -CS to the perl 5 benchmark | |||
andreoss: because Perl 6 also decodes the UTF-8, which the perl 5 doesn't do as-is | 14:52 | ||
14:52
kaleem left
|
|||
Kristien | m: my uint8 $x = 255; $x += 1; say $x; | 14:53 | |
camelia | rakudo-moar 9f1544: OUTPUT«256» | ||
andreoss | moritz: what's -CS? | 14:54 | |
Kristien | m: my uint32 $x = 2**32-1; $x += 1; say $x; | ||
camelia | rakudo-moar 9f1544: OUTPUT«4294967296» | ||
andreoss | % seq 1 100000 | time perl -Mopen=":std,:encoding(utf-8)" -ne 'utf8::decode $_' | 14:55 | |
0.07user 0.00system 0:00.08elapsed 85%CPU (0avgtext+0avgdata 5600maxresident)k | |||
14:57
lestrrat left
15:05
Kristien left
15:06
lestrrat joined
15:07
kaleem joined,
fwilson left,
molaf joined
15:11
Woodi joined
15:13
sqirrel joined
15:14
kurahaupo left
15:16
kaleem left,
gfldex joined
15:17
lestrrat left
15:21
lestrrat joined
15:22
dayangkun left
|
|||
rjbs- | So, what's going on on FOSDEM Friday? :) | 15:25 | |
15:26
Rounin left,
lestrrat left
|
|||
tadzik | slide hacking... :P | 15:26 | |
15:27
fwilson joined
15:28
lestrrat joined
15:29
kaleem joined
|
|||
moritz | wouldn't the conference be more fun if you did the slide hacking before? :-) | 15:31 | |
El_Che | rjbs-: there is a drink | ||
15:31
kurahaupo joined
|
|||
tadzik | moritz: I wouldn't know :P | 15:31 | |
15:32
abraxxa left,
Kristien joined
15:33
rjbs- is now known as rjbs,
rjbs left,
rjbs joined
15:36
lestrrat left
|
|||
FROGGS | andreoss: does that cover your bug? github.com/parrot/parrot/issues?q=...s%3Aclosed | 15:37 | |
15:38
yqt left
15:40
brrt left
15:44
lestrrat joined
15:47
kaleem left
15:48
mr-foobar joined
15:51
Kristien left
15:53
lestrrat left
15:56
telex left
15:58
telex joined
15:59
lestrrat joined
|
|||
andreoss | FROGGS: i have a simple script for building rakudo on cron, i found out today that it doesn't work anymore. As i see Configure.pl trying to get sources from git repositories with wrong tags. So I can't build master anymore. The attempt to build the latest release ends with linkage errors. | 16:04 | |
may be i'm doing something wrong | 16:05 | ||
PerlJam | "build master"? You mean "nom", right? | 16:07 | |
FROGGS | andreoss: can you gist your build commands? | 16:08 | |
16:09
andreoss_ joined
16:10
andreoss left,
sqirrel__ joined
16:13
Mouq joined,
AndChat-458964 joined
|
|||
andreoss_ | PerlJam: what branch comes from just cloning repo? | 16:13 | |
dalek | p: 3766c15 | Mouq++ | Configure.pl: Correct --git-reference doc, mj41++ |
16:14 | |
16:14
sqirrel left
|
|||
dalek | kudo/nom: 21265fc | Mouq++ | Configure.pl: Correct --git-reference doc, mj41++ |
16:14 | |
16:14
Sqirrel_ left
16:16
raiph left
|
|||
PerlJam | andreoss_: pretty sure you get nom by default. | 16:18 | |
(unless the universe has shifted and I didn't notice :) | 16:19 | ||
16:20
lestrrat left
16:22
raiph joined
16:25
lestrrat joined,
sqirrel__ left
|
|||
masak | you get nom by default. | 16:28 | |
16:28
sqirrel__ joined
16:29
spider-mario joined
16:31
andreoss_ left,
profan left
16:32
lestrrat left,
profan joined
|
|||
Mouq | What's buggy about RT #68572 ? | 16:35 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=68572 | ||
Mouq | m: role A { class B {} } | ||
camelia | ( no output ) | ||
Mouq | 'class' is lexically scoped to A. I could see a role that uses a local class internally in one of its methods... and I don't really see why we should forbid a user from being able to do so | 16:36 | |
16:37
lestrrat joined
|
|||
PerlJam | Mouq: S12:106 | 16:38 | |
synopsebot | Link: perlcabal.org/syn/S12.html#line_106 | ||
Mouq | Oh! Idk why I thought class was automatically my. PerlJam++ | 16:39 | |
PerlJam | Mouq: probably because P6 leans heavily on lexicals :) | ||
Mouq | True :) | 16:40 | |
raydiak | good morning #perl6 o/ | 16:43 | |
16:43
zakharyas left
|
|||
hoelzro | o/ raydiak | 16:44 | |
raydiak | hi hoelzro how goes it? | 16:45 | |
16:47
[Sno] joined
|
|||
japhb | .ask andreoss Do you still need help creating your perl6-bench test? | 16:48 | |
yoleaux | japhb: I'll pass your message to andreoss. | ||
hoelzro | it's going alright; how about yourself? | 16:49 | |
dalek | kudo/nom: 358d1d9 | Mouq++ | src/Perl6/Grammar.nqp: [Pod] Allow indented code blocks to contain blank lines, moritz++ Previously, this code would produce two code blocks, where one was preferred: =begin pod Here's our Foo role: role Foo { has $.bar; method baz { ... } } =end pod |
||
ast: 88d0e1e | Mouq++ | S26-documentation/04-code.t: Add test that indented code blocks span blank lines |
|||
16:52
AndChat-458964 left
|
|||
raydiak | I'm currently treading water somewhere between "not bad" and "pretty good" :) | 16:52 | |
16:53
Sqirrel joined
|
|||
tadzik | hmm. If I do 'my $b = 5', $b is a Scalar. How do I get to that Scalar? | 16:53 | |
raydiak | is that what VAR does? | 16:54 | |
m: my $b = 5; say $b.VAR | |||
camelia | rakudo-moar 9f1544: OUTPUT«5» | ||
tadzik | indeed | ||
raydiak | m: my $b = 5; say VAR($b).WHAT | ||
camelia | rakudo-moar 9f1544: OUTPUT«(Scalar)» | ||
tadzik | $b.VAR.WHAT.say... exactly :) | ||
thanks raydiak | |||
raydiak | yw :) | 16:55 | |
pmurias | nwc10: Poland, Wrocław, don't have strong ties to that place that would keep me from relocating | ||
nwc10 | pmurias: ah OK (thanks for the answer, and happening to answer when I was looking at the channel) | 16:57 | |
_4d47 | is there a way to get a class method reference like for &subs ? | ||
PerlJam | _4d47: it's just a subroutine reference as always. | 16:58 | |
16:59
go|dfish joined,
kjs_ joined
|
|||
raydiak | _4d47: you're probably looking for one of .^can, .^lookup, or .^find_method...someone else here probably knows which you should use when :) | 17:02 | |
17:03
lestrrat left
|
|||
raydiak | m: class Foo { method bar () {} }; say Foo.^lookup('bar').perl | 17:03 | |
camelia | rakudo-moar 9f1544: OUTPUT«method bar (Foo $: *%_) { #`(Method|73166136) ... }» | ||
_4d47 | PerlJam: dont know how, eg `class A { meth d m { ...} }` raydiak: aah thx :) was trying things like Foo::&bar | 17:06 | |
17:06
Kristien joined
|
|||
Kristien | hi | 17:06 | |
gfldex | m: class A { our method m1(){} }; my $o = A.new(); say (&A::m1).WHAT; | 17:07 | |
camelia | rakudo-moar 9f1544: OUTPUT«(Method)» | ||
raydiak | _4d47: np :) that will still work if you use "our method" | ||
gfldex++ | |||
17:08
rurban_ left,
lestrrat joined
17:09
[Tux] left
|
|||
gfldex | m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); say (&A::m1)($o:); | 17:09 | |
camelia | rakudo-moar 9f1544: OUTPUT«Too few positionals passed; expected 1 argument but got 0 in method m1 at /tmp/cNLgvRY2C4:1 in block <unit> at /tmp/cNLgvRY2C4:1» | ||
gfldex | m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o:); | 17:10 | |
camelia | rakudo-moar 9f1544: OUTPUT«===SORRY!=== Error while compiling /tmp/eGQcBU5o2pInvocant colon not allowed hereat /tmp/eGQcBU5o2p:1------> 'oi!' } }; my $o = A.new(); (&A::m1)($o:⏏);» | ||
raydiak | m: class A { our method m1(){ say 'oi!' } }; my $o = A.new(); (&A::m1)($o); | ||
camelia | rakudo-moar 9f1544: OUTPUT«oi!» | ||
17:14
[Tux] joined
|
|||
raydiak | so last night I wrote a crude PNG output module in < 100 lines...while I'd like to extend it to be full-featured, it's easlily possible that it will be superseded by someones libpng wrapper or something before that happens | 17:17 | |
what to name it? | |||
17:17
fhelmberger left
17:20
FROGGS left
|
|||
japhb | Have we gotten a ::PP naming convention in the Perl 6 world yet? | 17:21 | |
raydiak | not that I've noticed, but it occured to me | ||
japhb | And is it output only? | ||
raydiak | for now | 17:22 | |
Kristien | raydiak: call it PN6 | ||
japhb | Oh dear. | ||
17:22
lestrrat left
|
|||
raydiak | heh :) | 17:22 | |
japhb | Image::PNG::PP? | 17:23 | |
or Image::PNG::Writer::PP? | |||
raydiak | it does rely on Compress::Zlib, though | ||
japhb | Maybe just Image::PNG::Writer then | ||
And let someone else have Image::PNG::libpng | 17:24 | ||
raydiak | admittedly the main goal was to make it portable, though idk to what extent it currently is w/the zlib bits | ||
japhb | I guess the p5 version actually capitalizes the L | 17:25 | |
zlib is really, really portable. Whether our binding to that is as portable is another question. | |||
17:25
Rounin joined
|
|||
raydiak | and the problem w/the ::Writer is that I may very well extend it for reading too, it's just not there yet...it's like trying to name a kid before s/he has developed a personality :P | 17:26 | |
17:27
lestrrat joined
|
|||
raydiak | but taking over "Image::PNG" with some 90-something lines I hacked together in the middle of the night and have a less-than-full commitment to pursuing seems wrong too, of course | 17:28 | |
japhb | It's not like you can't fork your own project, or make a new one from the bones of the old. | ||
raydiak | true | 17:31 | |
how does Image::PNG::Portable sound? non-commital, but at least conveys the intent | 17:33 | ||
17:34
lestrrat left
17:38
perl6_newbe joined
|
|||
perl6_newbe | Hi guys. | 17:38 | |
raydiak | hello perl6_newbe | ||
17:39
lestrrat joined
|
|||
perl6_newbe | I was looking for help to move a file with perl6. But did not find any docu. IO::Path did not provide move. How can I move a file? | 17:39 | |
jdv79 | is there a profiler like NYTProf yet? | ||
17:40
[Sno] left
|
|||
Mouq | perl6_newbe: Try rename? | 17:40 | |
raydiak | perl6_newbe: design.perl6.org/S32/IO.html might help | 17:41 | |
Mouq | raydiak: It looks like move() is NYI, however | 17:42 | |
Or .move or whatever | |||
raydiak | ah...then copy and unlink? | 17:43 | |
if rename fails, I mean | |||
jdv79 | not automagically if that's what you mean | ||
rename/move is atomic | 17:44 | ||
raydiak | no, I meant as a workaround | ||
Mouq | m: nqp::move | ||
camelia | rakudo-moar 358d1d: OUTPUT«===SORRY!===No registered operation handler for 'move'» | ||
perl6_newbe | OK thx. I want to move the file to a new location, so renaming is not what I want | 17:45 | |
jdv79 | that's one peeve i have with File::Copy::move in p5 land - it just falls back without option iirc | ||
perl6_newbe | Try copy and unlink | ||
japhb | jdv79: Moar has a profiler. It's not as good as NYTProf yet, but it's a decent start. It's currently a bit hobbled by the design of list processing in Rakudo ... but that's due to be replaced in the GLR. | ||
raydiak | oh and there is perl6 --profile, which will spit out a pretty html file, but will bring your browser to its knees on large outputs | ||
wow I'm like 10 seconds behind everyone today :) | |||
jdv79 | so 2 options but nothing great yet | ||
i'll have to make a note to test those out soon, thanks. | 17:46 | ||
raydiak | --profile is the one japhb++ was talking about too | ||
for moar it does html, under parrot it gives some other format I can't remember...don't think we have jvm profiler at all | 17:47 | ||
japhb | People who teach systems design (jnthn, masak, I'm looking at you two especially): One of my coworkers was asking for good books on system architecture and design. I have spent more time studying subsystems than overall architecture during this millenium. What books would you recommend? | 17:48 | |
Kristien | something from the previous millenium, when things were still sane | 17:53 | |
17:54
kurahaupo left
|
|||
perl6_newbe | Great. Copy and Unlink worked like a charm. Not so comfortable like a move method, but it does what it should. THX @ all | 17:56 | |
17:56
lestrrat left
18:00
dakkar left
|
|||
raydiak | you're welcome perl6_newbe...good luck! | 18:00 | |
Mouq | perl6_newbe: \o/ I'll file a bug report for missing .move method if one isn't already in | 18:02 | |
18:03
[Sno] joined
|
|||
dalek | kudo/nom: 5275eb9 | Mouq++ | src/core/array_slice.pm: Fix @a[0;0] autoviv |
18:04 | |
18:04
sqirrel__ left
18:05
lestrrat joined
|
|||
skids | Wait, we have multidim now? When did that happen? | 18:06 | |
moritz | skids: gradually. And we only have it partially right now | ||
Mouq | skids: We don't have multidim, but we have multidim access :P | 18:07 | |
raydiak | m: my @a; @a[0;0] = 1; @a.perl.say | ||
camelia | rakudo-moar 358d1d: OUTPUT«Array.new()» | ||
skids | Hah. OK. | ||
raydiak | m: my @a = [^3],[^3]; @a[0;0] = 1; @a.perl.say | ||
camelia | rakudo-moar 358d1d: OUTPUT«Array.new([1, 1, 2], [0, 1, 2])» | ||
18:10
lestrrat left
18:11
kjs_ left
18:13
araujo left
|
|||
dalek | kudo/nom: 166cd3c | Mouq++ | src/core/hash_slice.pm: Fix %h{<foo>;<bar>} autoviv while we're at it :P |
18:13 | |
18:14
araujo joined,
lestrrat joined
|
|||
jdv79 | i could write a book about how not to do systems design based on my $work experiences. could call it the Edison approach. | 18:16 | |
perl6_newbe | THX Mouq. I guess move is mentioned in the spec IO | 18:18 | |
18:19
lestrrat left
|
|||
perl6_newbe | S32::IO. However, would be great as feature request ^^ | 18:19 | |
Kristien | I'm going to write my compiler in Perl 6! | ||
moritz | _Ù'A | 18:20 | |
*' | |||
dalek | ast: d3e4994 | Mouq++ | S09-autovivification/autovivification.t: Test for autovivification on multidim access |
||
18:21
Mso150 joined,
beastd joined
|
|||
Mouq | Kristien: :D Perl 6 grammars rock | 18:21 | |
Kristien | yeah | ||
moritz | sorry, small one captured the keyboard | 18:22 | |
raydiak | that one just can't wait to be old enough to hang out in #perl6, eh? :) | 18:23 | |
moritz | seems like :-) | ||
raydiak | .oO( can't even type and already practicing Whatever stars and balanced quoting ) |
18:24 | |
18:24
lestrrat joined
|
|||
raydiak | do we have an easy way to turn a (non-negative) integer into a list of bytes? e.g. 511 would become (1,255) | 18:27 | |
moritz | pack? | ||
vendethiel | wow, niecza's core.setting is... confusing | 18:28 | |
18:29
lestrrat left
|
|||
raydiak | moritz: looking at pack now, but I haven't tried it in P6...have you? I heard it's largely unimplemented | 18:30 | |
skids | m: buf8.new(511 X+> (8,0)).elems.say | ||
camelia | rakudo-moar 358d1d: OUTPUT«2» | ||
moritz | raydiak: I've patched several bugs in unpack while trying to document it | ||
skids | m: buf8.new(511 X+> (8,0)).values.say | 18:31 | |
camelia | rakudo-moar 358d1d: OUTPUT«1 255» | ||
moritz | raydiak: but that one case might actually be implemented :-) | ||
raydiak | ah, true enough...thanks :) I'll give it a shot | ||
18:33
lestrrat joined
|
|||
Mouq | m: pack("n", 511).values.say | 18:37 | |
camelia | rakudo-moar 5275eb: OUTPUT«1 255» | ||
18:40
rurban_ joined
18:41
Sqirrel left,
Sqirrel joined
|
|||
raydiak | thanks Mouq :) | 18:41 | |
and somehow I overlooked skids++ answer, which is clever b/c somehow I never thought to use X or Z w/bitops | 18:42 | ||
18:45
abraxxa joined
|
|||
raydiak notices pack missing from doc.perl6.org/type/Str | 18:46 | ||
18:46
dwarring joined
|
|||
Mouq would probably have it be alonside unpack in doc.perl6.org/type/Buf | 18:48 | ||
Err | |||
* doc.perl6.org/type/Blob ? | 18:49 | ||
18:49
virtualsue left
|
|||
Mouq doesn't admit to understanding the Buf/Blob mess | 18:50 | ||
18:52
abraxxa left
|
|||
masak | raydiak: maybe submit a github issue? | 18:52 | |
hm, there's a `pack` sub in the setting, but no `pack` method? | 18:54 | ||
18:54
Mouq left
18:55
perl6_newbe left
18:58
_4d47 left,
xfix left
18:59
kjs_ joined,
lestrrat left
19:00
Mouq joined
|
|||
Mouq | masak: Already a GH issue :P | 19:01 | |
19:02
rindolf left
19:03
brrt joined,
FROGGS joined,
brrt left
|
|||
dalek | ast: 6e074b0 | (David Warring [email@hidden.address] | integration/weird-errors.t: added test for RT #123686 multi sub with where clause + temp stress Fudged on rakudo.moar |
19:04 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123686 | ||
19:05
abraxxa joined,
lestrrat joined
19:06
Kristien left
19:11
Woodi left
|
|||
skids | Buf/Blob is not much of a mess anymore, IMO. | 19:17 | |
19:19
lsm-desktop joined,
bronco_creek joined
|
|||
bronco_creek | o/ p6 | 19:20 | |
masak | \o | ||
bronco_creek | Is there a union operator for SetHash objects? | 19:21 | |
I see operators for membership, intersection, and xor, but not union. | |||
19:23
Mouq left
|
|||
raydiak | does ∪ do what you want? or maybe SetHash.new(|%a, |%b) ? | 19:32 | |
19:37
lestrrat left
19:41
go|dfish left
19:42
lestrrat joined
|
|||
bronco_creek | raydak: Thanks, I didn't see u documented, but I'll give it a try. | 19:44 | |
raydiak: BTW, how do you type unicode chars? | 19:45 | ||
jercos | with a unicode keyboard :p | ||
(it depends on your OS, and sometimes what character you want to type) | |||
bronco_creek | Might not be compatible with my monocode fingers... | 19:46 | |
jercos | For example on *nix inside GNU screen I can hit ^a^v>> to go » | ||
to get* rather | |||
bronco_creek | jercos: Thanks, I'll try than at home on my ubuntu system. | 19:47 | |
raydiak | bronco_creek: atm I'm using IBus, but for most things like «» the compose key (whatever that means in your OS) works fine | 19:48 | |
jercos | :) I think in most modern DEs you can press control-shift-u, then type the hex codepoint of a unicode character and insert it, for the really weird ones. | ||
☃ for example | |||
(there's no man like a snowman) | |||
19:49
go|dfish joined
|
|||
raydiak | also if you use vim, you can get a long way on just ^K and :digraphs | 19:49 | |
skids | .oO(class Proxy has eluded documentation.) |
||
gfldex | i just googled "unicode keyboard" came to the conclusion that Perl 6 will create a sizeable market gap | ||
is there anything Perl 6 cant do? :-> | |||
jercos | time to revive the space cadet :p | 19:50 | |
bronco_creek | jercos: Snowman is just the thing for the US Northeast, about now. Here in CO it is sunny and dry. | ||
timotimo | it seems like rakudo-moarvm is extremely slow at deep_scan_for_interpolated_string_var | ||
jercos | ☂ ☁ ☀ | ||
timotimo | 247.0x slower than rakudo-jvm; rakudo-parrot on the other hand is only 5x slower than rakudo-jvm | ||
jercos | world.std.com/~jdostale/kbd/SpaceCadet3.jpeg <-- all of these are used for something in p6, right? :p | 19:51 | |
timotimo | loop_empty_native is about 10x slower than rakudo-jvm | ||
raydiak | jercos: no no only like half of them, we leave the other half for you to define with sub infix:<> | 19:52 | |
jercos | haha, fair enough | 19:53 | |
raydiak | :) | ||
19:55
Kristien joined
|
|||
bronco_creek | So, (|) works as the union operator for the unicode-impaired, but someone might like to add it to the Perl 6 Documentation page for class SetHash. | 19:55 | |
moritz | bronco_creek: you could be that person | 20:01 | |
bronco_creek: if you tell my your github ID, I'll give you direct access | |||
PerlJam | moritz++ | ||
bronco_creek | moritz: I'm not a git user, but am willing to create an account. Documentation is the one area where I have the skills to make a useful contribution to P6. | 20:04 | |
lizmat | bronco_creek: to make a list of set operators and their texas equivalents, you might want to look at the source of src/core/set_operators.pm | ||
bronco_creek | lizmat: Thanks. | 20:05 | |
moritz | bronco_creek: I'll help you if I can | ||
20:06
xfix joined
|
|||
skids | m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); | 20:06 | |
camelia | rakudo-moar 166cd3: OUTPUT«FETCH» | ||
skids | m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); | ||
camelia | rakudo-moar 166cd3: OUTPUT«FETCHFETCH» | ||
20:07
raiph left
|
|||
skids scratches head | 20:07 | ||
moritz | skids: one of them will be for evaluating the last statement in sink context | 20:11 | |
in fact, both | |||
it does a .can('sink') | |||
lizmat | m: my $a = Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1 | ||
camelia | rakudo-moar 166cd3: OUTPUT«FETCH» | ||
lizmat | m: my $a := Proxy.new( FETCH => { "FETCH".say }, STORE => { "STORE".say } ); 1 | ||
camelia | ( no output ) | ||
20:11
Rounin left
|
|||
moritz | oh, and one for the type check, presumably | 20:11 | |
at least for assignment | |||
masak | we should totally have a FAQ page somewhere called "how do you type Unicode characters?" | 20:12 | |
moritz | masak: write it! github.com/perl6/faq/ | ||
lizmat | if I know the name, I frequently use .u NAME on yoleaux and copy/paste :-) | 20:13 | |
.u SNOWMAN | |||
yoleaux | U+2603 SNOWMAN [So] (☃) | ||
moritz | lizmat: there's also 'cpanm App::Uni' :-) | ||
masak | moritz: I can already see that my focus currently is too fragile and distractable right now to actually write such a page. | ||
PerlJam still doesn't know how to type the unicode "newline" character on his keyboard | 20:14 | ||
20:14
darutoko- left
|
|||
masak | but I was hoping I could trigger a #perl6 discussion on it :) | 20:14 | |
I use `uni` (App::Uni) a lot, like moritz++ said. | |||
bronco_creek | moritz: I've created a github account with username bronco-creek (note the dash - not the underscore) | ||
20:15
raiph joined
|
|||
moritz | bronco_creek: invitation sent. You should get an e-mail with a link that allows you to join the organization | 20:15 | |
bronco_creek: github.com/perl6/doc/ is where all the fun is | |||
raydiak | I like ibus w/the latex method...covers mostly everything I use that can't easily be typed some other way, and way easier to remember some things (for me) | ||
moritz usually relies on vim digraphs | 20:16 | ||
masak | when I used Emacs more frequently, I used LEIM, which is great. | ||
PerlJam | moritz: me too | ||
masak | and then there's vim's ^K, yes. | ||
maybe irssi macros can produce Unicode characters. probably. | |||
bronco_creek | moritz: Thanks. I'll check in here if/when I make any changes. Or maybe there is some automated notification? | ||
20:17
raiph left
|
|||
moritz | bronco_creek: we get commit messages reported by a bot here | 20:17 | |
bronco_creek: and github also has notifications | |||
20:17
kjs_ left
|
|||
bronco_creek | moritz: OK. Good to know. | 20:17 | |
dalek | c: e68289c | moritz++ | TODO: remove done items from TODO file |
20:20 | |
moritz | bronco_creek: like this: ^^ | ||
dalek | Heuristic branch merge: pushed 18 commits to rakudo/newio by lizmat | 20:22 | |
20:22
[Sno] left
|
|||
bronco_creek | moritz: I see. Wasn't sure whether dalek reported just code changes or docs as well. | 20:23 | |
moritz | bronco_creek: dalek just reports changes in git, and we have our docs in git | ||
20:24
[Sno] joined
|
|||
lizmat | .tell Mouq re your [0;0] autoviv patches: didn't you lose all adverb handling on there by accident? | 20:24 | |
yoleaux | lizmat: I'll pass your message to Mouq. | ||
skids | m: my $d = buf8.new(255,2); my $e := subbuf-rw($d,0,1); $e = buf8.new(4); $d.perl.say; $e.perl.say; # \o/ | ||
camelia | rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(4, 2)Buf[uint8].new(255)» | ||
skids | m: my $d = buf8.new(255,2); my $e := subbuf-rw($d,0,1); $e[0] = 4; $d.perl.say; $e.perl.say; # /o\ | ||
camelia | rakudo-moar 166cd3: OUTPUT«Buf[uint8].new(255, 2)Buf[uint8].new(4)» | ||
20:33
andreoss joined,
pdcawley left
20:34
bjz left
|
|||
pmurias | masak: what editor do you use now? | 20:34 | |
vendethiel | pmurias: vim :p | 20:35 | |
vendethiel started showing vim after seeing lizmat++, cognominal++ and so many others use it at fpw14 :) | |||
pmurias | showing vim? | 20:36 | |
tony-o_ | :wq | ||
hugme hugs tony-o_, good vi(m) user! | |||
vendethiel | pmurias: using vim. whoops! | 20:37 | |
pmurias | I use vim too, but adding IDEish Perl6 support to vim won't be fun :/ | 20:38 | |
vendethiel | right, vim is pretty bad at ideslaves :( | ||
pmurias | ideslaves? | ||
vendethiel | pmurias: have you tried neovim? I've heard it's got good support for linters/compilers/etc | ||
pmurias | not yet | 20:39 | |
vendethiel | pmurias: I call "ideslave" the bridge a compiler might expose for an IDE/editor | ||
20:39
bronco_creek left
20:43
espadrine left
|
|||
dalek | kudo/newio: e02630e | lizmat++ | src/core/Exception.pm: Add X::IO::Move exception |
20:46 | |
pmurias | vendethiel: can find any info about that improved support yet | 20:47 | |
vendethiel | pmurias: I think it's about 1) better scripting language 2) running tasks in parallel | ||
masak | pmurias: I'm on vim, mostly out of sheer habit. | 20:50 | |
pmurias: I do like Emacs, though. I actually prefer it for prose (and vim for code), but sometimes I forget to switch. | |||
20:51
andreoss left
|
|||
pmurias | using both emacs/vim seems to be very rare, it appears that usally the user of one really hate the other editor | 20:52 | |
20:52
silug joined
|
|||
geekosaur uses both | 20:54 | ||
jnthn laughs | 20:55 | ||
uh | |||
jnthn laughs at the silly fighting and just uses Notepad++ :D | |||
pmurias was once shocked when he saw jnthn use the windows dos-style command line ;) | |||
jnthn | Old habbits die hard... :) | 20:56 | |
20:58
konsolebox joined
|
|||
colomon | These days I hate Windows, but I still can’t imagine using it without a command-line. | 20:58 | |
pmurias | jnthn: have you seen my setboolspec question? | 21:00 | |
jnthn | pmurias: Uh, no, I musta missed it... | ||
jnthn spent the day doing airports, planes, trains, all while recovering from food poisoning, or whatever it was... | 21:01 | ||
With a transport strike thrown in for good measure. | |||
FROGGS | hehe | ||
pmurias | jnthn: is there any need to setboolspec with mode 5 (MODE_NOT_TYPE_OBJECT) on NQPRoute and NQPRegex, as it appears to be the default anyway? | ||
jnthn: doesn't seem very fun | 21:02 | ||
jnthn | No, it wasn't... Hope to be | ||
argh | |||
Hope to be on better form by FOSDEM :) | |||
Did you check if it's done as the default on all backends? | |||
I think originally I didn't have any kind of defaulting there. | 21:03 | ||
21:03
lestrrat left,
DieGraueEminenz left
|
|||
jnthn | If it's consistenly defaulting to that everywhere by now, we can drop them. | 21:03 | |
(And if it isn't, I'm up for making it default to it everywhere.) | 21:04 | ||
21:04
Mso150 left
21:05
burnersk left,
_sri left
|
|||
vendethiel | masak: I actually use emacs with evil mode for lisp coding :P | 21:06 | |
vendethiel was *very* surprised when he first saw jnthn live-coding... with notepad++ and no syntax highlighting! | |||
21:06
nyuszika7h left
21:07
_sri joined,
avarab joined,
burnersk joined
21:08
lestrrat joined
21:09
espadrine joined,
avar left
|
|||
Kristien | The only language I can read code in without syntax highlighting is Go. | 21:10 | |
jnthn | I don't tend to miss syntax highlighting for Perl, 'cus thanks to its rather wide use of chars, different things tend to look rather different :) | 21:11 | |
21:11
konsolebox left
|
|||
jnthn | Without coloring them | 21:11 | |
xfix | Well, I also program Perl 6 without syntax highlighting, because wrong syntax highlighting is worse than no syntax highlighting. | 21:12 | |
FROGGS | Notepad++ has syntax highlighting for Perl... | ||
xfix | And Perl 5 is not Perl 6. | ||
jnthn | FROGGS: Yeah, but...what xfix said :) | ||
FROGGS | and Notepad++ is what I use too when I am on windows (and SciTE on linux) | ||
vendethiel | xfix: actually, I prefer a poor syntax hl than none | ||
PerlJam | tchrist used to say that syntax highlighting was often a detriment to the Perl programmer because highlighters often got it wrong (this was years ago, so maybe highlighters have gotten better since) | ||
21:13
Mso150 joined,
broquaint left
|
|||
vendethiel | not if it's *completly* wrong, ofc, but perl5 syntax highlighting works fine | 21:13 | |
FROGGS | jnthn: P5 highlighting is usually perfectly fine... as long as you don't use heredocs I guess | ||
21:13
nyuszika7h joined
|
|||
vendethiel | yeah, heredocs break lots of hl | 21:13 | |
xfix | Until you realize that Perl 6 rules are highlighted totally wrongly, and \/ is interpreted as beginning of regex. | ||
jnthn | On Linux, or during my occasional trip to OSX land to debug stuff, I typically use Vim :) | ||
xfix | While you are writting a grammar. | ||
muraiki | for perl5 in Sublime Text, the "ModernPerl" syntax plugin works really nicely, even with variables in heredocs | 21:14 | |
vendethiel | xfix: I *never* use \ anyways :P | ||
FROGGS | vendethiel: well, / '/' / does not highlight well either :o) | ||
xfix | But that isn't even an issue. My text editor interprets stuff `s` as start of regular expression. | ||
pyrimidine | Inline | ||
vendethiel | no, but {'/'} does | 21:15 | |
pyrimidine | bah | ||
Inline seems to be broken: smoke.perl6.org/project/Inline | |||
FROGGS | hmmm | ||
lemme check | |||
xfix | rule { something something something s? } # nope, sees beginning of pattern replacement here | ||
pyrimidine | gist.github.com/cjfields/62ec00ccf109a385e199 | 21:16 | |
FROGGS: ^^ | |||
xfix | Not to say, it bothers me seeing some keywords highlighted, and some not. | ||
21:16
pierrot left
|
|||
FROGGS | pyrimidine: that does not make any sense | 21:17 | |
FROGGS scratches his head | |||
pyrimidine | FROGGS: I found this when trying to install Compress::Zlib::Raw via panda | 21:18 | |
==> Testing Inline | |||
Too many positionals passed; expected 2 arguments but got 3 | |||
in method postcircumfix:<( )> at /Users/cjfields/bioperl/bioperl6/.panda-work/1422479597_1/lib/Inline/C.pm:18 | |||
in block <unit> at t/c.t:18 | |||
t/c.t .. | |||
Dubious, test returned 255 (wstat 65280, 0xff00) | |||
Failed 1/1 subtests | |||
moritz | FROGGS: hoelzro++ changed the signature that postcircumfix:<( )> needs | ||
pyrimidine | Test Summary Report | ||
------------------- | |||
t/c.t (Wstat: 65280 Tests: 0 Failed: 0) | |||
Non-zero exit status: 255 | |||
FROGGS | O.o | ||
pyrimidine | Parse errors: Bad plan. You planned 1 tests but ran 0. | ||
Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.46 cusr 0.05 csys = 0.53 CPU) | |||
moritz | pyrimidine: please don't post so much mere | ||
pyrimidine | Result: FAIL | ||
test stage failed for Inline: Tests failed | |||
21:18
xfix left
|
|||
pyrimidine | in method install at lib/Panda.pm:124 | 21:18 | |
in block at lib/Panda.pm:1 | |||
in method resolve at lib/Panda.pm:183 | |||
timotimo | please don't do that :( | ||
pyrimidine | in sub MAIN at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:20 | ||
in sub MAIN at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:18 | |||
in block <unit> at /Users/cjfields/src/rakudo/install/languages/perl6/site/bin/panda:69 | |||
Failure Summary | |||
FROGGS | ENUFF! | ||
pyrimidine | ---------------- | ||
Compress::Zlib::Raw | 21:19 | ||
*test stage failed for Inline: Tests failed | |||
Bah (again) | |||
moritz: sorry, that was supposed to gist | |||
21:19
pierrot joined
|
|||
moritz | FROGGS: postcircumfix:<( )> now gets the actual arguments like any routine, not a capture as a single argument | 21:19 | |
21:20
avarab is now known as avar
|
|||
FROGGS | moritz: I think I see | 21:20 | |
dalek | kudo/newio: 809e9c9 | lizmat++ | src/core/IO.pm: Implement MOVE-PATH helper sub |
21:21 | |
pmurias | jnthn: why have both die and die_s when both of them take a string? | 21:23 | |
ahh it's parrot shenigans | 21:24 | ||
FROGGS | QAST::MASTOperations.add_core_moarop_mapping('die', 'die'); | ||
QAST::MASTOperations.add_core_moarop_mapping('die_s', 'die'); | |||
I'd propose you do the same as moar here :o) | |||
pmurias | * shenanigans | 21:25 | |
jnthn | "historical reasons" | ||
:) | |||
pmurias | FROGGS: jvm also handles them exactly the same | ||
parrot-- handles them differently | |||
FROGGS | jnthn: when do you arrive in Brussels? | 21:26 | |
psch | o/ | ||
jnthn | FROGGS: Friday, 1pm | 21:27 | |
psch | **ptr with NativeCall was somehow with a CArray around a CPtr, do i remember that right? | ||
pmurias | we should have some nqp technical debt file | ||
FROGGS | jnthn: I guess I'll be there at 10am | ||
dalek | osystem: d706cd3 | raydiak++ | META.list: Add Image::PNG::Portable to META.list |
||
arnsholt | psch: Yup | ||
masak | ok, I'm in a situation where I want to (a) read stuff from a database (a well-placed SELECT), and (b) render some HTML from the results. I don't want to weigh myself down heavily with any frameworks, and besides, I don't think Perl 6 has them yet. any suggestions wrt how to do the query and how to do the HTML templating? | ||
FROGGS | jnthn: do you know if woolfy and lizmat will already prep the booth? where do we meet? | 21:28 | |
arnsholt | psch: Because a one-element array and a pointer are basically the same | ||
lizmat | FROGGS: the booth will be prepped on Sat morning | ||
psch | thanks arnsholt++ | ||
lizmat | I believe we have access to the building from 8am | ||
masak | when I think about it, I'm just leaning towards doing the query directly, get an array out, and then somehow .subst some suitable projection of the array into an HTML template. | ||
FROGGS | lizmat: ahh, okay, I'll be there :o) | 21:29 | |
lizmat | ah, correction: apparently it's officially at 9am that we have access | ||
FROGGS | though, in case Brussels is not extra exciting I might go straight for the hotel and find a place to sit comfortable :D | ||
lizmat | well, the weather is definitely not cooperating for a nice walk around the town | 21:30 | |
woolfy | FROGGS: officially, buildup of the booth starts at 09:00. But since we have a lot of boxes to move, I am going to ask if that really is the toime the doors open... | ||
lizmat | we did that today and got completely rained out and blown away at some places | ||
jnthn | Thanks to being ill the last days, I've still a lot to do with preparing my talk. | ||
lizmat | at least the Atomium was dry on the inside | 21:31 | |
jnthn | So I'll probably be hiding away much of Friday. | ||
muraiki | masak: if you figure out how to do that, I'd be interested in seeing it :) | ||
masak | hm, the spec on `rmdir($path)` is a little skinny. how do I recursively remove a directory in Perl 6? | ||
muraiki: got it. I'll let you know. | |||
FROGGS | masak: also, how to do mkdir -p? | 21:32 | |
Juerd | masak: system <<rm -rf "$path">>? ;-) | ||
jnthn | masak: Somebody added a Tag module to the ecosystem the other day that may be useful for the generating part. | ||
masak | Juerd: we don't have `system`. we have `shell` and we have `run`. | ||
21:32
telex left
|
|||
masak | Juerd: but yes, I just did a `shell`. | 21:33 | |
Juerd | masak: Why shell, not run? | ||
masak | jnthn: I will check it out. but I suspect I will end up not using it, when I can do .subst | ||
Juerd: because I've never really learned the difference :P | |||
21:34
telex joined
|
|||
masak | Juerd: I think &run is the "safe" one that shell-expands your arguments in a sensible way. | 21:34 | |
Juerd | masak: shell does sh -c, run takes a list of args and skips shell interpretation. | ||
masak | Juerd: and I don't need that here, since I have a constant string as my command. | ||
Juerd | Roughly, sub shell { run 'sh', '-c', @_ } | 21:35 | |
iirc | |||
Or @_[0] even | |||
lizmat | masak: since we have mkpath() specced in newio, I guess I should also spec 'rmpath' | 21:36 | |
masak | lizmat: we have 'rmdir' spec'd already. | ||
21:36
broquaint joined
|
|||
vendethiel | masak: Template::Mojo looks good for templating :) | 21:37 | |
masak | lizmat: but I found no spec about (a) what it does when something goes wrong, or (b) whether it can remove stuff recursively. | ||
lizmat | masak: but that's only 1 level | ||
masak | vendethiel: I'll check it out -- thanks. | ||
lizmat | masak: rmpath() would be the recursive version, I guess | ||
FROGGS | pyrimidine: Inline-C should be fixed now, thank you very much for reporting it :o) | 21:38 | |
pyrimidine | FROGGS: cool! (and apologies for the IRC flatulence) | ||
21:38
konsolebox joined
|
|||
FROGGS | pyrimidine: np | 21:39 | |
masak | lizmat: ok, I see. | 21:40 | |
Template::Mojo looks like it could simplify my life, actually. vendethiel++ tadzik++ | |||
vendethiel | tadzik++ | ||
21:40
rurban_ left
|
|||
FROGGS | masak: a hint, do that to EVAL your template only once: my &main := Template::Mojo.new(slurp 'views/main.tt').code; | 21:42 | |
masak | $ panda install Template::Mojo | ||
* it installs without a hitch | |||
\o/ | |||
vendethiel | \o/ | ||
FROGGS | of course :o) | 21:43 | |
masak | FROGGS: any reason using binding `:=` there is important? | ||
(I got test failures in DBIish while rebootstrapping, though) | |||
FROGGS | masak: so you don't run the .code | ||
masak | oh, it's because NativeCall fails. | 21:44 | |
timotimo | do we perhaps want to move rakudo.org onto www.p6c.org? | ||
masak | m: class Mojo { has &.code = sub { say "OH HAI" } }; my &main := Mojo.new.code; main() | 21:45 | |
camelia | rakudo-moar 166cd3: OUTPUT«OH HAI» | ||
masak | aha. | ||
FROGGS | masak: I'd seen this: Native call expected object with CPointer representation, but got something else | ||
masak | m: class Mojo { has &.code = sub { say "OH HAI" } }; my &main = Mojo.new.code; main() | ||
camelia | rakudo-moar 166cd3: OUTPUT«OH HAI» | ||
FROGGS | masak: and then pulled and rebuild moar+nqp+rakudo | ||
masak | FROGGS: seems to work even without the binding ^ | 21:46 | |
FROGGS: yes, that's the NativeCall error I'm getting. | |||
FROGGS | hmmm, perhaps a thinko from my side | ||
masak | pulling and rebuilding worked? I might try that, then. | ||
though it's not on my critical path right now. | |||
21:46
grondilu joined
|
|||
grondilu | Is Laurent Rosenfeld, author of laurent-rosenfeld.developpez.com/tu...es-bases/, around here? | 21:47 | |
FROGGS | rebuilding + rebootstrapping did it, aye | ||
timotimo | hm, it should be very possible to actually output the kind of representation it got rather than just "got something else" | ||
masak | tadzik: Template::Mojo doesn't have a USAGE example in the README >:( | ||
21:48
broquaint left
|
|||
FROGGS | masak: reverse engineering ftw /o/ | 21:49 | |
timotimo: that would be very very sweet | 21:50 | ||
pyrimidine | masak: on the subject of documentation... | ||
I have seen more .md files, and little pod6. So, is the current recommendation to use md or pod6 | |||
? | |||
21:51
lestrrat left
|
|||
FROGGS | pyrimidine: we just love github, and markdown is their love child... I guess there will be more pod6 when pod6 would look nice on github pages (or in case we'd have a cpan that shows pod6 nicely) | 21:52 | |
Kristien | I use reStructuredText for everything. | 21:53 | |
timotimo is testing a patch | |||
pyrimidine | FROGGS: kinda my line of thought as well. now we just need to get a pandoc converter for pod6 <-> markdown :) | ||
FROGGS | pyrimidine: go ahead, I'd use it :o) | 21:54 | |
masak | pyrimidine: to be honest, pod6 hasn't "clicked" for me yet the way markdown has. | ||
lizmat | hmmm... do we want "move" to be smart enough to recognize a directory as the target, and move it into that directory? | 21:55 | |
timotimo | FROGGS: can has short test case to get such an error? | ||
21:55
broquaint joined
|
|||
masak | pyrimidine: markdown just feels natural at this point. I can finish hammering out some markdown in the time it takes for Word to load. | 21:55 | |
FROGGS | I'm not even able to write POD without a cheatsheet... but I'll do my best with pod6 | ||
timotimo: hmmm, that's not so easy | |||
21:55
lestrrat joined
|
|||
FROGGS | timotimo: perhaps... | 21:56 | |
timotimo | do you have code locally that does it? like right now? | ||
in that case i'll shoot you th epatch and we'll see if it behaves better | |||
Kristien | What's the relationship between source files, modules and module … { … }? | ||
FROGGS | timotimo: I had.... I had a few days old rakudo, and an up-to-date NativeCall | 21:57 | |
timotimo | god damn it, the network around here is so broken ... in such a strange way, too | ||
pyrimidine | masak: yes, agreed. We're working on wrapping most of our analysis tools to output MD or MMD, then use pandoc to convert analyses to whatever we need | ||
FROGGS | timotimo: and it showed up in its tests | ||
timotimo | FROGGS: can you copy-paste the little command line that is on sprunge.us ? | ||
pyrimidine | MMD == multimarkdown in this case (and only if we need it :) | 21:58 | |
FROGGS | timotimo: this? <command> | curl -F 'sprunge=<-' sprunge.us | ||
timotimo | thanks | 22:01 | |
raydiak | Kristien: the explanation of compunits and modules in S11 might be useful to you | ||
Kristien | OK | ||
pyrimidine | FROGGS++ # Inline fix worked | 22:04 | |
vendethiel | ...or maybe not raydiak | ||
I found S11 to be one of the most confusing synopses | |||
timotimo | FROGGS: sprunge.us/FJPL | 22:05 | |
22:06
lestrrat left
|
|||
woolfy | FROGGS: doors of K-building (our booth is 2nd floor) open at 07:00 (not for "general public", but for FOSDEM-volunteers, and we are allowed in when we behave well), but lizmat and I will be there a bit later than that, we aim at 08:00. | 22:07 | |
22:07
Mso150 left
|
|||
FROGGS | woolfy: I aim for the same then :o) | 22:07 | |
woolfy | FROGGS++ | ||
FROGGS | \o/ FOSDEM \o/ | ||
22:08
Mso150 joined
|
|||
raydiak | vendethiel: yes it's a little dicey in places, especially the NYI places, but it does answer the obvious questions about file<->module mappings...especially since nobody else was answering I figured it'd be a start | 22:08 | |
anyway...nebulous question gets nebulous answer :) | 22:09 | ||
woolfy | We will probably have snow at FOSDEM... | ||
22:11
lestrrat joined,
mvuets left
22:12
grondilu left
|
|||
FROGGS | timotimo: nearly there nearly there | 22:12 | |
pmurias | a metacpan6 that show pod6 nicely >>>> github | ||
22:13
woolfy left
|
|||
dalek | kudo/newio: 7d1fc3d | lizmat++ | src/core/IO.pm: Make MOVE-PATH put file in dir if dest is dir |
22:13 | |
kudo/newio: af96db1 | lizmat++ | src/core/IO/Pathy.pm: Rename the abspath of object itself as well |
|||
pmurias | IMHO a metacpan6 is one of the most missing things in Perl 6 right now | 22:14 | |
Kristien | When you use nqp-js/rakudo-js does stuff in BEGIN phasers appear in the generated JS code? | ||
FROGGS | timotimo++ | ||
Failed 17/20 subtests | |||
Native call expected return type with CPointer representation, but got P6opaque | |||
timotimo: though, can you call it "but got a %s" ? | |||
pmurias | Kristien: objects created at compile time get serialized | 22:15 | |
Kristien | OK, cool. | ||
pmurias | Kristien: currently only nqp-js exists | ||
22:15
woolfy1 joined
|
|||
FROGGS | Kristien: it has to, because you run that code once, but probably deserialize often | 22:16 | |
psch | «device count: 4294957296» # this looks suspicious, considering that's supposed to be audio devices... | ||
FROGGS | psch: is it a server? | 22:19 | |
22:21
spider-mario left
22:22
pierrot is now known as Canopus,
Mso150 left
|
|||
psch | FROGGS: no, it was an unitialized library... :) | 22:22 | |
the 8 devices i get now seems more sensible | 22:23 | ||
22:23
konsolebox left
|
|||
FROGGS | psch: what library ooc? | 22:23 | |
psch | FROGGS: portaudio | ||
FROGGS | ahh :o) | ||
22:23
Canopus is now known as pierrot
|
|||
psch | FROGGS: i'm stuck starting the stream though, portaudio says opening worked, but starting afterwards doesn't | 22:23 | |
22:23
lestrrat left
22:24
virtualsue joined
|
|||
psch | and "Invalid Stream pointer" doesn't quite tell me what i want to know... :s | 22:24 | |
FROGGS | psch: you pass it a PaStream **stream? | 22:26 | |
psch | FROGGS: i pass it a CArray[OpaquePointer] | ||
github.com/peschwa/Audio-PortAudio...er/test.pl | |||
vendethiel cringes at "isomorphic javascript" in netflix's blog post about react :( | 22:27 | ||
woolfy: I'm jealous! we didn't get any snow in paris :( | |||
psch | FROGGS: and lib/Audio/PortAudio.pm in the same repo of course | ||
jercos | isomorphic javascript is just a completely natural (bad) reaction to node.js >.> | 22:28 | |
vendethiel | jercos: the usage is "isomorphic" being so terribly incorrect is the problem | ||
22:29
lestrrat joined
|
|||
jercos | ah, yes, well, conceptually the result of running the code server-side and browser-side should be isomorphic, in the purest of high-level theory... | 22:29 | |
vendethiel | purest of high-level theory? | 22:30 | |
dalek | ecs/newio: d25d464 | lizmat++ | S16-io.pod: Spec rmpath() and elaborate a bit on move()/.move |
22:31 | |
lizmat | and on that thought, I wish #perl6 a good night | 22:32 | |
psch | g'night lizmat | 22:33 | |
masak | 'night, lizmat | 22:34 | |
vendethiel | g'night :) | 22:35 | |
FROGGS | gnight lizmat | ||
psch: I cannot install libportaudio so I cannot test :o( | |||
22:35
konsolebox joined
|
|||
psch | FROGGS: no worries, i might figure it out eventually :) | 22:37 | |
FROGGS | just a few ideas: I'd put CArray[OpaquePointer] where CArray appears in your .pm file, and I'd remove the 'is rw' | 22:38 | |
psch | no such luck, Pa_StartStream still fails | 22:42 | |
22:45
kyclark_ joined
|
|||
FROGGS | Pa_StartStream (PaStream *stream) | 22:46 | |
does $stream[0] help there? | |||
psch: ? | 22:47 | ||
psch | FROGGS: yes, that does it! | ||
FROGGS | \o/ | ||
psch | apparently i need to relearn about references in C :) | ||
FROGGS++ | |||
Kristien | m: sub f { CALLER::RETURN(42) }; sub g { f; say "hi" }; say g | 22:48 | |
camelia | rakudo-moar 166cd3: OUTPUT«Cannot find method 'dynamic': no method cache and no .^find_method in method at_key at src/gen/m-CORE.setting:11553 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3531 in sub f at /tmp/YSRkwROZEu:1 in sub g at /tmp/YSRkwROZEu:1 in…» | ||
Kristien | psch: good thing C has no references | ||
FROGGS | psch: you just need to learn to carefully re-read the docs (or header files) at that point :o) | ||
psch | Kristien: what's the difference between a reference and a pointer? | ||
Kristien: and why does C have a "dereference operator" when it doesn't have references? | 22:49 | ||
FROGGS | m: sub f { nqp::getlexcaller('RETURN')(42) }; sub g { f; say "hi" }; say g | 22:50 | |
camelia | rakudo-moar 166cd3: OUTPUT«42» | ||
psch | FROGGS: yes, that probably would've helped as well. the concept still isn't firm in my head though, i think | ||
jnthn | You call it a pointer when your program crashes and a reference when it works. | ||
That's why Java has references, except when you dereference a null one, and then you get a NullPointerException. | |||
Kristien | It's difficult to explain without examples. | 22:51 | |
psch | jnthn: sounds kind of arbitrary, if workable. the reference belongs to an existing something in memory that we can do stuff with, while the pointer is what can contain a reference or something invalid, e.g null or foreign memory | 22:54 | |
jnthn: is that about right? | |||
Kristien | psch do you know C#? | 22:56 | |
vendethiel | :P | ||
gfldex | a reference can point beyond the end of the stack if you goto between functions | ||
Kristien | references are like ref and out in C#. pointers are like Object in C# | ||
raydiak | is there a faster way to turn a large Blob into a nativecall CArray than setting the elements one at a time in a for loop? | ||
psch | Kristien: no, i don't know C# | 22:58 | |
Kristien | :v | ||
gfldex | Kristien: native typed arrays i guess, one of the 3 things on The List Before Christmas | ||
Kristien | what languages do you know? | ||
psch | Kristien: bits of C (...), perl, perl6, some php, a little python, very little asm, java, js | 22:59 | |
vendethiel | forget about references in php, to start with... | ||
psch | vendethiel: yes, i met the loop behavior | 23:00 | |
Kristien | PHP has references with & | ||
vendethiel | it's nothing like what C has | ||
php even used to have call-time pass by reference... | |||
Kristien | for example: ideone.com/BRa2zn | ||
jnthn | psch: I wasn't being especially serious there. :) But I guess if I was going to make real distinctions, I'd probably say that pointers are all about memory addresses and thus it makes sense to do arithmetic on them, while references refer to a particular thing and deference is the only operation available. | 23:01 | |
vendethiel | ... which is indeed nothing like what C has :P | ||
Kristien | they're more like aliases | ||
or immutable pointers with implicit dereferencing | |||
vendethiel | looks more like C++'s references | ||
Kristien | compare with non-reference: ideone.com/Lab4I4 | 23:02 | |
FROGGS | raydiak: you could perhaps try to nativecast your blob to a CArray | 23:03 | |
Kristien | or: ideone.com/BUm8HJ | 23:04 | |
jnthn | I think we should be able to pass Buf/Blob/native arrays off to NativeCall | ||
raydiak | jnthn: should as in "should work" or should as in NYI? | 23:06 | |
FROGGS++: thanks I'll have to learn about that :) | 23:07 | ||
psch | Kristien: thanks for the example, but i don't really know what i'm supposed to see there | 23:08 | |
jnthn | raydiak: NYI | ||
Kristien | you can't do that with pointers. | ||
In C, void f(int* x) { x = 42; } is a type error. You need to explicitly dereference x. | 23:09 | ||
psch | Kristien: so that means PHP references are binding | ||
and not references | |||
...? | |||
i mean, maybe i'm hung up on words here, but if it was a reference i have to have to dereference it to get to the value | 23:10 | ||
raydiak | jnthn: I agree, that would make some wrappers easier...right now I'm just trying to compress a few megs, but copying it from a Blob to a CArray in Perl 6 takes over a minute | 23:11 | |
23:11
beastd left
23:14
adu joined
|
|||
adu | hi | 23:14 | |
FROGGS | gnight | ||
23:14
FROGGS left
|
|||
raydiak | hi adu | 23:15 | |
adu | hi raydiak | ||
23:15
Kristien left
|
|||
psch | hi adu | 23:15 | |
adu | hey psch | ||
23:16
thilp joined
|
|||
masak | 'night, #perl6 | 23:18 | |
raydiak | g'night masak o/ | ||
ab5tract wonders how he only now just stumbled across www.dlugosz.com/Perl6/index.html | |||
psch | g'night masak | 23:19 | |
23:19
jferrero left
|
|||
ab5tract | night masak!] | 23:19 | |
23:25
jferrero joined
23:28
lestrrat left
|
|||
dalek | kudo-star-daily: d6f3f4f | coke++ | log/ (9 files): today (automated commit) |
23:28 | |
rl6-roast-data: 7f8244f | coke++ | / (5 files): today (automated commit) |
|||
23:31
lestrrat joined
|
|||
adu | why is everyone going to sleep? | 23:32 | |
raydiak | cuz...it's late! | 23:33 | |
(in europe) | |||
23:33
virtualsue left
23:36
lestrrat left
|
|||
thilp | could someone please explain me why: do { my $a = DYNAMIC::<$*d>:exists; my $*d = 2; $a } is True? | 23:38 | |
why does $*d exists before it is defined? Is it something related to the various compilation phases? | |||
23:39
gfldex left,
araujo left
23:40
lestrrat joined
|
|||
psch | m: BEGIN say DYNAMIC::<$*d>:exists; INIT say DYNAMIC::<$*d>:exists; my $*d; | 23:41 | |
camelia | rakudo-moar 166cd3: OUTPUT«FalseTrue» | ||
jnthn | Existence and definedness mean different things in Perl 6, for one | ||
But in this case it's simply that variables are declared within a given lexical scope and declarations are processed at compile-time | 23:42 | ||
When you write DYNAMIC:: you're explicitly putting resolution of the name off until runtime. | |||
m: say $a; my $a; | |||
camelia | rakudo-moar 166cd3: OUTPUT«===SORRY!=== Error while compiling /tmp/WfZNLiP7_hVariable '$a' is not declaredat /tmp/WfZNLiP7_h:1------> say $a⏏; my $a; expecting any of: postfix» | ||
jnthn | Note that one is a compile time error, not a runtime one. | ||
m: EVAL 'say $a'; my $a; # also ok | 23:43 | ||
camelia | rakudo-moar 166cd3: OUTPUT«(Any)» | ||
jnthn | m: EVAL 'say $a'; my $a = 42; # but note the assignment happens at runtime | ||
camelia | rakudo-moar 166cd3: OUTPUT«(Any)» | ||
thilp | i see! thank you very much! | 23:46 | |
23:47
konsolebox left
|
|||
[Coke] waves from another airpot. | 23:49 | ||
*airport. | |||
23:51
BenGoldberg joined
|
|||
jnthn did enough airports for one day... :) | 23:51 | ||
.oO( I never tried airpot... ) |
23:52 | ||
23:53
lestrrat left
23:56
lestrrat joined
|
|||
jnthn | sleep & | 23:57 | |
raydiak | good night jnthn | 23:58 | |
no luck with nativecast...anyone have any other clever ideas to speedily squeeze a Blob into a CArray? | 23:59 |