»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:00
iarna joined
00:03
ajr_ left
|
|||
hoelzro .oO( make specktest ) | 00:09 | ||
must be dinner time | |||
00:10
jnap left
|
|||
timotimo | moarvm's stability with multithreaded spec tests is not quite so awesome on the last days before the release ... | 00:12 | |
hoelzro | =/ | 00:13 | |
dalek | ast: 6ccd874 | TimToady++ | S32-array/exists-adverb.t: remove .list coercions that are no longer needed |
00:14 | |
timotimo | t/spec/S32-num/rat.rakudo.moar seems to fail now | ||
well, one test | |||
japhb | timotimo: CDD is winning at the moment, so things there will be talks about are getting all the love. :-) After the conf, I bet things get a lot better on threading/async stuff. :-) | ||
timotimo | # got: '301281685344656669 1250' | ||
# expected: '301281685344656640 1250' | |||
could this be due to the bigint "is big" check changes? | |||
jnthn | timotimo: Dunno, but I did a spectest right after those changes here and saw no difference. | 00:15 | |
japhb | Does it matter that the bigint lib reserves a few bits in each mp_digit? | ||
timotimo | er ... and sprintf is failing quite a bit, too | ||
jnthn | japhb: In fact, I'm relying on the fact it does that... :) | ||
timotimo | oh, failed only one there apparently | 00:16 | |
dalek | ecs: eda3e60 | (Stéphane Payrard)++ | S99-glossary.pod: S99: atomic |
||
timotimo | i'm quite confused by these spectest failures i don't seem to recall from earlier | ||
but i don't think my moarvm changes are responsible | 00:17 | ||
00:17
bjz_ left
|
|||
TimToady | the LOLLY patch doesn't actually fix t/spec/S02-types/multi_dimensional_array.rakudo.moar if LOLLY is set | 00:21 | |
I suspect it only works if LOLLY isn't set | 00:22 | ||
timotimo | gist.github.com/timo/252f6b903d169bd34eb1 - will post spectest failures with spesh enabled later | 00:23 | |
00:24
Timbus left,
nbrown_ joined
|
|||
dalek | ast: f2b1bb0 | TimToady++ | S17-supply/start.t: can't compare @array with [], needs $@array |
00:26 | |
00:28
BenGoldberg joined
|
|||
timotimo | gist updated | 00:29 | |
seems like my changes to spesh/jit in the branch i did for moarvm are benign | |||
TimToady | I don't think the numeric stuff is related to lists | 00:31 | |
that is, the rat and sprintf failures seem lower-leveler | |||
timotimo | yeah, i'm confused by them | ||
TimToady | loss of precision on the rat | ||
timotimo | as i said, may be caused by the "bigint is_big" change | 00:32 | |
so we store that number in a num temporarily or something? | |||
TimToady | and getting 0's where NaN or Inf is expected | ||
timotimo | those are # TODO'd, though | ||
TimToady | not the ones at the end | ||
timotimo | well, it says only one test has failed on my box | 00:33 | |
TimToady | I mean, not #144 | ||
timotimo | er ... right | 00:34 | |
TimToady | yeah, that one is also precision, my bad | ||
timotimo | i'm not making much sense any more, time to go to bed! | ||
o/ | |||
TimToady | \o | ||
00:37
kurahaupo_ left
00:40
Timbus joined
00:44
fhelmberger joined
00:48
erkan left,
fhelmberger left
00:56
kurahaupo_ joined
01:29
PotatoGim joined
01:30
FROGGS_ joined
01:32
Sqirrel left
01:33
FROGGS left,
jnap joined
01:35
jnap left
01:37
telex left
01:38
telex joined
01:39
klapperl joined
01:41
dayangkun joined
01:42
klapperl_ left
02:09
Mouq joined
02:13
xenoterracide joined,
nbrown_ left
02:14
nbrown_ joined
02:18
nbrown_ left
02:29
fling joined
02:32
Mouq left
02:33
grondilu left
02:36
dayangkun left
02:37
dayangkun joined
02:45
Sqirrel joined
02:46
noganex_ joined
02:48
Mouq joined
02:49
noganex left
03:04
Sqirrel left
|
|||
Mouq | m: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully # :( | 03:07 | |
camelia | rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/PsLP5pMauWYou can't adverb thatat /tmp/PsLP5pMauW:1------> my $b = 2; $a < 1 and $b == 2 :carefully⏏ # :( expecting any of: pair value» | ||
Mouq | I thought that used to work, too | ||
star: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully | |||
camelia | star-{m,p} 2014.04: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileYou can't adverb thatat /tmp/tmpfile:1------> my $b = 2; $a < 1 and $b == 2 :carefully⏏<EOL> expecting any of: pair value» | ||
Mouq | n: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Cannot call infix:<==>; none of these signatures match: Any, Any at /tmp/XfRtULGKNv line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4595 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting lin…» | ||
03:09
molaf_ left
03:18
Sqirrel joined
03:23
Colby` joined
03:26
Pleiades` left,
Colby` is now known as Pleiades`
03:42
kurahaupo_ left
03:44
pyrimidine joined
|
|||
BenGoldberg | std: my $a = 0; my $b = 2; $a < 1 and $b == 2 :carefully | 03:51 | |
camelia | std ee1ef48: OUTPUT«ok 00:01 124m» | ||
03:57
BenGoldberg left
04:01
kaare_ joined
04:13
pyrimidine left
04:20
rindolf joined
04:24
xenoterracide left
|
|||
Mouq | Ohhhh | 04:33 | |
m: 1 + 2 :carefully | |||
camelia | rakudo-moar 220442: OUTPUT«Unexpected named parameter 'carefully' passed in sub infix:<+> at src/gen/m-CORE.setting:4311 in block at /tmp/OOM_0DY9uI:1» | ||
Mouq | It doesn't work if the operator is chaining | ||
04:34
xinming_ joined
|
|||
TimToady | it doesn't work if the parser isn't STD | 04:35 | |
there is no operator that takes :carefully as a named argument | 04:36 | ||
Mouq | TimToady: Yes, but even if you define one to, Rakudo doesn't like it | ||
*define a chaining one to | |||
TimToady | I don't see any such defs above... | 04:37 | |
Mouq | m: sub infix:<eq> ($a, $b, :$pl!) { $a eq $b }; "a" eq "b" :pl | ||
camelia | rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/DYOMmkQNYeYou can't adverb thatat /tmp/DYOMmkQNYe:1------> $b, :$pl!) { $a eq $b }; "a" eq "b" :pl⏏<EOL> expecting any of: pair value» | ||
04:37
xinming left
|
|||
TimToady | okay, that I'll buy :) | 04:37 | |
Mouq | m: sub infix:<pl-eq> ($a, $b, :$n) { $a eq $b }; "a" pl-eq "b" :n | 04:38 | |
camelia | ( no output ) | ||
Mouq | m: sub infix:<eq> is ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl | 04:40 | |
camelia | rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/GbMPoMZyFVMissing blockat /tmp/GbMPoMZyFV:1------> sub infix:<eq> is ⏏($a, $b, :$pl!) is assoc('left') { $a eq expecting any of: colon pair q…» | ||
Mouq | m: sub infix:<eq> ($a, $b, :$pl!) is assoc('left') { $a eq $b }; "a" eq "b" :pl | ||
camelia | rakudo-moar 220442: OUTPUT«===SORRY!=== Error while compiling /tmp/Ls2rEqcf7UYou can't adverb thatat /tmp/Ls2rEqcf7U:1------> soc('left') { $a eq $b }; "a" eq "b" :pl⏏<EOL> expecting any of: pair value» | ||
Mouq | Worth a shot | ||
dalek | kudo/nom: 359acca | TimToady++ | src/core/List.pm: eagerize combinations/permutations somewhat Since we generally want all the combinations at a particular complexity level, batch the gather/take at each level. (Combinations over a range of levels still are lazy on going to the next level.) Runs about 25% faster. |
05:00 | |
TimToady likes the N times faster better, but will take what he can get :) | 05:01 | ||
rindolf | TimToady: hi. | 05:09 | |
Hi all. | |||
05:13
ponbiki left
|
|||
TimToady | [Coke]: your lolly fix to S02-types/multi_dimensional_array.t doesn't actually run any multidimensional tests if LOLLY is set | 05:13 | |
05:20
ponbiki joined
05:21
ponbiki is now known as Guest4386
05:41
gfldex joined
05:45
iarna left,
iarna joined
05:49
cognome left,
cognome joined
05:54
cognome left
|
|||
TimToady | [Coke]: I'm currently working on a patch to fudge to allow fudging by envvar | 05:56 | |
06:01
kaleem joined
06:02
kurahaupo joined
06:11
kurahaupo left
|
|||
dalek | ast: dbecd40 | TimToady++ | fudge: teach fudge to know about envvars Now in addition to #?rakudo.moar lines, you can do three other things 1) negate the line to #!rakudo.moar to fudge anything *except* rakudo.moar 2) test #?FOO, if environment variable is set, perform action 2) test #!FOO, if environment variable is *not* set, perform action We're using this temporary to mark #!LOLLY tests. |
06:14 | |
ast: 1312762 | TimToady++ | S02-types/multi_dimensional_array.t: mark tests to skip if LOLLY isn't set |
|||
TimToady | s/temporary/temporarily/ | 06:15 | |
06:15
iarna left
06:16
darutoko joined
06:17
gfldex left
|
|||
TimToady | aaaaand...looks like I broke combinations.t | 06:17 | |
(earlier, not with the fudge fudges) | |||
06:23
anaeem1_ joined
|
|||
dalek | ast: 5180a6f | TimToady++ | S32-list/combinations.t: is_deeply for better feedback on AoA comparisons Also added test for .combinations default of powerset. |
06:32 | |
ast: bb7df7e | TimToady++ | S32-list/permutations.t: is_deeply for better diagnosics on failure |
06:33 | ||
kudo/nom: 688c289 | TimToady++ | src/core/List.pm: fix combinations(0) to work as a list of [] |
06:35 | ||
ast: 3f4f55d | TimToady++ | README: document new fudge directives, negated and envvar |
06:42 | ||
TimToady | well, that's probably enough damage for one day... | 06:45 | |
Mouq: your multidimensional tests should run now if you set LOLLY | 06:46 | ||
sergot | morning o/ | 06:47 | |
06:50
krunen joined
06:59
klaas-janstol joined
07:00
cosimo joined
07:06
klaas-janstol left
|
|||
FROGGS_ | <xsd:complexType name="BinarySecurityTokenType"> | 07:18 | |
<xsd:annotation><xsd:documentation>A security token that is encoded in binary</xsd:documentation> | |||
arrr! | |||
>.< | |||
07:24
zakharyas joined
07:26
klaas-janstol joined
|
|||
moritz | good morning | 07:27 | |
nwc10 | you're making assumptions there :-) | 07:28 | |
moritz | nope | ||
I can wish a good morning independently of time of day, goodness of the day so far, and the whole rest | |||
nwc10 | mmm, true that | ||
moritz | well, I'm making the assumptions that there's at least one reader who understand a bit of English | 07:29 | |
nwc10 | clearly I failed on that | ||
moritz lays his hopes on FROGGS_ :-) | 07:31 | ||
FROGGS_ | o/ | 07:49 | |
*yawn* | |||
07:49
FROGGS_ is now known as FROGGS
|
|||
FROGGS | Q: is it going to be a good morning when I have to do WSSE/SOAP with client certificates on linux? | 07:51 | |
moritz | FROGGS: maybe not, but I wish you one anyway :-) | ||
nwc10 | have you considered an alternative career herding sheep? | 07:52 | |
(although to be fair, the comments of the two london.pm members who have farmed sheep are that it's not easy either) | |||
moritz herds kids instead in his free time | 07:53 | ||
copious free time, actually, to stick with the meme | 07:54 | ||
afk | 07:55 | ||
nwc10 | yes, tell me about herding. | 07:58 | |
the small one wants to eat cables | |||
FROGGS | eww :P | 08:04 | |
our smallest just wants to hug all the time | 08:05 | ||
08:06
klaas-janstol left
|
|||
nwc10 | at least he usually announces his intent by making a loud noise before setting off across the floor to reach his newly identified target | 08:06 | |
to be clear, he will try to eat anything | 08:07 | ||
but cables are worth travel | |||
FROGGS | kids are weird :o) | ||
nwc10 | I find him reasonably predictable | 08:08 | |
1) will try to eat anything | |||
2) will move towards anything deemed interesting | |||
3) is hungry and tired on a reasonably guessable schedule | |||
and does not deny that he is tired when he is tired. | |||
08:09
Alula_ left,
Alula_ joined
|
|||
FROGGS | I've got one that always deny that he's tired (maybe except when he's ill), the other one does not deny and the third cannot deny yet | 08:15 | |
nwc10 | small one is 8 months and can't deny much | 08:17 | |
large one is 61 months and will deny some things | |||
FROGGS | #1 is 56 months, #2 is 40 months and #3 is 1.5 moths old | 08:21 | |
08:24
denis_boyun_ joined,
kurahaupo joined
08:31
klaas-janstol joined
08:35
donaldh joined,
denis_boyun__ joined,
denis_boyun_ left
08:44
anaeem1_ left
08:45
anaeem1 joined
08:52
fhelmberger joined
08:55
klaas-janstol left
08:58
[Sno] left
09:04
fuad joined
|
|||
fuad | Hi, all. | 09:04 | |
09:05
klaas-janstol joined,
klaas-janstol left,
klaas-janstol joined,
klaas-janstol left
|
|||
FROGGS | hi fuad | 09:06 | |
masak | hi fuad | 09:14 | |
good ante-something, #perl6 | |||
fuad | hey, masak! How are you my friend?! | 09:16 | |
it was a long time! | |||
masak | yes, you don't stop by often enough :) | 09:17 | |
masak is here all the time, almost | |||
fuad | Sorry, bro. I've been so busy with real life. And i'm always coming here, whenever i get a chance to connect to irc :) | 09:18 | |
masak | no worries. | ||
it's nice to see you! | |||
fuad | i'm very glad to see you after a long time | 09:19 | |
now it's more than 4 years i guess we know each other | |||
masak | m: say "welcome fuad!"; say join ", ", .[0, 0], "$(.^name)!" given ["hip"] | 09:21 | |
camelia | rakudo-moar 688c28: OUTPUT«welcome fuad!hip, hip, Array!» | ||
masak | :D | ||
fuad | :) | ||
09:27
Mouq left
09:37
cono left
09:38
fuad left,
fuad joined
09:40
fuad left
09:44
kurahaupo left
09:47
dayangkun left,
spider-mario joined
09:57
dayangkun joined
|
|||
dalek | p-js: 6955881 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js: Prefer ' to " for comformance with the Google JavaScript Style Guide. |
10:08 | |
p-js: 0229633 | (Pawel Murias)++ | TODO: Update TODO. |
10:09 | ||
10:13
pmurias joined
|
|||
pmurias | [Coke]: re: helping with nqp-js yes, there is a TODO file and I could write down some more interested TODO tasks | 10:15 | |
10:20
bjz joined
10:37
Ven joined
10:40
woolfy left
|
|||
dalek | rl6-most-wanted: 3d2bdd1 | (Filip Sergot)++ | most-wanted/modules.md: HTTP::UserAgent as WIP added |
10:53 | |
carlin | is there a way to send a signal from perl6 code, or would I have to qx/kill .../ | 10:55 | |
10:57
anaeem1 left
10:58
anaeem1_ joined,
Ven left
|
|||
tadzik | sergot: is there a list of things that are still IP? | 11:01 | |
moritz | carlin: only if you use the new MoarVM async process thingy, and then only to processes you spawned | 11:02 | |
11:09
erkan joined,
Ven joined
|
|||
sergot | tadzik: no, I will create it | 11:11 | |
tadzik | awesome, thanks :) | ||
sergot | tadzik: github.com/tadzik/Bailador/pull/13 an update :) | 11:12 | |
tadzik | ahahahah | 11:13 | |
sergot | tadzik++ # nice idea (the list) | ||
tadzik | what a hack | ||
it's very clever, but I'm not sure I like it from the API perspective | |||
sergot | masak++ | ||
tadzik: why so? | |||
tadzik: github.com/tadzik/Bailador/blob/ma...bin.pl#L16 what is the content here? | 11:14 | ||
tadzik | sergot: github.com/tadzik/Bailador/blob/ma...s/index.tt 'content' is the key | ||
sergot | ok, then I have a question | 11:16 | |
What to do, when we pass something like this, in the content of a Request: "blabla" ? | |||
tadzik | as for not quite liking it, I think $res.<&content> looks confusing and ugly :P | ||
sergot | It will appear as (blabla => Any).hash in request.params | 11:17 | |
tadzik | I think so, yes | ||
sergot | Do you think it is correct? | ||
tadzik | my understanding was that if someone wants raw data, they'd use .env<psgi.input> | ||
sergot | I thought it's not | ||
tadzik | hmm | 11:18 | |
oh | |||
masak | hm, maybe use something completely different than request.params, then? | ||
tadzik | it might not be | ||
masak | like, another attribute or accessor? | ||
sergot | .env<psgi.input> sounds good | ||
tadzik | masak: I'd be looking in that direction I think | ||
sergot: yeah, then you still need to .decode that, and probably take Content-Encoding into consideration | |||
so maybe it needs more clever of an accessor | 11:19 | ||
masak | I agree doing out-of-band things in the keys namespace feels not-ideal. | ||
+1 | |||
tadzik | btw, is there a hackathon before y::e? | ||
masak | none planned, AFAIK. | 11:23 | |
but come to our hotel and we'll arrange something ;) | |||
tadzik | will do :) | ||
11:25
klaas-janstol joined,
cognome joined
11:26
zakharyas left,
mattp___ joined,
mattp_ left
|
|||
sergot | oh, it's this Friday. | 11:27 | |
tadzik | yes | ||
wait, friday? | |||
oh, ok, friday | 11:28 | ||
11:30
zakharyas joined
|
|||
Ven | I'm always amazed by the ability to get a hash from a %%2 array. | 11:37 | |
masak | what kind of syntax is %%2 ? | ||
moritz | divisible by two | 11:38 | |
even length | 11:39 | ||
masak | oh! | ||
yes, I see now. | |||
Ven | m: "a" for (a => 2); # no useless in sink context? | ||
camelia | ( no output ) | ||
Ven | m: say "got {.key}" for %(a => 2, b => 3) | 11:42 | |
camelia | rakudo-moar 688c28: OUTPUT«got got » | ||
Ven | duh. | ||
moritz | m: "a" for (a => 2); 32 | 11:44 | |
camelia | ( no output ) | ||
masak | m: say "got $(.key)" for %(a => 2, b => 3) | 11:45 | |
camelia | rakudo-moar 688c28: OUTPUT«got agot b» | ||
moritz | probably because it maps to a map | ||
Ven | that is ... surprising | ||
I didn't even know about $() | 11:48 | ||
11:50
klaas-janstol left
|
|||
Ven | github.com/Dobiasd/programming-lan.../README.md | 11:54 | |
these lisp and clojure guys sure are happy | 11:55 | ||
carlin | can someone with OS X please show me the output of `kill -l` | 11:56 | |
11:57
klaas-janstol joined
|
|||
Ven | carlin: | 11:58 | |
gist.github.com/Nami-Doc/109d7d6914b182ec8c29 | |||
carlin | Ven++, thanks :) | ||
12:00
klaas-janstol left
|
|||
Ven | erm, is there a way to `cd` the shell into another directory from perl6? | 12:01 | |
or do I have to resort to bash/batch for that? | |||
carlin | chdir | ||
colomon | I'm getting intermittent seg faults with Rakudo Moar on OS X. :( | ||
12:01
prevost joined
|
|||
Ven | carlin: chdir only changes it for the current program | 12:01 | |
timotimo | hm, i seem to recall lizmat doing something with 'kill -l' on OS X at some point | ||
Ven | I'm literally trying to `cd` the terminal into a ... "better place" | 12:02 | |
timotimo | you cannot chdir "for" your parent process, if that's what you mean | ||
but you can execute the stdout of your program | |||
carlin | timotimo: kill -l is used in Kernel.pm to get the available signals | ||
timotimo | and it can "say 'chdir ...'" | ||
carlin: OK | |||
Ven | timotimo: so I do have to resort to bash and batch? dang I'm sad | 12:03 | |
carlin | which makes $*KERNEL.signals on Windows interesting | ||
timotimo | Ven: it's a fundamental limitation of posix | ||
unless the process gives subprocesses some kind of IPC to do a chdir, you can't do it | 12:04 | ||
lizmat | carlin: well volunteered :-) | ||
timotimo | i believe you can also not cd inside a .sh and have it stick | ||
you'll have to declare a function and source that into your shell | |||
(but i could be wrong) | |||
Ven | timotimo: well, I can use an alias, I guess. | 12:05 | |
at least it works with batch ... eh. | |||
.o( cmd.exe is so much more powerful! ) | 12:06 | ||
timotimo | imagine every chdir you do in your shell would propagate up to init %) | 12:07 | |
Ven | I don't want that. | ||
I just want to be able to shell "cd ..." | |||
masak | Ven: find the process number, find its memory area, twiddle bits appropriately. presto! | 12:10 | |
Ven | right, in perl 6. | ||
masak | Ven: but really, your request raises so many questions. | ||
timotimo | nativecall into libc :) | 12:11 | |
masak | what if the parent process doesn't have a concept of CWD? what if it's a GUI? what if your process was started in the background? | ||
timotimo | we have nativecallcast, so if you can attach to another processes memory, you can just cast an address to a CStruct and presto | ||
Ven | masak: then it explodes. i don't care at all. | ||
in all these cases, it'll just be a subprocess and get stopped there | 12:12 | ||
12:14
jnap joined
|
|||
Ven | uh-oh. Seems like MAIN dispatch is borked on something ... not sure what I've done wrong. | 12:14 | |
oh. I was using MAIN("--foo") instead of :$foo! >_> | 12:15 | ||
12:17
kurahaupo joined
12:20
[Sno] joined
12:22
klaas-janstol joined
|
|||
masak | that might almost merit a warning or something. | 12:24 | |
12:27
telex left
|
|||
Ven | it also reads kinda poorly because I can't have named args before pos ones | 12:27 | |
12:28
telex joined
|
|||
sergot | i.imgur.com/oja1B6l.jpg | 12:30 | |
timotimo | i sure hope that's generated code. | ||
at least after the fifth line ... | 12:31 | ||
jnthn | The fact the first bit is so disorganized makes me fear not :P | ||
masak .oO( 3000 strikes and then you refactor ) | 12:32 | ||
12:34
Ven left
|
|||
pmurias | Ven: re cd the shell I think there is no general way to do that under Linux, you could wrap your Perl6 script in a bash function that does the directory changing | 12:35 | |
masak | ooh | 12:36 | |
12:37
tadzik is now known as tadziksoftware
|
|||
timotimo | masak: i sure hope the compiler gets to optimize that huge tree of || into something more efficient than a long-ass series of branches and strcmp ... | 12:37 | |
masak | timotimo: it's not so easy with strings. my bet would be on "no". | 12:38 | |
tadziksoftware | sergot: uh what | ||
sergot: is that $work? :D | |||
masak | timotimo: but to me, that's not even the main thing. that bit of code is not optimized for reading at all. | 12:39 | |
timotimo | yeah, i was way past the "readable code" thing at this point | ||
12:40
Sqirrel left
|
|||
sergot | tadziksoftware: no, just a random pic from the web :P | 12:49 | |
but I'm quite sure I can find something like this here :P | 12:50 | ||
hehe | |||
tadziksoftware | hehe | 12:52 | |
I think I streched everyone's irc windows enough... | 12:53 | ||
12:53
tadziksoftware is now known as tadzik
|
|||
BinGOs | are you now meatware? | 12:54 | |
timotimo | i set my weechat to having the nicknames all lined up to the right side with a line separating nicks from text, but it's limited to a certain length, so your nick only ended up 1 character longer than mine :) | 12:55 | |
tadzik | BinGOs: I got 3d-printed | ||
timotimo: oh, that's useful | |||
BinGOs | I am holding out for 4D printing | ||
tadzik | well, 3d printing already takes so much time that it's almost 4d | ||
gtodd | sergot: it was probably very hard to type all that ... I hope whoever did it knew how to use cut and paste :) | ||
masak | BinGOs: they're made of meat. www.terrybisson.com/page6/page6.html | 12:56 | |
tadzik | I imagine a hardcore vim user just generating that code with macros | ||
gtodd | programmer eifficiency :) | ||
sergot | gtodd: I hope so too. :) | 12:57 | |
gtodd | plus you could use the folding feature in your editor and make that look like a one liner ... well almost | 12:58 | |
sergot | I've found it here: www.reddit.com/r/ProgrammerHumor/ :) | 12:59 | |
gtodd | then if a manager is looking over your shoulder you unfold that section ... "my you *have* been busy today" | ||
sergot | hehe :) | 13:00 | |
masak | so much code! all those kLOCs! | ||
timotimo | m) | 13:01 | |
masak | 'If we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent".' -- Edsger Dijkstra | 13:02 | |
sergot | I cannot imagine how "m)" face can look like. | ||
timotimo | it's a facepalm emoticon | 13:03 | |
sergot | oh, right, it makes sense | 13:04 | |
nice :) | |||
13:11
guru joined
13:12
guru is now known as Guest29590
13:13
ggoebel11111114 joined
|
|||
sergot | i.imgur.com/SJLQJmS.jpg | 13:14 | |
timotimo | hehe. | ||
13:16
ggoebel11111113 left
13:35
iarna joined
|
|||
sergot | tadzik: github.com/sergot/http-useragent/c...f650c76079 - it's something | 13:38 | |
tadzik | sergot: hmm, any details on ssl being unreliable? | ||
or is it "use it and you'll see" :P | |||
sergot | iirc it didn't work on your box | 13:39 | |
:) | 13:40 | ||
and I remember it failed on my box *once* | 13:41 | ||
tadzik | hhaha, you're right, it doesn't | 13:42 | |
I still didn't debug it | |||
but I'm recently in a programming mood, and yapc will probably amplify that too :) | |||
timotimo | what exactly is "nativecall's int bug" again? | ||
the 32bit thingie? | |||
sergot | yes | ||
timotimo | i seem to recall someone figured something out about that recently | ||
or maybe i was dreaming that | |||
last night i had this frustrating experience again where in my dream i was convinced i was in a dream and should be able to fly, but couldn't ... >_< | 13:43 | ||
sergot | tadzik: I need some help because I can't reproduce your error | ||
timotimo: sounds frustrating | 13:44 | ||
timotimo | tratt.net/laurie/blog/entries/an_ed...d_programs - more things about language composition and stuff | ||
13:45
klaas-janstol left,
klaas-janstol joined
|
|||
sergot | tadzik: what do you actually get? | 13:45 | |
while installing http ua | |||
13:46
jdcola joined
|
|||
masak | do people still name their Perl 6 modules .pm ? | 13:46 | |
timotimo | i sometimes do, if i forget to name them .pm6 | ||
masak | or is everyone, like, "ooh, .pm6" these days? | ||
timotimo | (.pm6 will give me the correct syntax highlighting right from the start, helpfully) | ||
sergot | I use .pm6 | 13:47 | |
tadzik | I am still a pm guy | ||
timotimo | .o( although i have a command in vim which is ",p6" that'll set the syntax as well ) | ||
13:47
jdcola left
|
|||
masak | I've always been a bit uneasy with putting a 6 in the file endings. | 13:47 | |
but that's because I'm older than the decision that Perl 6 is a different language. | |||
sergot | whoa, nice new github's feature | ||
timotimo | the php people had php3 for a long time :) | ||
i mean .php3 | |||
sergot | github.com/blog/1877-folder-jumping | 13:48 | |
timotimo | oh yes! | ||
very helpful for java stuff | |||
pmurias | .pm6 seems a bit ugly | ||
tadzik | sergot: last time it was test failures, I'll check later | ||
masak | ok, .pm it is then. | ||
timotimo | pmurias: how about .6pm? :) | ||
tadzik | p6m | 13:49 | |
that's actually not bad :) | |||
13:49
jdcola joined
|
|||
timotimo | mp6? | 13:49 | |
sergot | .pms maybe? :D | ||
timotimo | (pew pew pew) | ||
pmurias | .6 seems to be already taken by "IBM Voice Type Language Script" | 13:51 | |
sergot | .s | 13:53 | |
timotimo | great. | ||
pmurias | isn't .s assembler? | 13:55 | |
13:55
iarna left
|
|||
sergot | hmm, that's weird: github.com/sergot/openssl/stargazers could somebody click on "Jamie Peter Goodwin", what do you see? | 13:56 | |
I'm getting 404 there | |||
moritz | sergot: me too; might be an eventual consistency thing | 13:57 | |
PerlJam used some perl 6 programs for testing a Fortran->Java conversion and included them in the bundle of stuff sent to the client. | |||
maybe they'll try to run them at some point :) | 13:58 | ||
moritz | sergot: that is, user account has been deleted, but the list isn't updated yet | ||
sergot | jamiepg1 starred sergot/openssl | ||
3 hours ago | |||
colomon | btyler_: I've forked JSON::Jansson to work on it. I've just pushed the start of a t/ directory and a bug fix to it. I'm going to hold off sending an official pull request until I've validated that this fixes all my issues that were delaying my $work. ;) | ||
sergot | moritz: I've checked this just after he starred my repo | 13:59 | |
yeah, anyway, looks odd | 14:00 | ||
[Coke] | I have a slight issue with fudging by something other than implementation: finding the fudges that need to be fixed. | ||
(before I could search for "#?rakudo" | |||
btyler_ | colomon: great! I started poking at encoding stuff the other night but was still a bit jetlagged | 14:01 | |
[Coke] | (and I tried setting LOLLY when I ran those tests, and it crashed horribly, as expected; sorry it wasn't quite right) | ||
sergot | timotimo: do you remember who did figure out something about the nativecalls int bug? | ||
colomon | btyler_++ # if we can get this working it will be a huge speed increase for vital $work functions. I was afraid I was going to need to translate my script to p5... | 14:02 | |
sergot | .seen ajs | ||
yoleaux | I haven't seen ajs around. | ||
timotimo | sergot: not sure :S | 14:03 | |
14:03
jdcola left
|
|||
sergot | ok :( | 14:03 | |
14:06
anaeem1_ left,
iarna joined
14:13
psch_ joined
14:14
psch_ left
|
|||
psch | i had had networking troubles with the machine this client is on | 14:15 | |
but they seem to have sorted themself out | |||
thus, hi #perl6 after joining and quitting :) | |||
14:19
iarna left,
iarna joined
|
|||
pmurias | colomon: you are using p6 at work? | 14:23 | |
masak | tadzik++ # "Order NOW for 1.99zł!" :D | ||
tadzik | masak: where did I write that? :P | 14:24 | |
masak | github.com/tadzik/Coroutines/ | ||
tadzik | I don't even remember :D | ||
masak | haha | ||
tadzik: I am writing (for my YAPC talk) a module like that, except it enables the computer to be turned off, and the program keeps going from where it left off. | 14:25 | ||
tadzik | wow, awesome :) | ||
moritz | serializable coroutines? | 14:26 | |
timotimo | as far as i understand it ... not quite | ||
masak | moritz: serializable delimited continuations. | 14:27 | |
moritz: I need it both for mishu and Nomic, both of which run in fits and starts, saving their state in-between runs. | 14:28 | ||
tadzik: if I want the inverse of JSON::Unmarshal (so, a JSON::Marshal, I guess), what's my best bet? write my own? | |||
tadzik | masak: don't we have Storable that uses JSON there somewhere? | 14:30 | |
github.com/teodozjan/perl-store/ this mebbe | |||
nah, that's not it | |||
masak | seems to store things as .perl | 14:31 | |
I can serialize to JSON, it's no big deal. | |||
tadzik | yeah, I don't think any code from Unmarshal will be of any use | ||
masak | oh? | ||
tadzik | oh wait, maybe | 14:32 | |
github.com/tadzik/JSON-Unmarshal/b...hal.pm#L31 this part | |||
no, actually it might be pretty useful :P | |||
masak | I just want to use your module. :) | ||
(by the way, you don't need to .WHAT to get to the .^attributes) | 14:33 | ||
tadzik | yeah, probably not | ||
masak | maybe I should PR you... :) | ||
tadzik | JSON::FieldMarshal | 14:34 | |
masak | PR'd | 14:35 | |
tadzik | can't you also remove $type altogether now? | ||
oh, you do | |||
masak: www.tf2sounds.com/495 | 14:36 | ||
mer'd | |||
merg'd | |||
masak | :D | ||
hoelzro | morning #perl6 | 14:40 | |
masak | hoelzro: \o | ||
14:41
kurahaupo left
|
|||
lee_ | some funny graffiti to look out for in Sofia www.themoscowtimes.com/article/505354.html | 14:43 | |
hoelzro | so it occurred to me last night that I could probably merge the S26 branch into nom for 2014.08 | ||
but I think I should hold off and merge it in after tomorrow's release, so that other devs can fix my bug^W^W^Wplay with it for a while | 14:44 | ||
timotimo | ooooh, that's beautiful | ||
jnthn | hoelzro: Landing big branches the day before the release is probably not the wisest thing... | ||
14:44
aoseki is now known as kuroseki
|
|||
hoelzro | jnthn: that's why I think I should hold off =) | 14:45 | |
jnthn | hoelzro: Just merge it directly after the release and hen we've maximum feedback time ahead of the next one. :) | ||
hoelzro | that's the idea! | ||
jnthn: should I file a PR for it for others to review pre-merge? | |||
either way, I'm very excited | 14:46 | ||
I actually got to do something for once =) | |||
jnthn | hoelzro++ :) | 14:47 | |
14:47
iarna left
|
|||
jnthn | hoelzro: Depends how much review you think it needs, and tbh you'd probably do as well asking for it here as you would PR'ing... | 14:48 | |
14:48
iarna joined
|
|||
hoelzro | true | 14:49 | |
I think since it's a major contribution, and since I'm still pretty new contributing to rakudo, it could use a look from you, and probably a few others, jnthn | |||
jnthn | *nod* | 14:52 | |
decommute & | |||
timotimo | can i have some more people build latest moarvm/split_iter_boolification with --enable-jit and latest nqp and latest rakudo and run spectests with that? | 14:53 | |
14:53
kaleem left
|
|||
timotimo | on my desktop it's clean except for flapping async/multithreading tests and segfaulting uniq.t | 14:53 | |
14:53
Guest29590 left
14:54
guru joined,
guru is now known as ajr_
|
|||
moritz | perl Configure.pl --gen-moar=split_iter_boolification --moar-option=--enable-jit --gen-nqp=master # like this? | 14:56 | |
14:56
iarna left
|
|||
timotimo | i think so, yes | 14:56 | |
14:57
treehug88 joined
|
|||
moritz spectests | 15:03 | ||
15:05
treehug88 left
|
|||
masak | does anyone else get the feeling sometimes, in the middle of TDD when the flow sets in, that it's a bit... eerie that things come together and work as well as they do, without any apparent effort? | 15:06 | |
it's like "huh, where did all the excruciating thinking go?" | 15:07 | ||
hoelzro | masak: I know what you mean | ||
it's creepy | |||
timotimo | seems like i'll have to do TDD more in my personal projects so that i can experience this feeling %) | ||
masak | it makes me wonder how much effort I waste in some other corners of my life, where I should apply more TDD. | 15:08 | |
psch | i was thinking similar, if more "i should try and grok TDD" | ||
similar to timotimo that is | |||
masak | ok, seems there is room for a masak TDD class. | ||
maybe another masakism meetup, even. | |||
moritz | timotimo: perlpunks.de/paste/show/53f4ba0e.5b59.14 # my test output | 15:09 | |
timotimo | moritz: that's the same i get | 15:10 | |
the sprintf and rat tests can be silenced by reverting the recent change to bigint is_big thingie | |||
and the rest have been known before my changes | |||
i probably ought to run some measurements to show whether my changes improve things | 15:11 | ||
15:12
treehug88 joined
15:14
ajr_ left
|
|||
colomon | pmurias: yes. | 15:16 | |
pmurias: I've been using it for $work for four years now, but in ever-increasing quantities. | 15:17 | ||
15:17
guru joined,
guru is now known as Guest19121,
Guest19121 is now known as ajr_
15:19
fhelmberger left
15:20
denis_boyun__ left
15:22
SamuraiJack joined,
Ven joined
|
|||
Ven | is 1 =:= 1 specced to be True? | 15:31 | |
timotimo | shouldn't | 15:32 | |
Ven | well, it can (currently does) | ||
timotimo | hm | 15:33 | |
... maybe? | |||
Ven | I get True with moar, False with JVM. | ||
it's just not reusing that int under the jvm, I guess. | |||
timotimo | doesn't that kind of require us to hold a gigantic pool of cached Int objects? | ||
we re-use small ints on moarvm | |||
try 1024 instead | |||
m: say 1024 =:= 1024; say 1 =:= 1 | |||
camelia | rakudo-moar 688c28: OUTPUT«TrueTrue» | ||
Ven | yes. | ||
timotimo | ... oh | ||
15:34
iarna joined
|
|||
Ven | p6: say 999999 =:= 999999; say 1 =:= 1; | 15:34 | |
camelia | rakudo-jvm 688c28: OUTPUT«(timeout)» | ||
..rakudo-{parrot,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«TrueTrue» | |||
timotimo | huh. | ||
i'm not quite sure what's going on there | |||
Ven | locally, I get false for the jvm o/ | ||
timotimo | p6: say "i'm alive" | ||
camelia | rakudo-{parrot,jvm,moar} 688c28, niecza v24-109-g48a8de3: OUTPUT«i'm alive» | 15:35 | |
Ven | even =:= timeouts under jvm? lol | ||
timotimo | no | ||
15:35
kaleem joined
|
|||
timotimo | m: my $a := 1; (for ^1000 { $a =:= 1 }).squish.say | 15:35 | |
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
timotimo | m: my $a := 1; (for ^100000 { $a =:= 1 }).squish.say | ||
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
timotimo | o_O | 15:36 | |
TimToady | =:= is basically === without the container deref, so for two non-containers it's the same | ||
timotimo | oh, is that so? | ||
[Coke] | TimToady: if I do #!rakudo.moar, does that also fudge it on niecza? | ||
Ven | TimToady: not sure why I get false locally with r-j then | ||
TimToady | yes | ||
[Coke] | that seems bad. | ||
TimToady | #! would be for if you only want to test something on a given vm | 15:37 | |
so we could do vm specific tests with it | |||
[Coke] | we shouldn't be doing vm specific tests in roast. | ||
Ven | why not? | ||
TimToady | generally not, I agree | ||
[Coke] | because it's the spec, not an implementation. | 15:38 | |
TimToady | but not all vm supporters will be so...supportive :) | ||
[Coke] | you want vm specific tests, you can run them in your own "make test". (yes, in general) | ||
this discussion is kind of academic, since we're basically down to just rakudo at this point. | |||
TimToady | but if something is specced to be VM specific... :) | ||
well, except we can count the different backends as different implementations | 15:39 | ||
[Coke] | "now you're just being silly." -the tick | ||
TimToady | and maybe we'll want versioned tests someday as well | ||
that's kind what #!LOLLY is standing in for right now, we're basically shipping two different versions rolled into one, differentiated by an env var | 15:40 | ||
[Coke] | versioned test = tags on the repo, i'd expect. | ||
TimToady | well, yes, again, in general, but there's always exceptions | ||
hoelzro | timotimo: are you still looking for spectest results? | ||
timotimo | hm, maybe | ||
though brrt's comment sounded more like he had something locally that made things explode in a major way | 15:41 | ||
TimToady | if we decide to grant variances on different architectures, that's also something a given version of the test suite might have to handle | ||
masak | m: say sprintf "%d", Inf | 15:42 | |
camelia | rakudo-moar 688c28: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'» | ||
masak | discuss. | ||
[Coke] | Inf ain't int. | ||
masak | agreed. | ||
[Coke] | m: say Inf.Int | ||
camelia | rakudo-moar 688c28: OUTPUT«Cannot coerce Inf or NaN to an Int in method gist at src/gen/m-CORE.setting:13076 in sub say at src/gen/m-CORE.setting:14014 in block at /tmp/dJn4iBj28F:1» | ||
masak | m: say sprintf "%f", Inf | ||
camelia | rakudo-moar 688c28: OUTPUT«0.000000» | ||
[Coke] | that's a LTA error, though. | ||
masak submits rakudobug | |||
[Coke] | and that's wrong. | ||
I would expect that the former should error the same as a the latter, all things being equal. | 15:43 | ||
masak | why should the %f case be an error? | ||
TimToady | why shouldn't both of them just print Inf? | ||
masak | Inf *is* a float/double. | ||
btyler_ | timotimo: gist.github.com/kanatohodets/6e993...569ab82777 spectest output from split_iter_boolification, sounds like similar results to others | ||
masak | what TimToady said. | ||
[Coke] | no, my latter. | ||
psch | there's RT #61602 (already|too) | 15:44 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=61602 | ||
timotimo | btyler_: thanks | ||
psch | plus specs issue #27 | ||
github.com/perl6/specs/issues/27 | |||
timotimo | it does sound like i could just merge, then | ||
15:45
iarna left
|
|||
masak | do we even have the beginning of a solution to github.com/perl6/specs/issues/27 ? | 15:45 | |
[Coke] | %d should work if Inf.Int should work, yes. | ||
15:45
alc joined
|
|||
masak | it seems that the thing we're wishing for is incompatible with our notion of a type system. | 15:46 | |
15:46
treehug88 left
|
|||
masak | I'm standing down both rakudobug submissions. I'd rather we work toward a solution to the "is Inf an Int?" question. | 15:47 | |
15:47
treehug88 joined
|
|||
TimToady | m: say Nil ~~ Int | 15:47 | |
camelia | rakudo-moar 688c28: OUTPUT«False» | ||
TimToady | not quite a bottom type | 15:48 | |
but NaN is bottom for Numeric, and Inf is close to a bottom type for Real | |||
m: say NaN ~~ Numeric | 15:49 | ||
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
masak | NaN is not bottom for Numeric. something either is or isn't a NaN. | ||
ditto Inf. | |||
TimToady | I'm talking types, not values; it's the values that are exclusive | 15:50 | |
masak | yes, that's why I'm confused. | ||
I don't see how NaN and Inf are anything but values. | |||
timotimo | i value every type | ||
that's how i box. | |||
TimToady | still, these all act as generic collectors of non-usefulness, much like a bottom type, whether or not they are officially that way in type theory | 15:51 | |
15:51
dayangkun left
15:52
zakharyas left
|
|||
TimToady | don't be confused by the implementation of NaN and Inf for floating point into thinking they can't be more general concepts, at least extensible to any Real type as long as we don't try to stuff one into a native | 15:52 | |
%d is not even trying to stuff an Int into an int, but even if it were, it oughta catch the problem and report the concept, not just say FY to the user | 15:53 | ||
masak | TimToady: what's Inf.WHAT? what mechanism would make Inf sit nicely in either an Int, Num or Str container, without actually *being* a pure Int, Num or Str? | 15:54 | |
TimToady | m: say Nil.WHAT | 15:56 | |
camelia | rakudo-moar 688c28: OUTPUT«Nil» | ||
15:57
raiph joined
|
|||
TimToady | n: say Nil ~~ Int | 15:57 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«False» | ||
TimToady | and I coulda sworn that was true at one point | ||
masak is kinda relieved it isn't | 15:58 | ||
TimToady | well, I won't insist on it | ||
masak | that means every time I smartmatched something against an Int, I would also have to check it's not a Nil. | ||
which would be... annoying. | |||
TimToady | well, you'll notice I haven't insisted on having an actual bottom type in p6 | 15:59 | |
masak | *nod* | ||
an actual bottom type is uninstantiable, so Nil wouldn't be a value, then. | |||
timotimo | m: class Bottom is repr('Uninstantiable') { }; say Bottom.new | 16:00 | |
camelia | rakudo-moar 688c28: OUTPUT«You cannot create an instance of this type in method bless at src/gen/m-CORE.setting:852 in method new at src/gen/m-CORE.setting:836 in block at /tmp/G5Xwl7fSQM:1» | ||
TimToady | but we've got a number of conceptual types floating around already, junctions and whatevers, and these feel like conceptuals to me | ||
masak | that's fine, but what we're missing right now is an actual way to have these values work the way the spec wants. | 16:01 | |
not "it's impossible" but "no-one has figured out how to do it" | 16:02 | ||
TimToady | Nil is the absence of a value; NaN is the absence of a valid Numeric value, Inf is the absence of a finite value (modulo +/- of course) | ||
well, let me sip my first sip of coffee, so I'm not talking in my sleep | |||
masak | the challenge is how to make Int, Num, Str all *contain* Inf. since these are "disjunct" types in the type hierarchy. | 16:03 | |
TimToady | well, conceptually, Int is not difficult, you're just adding two more values to the set of representable values, and it's pretty easy to add values to an object type, as opposed to a native type, which is limited in many ways, not just in representing infinity | 16:07 | |
similarly, a Str is an object, and can represent lots of values, so Inf is just one more | 16:08 | ||
so the representation isn't a problem for the individual types | |||
16:08
Ven left
|
|||
TimToady | how to make the type stuff work out is, to my mind, a secondary issue, and perhaps worthy of a hack | 16:09 | |
anyway, that's the current mindset of the spec, but I haven't tried to push it to implementation since it's kind of a tempest in a teapot | 16:11 | ||
and if it proves detrimental to performance to support the concepts, we can certainly talk about whether the cost is worth it to keep the user unconfuseder | |||
BeforeEverything and AfterEverything are convenient concepts for talking about ordering and ranges, and we do ourselves a disservice to let the IEEE confuse us | 16:13 | ||
BE and AE concepts just happen to map to +Inf and -Inf in floating point representations, is all | 16:14 | ||
we sort of admit that by allowing people to say 0..* and picking the AE meaning | 16:15 | ||
16:15
Jarrett joined
|
|||
Jarrett | hello | 16:15 | |
16:16
Jarrett left
|
|||
TimToady | the spec thinks that floating point's +Inf is just a pun for the AE value | 16:16 | |
hoelzro | Jarrett: greetings | ||
masak | TimToady: agree to everything you said. | 16:17 | |
16:17
Akagi201_ left
|
|||
TimToady | and it calls that AE value "Inf" by a kind of metaphor | 16:17 | |
masak | TimToady: to me, the primary question is "how would such a hack look?", though. | ||
& | |||
timotimo | we should have a jit test suite and call it "the jittest suite ever created" | 16:21 | |
TimToady | are you asking with your MoarVM hat or your Rakudo hat on? | 16:22 | |
oh wait, it wasn't a question :) | |||
TimToady should learn Enlish someday | |||
English, even, and to type | |||
16:28
Ven joined
16:29
donaldh left
16:49
klaas-janstol left
16:51
alc left,
Ven left
|
|||
lizmat | regarding .pm vs .pm6, I would be in favour of just using .pm | 16:55 | |
use v6; at the start of the file should be enough to let any perl 5 choke on the file | 16:57 | ||
whereas vv "use 5.X" should in the end try to use the Perl 5 emulation in perl 6 | |||
[j4jackj] | . | ||
lizmat | we also didn't go from using .pl to .pl5 when we went from perl 4 to perl 5 | 16:58 | |
TimToady | so we should go to .pn then? | ||
lizmat | no, just use .pm | 16:59 | |
timotimo | but we're killing perl5! | ||
psch | but that's because we stole the version number, not because of the extension | ||
lizmat | yes, and that, I've come to realize, is a good thing | ||
PerlJam | TimToady++ :) | 17:00 | |
17:00
woolfy joined
|
|||
lizmat | most people who were programming in Perl (5) in the past 15 years, have moved to other programming languages for various reasons | 17:00 | |
PerlJam | TimToady: but what would the n be mnemonic for? | ||
lizmat | to pay the bills, mostly, I would say | 17:01 | |
but they were capable of understanding and working in another programming language | |||
17:01
denis_boyun_ joined
|
|||
lizmat | if you argue that Perl 6 is a different language, why should (former) Perl 5 programmers then have a problem moving to Perl 6 ? | 17:01 | |
If you argue that Perl 6 is just the next version of the Perl language, then Perl 5 programmers shouldn't have a problem with it either | 17:02 | ||
PerlJam | Because it says "perl" right there in the name. | ||
lizmat | so if you *do* have a problem with Perl 6, then you are not a Perl programmer | ||
almost by definition, in my book | |||
PerlJam | lizmat: that's a tough argument to make to all those people for which "perl" only and ever means "perl 5" | 17:03 | |
lizmat | if they don't get my argument, then they should continue to program away in Perl 5 | ||
but shut up about Perl 6 in any way, shape or form | 17:04 | ||
PerlJam | That'll never happen. (though, I too wish it to be so) | ||
lizmat has had enough backstabbing from some of the "perl 5" community hot shots | 17:05 | ||
yes, Perl 6 development could have been smoother, and faster, and better, and so many things | 17:06 | ||
PerlJam | But, it's not really their fault they have something to say about Perl 6. It's all those people who don't necessarily differentiate between P5 and P6 who ask those "perl means P5" people about P6. Then they have to say something. | ||
lizmat | but now we're getting at the stage that rakudo Perl 6 is becoming a viable alternative for many production uses | 17:07 | |
PerlJam: if those people say, that "Perl 6" stole their version number, I will try to tell them that that is not the case | 17:08 | ||
quite contrary: Perl 6 will mean a new life for Perl (note absence of number here) | |||
and if they don't buy that, tough luck: | 17:09 | ||
the wolves are howling, but the caravan moves on | |||
17:12
mattp___ left
|
|||
dalek | ecs: 85b2d6c | (Stéphane Payrard)++ | S99-glossary.pod: S99. More on operator, panda, control flow... |
17:12 | |
timotimo | .o( perl5 used to be the duct tape of the internets, perl6 is the PLA ) | 17:14 | |
lizmat | programmable logic array, I assume ? | ||
PerlJam | lizmat: I'm working on a project for the National Ocean Service converting some 30+ year old fortran into java. For part of my testing I used several Perl 6 programs which I have provided to them. In discussions with them this morning, now it seems that how to download, compile, and install Rakudo will be part of my final report :) | ||
timotimo | thinking of the stuff you put into 3d printers | ||
lizmat | PerlJam++ | 17:15 | |
timotimo | polylactic acid, apparently? | ||
cognome | the glossary feels like a Danaides barrel. The more entry you fill, the more unfilled entries there are. | ||
lizmat | the more you know, the more you know that you don't know more | 17:16 | |
cognome | I suppose it is true in some sense of any knowledge related activity. | ||
17:16
ajr_ left
|
|||
lizmat | I wouldn't know :-) | 17:16 | |
cognome | :) | ||
17:16
zakharyas joined,
guru joined
17:17
guru is now known as Guest17475,
Guest17475 is now known as ajr_
|
|||
TimToady | PerlJam: I hope you didn't use any lollipops in your code :) | 17:17 | |
or froze them to a particular version... | 17:18 | ||
cognome | I let TimToady fill the lollipop entry. | ||
TimToady | well, it's probably a short-term usage | ||
cognome | I suppose that's the Perl 6 part intended for six years old. | 17:19 | |
TimToady | the idea being that a lol construct is popping off the values of the N-1 statements to emulate the C comma | ||
PerlJam | No, this was simple open files, read files, parse lines, compare stuff. | ||
TimToady | and lolligag is the error message that gags on that :) | ||
but once we get past the LOLLY era, we probably don't need those terms anymore | 17:20 | ||
17:22
prevost left
|
|||
PerlJam | "era"? Hopefully it will be more like "yesterday" than "the jurassic era" :) | 17:23 | |
lizmat | TimToady: so is S03:2640 still valid ? | ||
synopsebot | Link: perlcabal.org/syn/S03.html#line_2640 | ||
lizmat | Feed operators: <==, ==>, <<==, ==>> | ||
TimToady | likely | 17:24 | |
but we need to play with them s'more | 17:25 | ||
[Coke] | "Slang is a principled way to"... what is the intention here? I'm not familiar with this idiom. | ||
(S99) | |||
PerlJam | huh ... I don't remember seeing ==>> until now. | ||
TimToady | [Coke]: see irclog.perlgeek.de/perl6/2014-08-16#i_9194425 | 17:26 | |
PerlJam | Does that mean that "do_stuff() ==>> @foo" is like [email@hidden.address] do_stuff()" ? | ||
TimToady | that's the intent, where the targe makes the distinction | 17:27 | |
*t | |||
[Coke] | TimToady: roger, leaving it alone. | ||
17:29
Akagi201 joined
17:30
Rotwang joined
17:33
raiph left,
mattp___ joined
17:34
Akagi201 left
|
|||
jnthn | TimToady: The problem with saying "X is an object so it can represent things a native can't" is that every time you cross between the two, you have to deal with all the special cases. | 17:38 | |
flussence | someone's asked about doing gtk/qt/* nativecall on the advent blog, does anyone who knows those things better want to take it? perl6advent.wordpress.com/2010/12/1.../#comments | 17:39 | |
TimToady | jnthn: sure, for the native boundary, but for concepts in the language, you made multi dispatch fast so we could do those things, right? :P | 17:40 | |
jnthn | TimToady: Yes, *if* you make things with different behaviors be different types :) | 17:41 | |
TimToady | comparing a Str with NeverGetThere should just be multi dispatch | ||
which is why I'm trying to unconfuse things by not overloading Inf in my discussion right now | |||
17:41
ajr_ left
|
|||
jnthn | TimToady: Which means if you want to special case NaN, it wants to be a different type. That does bother me slightly in that promoting num -> ??? doesn't any longer have a definite type, which is going to hurt us optimization wise too... | 17:42 | |
TimToady | so I guess I'm okay with different words for different types of infinity | ||
jnthn | (boxing a num woudln't have a definite type I mean) | ||
At the moment I'm somewhat battling with us crossing the native/boxed boundary too much in NQP. | |||
TimToady is quite aware that there are performance ramifications when the computer confuses things: see Perl 5 :) | 17:43 | ||
jnthn | The fixes are in a small part code-gen improvements (though we had a lot of those already), in part less than awesome code (but everyone is going to write that), and then there's a hope we can do tricks like elminating pointless box/unbox sequences or escape analysis + stack allocation in spesh to catch some others... | 17:44 | |
TimToady | I'm wondering if there's some way to distribute the concepts over the types than just by overloading | ||
jnthn | I guess all I'm saying is that I'm not sure we can treat crossing the native boundary as a rare thing that can be costly... | 17:45 | |
TimToady | the concept of OffTheDeepEnd as applied to Str, sort of has a generic feel to it | ||
alternately, we need to get our story straighter about comparing things of different types | 17:46 | ||
then it doesn't matter so much to have overloaded a term like Inf | 17:47 | ||
we can just use different types for different infinities | |||
and leave Inf as a floating-point concept...except, of course, that integers are also numbers that can go to infinity too | 17:48 | ||
jnthn | Technically, a big Int can't go off to infinity...you'll fill your RAM before then ;) | 17:49 | |
masak | it's also interesting to conside how we'd allow user-defined types to share the built-in Inf. | ||
jnthn | But that's true for floating point too of course :) | ||
It's just that there's a defined limit there | |||
Whereas Rakudo won't stop you creating a 1 gigabyte bigint...afaik :) | |||
TimToady | interesting that the mathematicians don't talk about ±א₀ | 17:50 | |
א₀ is really more like a distance on the number line | |||
(the integer number line, that is) | 17:51 | ||
jnthn | All I see is a box and a squiggle I don't know ;-) | ||
17:51
tgt joined
|
|||
TimToady | aleph-0 | 17:51 | |
nwc10 | I think that there's an Aleph there | ||
jnthn | (my font)-- | ||
masak thought aleph-0 was a set | |||
TimToady | quick, drop everything else and...oh wait... | 17:52 | |
17:52
raiph joined
|
|||
TimToady | yes, which is why you can't negate it | 17:52 | |
but -Inf is that set's size in the negative direction, is what I'm saying | |||
well, counting by 1's, or anything else countable :) | 17:53 | ||
dalek | ecs: ac58607 | coke++ | S99-glossary.pod: * whitespace * reordering some entries for clarity * grammar * fix POD-os * americanize * capitalization consistency |
||
TimToady | but we can't claim that -Inf is a negative distance of א₁'s size either, since there are that many Reals in any interval you pick | 17:54 | |
so Inf is really a weird beast from a mathematical point of view, it's really just a Surrender Immediately Or I Will Shoot message | 17:55 | ||
so we give up when we see an Inf | |||
it's just the concept of Too Hard, Hurts When I Try | 17:56 | ||
masak | computers are very constructionist in their approach. they deal OK with aleph-0, but not really with aleph-1. | ||
TimToady | and strings have that concept too | ||
and as with bigints that are too big to fit, strings fail exactly the same way | |||
m: say infix:<min>() | 17:58 | ||
camelia | rakudo-moar 688c28: OUTPUT«Inf» | 17:59 | |
TimToady | but we define min on more than just numbers | ||
that's sort of the argument for overloading Inf | |||
masak | m: say 5 min "foo" | ||
camelia | rakudo-moar 688c28: OUTPUT«5» | ||
TimToady | yes, well, we don't really have our story straight there yet | ||
masak | Python simply blows up on such comparisons. | ||
which has a certain elegance to it :) | 18:00 | ||
TimToady | we would like to return something when someone says to sort a list, because a list in the wrong order is often more useful than no list at all | ||
Dave: ls Computer: I'm sorry, Dave, I'm afraid I can't do that. | 18:01 | ||
sometimes computer language designers sympathize more with Hal than with Dave | 18:02 | ||
masak | *nod* | ||
TimToady | Our job is to sympathize with Dave as much as we can. | ||
that is Perl's real ecological niche | 18:03 | ||
18:03
prevost joined
|
|||
TimToady | but of course, one of Dave's goals is to run his programs Very Fast too :) | 18:03 | |
lizmat | .oO( HAL is only slightly older than Perl 6 ) |
||
18:03
gfldex joined
|
|||
TimToady | so sometimes we have to decide whether to sympathize with Dave₀ or Dave₁ | 18:04 | |
but of course, 2001 is a year younger than Perl 6 :P | |||
lizmat | HAL became operational on 12 January 1997 | 18:05 | |
well, according to Wikipedia :-) | 18:06 | ||
so it must be true | |||
[Coke] | we already missed the deadline for igniting jupiter. | ||
TimToady | I'll bet those engineers didn't have a good Christmas | ||
jnthn | m: say so Pod::.keys.grep(/bay doors/) # aww | 18:08 | |
camelia | rakudo-moar 688c28: OUTPUT«False» | ||
lizmat is surprised how extensive the Perl 6 WP entry is: en.wikipedia.org/wiki/Perl_6 | |||
too bad the article doesn't mention Perl 6's RC entries | 18:09 | ||
TimToady | it's also somewhat dated | ||
[j4jackj] | h TimToady | ||
TimToady waves northward | |||
18:10
denis_boyun_ left,
SamuraiJack left
|
|||
TimToady | You can tell I've lived in the Seattle area, because when you say "Vancouver", I say, "Which one?" | 18:10 | |
lizmat | I guess they're equally far from Seattle, right ? | 18:11 | |
TimToady | actually, the BC one is closer, I think | ||
lizmat | and the WA one is much smaller... | 18:12 | |
TimToady | indeed | ||
sort of a wart on the side of Portland, another badly overloaded term | |||
lizmat has only seen the WA Vancouver from across the river | |||
jnthn ain't seen any of 'em yet... | 18:13 | ||
TimToady | maybe we should name every town Springfield and have done with it | ||
lizmat | Shops in the WA Vancouver have an even tougher time, because WA *does* have sales tax, and Portland (OR) doesn't | 18:14 | |
TimToady: or Bruce, if they're in Australia | |||
jnthn | I joined the Perl community too late to have a YAPC as an excuse to visit Canada. Maybe there'll be YAPC::NA there again some day, though :) | ||
[j4jackj] | ._>_>__>_>_>_. | 18:15 | |
lizmat | next stop: Salt Lake City | ||
that isn't too far from Canada... on an American scale :-) | |||
18:15
kaare_ left
|
|||
lizmat | closer than Orland o :-) | 18:15 | |
TimToady | well, at least there's only one Salt Lake City | 18:16 | |
lizmat | *phew* :-) | ||
TimToady | I wasn't gonna say it :) | ||
PerlJam | random question: Where do macros fall in the P6 schedule? Are they a 6.0.0 thing or 6.1 thing or what? | 18:17 | |
TimToady | they're 6.0.0, and they're closer to done than you think :) | ||
we just need to hook up a few things | |||
PerlJam | okay, just checking | 18:18 | |
dalek | ecs: 32d02fb | (Stéphane Payrard)++ | S99-glossary.pod: S99 : name, symbol, EVAL, import, export. |
||
TimToady | and design an AST | ||
piece of cake | |||
PerlJam | and "closer to done than I think" is *such* a tease :) | ||
TimToady | actually, maybe we just adopt QAST | ||
or something very like it | |||
jnthn | I'm OK with macros being a 6.0.0 thing, but I do think we need to start being a little more concrete on what ain't. :) | ||
Cat, for example. :) | 18:19 | ||
TimToady | but we have to call all our QAST variables $past for some reason... | ||
PerlJam | jnthn++ indeed | ||
TimToady | Cat is just a rope | ||
well, a lazy rope | |||
jnthn | It's really not at an implementation level. | ||
Your "just a" is my "well, there went a few more months" :P | |||
To me the really key things are those that would mean semantic changes to existing things. | 18:20 | ||
colomon | … what's the method to de-lazy a list? | ||
jnthn | colomon: eager | ||
colomon | jnthn: .eager or as a prefix? | 18:21 | |
jnthn | That is, trying to say "we leave NFG to later" is a no go. | ||
TimToady | both | ||
PerlJam | or an already eager context. | ||
jnthn | colomon: I think as a prefix works too | ||
lizmat | jnthn: is the problem with Cat really about being able to substr into it ? | ||
TimToady | the problem is you have to invent lazy strands that know where to pull the next strand from | ||
lizmat | or are there deeper issues that you would need to have a regex / grammer run on a Cat | ||
jnthn | lizmat: For me, the much larger problem is how it intersects with the grammar engine. | ||
colomon | jnthn++ TimToady++ | 18:22 | |
TimToady | wait, we're arguing, so aren't those mutually exclusive? :P | ||
PerlJam | jnthn: Just make some of that Pm's problem ;) | ||
lizmat | agree NFG is 6.0 | ||
[j4jackj] | Will modules be unloadable? | 18:23 | |
lizmat | not sure Cat is, as its implementation would not need any semantic changes to the language, right? | ||
masak | [j4jackj]: as in "now it's no longer loaded"? | ||
[j4jackj] | masak, the sort of thing | 18:24 | |
masak | good question. no idea. | ||
PerlJam | [j4jackj]: to what end? To free RAM? OR just to make the symbols no longer easily available? | ||
[j4jackj] | "now the program knows nothing of its existence" | ||
masak | in Perl 5, that is usually up to the module, is it not? | ||
TimToady | well, you can remove entries from the global symbol table, but if other things have refs into it, the GC will keep those bits around | ||
18:24
kaare_ joined
|
|||
jnthn | Also, importing is lexical by default. | 18:24 | |
lizmat | even perl 5 can't really unload modules, afaik | ||
TimToady | much as Unix keeps a file around until the last ref goes away, even after you've unlinked it | 18:25 | |
lizmat | as opcodes in Perl 5 aren't reference counted (last time I looked) | ||
18:25
kaare_ left
|
|||
jnthn | My suspicion is that while we have package scope, we may end up at a point where we culturally converge on lexically scoping thing more strongly. | 18:25 | |
[j4jackj] | I'm not a Perl kinda guy. I'm just here because it was mentioned in I-forget-where. | 18:26 | |
TimToady | packages are really just a fancy naming scheme for global notions, and we don't have global notions except for the names of modules anymore, for the most part | ||
dalek | ecs: 40babaa | coke++ | S99-glossary.pod: * spelling * whitespace |
18:27 | |
18:27
guru joined
|
|||
jnthn | lizmat: On Cat - yes, I think the fact we already pulled out the Stringy role means that, API wise, we're good to put Cat in later. | 18:27 | |
18:27
guru is now known as Guest67028
18:28
Guest67028 is now known as ajr_
|
|||
TimToady | the basic concept for integreting lazy strings into the regex engine is that when you think you might've hit $, you might not've. | 18:28 | |
jnthn | Hm, if LoL were to be generic then we could have LoL[Cat] as a type... :P | 18:29 | |
18:29
kaare_ joined
|
|||
TimToady | That is so close to almost being a good idea... | 18:29 | |
it's about >.< that close | 18:30 | ||
18:30
Akagi201 joined,
zakharyas left
18:34
Akagi201 left
|
|||
lizmat | afk for a bit& | 18:35 | |
18:38
cognome left
|
|||
timotimo | m: Hal: open "pod bay doors" | 18:44 | |
camelia | rakudo-moar 688c28: OUTPUT«open is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in sub open at src/RESTRICTED.setting:5 in block at /tmp/igb476EipG:1» | ||
18:47
jaffa4 joined
|
|||
jaffa4 | hi all | 18:47 | |
goto does not work with moarvm | |||
TimToady | that's less than awesome, should say "...is disallowed in restricted setting, Dave." | ||
masak | hello jaffa4 | ||
jaffa4: I don't believe goto is implemented yet, no? | |||
timotimo | well, we have labeled loops with redo/last/... | ||
PerlJam | $jaffa4 ~~ s/with moarvm// | ||
jaffa4 | not yet? | 18:48 | |
masak | jaffa4: not yet. | ||
TimToady | ===SORRY, DAVE!=== | ||
masak .oO( hte muffin man? the muffin man! ) | |||
jaffa4 | anyone would implemented for 50$? | 18:49 | |
timotimo | so we'll need a is_space_odyssey_reference function | ||
TimToady | n: hell: goto hell; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«(timeout)» | ||
masak | niecza++ | ||
TimToady | works in niecza++ | ||
PerlJam | jaffa4: Um ... I don't think that particular carrot is likely to work. | ||
jaffa4 | why not? | 18:50 | |
masak | n: for ^10 { foo: .say }; goto foo | ||
TimToady | .oO(But...a carrot is kind of a stick, isn't it?) |
||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Undeclared routine: 'foo' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_u…» | ||
TimToady | labels are lexically scoped | ||
masak | ...huh. | 18:51 | |
TimToady | and in any case, you couldn't go into an initialized loop like that | ||
masak | right, that's what I wanted to test. | ||
PerlJam | .oO( But I *want* to jump to that label in the middle of that other loop! ) |
||
TimToady | not even Perl 5 lets you do that | ||
masak | hehe. "not even" | ||
hoelzro | I've been thinking about writing a blog post about Rakudo | ||
TimToady | Perl 5 does let you jump into a while loop though | ||
hoelzro | sort of a "tour" of the compiler | 18:52 | |
dalek | kudo-star-daily: 72e1677 | coke++ | log/ (14 files): today (automated commit) |
||
masak | hoelzro: go for it! | ||
PerlJam | hoelzro: including the "here be dragons" parts? | ||
hoelzro | PerlJam: those I know of, yes =) | ||
masak | of course a compiler has dragons in it! | ||
hoelzro | heh | ||
TimToady | n: for ^10 { foo: .say }; goto "foo"; # can fix the syntax anyway | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«0123456789Unhandled exception: Illegal control operator: goto(foo, dynamic) at /home/p6eval/niecza/lib/CORE.setting line 1562 (_lexotic @ 8)  at /home/p6eval/niecza/lib/CORE.setting line 1564 (goto @ 4)  at /t…» | ||
masak | why d'you think it's called the Dragon Book? | ||
hoelzro | I fairly recently encountered a scenario where I was able to do something in NQP land that didn't work in the Perl 6 side of the compiler, but I can't for the life of me remember exactly what I was trying to do =/ | 18:53 | |
masak | TimToady: it should be able to detect statically that that goto won't work, yes? | ||
TimToady | n: for ^10 { goto "foo" }; foo: say "Hi, Dave!"; | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Hi, Dave!» | ||
hoelzro | I remember it involved *W.apply_trait and src/core/traits.pm | ||
TimToady | masak: notice the "dynamic" bit | 18:54 | |
jaffa4 | Is niecza still developed? | ||
hoelzro | so if anyone else has had a similar experience and can jog my memory, I'd appreciate it =) | ||
nwc10 | TimToady: TimToady: Use of "goto" to jump into a construct is deprecated at -e line 1. | ||
masak | n: sub f1 { goto "foo" }; sub f2 { foo: say "OH HAI" }; f1() | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«Potential difficulties: &f2 is declared but not used at /tmp/HC6thCJzQL line 1:------> sub f1 { goto "foo" }; sub f2 ⏏{ foo: say "OH HAI" }; f1()Unhandled exception: Illegal control operator: goto(foo, dynamic) at…» | ||
hoelzro | jaffa4: iirc, sorear recently "retired" from development on niecza | ||
masak | not so recently. | ||
jaffa4 | What does he do instead? | ||
TimToady | nwc10: after all that hard work I put in to make it work! | ||
he has a Real Job | 18:55 | ||
nwc10 | TimToady: there was a good reason where it was still a subtle problem, but I forget what it was | ||
jaffa4 | Real Job? | ||
TimToady | yes, that's like, a job that's real | ||
PerlJam | jaffa4: one that pays more than $50 :) | 18:56 | |
masak | haha | ||
PerlJam++ | |||
18:56
kurahaupo joined
|
|||
timotimo | my perl6 job only pays like $10i | 18:56 | |
jaffa4 | come on for those who it is 15 minutes work | ||
for whose who know | |||
masak | jaffa4: I was wondering if you were back to make strange and insistent demands. | 18:57 | |
jaffa4: or just, you know, to chat. | |||
psch clearly doesn't know | |||
PerlJam | jaffa4: you've just gone ludicrous as far as I'm concerned | ||
psch | goto in 15 minutes seems a bit out there | ||
18:57
ivanshmakov joined
|
|||
masak .oO( what do we want? time travel? when do we want it? doesn't matter! ) | 18:58 | ||
s:2rd/\?/!/ | 18:59 | ||
jnthn | masak: If it was invented in your lifetime we'd not have seen that typo :P | ||
jaffa4 | I found a page where time travel was mentioned as a real life fact | ||
19:00
telex left
|
|||
masak | well, the 1 s/s kind of travel is very common... | 19:00 | |
timotimo | DWIM could also stand for "Deal With It, Man" | 19:01 | |
PerlJam | jnthn: I'm sure masak has *much* better things to do with his time machine than fix past typoes. | ||
masak | not really :) | ||
PerlJam | masak: how would you know *now*? It's future-you that's got better things to do! | ||
jaffa4 | it is always possible to travel into future | 19:02 | |
19:02
kaleem left
|
|||
TimToady | masak: well, most of us only approximate 1s/s, unless we keep the atomic clock in our brane | 19:02 | |
19:02
telex joined
|
|||
PerlJam | IF you take frequent flights, you can get better than 1 s/s relative to the rest of us. | 19:03 | |
TimToady | only if you fly the right direction wrt the proper motion of the earth | ||
jaffa4 | 15 minutes could be a challenge | 19:04 | |
PerlJam | nah, even flying the other direction, you're moving faster and further away from the gravity well. You'd be gaining time ever so slowly. | ||
TimToady | jaffa4: just takes a bit more energy | 19:05 | |
[j4jackj] | jaffa4, do you like jaffa cakes? | ||
TimToady | a solar sail on a supernova would probably do the trick | ||
jaffa4 | sure | ||
and I know there is no orange growing in Jaffa | 19:06 | ||
TimToady | the only challenge there is the shielding...well, and the heat dissipation | ||
PerlJam | Just bring a large mass with you that you can eventually throw away | 19:07 | |
TimToady | you'd probably get pretty decent ablation off the toasty side of it | ||
PerlJam | yep | 19:08 | |
TimToady | kinda hard to stop the spin on most of those masses though | ||
so you'd end up on the toasty side yourself unless you kept moving | |||
PerlJam | and *that's* why black holes are the energy source of the future! Invest in my company now so that you can get ahead of the curve! | 19:10 | |
;) | |||
TimToady | not sure digging a hole at the pole is a long term strategy, though if the pole is facing away, I guess you'd last a half-"year" in orbit, assuming your escape velocity is less than the velocity necessary to achieve such relativistic effects... | ||
PerlJam: and the time travel is just a bonus, which is where we came in before | 19:11 | ||
PerlJam | ding! :) | ||
TimToady gets a sudden sense of deja vu | |||
PerlJam | btw, has anyone else ever wanted to replace the little bell they use in spelling bees with a loud, obnoxious buzzer? | 19:12 | |
carlin | a train horn | 19:15 | |
TimToady | sorry, have to do lunch because you said "ding", and I started salivating. & | ||
19:16
grettis joined
19:17
cognome joined
|
|||
[Coke] wonders if jaffa4 is related to Teal'C | 19:17 | ||
jaffa4 | How so? | 19:18 | |
19:19
zakharyas joined
|
|||
treehug88 | genetically? :) | 19:21 | |
jaffa4 | ok, not particularry | 19:25 | |
it is related to Jaffa syrup | 19:27 | ||
19:28
darutoko left
|
|||
FROGGS | sounds tasty :o) | 19:28 | |
19:31
Akagi201 joined
|
|||
jaffa4 | let me guess most people would do goto for 5000$? | 19:32 | |
FROGGS | I might do it for, say, 0€ | 19:34 | |
but not today | |||
jaffa4 | FROGGS: how are you doing perl5 running on moarvm? | ||
FROGGS | there are at least three other things on my list with a higher priority than goto | ||
jaffa4: it is not running on moarvm, but on rakudo | 19:35 | ||
so it runs on parrot and jvm too | |||
jaffa4 | rakudo | ||
WHat is its state? | |||
19:35
Akagi201 left
|
|||
FROGGS | and it works okay-ish... I had to port it from nqp to Perl 6 so it can be installed via panda | 19:35 | |
timotimo | reluctantly ported it? | 19:36 | |
FROGGS | and it passes like 2500 single tests, where the nqp version passed 8000 | ||
jaffa4 | terrible setback | ||
FROGGS | so, it is a bit of work to get to the 8000 tests still, and then implement for language features | ||
like more regex modifiers and escape sequences | 19:37 | ||
no, not terrible | |||
when it passes t/pack.t it will jump up to 5000 tests | 19:38 | ||
jaffa4 | because practice makes perfect? | ||
FROGGS | hmm? | ||
jaffa4 | when you redo, you do it better | ||
FROGGS | at least I know what is meant to work, and I can run both versions and compare | 19:39 | |
that helps a lot | |||
the issues that exist right now are like extra containers in the QAST structure that blow up in the optimizer for example... | |||
(except of two nasty bugs that I hit in the meantime) | 19:40 | ||
both of them were in nqp IIRC | |||
and it is good that they are solved | 19:41 | ||
funnily, I can only remember one of them... | |||
ahh, now I remember :o) | |||
the other one was in rakudo | 19:42 | ||
when I think about it... even :dba() in grammars is more important than goto | |||
19:43
molaf joined
|
|||
FROGGS | but the next thing I want to fix in v5 is trailing commas... something is borken so that v5 chokes on them | 19:44 | |
(sorry for the spam, I did like >20 hours of $dayjob since yesterday morning and this is the first break) | 19:45 | ||
jaffa4 | what do you do as dayjob? | ||
FROGGS | right now I weld two tickets systems together (.NET webservice with WSSE to another windows proggy that speaks a weird SOAP) | 19:47 | |
and my box in between is linux which does not help much there | 19:48 | ||
masak | heh, "weld two systems together" sounds like very real-world software development. | ||
jaffa4 | is it irony? | ||
masak | no, it does sound real-world. | ||
FROGGS | masak: it is :o) | 19:49 | |
jaffa4 | real world be many things | ||
FROGGS | including all the pain that the real world offers | ||
jaffa4 | you can do so many things, writing games, web sites, user interfaces, algorithms, design databases ecc/ | 19:50 | |
19:50
molaf left
|
|||
FROGGS | or you'll be a masak and just talk about all these things :o) | 19:50 | |
jaffa4 | I almost got a job when I would have to write an interpreter for a math like language | 19:51 | |
FROGGS | wow | 19:53 | |
colomon has a thorny problem at the moment involving laziness and an object's attributes getting rewritten at a very bad moment.... | |||
FROGGS | that sounds quite fun :o) | 19:54 | |
lizmat had to write an SPSS simulator once, *loooong* ago | |||
jaffa4 | I wrote c preprocessor | 19:55 | |
19:58
anaeem1_ joined
|
|||
lizmat | .oO( writing a templating engine is a rite of passage ) |
20:00 | |
[Coke] | A write of parsage? | 20:01 | |
dalek | ecs: dfb481c | (Stéphane Payrard)++ | S99-glossary.pod: S99: HLL |
||
jnthn remembers the first templating engine he wrote...oh my... :) | |||
[Coke] | That seems like too much detail. | 20:02 | |
jnthn | It was for HTML. | ||
I proudly came up with sigiled tags | |||
20:02
zakharyas1 joined
|
|||
jnthn | No foreach construct. Just <@things> <li><.name></li> </@things> :) | 20:03 | |
We should probably all be glad I work on Perl 6 implementation, not lang design :P | |||
jaffa4 | initiation? | 20:04 | |
20:04
zakharyas left
|
|||
flussence wonders if anyone uses that Emmet code-expansion thing as a template engine in production | 20:05 | ||
masak | jaffa4: something most people go through as a part of growing. | ||
jaffa4 | jnthn: how fast could you implement go to . what do you think? | ||
cognome | [Coke] I try to give some details on things that are Perl 6 specific and give clues to the underlying implementation(s) and link terms together. But that may eventually be moved elsewhere. | 20:06 | |
[Coke] things are dispersed in so many places that going overboard in one place to link everything together is not so bad. | 20:09 | ||
lizmat | jaffa4: how fast could you implement goto? What do you think? | ||
jaffa4 | 16 hours pure time, if I really wanted to do it | 20:10 | |
lizmat | well volunteered, then! | ||
20:11
grettis left
|
|||
lizmat | I expect it to be done before YAPC::EU then | 20:11 | |
20:11
kaare_ left
|
|||
lizmat | open source development is all about scratching your itches | 20:11 | |
masak | jaffa4: it's been a while since you came around here suggesting how people spend their time for you. | ||
20:11
kaare_ joined
|
|||
jaffa4 | no suggestion,, | 20:11 | |
lizmat | jaffa4: if goto is such an itch for you, then scratch it! | 20:12 | |
jaffa4 | there are more than one way to do that | ||
moritz | well, talking about doesn't scratch your itch | 20:13 | |
20:13
kaare_ left
|
|||
moritz | done repeatedly, it just scratches other people's nerves | 20:13 | |
20:13
kaare_ joined
20:14
kaare_ left
20:15
Ven joined
|
|||
jnthn | jaffa4: What you miss is that the problem isn't that I can't spend the day or so it's take to get a working goto, it's that by doing so it'd mean not doing something that's a good bit more important. | 20:15 | |
20:15
colomon left
|
|||
jnthn | And anyone who thinks "no goto" is a language adoption blocker hasn't looked at enough widely adopted languages. | 20:17 | |
jaffa4 | jnthn: I just wondered how much itime you think it would take knowing you know the stuff best.. It is not necessarliy about you doing it, rather getting a comparison | ||
20:17
SHODAN left
|
|||
masak .oO( because time estimates are easy ) | 20:17 | ||
jaffa4: ^ irony | 20:18 | ||
jaffa4 | I had a job when I always had to tell how much time it would take me to do it | ||
masak | how nice. | 20:19 | |
jaffa4 | the idea is the better you know something, the better you can estimate | ||
especially if you practice. | 20:20 | ||
masak | well, what you're saying is true. | ||
jnthn | jaffa4: Yes, except that I (a) know the toolchain, (b) know the things that make goto into some level of nested scopes hard, (c) know that to do it well I need an abstraction that I can implement efficiently on MoarVM and the JVM, (d) know enough about the JVM and MoarVM to do (c). I architected MoarVM, did muc of the JVM port, and designed large chunks of the toolchain. I'm not sure an estimate of long it'd take me to do it has wide applicability. :) | 20:21 | |
masak is a little sorry jnthn has to spend time explaining stuff to jaffa4 instead of doing something useful | 20:22 | ||
jnthn | Because software is as much about learning as it is about building, and the blocker is not the building, it's learning the stuff to work out how to build it, and people learn at wildly different speeds and have hugely varying backgrounds. | ||
20:22
[particle]1 joined
|
|||
jnthn | masak: No, it's just so if he asks again, I can link him this, then kickban him. | 20:22 | |
masak | oh, kickbanning is at least something that you can delegate. | ||
20:23
[particle] left
|
|||
jnthn | Yeah, I should, I'm crap at irssi :P | 20:23 | |
jnthn gets back to packing for his trip :) | 20:24 | ||
jaffa4 | jnthn: not sure why you are getting rude...I am having a light conversation with you what do you think I am doing? | ||
masak | oh wow. | ||
20:24
Rotwang left
|
|||
masak reminds himself, carefully, that jaffa4 is not very good at the people stuff | 20:24 | ||
jaffa4: guy just explained to you, very kindly. | 20:26 | ||
jaffa4: the last bit about kickbanning was not rudeness so much as an idle threat. | |||
there's a difference. | |||
jaffa4 | why threatening? did I threathen you? | ||
ever | 20:27 | ||
masak | not as far as I can recall, no. | ||
jaffa4 | that is the point | ||
masak | no, not really. | ||
20:27
klaas-janstol joined
|
|||
moritz | jaffa4: you just seem to have a habit of asking the same question many times, in very slight variations | 20:27 | |
masak | jaffa4: anyway, keep nagging at me, not at moritz or jnthn. | 20:28 | |
moritz | jaffa4: so I can kinda understand why jnthn makes preparations for that possibility | ||
masak | jaffa4: their nerves do grate, and I don't want that. | ||
20:28
anaeem1_ left
|
|||
jaffa4 | I have not talked to him at least half a year, I cannot call that nagging | 20:28 | |
lizmat | jaffa4: how fast could you implement goto? What do you think? | ||
masak | jaffa4: are you done with goto yet? | ||
jaffa4 | years have passed | 20:29 | |
masak | jaffa4: you said it would take you 16 hours. are there 15.5 hours left now? | ||
lizmat | jaffa4: am I annoying you yet ? | ||
jaffa4 | no | ||
keep asking | |||
masak | *sigh* :) | ||
jaffa4 | because i have not promised to do it | ||
lizmat | *plonk* | ||
masak | we should all plonk a bit more. | 20:30 | |
moritz | then now is the right time to make that promise! | ||
masak | jaffa4: I know you are not a troll, and I know you do not realize that you are annoying people. sometimes, though, you need to take people's word for it that you are. | ||
japhb | jaffa4: This is often regarded as one of the nicest, most welcoming places on the Internet. There are several core members here who seem frustrated. Whether you understand or not, it is worth considering their request to stop asking about time estimates. | 20:31 | |
[Coke] | hey, subject change. anyone know how to debug low level authentication issues trying to mount SMB from the Finder on the mac vs. the command line? | ||
masak | [Coke]: that sounds lovely. stackoverflow/google no help? | ||
flussence | [Coke]: tried CIFS instead? ;) | ||
[Coke] | nothing yet. lots of "yah, it's weird on 10.9, try this", but that's to make anything work, and it works from the UI. | 20:32 | |
moritz | strace or the macos equivalent? tcpdump? | ||
[Coke] | moritz: yah, I'm afraid I'm going to have to tcpdump and see what's different between teh finder and the command line. | ||
jaffa4 | I am not trying him or anyone to do it, you are not paid for that. this is a free voluntary enterprice, making a working compiler for Perl 6. | 20:33 | |
masak | jaffa4: "enterprise". | ||
moritz | jaffa4: and because we're not paid for what we do, we have to put up with every nagging? is it that what you're trying to say? | 20:34 | |
jaffa4 | I am always curious how fast can thing be done | ||
masak hugs moritz | |||
moritz | jaffa4: then look at how fast things have been implemented in the past | ||
jaffa4: it gives you a much, much better idea than asking for wild estimates | |||
jaffa4 | iFirst of all, it is not nagging... you may perceive it that way... but it is not nagging | ||
moritz tries very hard not to lose his temper | 20:35 | ||
20:35
ChanServ sets mode: +o masak,
colomon joined
|
|||
[Coke] wonders why folks are letting this get to them. Deep breath, let it pass. | 20:35 | ||
japhb | jaffa4: The spec is stochastically evaluated. It can literally take arbitrarily long to get to any particular portion of said spec. To the point that unwillingness to implement has on occasion been grounds for altering the spec. | ||
masak | jaffa4: please change the topic or shut up. | ||
[Coke] must be missing some history here. | |||
japhb | jaffa4: If you do not intend it to be nagging, but everyone around you perceives it as nagging, what is the most likely reason for this? | 20:36 | |
masak | [Coke]: well, that too. | ||
moritz | [Coke]: if so, it's not something you should be sorry to have missed | ||
hoelzro | jaffa4: keep in mind that it took me, a newcomer, a month and a half to implement S26. jnthn could probably have done it *way* faster, but he works on things that are way more important, so that people like me actually *can* do stuff like implement S26 | ||
jaffa4 | the reason is that other asked you similar questions.. and you must be fed up... and you assume I do that same thing | 20:37 | |
hoelzro | </mini-rant> | ||
masak | jaffa4: no, *you* asked similar questions. | ||
moritz | the other jaffa4? | ||
jaffa4 | no other people | ||
20:37
Ven left
|
|||
timotimo | st | 20:38 | |
japhb | hoelzro: Well, I'd make a small modification to that: It's not that jnthn's work is more important, merely that it is more core and requires more domain knowledge. I fear people tend to think their contributions are less valuable if they are not as deep as jnthn's, but trust me, we people working every part of the stack. I tend to sit somewhere between mantle and crust. | 20:39 | |
hoelzro | japhb: good point | ||
moritz | a typcial example of very valuable non-core work is IO or docs | ||
japhb | *we need people | ||
timotimo | you meant to write "we need people working every part of the stack"? | ||
mhm | |||
japhb | Yeah, exactly | ||
hoelzro | I'm happy that jnthn (and others!) are around to tackle GC/JIT bugs (or work on the GC in the first place) so that I can concentrate on my itch | 20:40 | |
masak | some would say "product" is *more* important than code at this point. | ||
jaffa4 | masak: how often? can you recall? | ||
masak | ok, I would remind people about the plonking. | ||
let's plonk for a while, and only if necessary kickban. | |||
japhb | jaffa4: Let it go. Don't ask others to provide facts or opinions, make them yourself -- *by contributing to the project*. | 20:41 | |
masak .oO( I'm one with the ice and snooooow ) | 20:42 | ||
lizmat | en.wikipedia.org/wiki/Plonk_(Usenet) | ||
masak | *nod* | ||
japhb | lizmat: Yeah, had to remind myself of that. It's been so long since I'd seen the term in the wild, I'd completely forgotten it. :-) | ||
masak | wasn't exactly using the term right, I guess... | 20:43 | |
hoelzro | TIL about plonk | ||
lizmat++ | |||
masak | so there are some silver linings :) | ||
20:43
ChanServ sets mode: -o masak
|
|||
japhb is very happy to have forgotten that term *from disuse* | 20:43 | ||
colomon | have there been any issues involving the same gather/take powered method being called more than once lazily and then run to completion later? I'm getting weird results with JSON::Jansson and as far as I can see the code there is correct... | ||
lizmat | perhaps it batches differently the second time ? | 20:44 | |
jnthn | colomon: Almost like a kind of closure confusion? I ain't see anything like that going on with gather/take any time recently, no... | 20:46 | |
20:46
jaffa4 left
|
|||
masak | oh, that reminds me. I should /ignore jaffa4's quit message. | 20:47 | |
moritz | masak: on #perl6 and #git I generally ignore joins/leaves/quit, it's just too much noise | 20:48 | |
masak | hm, I'll consider it. | 20:49 | |
pmurias | jaffa4 offered to pay 50$ for goto? ;) | ||
colomon | jnthn: specifically, when I start the method calls the .WHICHes of the .json attributes are JSON|4363111896 and JSON|4363126968, but when the gather is actually executed it's JSON|4363126968 in both sequences. | ||
masak | colomon: GC copying? | ||
flussence needs to remember to `git remote prune origin && git gc` a bit more often... | |||
colomon | masak: I'm not sure what you mean? | 20:50 | |
masak | colomon: on Moar, .WHICH can change at runtime. | ||
(it's a bug. it shouldn't, but it does.) | |||
moritz | flussence: git config --global fetch.prune true | ||
flussence | moritz++ | 20:51 | |
moritz | flussence: then you don't have to remember the git remote prune thingy at all | ||
flussence | it's been a few years since I actually read the git-config docs, seems like every problem I have usually has an answer there :) | 20:52 | |
jnthn | colomon: Oh...what masak++ already said. :( .WHICH isn't as stable as it should be. | ||
moritz | flussence: I just follow #git, which is full of good advice :-) | ||
jnthn | That one *is* a high priority for me to deal with, by now... | ||
btyler_ | colomon: what kind of weird results? | 20:53 | |
colomon | masak: well, it's definitely returning the values of JSON|4363126968 both times, so there was no change in there. I guess it's possible that I only think I have two different objects, but it seems rather unlikely. | ||
lizmat wouldn't be surprised if this would solve a lot of flapping tests | |||
moritz | flussence: (a truley amzing IRC channel with about 1k nicks, and you can still have meaningful conversation in there) | ||
jnthn: any idea on how to fix it? | |||
colomon | btyler_: specifically, I'm calling .enumerate on several arrays in sequence, then when I look at the values returned I always get the data from the last array. | 20:54 | |
lizmat | moritz: jnthn has some ideas | ||
[Coke] tries tcpdump, figures out how to look at the bytes... "hey, they're different!" ;) | |||
lizmat | but it requires some deep thought | ||
masak .oO( the most dangerous WHICHes are the unstable ones ) | |||
lizmat | simplest would be to add 8 byte field to each and every object | ||
and just start coiunting | |||
jnthn | moritz: Yeah, I at least hand-waved about a proposed solution that doesn't increase RAM usage if .WHICH ain't used, and is bounded by the size of the nursery. | 20:55 | |
Then there's the easy, but wasteful one lizmat just mentioned. :) | |||
lizmat | what jnthn says :-) | ||
jnthn | Or we could do the same trick the JDK does with object headers. | ||
FROGGS | m: grammar G { method TOP { say so self.falsish }; token falsish { <!> } }; try G.parse('whatever') # I call that a bug | ||
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
jnthn | (If they need to contain more info than you have space for, you grab a piece of memory and CAS a pointer to it over the object header) | 20:56 | |
moritz | or we could move the object to a location where it isn't moved again on first memory address read | ||
jnthn | (And then make sure you always set the LSB in non-exploded headers.) | ||
FROGGS | nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse('whatever') # nqp++ | ||
camelia | nqp-moarvm: OUTPUT«0» | ||
timotimo | colomon: this is on moar, yes? | ||
colomon | timotimo: yes | ||
FROGGS | jnthn: and again I hit a nqp<=>rakudo weirdness :o) | ||
jnthn | moritz: Sadly not; you need to find all the pointers to the object to update them, whihc is O(GC) | 20:57 | |
colomon | timotimo: I've had major issues getting a parrot or jvm build on my Mac this week | ||
timotimo: and I've been too lazy to try moving what I'm working on to Linux. | |||
moritz | jnthn: unless you start messing with proxy objects in the old location... | ||
but it's just that, messing | 20:58 | ||
timotimo | OK, i'll have lookie lookies at the jansson enumerate thingie | ||
jnthn | moritz: Yeah; I *think* you could do it if you introduced read barriers as well as write barriers, since tricks like that are what various concurrent GC algos do. | ||
timotimo | can i get some eample code? | ||
jnthn | But given how much fun it is to get write barriers placed reliably...I'm not quite so sure I want to do read barriers too. ;-) | 20:59 | |
moritz | ORLY? :-) | ||
20:59
zakharyas1 left
|
|||
masak .oO( O read-ly? ) | 21:00 | ||
colomon | timotimo: very bottom of this: github.com/kanatohodets/p6-json-ja...Jansson.pm | ||
pmurias | is WHICH commonly used? | ||
masak | pmurias: yes, since it figures in === comparisons. | ||
pmurias | but for === can't we just compare pointers? | 21:02 | |
lizmat | pmurias: no, because pointers change | 21:03 | |
and that's *exactly* the problem with .WHICH: it is now basically the address of an object | |||
it changes as soon as the GC decides it needs to be moved | |||
pmurias | but doesn't it change everywhere? | ||
or is WHICH supposed to be an integer? | 21:04 | ||
colomon | pmurias: it's a unique identifying string, and it's very bad news if it suddenly changes | 21:05 | |
masak | actually, it's an ObjAt object or something. | 21:06 | |
colomon | main point is, change is bad | ||
;) | |||
pmurias | according to the spec it exists so that different that different representation of the same value can be treated as the same thing | 21:09 | |
so that 123 === 123 | |||
colomon | pmurias: it's quite a bit more than that. | ||
moritz | we also use it for hashing objects | ||
21:09
rindolf left
|
|||
jnthn | pmurias: Abstractly, WHICH is essentially a "snapshot" of some sequence of bytes that captures an object's identity. | 21:09 | |
moritz | and for that, it needs to remain constant | ||
TimToady | lessee, if *PLONK* is forgotten from disuse, and *PLONK* is a cultural response to use of KILL files, and I invented KILL files, some part of me has been forgotten from disuse...Look on my works, ye mighty, and despair! :) | 21:10 | |
jnthn | pmurias: And if you snapshot the same reference type twice it should be identical. That's the problem today: it doesn't always come out that way 'cus the current memory address is used to form those bytes. | ||
colomon | timotimo, jnthn: okay, I've just verified the values are correct before the gather / take loop; that is to say, we definitely appear to have different objects. | ||
21:10
mr-foobar left
21:12
mr-foobar joined
|
|||
colomon | and I can redo the .enumerate calls and get the same results. | 21:13 | |
timotimo | does the $.json change values between the outside and the inside of the gather/take? | ||
colomon | timotimo: yes | ||
21:14
colomon left
|
|||
dalek | rl6-roast-data: 9825c08 | coke++ | / (6 files): today (automated commit) |
21:14 | |
21:14
gfldex left
|
|||
pmurias | TimToady: if .WHICH is called on a object it must be given a persitent number that doesn't change when the gc moves it around? | 21:15 | |
TimToady | you sure some code isn't just reusing the same array of refs and clobbering the old refs? | ||
lizmat | fortunately, the current default .WHICH implementation, also uses the type | 21:16 | |
[Coke] | rakudo-jvm, 133 failures, parrot 18. :( | ||
[Coke] ponders the futility of ever getting a clean spec test run across teh board. | 21:17 | ||
lizmat | but any type can implement it's own .WHICH | ||
m: say 42.WHICH # note this uses the *value* in the .WHICH | 21:18 | ||
camelia | rakudo-moar 688c28: OUTPUT«Int|42» | ||
moritz | in fact, any value type that inherits from a non-value type should implement its own .WHICH, and vice versa | ||
lizmat | m: <a b c>.Set.WHICH.say | ||
camelia | rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|c» | ||
moritz | m: say ('a', 'b Str|c').Set.WHICH; say <a b c>.Set.WHICH | 21:19 | |
camelia | rakudo-moar 688c28: OUTPUT«Set|Str|a Str|b Str|cSet|Str|a Str|b Str|c» | ||
moritz | m: say ('a', 'b Str|c').Set.WHICH eq <a b c>.Set.WHICH | ||
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
moritz | bug | ||
lizmat | moritz: suggested fix? | 21:20 | |
moritz | lizmat: I'm not sure; maybe escaping the delimiter (here: space) | 21:21 | |
FROGGS | should be enough to escape all pipes in the values | ||
or that | |||
moritz | and escaping the escape character too, of course | ||
sleep& | |||
FROGGS | gnight moritz | ||
lizmat | gnight moritz | ||
masak | gnight moritz | 21:22 | |
lizmat | but still. that wouldn't prevent anybody to craft a string that would still make it possible to do eq on 2 different Sets and get a true on a eq ? | ||
FROGGS | are you sure? | ||
21:22
prevost left
|
|||
lizmat | any delimiter I would use to concat the values, could be a value that lives inside a string | 21:23 | |
FROGGS | you prepend "Type|$thing" and double up all pipes in $thing... that should do IMO | ||
lizmat | because it needs to be able to be a part of string in the end | ||
hoelzro | jnthn: the other day you were lamenting on how $obj.^meta-method went through dispatch:<.^>; do you have any advice on how getting around that could be achieved? | ||
lizmat | and if one of the strings as a double || in it ? | 21:24 | |
FROGGS | lizmat: double both | ||
hoelzro: do you want to do $obj.HOW.method($obj, ...) directly? | 21:25 | ||
lizmat | so 'Str|a Str|b' would become 'Str|a||Str|b" ? | ||
jnthn | hoelzro: It may be easiest does as a nqp::p6howcall or so | ||
*done | |||
hoelzro | FROGGS: well, I discovered that .^ puns the invocant if it's a role | ||
jnthn: alright, thanks | 21:26 | ||
I might end up doing that | |||
jnthn | hoelzro: The thing that makes it difficult is that at the point you know it's .^, you don't actually ahve the invocant yet | ||
hoelzro: It gets unshifted into the node higher up | |||
hoelzro | ooooh | ||
jnthn | hoelzro: Which is why I did it the way I did, thinking it was a cute solution. | ||
lizmat | anway, .WHICH construction needs to be as cheap as possible... | ||
FROGGS | lizmat: I had thought 'Str|a Str|b' becomes 'Str|Str||a\ Str||b' or so... or maybe even 'Str|Str\|a\ Str\|b' | 21:27 | |
hoelzro | jnthn: can you think of another way to avoid the punning? | ||
jnthn | hoelzro: The more /expedient/ approach though, is that there's a role punning exclusion list. | ||
hoelzro: Which is why ~~ SomeRoleType works out; ACCEPTS is in the exclusion list. | |||
21:27
mr-foobar left
|
|||
hoelzro | that exception delegation thing with configure_punning? | 21:27 | |
jnthn | configure_punning sounds right at least... :) | ||
masak | FROGGS, lizmat: it doesn't really feel like a string problem to me. it feels like a hashing problem. | ||
all you want is for two different things to have different hashes. | 21:28 | ||
lizmat | well, in Sets, all elements are constant | ||
jnthn | To all discussing hashing: the reason that ObjAt is a string underneath today is because that's what has been easily available as hash keys on our backends. | ||
It probably wants to be an integer | |||
lizmat | so what we really need is some runtime constant cache | ||
21:28
mr-foobar joined
|
|||
hoelzro | jnthn: awesome, thanks for the insight | 21:28 | |
lizmat | jnthn: that would only apply to non-value based .WHICHes, no? | 21:29 | |
FROGGS .oO( ... or Wizards ) | |||
lizmat | anyways, this should probably need to be conducted in meatspace | 21:30 | |
jnthn | And you get the WHICH for, say, a Set by combination of the ObjAt values for the pieces (through some wise algorithm we get from the appropriate lump of dead tree) | ||
lizmat: Yes, it would be. | |||
lizmat: Fancy going to a conf this weekend? ;-) | |||
lizmat | good plan, let me book a plane and a hotel... | ||
wait, I did that already | |||
jnthn | :) | ||
lizmat | departure from home in ~ 7 hours | 21:31 | |
jnthn | By the way, for those wanting to follow YAPC::Europe talks but can't make it, it seems there will be a live stream: blogs.perl.org/users/yapceu/2014/08...aming.html | ||
lizmat: same | |||
btyler_ | the stream availability at the last few YAPCs has been great for those of us who can't make it to them | 21:32 | |
hopefully I'll make ::EU 2015, just found a spot at a certain perl-using company in amsterdam | 21:33 | ||
FROGGS | I'll enjoy watching the stream, for sure :o) | ||
btyler_: :o) | |||
jnthn | btyler_: *that* Perl using company? :) | 21:34 | |
btyler_ | probably fair to describe it as *that* one, yeah | ||
jnthn | Hope you'll enjoy it, and Amsterdam :) | ||
lizmat | .oO( the "perl" company that shall not be named ) |
||
btyler_ | I'm pretty excited. visiting amsterdam for the interview was lovely | ||
unfortunately missed the AMSX.pm meetup by a few days | 21:35 | ||
hoelzro | btyler_: enjoy Amsterdam, I miss living there | ||
be careful finding a place to live, though | |||
lizmat missed the last AMSX.pm by jet lag | |||
btyler_ | hoelzro: thanks. any advice in that regard much appreciated | 21:36 | |
21:36
donaldh joined
|
|||
hoelzro | btyler_: just ask around, and do a lot of homework before you sign anything =) | 21:37 | |
timotimo | bleh. i got "code object coerced to string" in a line where i don't think that would happen ... | ||
masak | 'night, #perl6 | ||
btyler_ | good advice anywhere :) thanks | ||
timotimo | and i can't seem to figure out how that happens | ||
hoelzro | o/ masak | ||
21:37
colomon joined
|
|||
tadzik | o/ | 21:37 | |
hoelzro | btyler_: if you can swing it, there was a neighborhood just south of the rijksmuseum that I loved walking through | ||
colomon | \o | ||
tadzik | I borderline missed masak | ||
TimToady | make sure the recording folks know enough to turn up the mic in use, not hte wireless receiver that is busy picking up the cosmic background | 21:38 | |
tadzik | perhaps a part of the streaming crew should be a QA receiving the stream :) | ||
lizmat | .oO( if you listen carefully, you can hear the big bang! ) |
||
tadzik | ( from very far away | ||
) | |||
FROGGS | m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a") | 21:39 | |
camelia | rakudo-moar 688c28: OUTPUT«True» | ||
FROGGS | nqp-m: grammar G { method TOP() { say(?self.falsish) }; token falsish { <!> } }; try G.parse("a") | 21:40 | |
camelia | nqp-moarvm: OUTPUT«0» | ||
FROGGS | I don't get it... | ||
21:41
donaldh left,
donaldh joined
21:48
Vlavv left
21:49
pmurias left
|
|||
FROGGS | m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!from') }; token falsish { <!> } }; try G.parse("a") | 21:52 | |
camelia | rakudo-moar 688c28: OUTPUT«0» | ||
FROGGS | m: grammar G { method TOP() { say nqp::getattr_i(self.falsish, Cursor, '$!pos') }; token falsish { <!> } }; try G.parse("a") | ||
camelia | rakudo-moar 688c28: OUTPUT«-3» | ||
FROGGS | how can this be True? | ||
21:55
jnap1 joined,
jnap left,
jnap1 left
|
|||
FROGGS | I'm going to add Cursor.Bool... we'll see | 21:56 | |
japhb | TimToady: If the one thing you created that gets forgotten because it's not needed enough is killfiles ... I call that a win. | 21:58 | |
22:00
Vlavv joined
22:01
treehug88 left
|
|||
donaldh | Who wants to be boggled? | 22:02 | |
The CORE.setting class file has the entire CORE.setting source text in its constants table. | 22:03 | ||
tadzik | :D | ||
lizmat | .HOW ? | ||
donaldh | Twice. The first is normal. The second is backwards. | ||
flussence | WAT | 22:04 | |
lizmat | now *that* I find weird | ||
jnthn | Urgh | ||
22:04
Ven joined
|
|||
jnthn | That means a Match or Cursor from the parser is somehow getting its way into there | 22:04 | |
donaldh | :) | ||
tadzik | hahah | 22:05 | |
donaldh | #35983 = String #35982 // \n: elbaifidomon 6lrep=tf tes :miv #\n\n\n}EREH_ERA_UOY{\n\n}\n;)WOHrammarG::ledomateM::6lreP(esopmoc.WOH.WOHrammarG::ledomateM::6lreP | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=35983 | ||
jnthn | The once backwards isn't surprising, fwiw | ||
tadzik | the backwards bit is the best | ||
jnthn | The grammar uses <?after ...> | ||
after works by evaluating a flipped AST of the regex over a reversed string. | |||
Turns out then backtracking works out right | |||
donaldh | I'm sure this slows down startup a wee bit. | ||
jnthn | It helps me to just implement it and not think about it though, tbh :P | 22:06 | |
donaldh | :) | ||
jnthn | Anyway, it caches a reversing of the input. :) | ||
So that's why the backwards one is in there. But yeah, netiher should be. | |||
That would be a good saving. Of time and memory. | 22:07 | ||
donaldh++ | |||
donaldh | Where / how should I start looking for a Match or Cursor that is getting serialized? | ||
jnthn | I'd first start by seeing if we end up in add_categorical | 22:08 | |
We'll end up in there, but: | 22:09 | ||
if nqp::can(self, $canname) { | |||
return 1; | |||
} | |||
That should always return while compiling the setting. | |||
FROGGS | fwiw, Labels get source code attached to gistify nicely... but that should be just a short string... | ||
jnthn | If it doesn't, then the setting is declaring an operator not in the setting, which is kind of a no-no. | ||
22:10
tgt left
22:11
woolfy left
|
|||
donaldh | I'll take a look | 22:12 | |
dalek | kudo/nom: b369683 | (Tobias Leich)++ | src/core/Cursor.pm: failed cursors should Boolify to False This fixes an issue where the following snippet said "True": grammar G { method TOP() { say so self.f }; token f { <!> } }; try G.parse("a") |
22:13 | |
donaldh | add_categorical trait_mod:sym<trusts> | 22:14 | |
METAOP_TEST_ASSIGN:sym<//> | 22:15 | ||
METAOP_TEST_ASSIGN:sym<||> | |||
METAOP_TEST_ASSIGN:sym<&&> | |||
FROGGS | donaldh: that is the $canname? | 22:16 | |
donaldh | yes | ||
and it's getting past nqp::can test | |||
jnthn | ah | ||
timotimo | lucky we found this just before the rakudo release %) | ||
jnthn | I suspect it's been in the last N releases... :) | ||
FROGGS | it is always before a release :o) | ||
donaldh | infix:<op> | 22:17 | |
lizmat | All tests successful. | 22:23 | |
Files=915, Tests=32169, 185 wallclock secs ( 8.79 usr 3.23 sys + 1142.96 cusr 149.05 csys = 1304.03 CPU) | |||
22:23
micahjam97_ joined
|
|||
micahjam97_ | what do you guys think of a program that translates the keywords from something in your native language into the keywords of the programming language you're using, so that you can program in your native language? | 22:24 | |
lizmat | teaching a programming language that has been translated to a local natural language | ||
FROGGS | micahjam97_: that might make sense when english is not that popular at your place... | 22:25 | |
lizmat | has the big disadvantage that you cannot communicate with developers who are not proficient in that natural language | ||
and you would need to translate all the documentation as well | |||
tadzik | micahjam97_: methinks if people can't learn 10 english words, they won't be able to learn a programming language anyway | ||
lizmat | and that is a moving target | ||
flussence | program in APL, problem solved :) | ||
tadzik giggles at www.bbc.com/news/uk-england-24281192 | 22:26 | ||
22:26
dalek left
|
|||
tadzik | what is this I don't even | 22:26 | |
lizmat | death is a solution to many problems, but in this case not a desired one :-) | ||
micahjam97_ | lizmat: that's not the case, the source code will be the translated into english | ||
jnthn | lizmat: Aww, back above 180 :) | ||
22:26
dalek joined,
ChanServ sets mode: +v dalek
|
|||
lizmat | with spesh disabled: Files=915, Tests=32169, 173 wallclock secs ( 8.31 usr 3.22 sys + 1060.11 cusr 118.62 csys = 1190.26 CPU) | 22:28 | |
gnight #perl6, see you in / from Sofia! | |||
micahjam97_ | for example, in spanish, you would write: mi $nombre = "Micah"; imprime "Hola todos!\n";, but the program will turn this into: my $nombre = "Micah"; print "Hola todos!\n"; | 22:29 | |
FROGGS | gnight lizmat | ||
jnthn | lizmat: Travel safely! See you there! | ||
timotimo | oh, spesh makes the spectests take quite a bit longer, eh? | 22:30 | |
22:31
micahjam97_ left,
Psyche^_ joined
|
|||
donaldh | tadzik: :-) it reminds me of the vegetable for mathematicians: nl.wikipedia.org/wiki/Romanesco_%28groente%29 | 22:31 | |
tadzik | hahah | 22:32 | |
jnthn | timotimo: Somebody who doesn't mind patiently re-spectesting with tweaked spesh thresholds might be able to do better without harming longer-running things like perl6-bench | ||
tadzik | awesome | ||
japhb | .tell micahjam97_ Look up Lingua::Romana::Perligata. Then quake in fear. | ||
yoleaux | japhb: I'll pass your message to micahjam97_. | ||
22:33
Akagi201 joined
|
|||
tadzik | good point :) | 22:34 | |
timotimo | jnthn: ah, using the spectests as a good workload for setting the spesh tunables to a better position? | 22:35 | |
jnthn | timotimo: Yes, but the verifying we didn't go too far and spoil our perl6-bench results :) | 22:36 | |
22:36
Psyche^ left
|
|||
timotimo | right | 22:36 | |
sounds ... great | 22:37 | ||
:P | |||
22:38
Akagi201 left
|
|||
jnthn | Glory awaits! | 22:40 | |
donaldh | jnthn: what needs to be done to fix the add_categorical problem? | 22:45 | |
22:46
Ven left
|
|||
donaldh | Only two make it past the other checks in add_categorical: | 22:47 | |
add_categorical infix op infix:<op> &infix:<op> | |||
colomon | NativeCall doesn't work on JVM? | ||
jnthn | donaldh: I'm really not sure where those are coming from... | 22:48 | |
m: 1 op 2 | |||
camelia | rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/dJVPhIVk3CTwo terms in a rowat /tmp/dJVPhIVk3C:1------> 1 ⏏op 2 expecting any of: postfix infix stopper infix or meta-infix …» | ||
jnthn | ohhh | 22:49 | |
See zip and zip-latest | |||
timotimo | colomon: it should work | ||
FROGGS | rakudo/src/core/Supply.pm:591: my &infix:<op> = &with // &[,]; # hack for [[&with]] parse failure | 22:50 | |
donaldh | Yep, I see them. | ||
timotimo | oh, could that work by now? | ||
FROGGS | [[&with]] does work nowadays | ||
timotimo | i seem to recall someone changed that recently | ||
colomon | timotimo: I just did a fresh JVM build, then tried to install NativeCall, and it failed boatloads of tests | ||
FROGGS | was just a two lines patch :o) | ||
timotimo | colomon: oh snap. | ||
22:52
klaas-janstol left
|
|||
jnthn | Should sleep; flight & | 22:54 | |
FROGGS | good night, good flight o/ | 22:56 | |
donaldh | What should [op] change to? [[&with]] ? | ||
jercos | would Quantum Perl 6 define a prefix:<‽> operator? | 22:57 | |
22:57
xragnar_ joined,
xragnar is now known as Guest38212,
Guest38212 left,
xragnar_ is now known as xragnar
|
|||
FROGGS | m: my &with = &[+]; say 42 [[&with]] 3 | 22:57 | |
camelia | rakudo-moar 688c28: OUTPUT«45» | ||
FROGGS | donaldh: like that | ||
so we do not need to declare &infix:<op> at all | 22:58 | ||
22:58
dwarring joined
|
|||
donaldh | Got it. | 22:58 | |
Will just check if this solved the problem | 22:59 | ||
23:01
klaas-janstol joined
|
|||
donaldh | Hmm, CORE.setting source still getting serialized. | 23:04 | |
dwarring | r: say (for 1..10 {$_ * $_ if $_ % 2}) # basic list comprehension | ||
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81» | ||
dwarring | r: say "{do $_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation | 23:05 | |
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81» | ||
dwarring | r: say "{$_ * $_ if $_ % 2 for 0..10}"; # list comprehension + interpolation | ||
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«» | ||
dwarring | it seems that list comprehension plays with interpolation... | 23:06 | |
FROGGS | gnight | ||
donaldh | PR: github.com/rakudo/rakudo/pull/304 | 23:07 | |
dwarring | but only if I use the 'do for ...' syntax | ||
dwarring 'night FROGGS | |||
here's a couple more | |||
donaldh | 'night all | ||
dwarring | r; say (for 1..10 {$_ * $_ if $_ % 2}) | 23:08 | |
oops | |||
r: say (for 1..10 {$_ * $_ if $_ % 2}) | |||
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81» | ||
timotimo | dwarring: could be a precedence issue | ||
m: for ^10 say $_ * |_ if $_ !%% 2 | 23:09 | ||
camelia | rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/QMZb8hHP7iMissing blockat /tmp/QMZb8hHP7i:1------> for ^10 ⏏say $_ * |_ if $_ !%% 2 expecting any of: postfix infix stopper infix or…» | ||
timotimo | m: for ^10 say { $_ * |_ if $_ !%% 2 } | ||
camelia | rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/woIa_nV3jSMissing blockat /tmp/woIa_nV3jS:1------> for ^10 ⏏say { $_ * |_ if $_ !%% 2 } expecting any of: postfix infix stopper infi…» | ||
timotimo | m: for ^10 { say $_ * |_ if $_ !%% 2 } | ||
camelia | rakudo-moar 688c28: OUTPUT«===SORRY!=== Error while compiling /tmp/y30PeTc8JrUndeclared name: _ used at line 1» | ||
timotimo | m: for ^10 { say $_ * $_ if $_ !%% 2 } | ||
camelia | rakudo-moar 688c28: OUTPUT«19254981» | ||
timotimo | m: say $_ * $_ if $_ !%% 2 for ^10 | ||
camelia | rakudo-moar 688c28: OUTPUT«19254981» | ||
timotimo | m: ($_ * $_ if $_ !%% 2 for ^10).say | 23:10 | |
camelia | rakudo-moar 688c28: OUTPUT«1 9 25 49 81» | ||
timotimo | m: (do $_ * $_ if $_ !%% 2 for ^10).say | ||
camelia | rakudo-moar 688c28: OUTPUT«1 9 25 49 81» | ||
timotimo | huh. | ||
dwarring | r: say "{(for 1..10 {$_ * $_ if $_ % 2})}" | ||
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«1 9 25 49 81» | ||
dwarring | r: say "{for 1..10 {$_ * $_ if $_ % 2}}" | 23:11 | |
camelia | rakudo-{parrot,jvm,moar} 688c28: OUTPUT«» | ||
dwarring | parens also make a difference somehow | ||
23:13
donaldh left
|
|||
dwarring | m: "{($_ * $_ if $_ !%% 2 for ^10)}".say | 23:14 | |
camelia | rakudo-moar 688c28: OUTPUT«1 9 25 49 81» | ||
dwarring | m: "{$_ * $_ if $_ !%% 2 for ^10}".say | 23:15 | |
camelia | rakudo-moar 688c28: OUTPUT«» | ||
TimToady | see S04:658 | 23:17 | |
synopsebot | Link: perlcabal.org/syn/S04.html#line_658 | ||
TimToady | basically, {} are always going to suppress return value from loops inside | ||
after much haggling over the years, that's what we settled on as Least Surprise | 23:18 | ||
ss/loops inside/loops directly inside/ | |||
23:20
firnsy_ joined,
firnsy left
|
|||
TimToady suspects the optimizer should turn !%% into % in boolean context, if it doesn't already | 23:20 | ||
23:21
raiph left,
klaas-janstol left,
thou left
|
|||
dwarring | ok that makes sense | 23:21 | |
so I do need to put the loops in parens | 23:22 | ||
TimToady | you can interpolate using $() too | 23:23 | |
dwarring | r: say "$($_ * $_ if $_ % 2 for 0..10)" | ||
camelia | rakudo-{parrot,moar} 688c28: OUTPUT«1 9 25 49 81» | 23:24 | |
..rakudo-jvm 688c28: OUTPUT«» | |||
dwarring | ahhh! | ||
err except for jvm\ | 23:25 | ||
TimToady | huh | ||
trés peculiar | |||
dwarring | i'll ticket it | 23:26 | |
23:27
raiph joined,
spider-mario left
|
|||
TimToady | good idea | 23:29 | |
j: say "foo$('stuff')bar" | |||
camelia | rakudo-jvm 688c28: OUTPUT«foostuffbar» | ||
TimToady | just seems like the comprehension is what goes astray, so maybe in sink context for some reason | 23:31 | |
j: say "foo$( say 'hi' for 1..10 )bar" | |||
camelia | ( no output ) | ||
TimToady | o.O | ||
23:34
Akagi201 joined
|
|||
dwarring | j: say "foo$( say 'hi' for 1..10 )bar" | 23:38 | |
23:38
Akagi201 left
|
|||
camelia | rakudo-jvm b36968: OUTPUT«(timeout)» | 23:39 | |
dwarring | j: say "alive" | ||
camelia | rakudo-jvm b36968: OUTPUT«alive» | ||
dwarring | j: say "foo$( say 'hi' for 1..10 )bar" | 23:40 | |
camelia | rakudo-jvm b36968: OUTPUT«hihihihihihihihihihifoobar» | ||
23:44
nhayashi_ left
|
|||
TimToady | j: say "foo$( say 'hi' for 1..10 )bar" | 23:44 | |
camelia | rakudo-jvm b36968: OUTPUT«hihihihihihihihihihifoobar» | 23:45 | |
23:45
nhayashi joined
|
|||
TimToady | beats me | 23:45 | |
23:50
yukko left
23:51
firnsy_ is now known as firnsy,
yukko joined
|