»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:11
jack_rabbit joined
00:15
vendethiel joined
|
|||
avuserow | m: use NativeCall; my Pointer[Void] $f; # known LTA error? | 00:30 | |
camelia | rakudo-moar 2b08d6: OUTPUT«===SORRY!===Cannot invoke this object (REPR: Null, cs = 0)» | ||
00:35
vendethiel left
00:44
tinyblak joined
00:50
tinyblak left
00:53
laouji joined
00:58
jack_rabbit left
01:16
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
al2o3-cr left
01:22
lichtkind left
01:25
jferrero joined
01:52
colomon left
01:53
colomon joined,
adu joined
01:54
vendethiel joined
|
|||
raydiak | ...and on day 4 of the 5-day housesitting, I figure out how to reliably stay connected to the wireless router | 01:54 | |
japhb | What was the trick? | 01:55 | |
yoleaux | 21 May 2015 06:30Z <FROGGS> japhb: the commit states "round up to a multiple of"... maybe it is my bad English; if the biggest elem (perhaps an inlined struct) is bigger than 8 bytes (void* on x86_64), then it should allocate a multiple of 8 bytes | ||
21 May 2015 06:31Z <FROGGS> japhb: there is already that bit of code: github.com/MoarVM/MoarVM/blob/4102...uct.c#L242 | |||
raydiak | pretty brain-dead simple in this case, actually...leaving a ping to my server running every 5 seconds in the background | 01:56 | |
no pans or tin-foil required :) | |||
japhb | Sigh ... WAPs, why do you so often suck so much? | 01:57 | |
raydiak shakes fist at verizon mifi :P | 01:59 | ||
01:59
adu left
02:02
jack_rabbit joined
|
|||
skids | Because they have to have the lastest pnp consumer bullcrap features and can't just do one thing and do it well. | 02:02 | |
raydiak wonders if it isn't an adjustable battery-saving feature for the mifi or something, but didn't want to go prodding at it since the owner doesn't seem to have any complaints | 02:08 | ||
skids | Either that or it was only ever tested with chatty clients because they epect everyone to be sending SSDP hails constantly. | 02:09 | |
raydiak | yeah all the usual windows network spam probably keeps it alive for most people :) | 02:10 | |
raydiak is eating a steak in a room with three dogs and is getting looked at like *he's* for dinner... | 02:11 | ||
02:12
xiaomiao left
02:16
xiaomiao joined
|
|||
jdv79 | look at them as dinner? | 02:16 | |
02:19
dayangkun joined
02:20
dayangkun left
|
|||
raydiak | heh if I do anything other than ignore them it gets their terribly confused hopes up | 02:20 | |
colomon | .oO(He’s looking at us. Maybe we can eat him.) |
||
02:20
dayangkun joined
02:21
itz joined,
vendethiel left
|
|||
skids | www.youtube.com/watch?v=b9sWekhWANc | 02:22 | |
raydiak | <blood spatter on camera lens with screaming, cut to a pan over the living room floor with three dogs chomping on raydiak's disembodied limbs> | ||
ha ha skids :) | 02:23 | ||
<end camera pan on raydiak's untouched steak; fade out; roll credits> | 02:24 | ||
02:27
colomon left,
chenryn joined
02:28
colomon joined
02:30
rmgk_ joined,
rmgk is now known as Guest27572,
Guest27572 left,
rmgk_ is now known as rmgk
02:47
cibs joined
02:48
tinyblak joined
02:53
noganex joined
02:57
noganex_ left
03:10
gerry_ joined
03:41
gerry_ left
03:48
Sqirrel left
|
|||
zostay | m: my Int $a = 42 if False; $a | 03:56 | |
camelia | ( no output ) | ||
zostay | m: my Int $a = 42 if False; $a.perl | ||
camelia | ( no output ) | ||
zostay | m: my Int $a = 42 if False; say $a.perl | ||
camelia | rakudo-moar 2b08d6: OUTPUT«Int» | ||
TimToady | m: my Int $a = (42 if False); say $a.perl | 03:58 | |
camelia | rakudo-moar 2b08d6: OUTPUT«Type check failed in assignment to '$a'; expected 'Int' but got 'Empty' in block <unit> at /tmp/ZME6SxVzh3:1 in any <unit-outer> at /tmp/ZME6SxVzh3:1» | ||
04:00
Calibellus joined
04:03
Calibellus left
04:05
chenryn left
04:15
laouji left
04:31
][Sno][ joined,
[Sno] left
|
|||
raiph | .tell TimToady I've left a comment on your 2012 OKness proposal. Apologies if my comment is not OK. :) | 04:32 | |
yoleaux | raiph: I'll pass your message to TimToady. | ||
04:35
kaare__ joined
|
|||
TimToady | good gried, even I don't believe half of that now :) | 04:39 | |
yoleaux | 04:32Z <raiph> TimToady: I've left a comment on your 2012 OKness proposal. Apologies if my comment is not OK. :) | ||
dalek | kudo/nom: 7a606e3 | TimToady++ | docs/ChangeLog: various things that happened |
04:44 | |
04:49
chenryn joined
04:57
gerry_ joined
05:01
gerry_ left
05:02
jack_rabbit left
05:04
jack_rabbit joined
05:05
laouji joined
05:13
quester joined
05:14
tinyblak left
05:20
rindolf joined
05:21
raiph left
05:23
jack_rabbit left
05:24
skids left
05:26
jack_rabbit joined
05:32
gerry_ joined
05:33
avalenn joined
05:41
jack_rabbit left,
tinyblak joined
05:43
FROGGS joined
|
|||
FROGGS | morning #perl6 | 05:44 | |
TimToady | mornin', I added some things to the Changelog since it looked like release was postponed a day | 05:46 | |
FROGGS | TimToady++ | ||
I have a list of things to add (114 entries), though I prefer your wording of course... | 05:47 | ||
m: class T { has $!foo is rw } | |||
camelia | rakudo-moar 7a606e: OUTPUT«useless use of 'is rw' on $!foo in any at src/Perl6/World.nqp:2499» | ||
TimToady | maybe some time we .tc all these messages | 05:49 | |
FROGGS | yes, makes sense | ||
(from a German POV) | |||
05:51
Foxcool joined
05:52
Foxcool left,
Foxcool joined
05:55
jack_rabbit joined
05:56
domidumont joined
06:00
gerry_ left
06:01
domidumont left,
domidumont joined
06:03
gerry_ joined
06:04
aborazmeh left,
gerry_ left
06:07
diana_olhovik_ joined
06:10
chenryn left
06:12
gerry_ joined
06:13
chenryn joined
06:16
gerry_ left
06:22
jack_rabbit left
06:24
gerry_ joined,
sue__ joined
06:26
rindolf left
06:37
gerry_ left
|
|||
masak | morning, #perl6 | 06:44 | |
moritz | \o | ||
masak | I think I slept through the release. was there a release? | ||
FROGGS | masak: there was 1/3rd release | 06:45 | |
masak: I just released MoarVM, and will release and/rakudo in a bit | |||
masak | ok. | 06:47 | |
dalek | kudo/nom: 5cf700f | FROGGS++ | docs/ROADMAP: remove NFG (as being done) from ROADMAP |
||
masak | why the delay, ooc? | ||
masak hasn't backlooged | |||
FROGGS | masak: I cannot upload MoarVM tarballs and jnthn was afk... | 06:48 | |
but he'll pop up in the next hours to do the upload, so I took the time yesterday and this morning to fix a few things and polish changelogs | 06:49 | ||
moritz | oh, we now have Polish changelogs? :-) | 06:51 | |
masak .oO( szejnzh logky ) | 06:54 | ||
06:55
abraxxa joined
06:58
RabidGravy joined
07:00
abraxxa left
|
|||
FROGGS | m: use MONKEY_TYPING | 07:00 | |
camelia | rakudo-moar 7a606e: OUTPUT«Saw 1 occurrence of deprecated code.'use MONKEY_TYPING' seen at: /tmp/zn8dJLCPrT, line 1Deprecated since v2015.4, will be removed with release v2015.9!Please use 'use MONKEY-TYPING' instead.» | ||
FROGGS | m: use MONKEY-TYPING | ||
camelia | ( no output ) | ||
masak .oO( Please use 'use "use MONKEY-TYPING" instead'. ) :P | 07:01 | ||
FROGGS | hehe | 07:02 | |
masak | FROGGS: you know how it's considered a sentence smell in English to end a sentence with a preposition? | ||
well, surely then, using *two* prepositions would be more smelly, yeah? | 07:03 | ||
there's this example scenario where a dad walks upstairs with a book he chose, to read to his daughter as a goodnight story. | |||
and the daughter furrows he brows and asks | |||
"what did you bring that book that I don't want to be read out of up for?" | 07:04 | ||
four-preposition sentence. :) | |||
er | |||
"read to out of up for". five. | 07:05 | ||
FROGGS | 'What'ya fell over for?' -- Stan | ||
masak | example courtesy of www.amazon.com/Language-Instinct-Mi...061336467/ IIRC | 07:06 | |
(which book comes highly recommended, Pinker++) | |||
FROGGS | masak: ooc, why are you telling me that? | ||
masak | FROGGS: just reminded of that book and that example by the recursive 'use' thing above... | ||
FROGGS | ahh :o) | 07:07 | |
masak | but it also struck me as I told this that it would be interesting to see how a German would react to the example, since you do this with (auxiliary?) verbs | ||
stack them and then pop them at the end of the sentence | |||
I've heard tell of German professors who are so good at this, that when they come to the end of a long sentence, they have like, six verbs to pop | 07:08 | ||
and the students just sit there, trying frantically to map all the verbs back to what was said earlier in the sentence | |||
moritz | masak: though most politicians who construct such sentences don't properly finish them | ||
masak | augh | ||
07:09
spider-mario left
|
|||
moritz | and in my studies (CS, physics), I haven't come across such sentences | 07:09 | |
masak | Google Translate usually makes a mess of such sentences, by the way | ||
moritz | might be a speciality of some topics | ||
understandable :-) | |||
try to feed Kant into Google Translate on occasion :-) | 07:10 | ||
masak | haha | ||
masak wonders what Kant would've thought about Google Translate | |||
moritz | I don't know; I just know that if he wrote down his thoughts, it'd be just one sentence, and I'd need about an hour to understand it | ||
masak | did I tell y'all I've met Hofstadter? | 07:11 | |
moritz | you did? | ||
masak | I was in the audience for a talk he gave at Uppsala uni. | ||
moritz | oooh | ||
masak | I asked him a question about AI. | ||
don't remember how I phrased it, but basically "will we have (strong) AI soon?" | |||
his answer was "of course" and "of course not" :) | 07:12 | ||
moritz | :-) | ||
FROGGS | hehe | ||
masak | that is, examples like Google Translate, seemingly impressive on the surface, will keep popping up (and do useful things) | 07:13 | |
moritz | don't ask Hofstadter for advice, for his answer will be both Aye and Nay :-) | ||
nwc10 | and take longer than you expect, even ... | ||
masak | but that's a far cry from the real thing, translating with *understanding* of the *concepts* involved. and that won't happen anytime soon (and if you think it will, then that's likely because you haven't studied the problem for decades like Hofstadter has) | ||
moritz | I think the concept of "understanding" will blur | 07:14 | |
07:14
abraxxa joined,
][Sno][ left
|
|||
masak | that was several years ago. since then, I've read more of his works, and I feel a little bit sheepish for asking him such a question. when his position is very clear from his writings. | 07:14 | |
still, somehow, I'm glad I asked :) | |||
moritz | if you have a huge neural network, and feed it enough stuff, will it understand it? | ||
will you even know if it does? | 07:15 | ||
masak | moritz: did you see the most recent neural network scandal (Flickr)? | ||
moritz | masak: no | ||
masak goes hunting for it | |||
money.cnn.com/2015/05/21/technology...index.html | |||
so... I rest my case :/ | 07:16 | ||
not the first time this happens. Amazon had some really offensive book recommendations a couple years back. | |||
moritz | well, these are cases where it's pretty clear the algorithms are pretty far away from "understanding" | 07:17 | |
but if the networks gets 3 to 6 orders of magnitudes betters, and the algorithms more intelligent | |||
and they tag as well as a 4 year old, or maybe a 6 year old | |||
can we then know if it has "understanding"? | 07:18 | ||
xiaomiao | heh, 'understanding' in translation ... even humans fail that | ||
"The pressure takes place in Germany" # quote from a contract with a value of a few MEur | |||
moritz | and if we claim the computer doesn't have a mental model of the stuff, do we claim the same about our children? | 07:19 | |
masak: he, that's an interesting angle: for some problem (like image tagging), will our children ever be better than the best software out there? :-) | |||
masak | xiaomiao: I'm currently reviewing a document that had "increase user viscosity" when it meant "increase user retention". | ||
xiaomiao | masak: that ... uhm ... eeeew | 07:20 | |
masak | moritz: I can imagine that computers will at some point overtake children (and adults). | ||
moritz: they could with chess, so... | |||
xiaomiao | masak: statistically yes, but in corner cases it'll be extra fun | ||
moritz | right | ||
masak | corner cases are always fun. | 07:21 | |
07:24
Ven joined
|
|||
Ven | hi, #perl6! | 07:25 | |
FROGGS | I think I'll move the linenoise notes to to the current release, since they were added just two weeks ago | ||
masak | hi, Ven \o | ||
Ven | is there a way to change the "greediness" of `~`? | 07:28 | |
say, I write '(' ~ ')' <xyz> – I'd like perl6 to check for ')' instantly, and not try anything else if it matches instantly | |||
DrForr | The way I understand ~ it'd have to match <xyz> beforehand, which could expand to something containing ')'. | 07:31 | |
token xyz { '(' 'xyz' ')' } token TOP { '(' ~ ')' <xyz> } "((xyz)' ~~ /<TOP>/ # for instance? | 07:33 | ||
FROGGS | Ven: jnthn has it on his todo | 07:34 | |
DrForr | Never mind then :) | ||
dalek | kudo/nom: bfb1ac2 | FROGGS++ | docs/ChangeLog: add more changes, reorganize changelog |
||
Ven | DrForr: well, I think '(' [ ')' | <xyz> ')' ] should LTM | ||
FROGGS: would that be a special syntax, or is that the expected semantics? | |||
FROGGS | Ven: the syntax stays | 07:35 | |
Ven: the consensus is that it will backtrack | |||
Ven | I'd like it not to backtrack at all, and just go "the fast lane" :) | ||
FROGGS | (not quite what you said though) | ||
Ven | I mean, I'd be okay with a different syntax | ||
FROGGS | '(' ~? ')' <xyz> # ? | 07:36 | |
07:36
sue__ left
|
|||
Ven | no idea :-) | 07:36 | |
DrForr | While I'm watching the channel :) who should I talk to about adding Readline to the ecosystem page? | 07:37 | |
07:37
zakharyas joined
|
|||
masak | DrForr: what's your github user name? | 07:37 | |
DrForr | Guess :) 'drforr' | 07:38 | |
moritz | DrForr: accept the invitation I just send you | ||
DrForr: then do it yourself :-) | |||
DrForr | Will do. | ||
masak | oh, two invitations, then. | ||
moritz++ # faster | |||
DrForr | Heh. I've already got the project checked out somewhere :) | 07:39 | |
masak | github.com/perl6/ecosystem is what you want | 07:40 | |
DrForr | Yeah, I think I already made my edits, but I'll do it from scratch. | 07:41 | |
dalek | kudo/nom: 6b7bcaf | FROGGS++ | docs/ChangeLog: deduplicate mentioning $?FILE change |
07:44 | |
07:48
g4 joined,
g4 left,
g4 joined
07:49
quester left,
darutoko joined
|
|||
dalek | kudo/nom: dc62c49 | FROGGS++ | docs/announce/2015.05.md: add announcement for 2015.05 |
07:50 | |
kudo/nom: f6b1398 | FROGGS++ | docs/release_guide.pod: update release table |
07:51 | ||
07:55
tinyblak left
|
|||
dalek | kudo/nom: 24ea588 | FROGGS++ | docs/announce/2015.05.md: update list of contributors++ |
07:55 | |
07:55
tinyblak joined
|
|||
FROGGS | pleas review the announce and the changelog | 07:55 | |
dalek | p: ccefa77 | FROGGS++ | / (2 files): bump VERSION to 2015.05 |
07:57 | |
07:57
telex left
07:58
telex joined
|
|||
lizmat | good *, #perl6! | 08:03 | |
FROGGS | hi literal | ||
err | |||
hi lizmat | |||
lizmat | so, is "use 'use MONKEY-TYPING'" enough of a bother to change ? | ||
FROGGS | no | 08:04 | |
lizmat | ok, then I will not change it :-) | ||
FROGGS | it is technically correct after all :o) | ||
lizmat | .oO( but but, we want more than technically correct! :-) |
||
FROGGS | I know | 08:05 | |
but not now | |||
lizmat | in any case, it will be gone by September | ||
FROGGS | which is soon ó.ò | ||
masak | yeah, I just thought it was funny :) no reason to fix anything | 08:06 | |
"technically, it's correct" sounds like the beginning of some mansplaining :P | |||
FROGGS | "mansplaining"? | ||
08:06
chenryn left
|
|||
FROGGS | ahh | 08:07 | |
masak | FROGGS: twitter.com/CoralineAda/status/601...8717367296 | ||
dalek | osystem/drforr-readline: ccfef63 | drforr++ | META.list: Add perl6-readline to ecosystem |
08:08 | |
cognominal | I note that my problems with the perl6 repl segfaults disappear when rebootstrapping panda and so reinstalling Linoise. Probably some error message whould help here | ||
08:08
chenryn joined
|
|||
moritz | cognominal: you mean "Segmentation fault" isn't an error message? :-) | 08:09 | |
(just kidding) | |||
FROGGS | uhh, it shall not segfault :o( | ||
masak | "7. thy shall not segfault" | ||
FROGGS | aye | ||
08:10
Sqirrel joined,
tinyblak_ joined
|
|||
lizmat | "construst hashes" | 08:10 | |
shouldn't that be "construct hashes" ? | |||
moritz | masak: is that from the list of rules from becoming an all-powerful overlord? :-) | 08:11 | |
dalek | osystem: ccfef63 | drforr++ | META.list: Add perl6-readline to ecosystem |
||
osystem: 4187c00 | drforr++ | META.list: Merge pull request #46 from perl6/drforr-readline Add perl6-readline to ecosystem |
|||
cognominal | I mean probably some test about version somewhere would catch the problem before the segfault and would be an opportunity of an error message by rakudo insteaof of the underlying OS | ||
moritz | s:2nd/from/for/ | ||
lizmat | FROGGS: do we have a name for the release yet ? | 08:12 | |
FROGGS | cognominal: there are tests for that, and the error message mentiones that there is a version skew in the dependency of the setting, caused by Linenoise.pm.moarvm | 08:13 | |
lizmat: we have, Dresden | |||
lizmat | okidoki | ||
FROGGS | lizmat: do you propose something else? | ||
08:14
tinyblak left,
fhelmberger joined
|
|||
cognominal | FROGGS: I don't see that. Only a mere segfault | 08:14 | |
lizmat | FROGGS: not yet | ||
08:14
laouji left
08:15
laouji joined
|
|||
FROGGS | cognominal: can you run perl6-gdb-m next time? so we might know what causes the segfault | 08:16 | |
cognominal | yes | 08:17 | |
lizmat | FROGGS: the "construst hashes" is in the ChangeLog, hence my question | 08:22 | |
FROGGS | ahh, missed your question :o) | 08:24 | |
DrForr | Hrm, looks like I'll be able to make it for the P6 tutorial @ YAPC. | 08:25 | |
dalek | kudo/nom: 50abd69 | FROGGS++ | docs/ChangeLog: fix typo in changelog, lizmat++ |
||
08:27
laouji left,
virtualsue joined
|
|||
lizmat | I wonder if we shouldn't include contributors to roast in the contributor overview as well | 08:28 | |
especially since roast *is* defining the language | |||
moritz | if you do so, include nqp and moarvm as well | ||
lizmat | there you go, yes | ||
wouldn't that make sense? | |||
FROGGS | I think so, yes | 08:29 | |
lizmat | I mean, the repo's *are* available, so it would just be a matter of adjusting the script | ||
ok, I'll have a stab at it | |||
and let's see if I can make Perl 6 of it at the same time :-) | 08:30 | ||
08:30
laouji joined
|
|||
masak | DrForr: no, your reply didn't re-open #125226. | 08:30 | |
DrForr: lizmat++'s reply changed it from "new" to "open". | 08:31 | ||
(that happens automatically on the first reply, IIUC) | |||
I rejected the ticket, and it remains rejected. | |||
DrForr | Ah, okay. Like I said, purely a thinko although the fact that lives_ok{} takes a block sort of encouraged me to think that subtest} might work the same way. Incidentally it's only got partial pod according to perl6 --doc path/to/Test.pm # Might have to fix that at some point. | 08:32 | |
masak | aye | 08:33 | |
DrForr | That's the problem with "principle of least surprise" - It really depends upon who's being surprised. | 08:34 | |
08:35
rindolf joined
08:37
Foxcool left
08:43
Foxcool joined
08:48
dakkar joined
08:52
espadrine_ joined,
espadrine_ is now known as espadrine
|
|||
Ven | .oO( I'm surprised it works ) |
08:58 | |
09:01
danaj joined
|
|||
masak | I guess "least surprise" means something like "least surprise to an average user" | 09:05 | |
09:06
FROGGS left
|
|||
RabidGravy | FROGGS, I put a note on the commit on the announce.md but I am both of "Jonathan Stowe" and "RabidGravy" so you can lost the latter | 09:08 | |
lose | |||
lizmat | RabidGravy: mind if I add you to CREDITS then? so this won't have to be done manually in the future ? | 09:09 | |
09:09
FROGGS joined
|
|||
RabidGravy | yep, fine | 09:09 | |
:) | |||
lizmat | FROGGS: not to late to commit a doc patch ? | 09:10 | |
FROGGS | lizmat: you can still commit (non breaking stuff) to rakudo, yes | ||
lizmat | ok, will patch both then :-) | ||
FROGGS | lizmat++ | ||
I just uploaded the nqp tarball... | |||
trying to get the contribs on moar, nqp and roast now | 09:11 | ||
lizmat | by rewriting tools/contributors.pl ? | 09:12 | |
FROGGS | yes | ||
lizmat | ok, I'll stop doing that then as well | ||
FROGGS | heh | ||
dalek | kudo/nom: 8c894fd | lizmat++ | / (2 files): Merge RabidGravy and Jonathan Stowe |
09:13 | |
masak | this is a great reason to add people to CREDITS :P | 09:16 | |
lizmat | for the commit message ? | 09:17 | |
09:17
Ven left,
mohij joined
|
|||
lizmat wonders whether this is something for timotimo: www.thedodo.com/hoodie-with-pouch-...67753.html | 09:18 | ||
it might keep his cat from wandering over the keyboard :-) | 09:19 | ||
FROGGS | awwww | ||
dalek | kudo/nom: db5cb76 | FROGGS++ | docs/announce/2015.05.md: also add cotributors of moar,nqp and roast |
09:23 | |
FROGGS | gah, typos! | ||
DrForr | Too late for --amend? | ||
FROGGS | --amend is nice until you pushed | 09:24 | |
09:30
cognominal left
09:31
cognominal joined
09:33
laouji left
|
|||
dalek | kudo/nom: c9d5ec2 | FROGGS++ | tools/contributors.pl: update contributors.pl to include moar, nqp and roast |
09:34 | |
kudo/nom: efd3b1b | FROGGS++ | docs/announce/2015.05.md: again, add more contributors |
09:35 | ||
nwc10 | are we a lynch mob? justinhileman.info/article/git-pretty/ | ||
09:36
laouji joined
|
|||
lizmat | FROGGS: mind if I rewrite contributors.pl to Perl 6 ? | 09:36 | |
FROGGS | lizmat: no, go ahead | 09:37 | |
|Tux| | Semicolon form of 'module' without 'unit' seen at: | 09:39 | |
/pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/File__Find/lib/File/Find.pm, line 3 | |||
masak | and so | ||
|Tux| | /pro/3gl/CPAN/rakudobrew/moar-nom/panda/ext/Shell__Command/lib/Shell/Command.pm, line 1 | ||
masak | it begins | 09:40 | |
|Tux| | and a few more of those | ||
no new RT's I follow fixed | 09:41 | ||
FROGGS | |Tux|: that's expected and will vanish soon | ||
RabidGravy | five character patch in most places I think :) | 09:42 | |
|Tux| | just doning some feedback again | ||
masak | |Tux|: which RT is at the top of your priority list? | ||
or s/priority/urgency/, perhaps | |||
FROGGS | |Tux|++ | ||
|Tux| | RT#124191 and RT#124394 | ||
FROGGS | lunch & | ||
masak | heh, of course he chose two :P | 09:43 | |
I was going to add "and when I say 'which RT', that means at most *two*..." :P | |||
|Tux| | next in line would be RT#123978 | ||
09:44
mohij left
|
|||
|Tux| | but I expect a "won't fix" as possible answer there | 09:44 | |
masak | yeah, rt.perl.org/Ticket/Display.html?id=124191 is beyond my powers. I did put in quite some effort to locate and fix that one. | 09:45 | |
RabidGravy | Is there a way in travis-ci or something else of having a commit to rakudo occassion a smoke test of one's own code? | ||
|Tux| | RT#123888 possibly being related to RT#123978 | ||
masak | |Tux|: rt.perl.org/Ticket/Display.html?id=124394 is fixed. | ||
been fixed since Apr 26. | 09:46 | ||
|Tux| | I didn't mention that one today, did I? :) | ||
masak | <|Tux|> RT#124191 and RT#124394 | ||
|Tux| | tux.nl/Files/20150522114625.png | ||
masak | that was the second of your top one priority RTs. | ||
|Tux| | must have been scrolling while viewing | ||
number 11 and 12 | 09:47 | ||
masak | |Tux|++ # organized | ||
|Tux| | 124191 and 124298 | ||
masak | rt.perl.org/Ticket/Display.html?id=124298 sounds urgent. surprised nobody's looked at it. | 09:48 | |
|Tux| thinks he pointed enough at that here | |||
I do not want to be a constant nuisance :P | |||
masak searches the backlog for it | 09:49 | ||
09:49
virtualsue left
|
|||
masak | yeah, you did mention it quite a few times. | 09:50 | |
|Tux| | Apr 14 11:52:16, Apr 18 23:17:18, May 02 13:54:40, May 04 21:41:55 | ||
masak wonders if anyone except jnthn is going to dare crack open a problem pre-marked as "precompilation bug" | 09:53 | ||
09:54
mohij joined
|
|||
lizmat | masak [Tux] : fwiw, I think that problem has more to do with @*INC sanitation then anything else | 09:55 | |
which we all hope to fixe before the next release | |||
*fix | |||
it was getting to close to the current release to try and fix something so deep with such a big ecosystem fallout | 09:56 | ||
that I stopped working on it last weekend | |||
|Tux| | I was not complaining. Just answering questions | 09:57 | |
lizmat | yeah, I know... I'm just saying it *is* on the radar | 09:58 | |
|Tux| | good | 09:59 | |
lizmat, you did not answer my *mail* regarding replacing regex with grammar | |||
any thoughts on that? | |||
lizmat | huh? when was that ? | 10:00 | |
ah, 5th of may, found it | 10:01 | ||
10:04
RabidGravy left,
[Sno] joined
|
|||
lizmat | [Tux]: I think you need to post that more widely | 10:05 | |
I don't have any significant thoughts about that other than using a Grammar for it seems overkill | |||
|Tux| | like to PM or even wider? (/me does not do blogs) | ||
lizmat | no, just on perl6-language or so | ||
|Tux| | I am not on that list I think | 10:06 | |
lizmat | or maybe even perl6-user | ||
there's not a lot of traffic on that (yet) | 10:07 | ||
FROGGS: is there a reason you're doing both ../MoarVM *and* nqp/MoarVM ? | 10:10 | ||
10:13
mohij left
10:15
bjz joined
10:16
andreoss joined
10:20
bjz left
10:27
virtualsue joined
|
|||
jdv79 | jdv79 and Justin DeVuyst are the same person | 10:29 | |
masak .oO( says who? ) :P | |||
colomon | citation, please. | 10:30 | |
;) | |||
jdv79 | both are in the contrib list - that's why i mention it | ||
dalek | kudo/nom: fab519c | (Carl Masak)++ | docs/announce/2015.05.md: jdv79 and Justin DeVuyst are the same person jdv79++ |
||
masak | fix'd | ||
lizmat | for now, but not for the next release :-( | 10:31 | |
:-) | |||
masak | jdv79: mind if I also add you to the CONTRIBUTORS file? | ||
er, CREDITS | |||
jdv79 | whatever fixes it for real | 10:32 | |
|Tux| | lizmat, ENOFREETIME to also join perl6-users and translate that suggestion for now | ||
My love turned 0x32 today :) | |||
lizmat | adding your name to CREDITS | ||
ah, that's a nice age, I remember it well! | |||
dalek | kudo/nom: d1d2523 | (Carl Masak)++ | CREDITS: add jdv79 |
||
masak | fix'd for real | ||
lizmat | :-) | 10:33 | |
FROGGS | lizmat: my repos are all on the same level, and others have rakudo/nqp/MoarVM | ||
masak | jdv79: feel free to add more details to that file if you want | ||
10:33
laouji left,
chenryn left
|
|||
jdv79 | cool, thanks | 10:33 | |
10:33
laouji joined
|
|||
lizmat | FROGGS: but wouldn't you say that a release manager would run this script in a "normal" user release | 10:33 | |
aka, with an nqp and an nqp/MoarVM ? | |||
FROGGS | lizmat: I doubt that | 10:34 | |
lizmat: I dont run the tools/contributors.pl or the tai-seconds script in the extracted tarball | 10:35 | ||
because that comes earlier, and has nothing todo with tarball testing | |||
lizmat | true | ||
FROGGS | lizmat: also, in the extracted tarball scenario you probably dont have the git repo's anymore | ||
lizmat | but although I have both a ../MoarVM and a ../nqp, I also have a nqp and a nqp/MoarVM | ||
so in my case, the commits in nqp and MoarVM would be counted twice | 10:36 | ||
FROGGS | lizmat: maybe that's why you have to nuke your install/ every now and then... you have to many checkouts :o) | ||
10:36
andreoss left
|
|||
FROGGS | lizmat: it dedups the authors by name | 10:36 | |
so, no harm done | |||
dalek | kudo/nom: 89439d2 | FROGGS++ | tools/build/NQP_REVISION: [release] bump NQP revision |
10:40 | |
kudo/nom: 7b0ce69 | FROGGS++ | VERSION: [release] bump VERSION |
|||
10:41
laouji left
10:43
laouji joined
|
|||
lizmat | FROGGS: running build and spectest | 10:45 | |
FROGGS | me too | 10:46 | |
lizmat | yeah, but not on OS X :-) | ||
FROGGS | true :o) | ||
10:49
dayangkun left
|
|||
masak | the .reals method in Complex | 10:52 | |
we've talked about this before, but never reached consensus | |||
it's a spectacularly bad name for what it actually does | |||
it can wait until after release of course, but I would like to suggest it be renamed to .parts | |||
FROGGS .oO( uppercase it ) | |||
masak | FROGGS: :P | 10:53 | |
colomon | m: say (3/4).nude | ||
FROGGS | that's what we usually do, no? :D | ||
camelia | rakudo-moar d1d252: OUTPUT«3 4» | ||
masak | I'd suggest .components, but it's a bit long | ||
colomon | m: say (3 + 4i).reals | ||
camelia | rakudo-moar d1d252: OUTPUT«3 4» | ||
lizmat | t/spec/S02-names/pseudo.rakudo.moar (Wstat: 0 Tests: 142 Failed: 0) | ||
TODO passed: 79 | |||
masak | under that naming scheme, it should be called .reim | ||
lizmat | strange flapper just now in spectest | ||
colomon | m; say (3 + 4i).reim | ||
m: say (3 + 4i).reim | |||
camelia | rakudo-moar d1d252: OUTPUT«Method 'reim' not found for invocant of class 'Complex' in block <unit> at /tmp/G19sLG5cIy:1 in any <unit-outer> at /tmp/G19sLG5cIy:1» | ||
lizmat | FROGGS: test / spectest clean on Moar | 10:54 | |
FROGGS | lizmat: awesome, thank you | ||
again "Tests out of sequence" for one test file, sigh | 10:55 | ||
lizmat | FROGGS: yeah, but I'm afraid we can't let that be a stopper | 10:56 | |
FROGGS | I know | ||
10:56
bjz joined
|
|||
FROGGS | I just wonder | 10:56 | |
lizmat | it's just something that has been lurking in the background for many months now | ||
and which jnthn is slowly unearthing now | |||
it's just closer to the surface now :-) | 10:57 | ||
FROGGS | many months? it is quite new to me | ||
lizmat | *that* particular type of flap is new indeed | ||
but we've had flappers for many months now, and they're fewer now than before, is my impression | 10:58 | ||
make test clean on JVM, running spectest now | |||
10:58
laouji left
|
|||
FROGGS | I run another spectest and then will judge if I skip t/spec/integration/advent2013-day14.t | 10:59 | |
11:00
Ven joined,
xfix joined
|
|||
lizmat | argh, just found that pipe() is not paying attention to $*CWD | 11:01 | |
probably been there for several releases already | |||
FROGGS | huh? | 11:02 | |
how did you find out? | |||
the contribs script? | |||
lizmat | no, sub indir in io_operators.pm | ||
I mean, in combination with | 11:03 | ||
pipe | |||
while rewriting contributors.pl | |||
FROGGS | yes, that's what I mean | ||
11:04
laouji joined
|
|||
FROGGS rebuilds the tarball | 11:06 | ||
lizmat | hmmm.. seems to be related to gather ?? | 11:09 | |
11:09
mr-foobar joined
|
|||
lizmat | $ 6 'indir "nqp", { pipe("pwd").lines.say }' | 11:09 | |
/Users/liz/Github/rakudo.moar/nqp | |||
$ 6 'say indir "nqp", { gather for pipe("pwd").lines { take $_ } }' | 11:10 | ||
/Users/liz/Github/rakudo.moar | |||
FROGGS | confirmed | 11:11 | |
lizmat | not related to pipe(), but gather: | ||
$ 6 'say indir "nqp", { $*CWD }' | |||
"/Users/liz/Github/rakudo.moar/nqp".IO | |||
$ 6 'say indir "nqp", { gather { take $*CWD } }' | 11:12 | ||
"/Users/liz/Github/rakudo.moar".IO | |||
I guess that's the same issue really as with start { } | |||
11:12
andreoss joined
|
|||
andreoss | m: say @*INC».IO | 11:13 | |
camelia | rakudo-moar d1d252: OUTPUT«"/home/camelia/file#/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/inst#/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/file#/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/file#/home/camelia/rakudo-inst-2/shar…» | ||
lizmat | $ 6 'say (indir "nqp", { start { $*CWD } }).result' | ||
"/Users/liz/Github/rakudo.moar".IO | |||
yup, same o same o | |||
FROGGS | "/home/camelia/file#/home/camelia/rakudo-inst-2/share/perl6/lib" **shudder** | ||
andreoss | p6doc is broken because of it | ||
m: say @*INC.map(*.subst: /\w+ '#'/, '')».IO | 11:15 | ||
camelia | rakudo-moar d1d252: OUTPUT«"/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/vendor/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/site/lib".IO…» | ||
FROGGS | m: say @*INC.map(CompUnitRepo.new(*))».IO | ||
camelia | rakudo-moar d1d252: OUTPUT«Type check failed in binding $spec; expected 'Str' but got 'Whatever' in block <unit> at /tmp/ifPhRt7ZVR:1 in any <unit-outer> at /tmp/ifPhRt7ZVR:1» | ||
11:15
chenryn joined
|
|||
FROGGS | m: say @*INC.map({CompUnitRepo.new($_)})».IO | 11:15 | |
camelia | rakudo-moar d1d252: OUTPUT«"/home/camelia/.perl6/2015.04-368-gd1d2523/lib".IO "/home/camelia/.perl6/2015.04-368-gd1d2523".IO "/home/camelia/rakudo-inst-2/share/perl6/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/vendor/lib".IO "/home/camelia/rakudo-inst-2/share/perl6/site/lib".IO…» | ||
FROGGS | andreoss: that's the correct way | ||
11:17
Sqirrel left
11:18
virtualsue left
|
|||
FROGGS | I'm not happy with the cur specs in @*INC, but I have no idea what might be better instead | 11:19 | |
it is like we are lacking an obvious api | |||
lizmat | the API is really "use lib" and nothing else | ||
FROGGS | and 'use lib' is just a tiny part of what we need | ||
andreoss | should i fix it in p6doc? | ||
lizmat | FROGGS: what else do we need if use lib supports a :last and a :only named param ? | 11:20 | |
FROGGS | lizmat: installer need to walk the curs / install locations etc | ||
it is not all about 'use lib' | |||
lizmat: I am not sure | |||
moritz | andreoss: ys please | ||
*yes | |||
FROGGS | that's part of the problem I have | ||
lizmat | fwiw, I'm seeing some spectest failures on JVM :-( | 11:21 | |
FROGGS | we need to sketch a lot scenarios | ||
hmpf | |||
I'm still rebuilding | |||
andreoss++ | 11:22 | ||
lizmat: we should add real world scenarios to roast, and then figure out how to solve them | 11:24 | ||
lizmat | agree | ||
although I'm not too sure it should be roast | |||
but yeah, somewhere | 11:25 | ||
FROGGS | thinking of: panda, I::P5 (C libs), dist A provides resources for dist B | ||
lizmat: we need to make sure that we test that often enough | |||
|Tux| | does anyone have a public accessable *32bit linux available? | ||
11:25
laouji left
|
|||
FROGGS | all of these involve testing -I, -M, 'use lib' and other stuff... so it pretty much belongs to roast | 11:26 | |
11:26
laouji joined
|
|||
FROGGS | |Tux|: only a local VM, why? | 11:26 | |
|Tux| | I just realized I cannot check 32bit builds anymore as I have no access to 32bit systems at all after I upped my laptop from 32bit OS to 64bit | 11:27 | |
feels like a gap in my testing range :] | |||
11:27
AlexDaniel joined
|
|||
FROGGS | testing ancient 32bit systems... that's like testing hpux... ohh wait | 11:27 | |
:P | |||
|Tux| still tests with perl5.6.1 | 11:28 | ||
and I got a request for pcre-8.36 for HP-UX 11.00 only last week! | |||
FROGGS | wow | 11:29 | |
|Tux| | I shipped 11.00 CD images to Italy after a loooooong discussion with HP: | ||
11:29
Sqirrel joined
|
|||
|Tux| | they are not able to get to those images. I cannot ship them according to my contract. they want to help the customer | 11:30 | |
so they eventually mailed me a signed pdf asking me to be so kind to send the iso's to Italy but to not put them on-line as that is not jurisdictial (bad word?) allowed | 11:31 | ||
:} | |||
legally was the word I was looking for | 11:32 | ||
FROGGS | at least the customer got the support :o) | ||
|Tux| | and he was very happy | ||
FROGGS, could you do a final check on hmbrand.home.xs4all.nl/Text-CSV_XS-1.18.tgz on that 32bit system? | 11:33 | ||
I'll make a new virtualbox later locally so I don't have to ask again | 11:34 | ||
FROGGS | gimme a sec | ||
|Tux| | it passes on 32bit HP-UX 10.20, so I have good hopes here | ||
FROGGS | lizmat: can you gist your jvm spectest fallout? | 11:35 | |
lizmat | I will when it's done | ||
|Tux| | X-mas! | ||
FROGGS | |Tux|: Files=28, Tests=50211, 59 wallclock secs ( 7.21 usr 0.28 sys + 55.18 cusr 2.01 csys = 64.68 CPU) | 11:37 | |
Result: PASS | |||
|Tux| | thnx | ||
FROGGS | you're welcome | ||
dalek | c: 89b2d19 | andreoss++ | bin/p6doc (2 files): Traversing @*INC correctly |
||
colomon | t/spec/S02-types/bag.t failing badly on OS X… | 11:38 | |
or… seems like it’s doing something really weird with the TAP and breaking my prove? | 11:39 | ||
lizmat | looks ok to me | ||
All tests successful. | |||
Files=1, Tests=193, 2 wallclock secs ( 0.06 usr 0.01 sys + 1.33 cusr 0.07 csys = 1.47 CPU) | |||
FROGGS | colomon: for me too | ||
colomon: only in a spectest run though it seems | |||
colomon | lizmat: | 11:40 | |
11:40
laouji left
|
|||
colomon | t/spec/S02-types/bag.rakudo.moar (Wstat: 0 Tests: 194 Failed: 1) | 11:40 | |
Failed test: 193 | |||
Parse errors: Tests out of sequence. Found (1) but expected (48) | |||
Tests out of sequence. Found (48) but expected (49) | |||
Tests out of sequence. Found (49) but expected (50) | |||
Tests out of sequence. Found (50) but expected (51) | |||
Tests out of sequence. Found (51) but expected (52) | |||
Displayed the first 5 of 148 TAP syntax errors. | |||
lizmat | colomon: can you repeat that ? | ||
colomon | lizmat: already have about four times | ||
FROGGS | something is fishy there | 11:41 | |
colomon | ok 16 - ...with the right elements | ||
1..2 | |||
ok 1 - code dies | |||
ok 2 - right exception type (X::Assignment::RO) | |||
ok 17 - Can't assign to an element (Bags are immutable) | |||
etc | |||
lizmat | colomon: what's fishy there ? | ||
that's a subtest | 11:42 | ||
colomon | (that one came from calling prove directly instead of using make | ||
) | |||
lizmat | I don't see the fishyness | ||
11:42
laouji joined
|
|||
colomon | Well, “ Found (1) but expected (48)” is coming because a subtest starts after test 47 | 11:42 | |
FROGGS | hmmm | 11:43 | |
lizmat | so it would seem the indent of the subtest | 11:44 | |
is lost | 11:45 | ||
FROGGS | ups | 11:46 | |
Test.pm line 73 and 74... shall these be a single say statement? | |||
in case we flush after print | |||
11:47
laouji left
|
|||
FROGGS | I'll just change it | 11:47 | |
11:48
laouji joined
|
|||
colomon | lizmat: oh, the indent is being broken by this message: | 11:48 | |
WARNING: unhandled Failure detected in DESTROY: | |||
Cannot call 'DELETE-KEY' on an immutable 'Bag' | |||
in block at t/spec/S02-types/bag.rakudo.moar:48 | |||
in block <unit> at t/spec/S02-types/bag.rakudo.moar:12 | |||
in any <unit-outer> at t/spec/S02-types/bag.rakudo.moar:1 | |||
FROGGS | colomon: my upcomming patch with probably fix that | 11:49 | |
11:50
Ven left
|
|||
lizmat | FROGGS: gist of spectest fails on JVM: gist.github.com/lizmat/0bcfcec02b38237ba4d8 | 11:50 | |
looks like 8013195a2d913ecb5dd682de is to blame for this new behaviour | 11:55 | ||
dalek | kudo/nom: 8f8cc0e | FROGGS++ | lib/Test.pm: .say aver line of TAP ouput in one go Otherwise warnings or other messages can slip in between the indentation of a subtest or can get in between a 'nok ' and 'ok'. |
||
lizmat | FROGGS++ | ||
FROGGS | colomon: can you retry with this patch? | ||
aver >.< | |||
lizmat | still I think the warning in this case is wrong | 11:56 | |
FROGGS | j: say $~MAIN | ||
camelia | rakudo-jvm 7b0ce6: OUTPUT«Unhandled exception: java.lang.StackOverflowError in  in  in  in  in EXISTS-KEY in  in  in BUILDALL in bless in new in new in  in  in  in BUILDALL in bless in new in new in  in …» | ||
colomon | FROGGS: building... | 11:58 | |
12:03
Ven joined
|
|||
lizmat | perhaps we should revert 8013195a2d913ecb5dd ? | 12:06 | |
FROGGS looks | 12:07 | ||
lizmat | must be afk now & | ||
12:07
molaf joined
|
|||
FROGGS | lizmat++ # thanks for your help | 12:07 | |
12:07
pauluu joined
|
|||
Ven | .tell brrt interesting piece of JIT code in LuaJIT github.com/LuaDist/luajit/blob/mas...t_narrow.c | 12:09 | |
yoleaux | Ven: I'll pass your message to brrt. | ||
12:17
lizmat left
12:18
lizmat joined
|
|||
FROGGS | would be nicer if spectesting jvm would not take *that* long | 12:20 | |
12:20
smls joined
|
|||
smls | Hi | 12:21 | |
FROGGS | hi smls | 12:22 | |
smls | It appears that Rakudo's start-up time has significantly improved during the last two months! | ||
FROGGS | smls: aye | 12:23 | |
smls | $rakudodevs++ | ||
FROGGS | mostly jnthn++ and lizmat++ I believe | ||
smls | Shuddav'e guessed ;) | ||
FROGGS | :o) | ||
andreoss | m: say $*SPEC.tmpdir; say $*TMPDIR | 12:26 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«"/tmp".IO"/tmp".IO» | ||
andreoss | m: say $*SPEC.rootdir; | 12:31 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«/» | ||
12:34
chenryn left
|
|||
FROGGS | m: try { EVAL 'A::B' } | 12:43 | |
camelia | ( no output ) | ||
FROGGS | m: A::B # >.< | 12:44 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/q9_Kn5pTDv:1 in any <unit-outer> at /tmp/q9_Kn5pTDv:1» | ||
FROGGS | m: die 42 | 12:47 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«42 in block <unit> at /tmp/Ne2MWeUiFR:1 in any <unit-outer> at /tmp/Ne2MWeUiFR:1» | ||
timotimo | o/ | 12:49 | |
FROGGS | hi timotimo | ||
ohh, it is not soo wrong after all | 12:50 | ||
tadzik | smls: don't let FROGGS fool you, he deserves his FROGGS++ as much as the other two :) | 12:52 | |
FROGGS | tadzik: but not wrt performance :o) | 12:53 | |
star-m: A::B | 12:55 | ||
camelia | star-m 2015.03: OUTPUT«Could not find symbol '&B' in method <anon> at src/gen/m-CORE.setting:15773 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in any find_method at src/gen/m-Metamodel.nqp:1052 in block <unit> at /tmp/L0cLSjIE_W:1» | ||
dalek | kudo-star-daily: 2c2cbeb | coke++ | log/ (9 files): today (automated commit) |
13:00 | |
andreoss | what the differecne between my proto and proto ? | 13:04 | |
moritz | the 'my' | 13:05 | |
FROGGS | lol | ||
moritz | well, really | ||
'my' affects scoping | |||
'proto' doesn't | |||
a "proto token" is still method-scoped | 13:06 | ||
but a "my proto token" is lexically scoped | |||
they are orthogonal directions, really | |||
andreoss | paste.debian.net/182051/ | ||
jnthn | Put another way, certain things (subs, methods, constants, etc.) come with a default scope. If the default is what you want, you don't need to specify a scope. | 13:07 | |
yoleaux | 19 May 2015 19:40Z <timotimo> jnthn: do we want to destroy/clean-up the sc reader when we do scdisclaim? since we demand every object in the sc anyway | ||
21 May 2015 06:32Z <FROGGS> jnthn: are you around in about 12 hours to upload the moarvm release tarball? | |||
13:08
mr-foobar left
|
|||
timotimo | ohai jnthn | 13:08 | |
andreoss | does 'my method' make any sense? | ||
Ven | \o jnthn | ||
FROGGS | hmmm, thy shall not use relative time spans in yoleaux messages | ||
jnthn | andreoss: Yes, if you know what you're doing :) | 13:09 | |
Ven | jnthn: you *might* maybe also be interested by a piece of the LuaJIT JIT code, for floats and all. Maybe it only applies to Lua who only has floats, though :-) github.com/LuaDist/luajit/blob/mas...t_narrow.c | ||
13:09
mr-foobar joined
|
|||
jnthn | Ven: Yeah, sadly there's more to VM design that copying neat ideas from all the others. :) | 13:10 | |
Ven | ;-) | ||
.oO( you need to copy memory as well! ) |
|||
andreoss | m: class Bar { my method hi { say 'hi' } }; my $x = Bar.new; $x.hi; | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«Method 'hi' not found for invocant of class 'Bar' in block <unit> at /tmp/mv2C6IWaWP:1 in any <unit-outer> at /tmp/mv2C6IWaWP:1» | ||
andreoss | m: class Bar { our method hi { say 'hi' } }; my $x = Bar.new; $x.hi; | 13:11 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«Method 'hi' not found for invocant of class 'Bar' in block <unit> at /tmp/EcmxWFh2as:1 in any <unit-outer> at /tmp/EcmxWFh2as:1» | ||
jnthn | Wow, the analysis in the comments is still a cool read though :) | ||
timotimo | aye | 13:12 | |
13:13
tinyblak_ left,
tinyblak joined
|
|||
Ven is still glad jnthn found a use of that link | 13:15 | ||
13:18
laouji left
13:20
abraxxa left
|
|||
andreoss | so can i have proto BUILD? | 13:30 | |
jnthn | You typically want your BUILD to be a submethod, and we don't yet support multi/proto submethods. | 13:31 | |
FROGGS | jnthn: you probably wont have time to look at an issue? | ||
andreoss | multi submethods work for me, but only without proto | 13:32 | |
jnthn | FROGGS: Well, my blocker is exhaustion rather than time at the moment, but I can try... | ||
FROGGS | okay.... | ||
m: A::B | |||
camelia | rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/DAhJV_Sqw7:1 in any <unit-outer> at /tmp/DAhJV_Sqw7:1» | ||
jnthn | andreoss: I'm not sure if they're working or "working" :) | ||
std: A::B | |||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Undeclared name: 'A::B' used at line 1Check failedFAILED 00:00 134m» | ||
FROGGS | that's meant to say: Could not find symbol '&B' | ||
and it fails to call fail in Stash.pm | |||
jnthn | STD thinks it's meant to be discovered at compile time... | ||
FROGGS | turning the fail() into nqp::die() works | 13:33 | |
jnthn | hmm | ||
"fails to call fail"? | |||
FROGGS | there is a single fail() call, that has the correct error message | ||
jnthn | m: try EVAL 'A::B'; say $!.backtrace.full | 13:34 | |
camelia | rakudo-moar 8f8cc0: OUTPUT« in block <unit> at EVAL_0:1 in any <unit-outer> at EVAL_0:1 in sub EVAL at src/gen/m-CORE.setting:848 in code at /tmp/NwtXCxqQoV:1 in block <unit> at /tmp/NwtXCxqQoV:1 in any <unit-outer> at /tmp/NwtXCxqQoV:1» | ||
jnthn | hmmm | ||
FROGGS | could also be that backtrace printing is busted here | ||
JimmyZ | jnthn: irclog.perlgeek.de/moarvm/2015-05-17#i_10617824 # in case you missed it | ||
jnthn | m: say A::<&B>.WHAT | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/y6qA262DHCVariable '&A' is not declaredat /tmp/y6qA262DHC:1------> 3say 7⏏5A::<&B>.WHAT» | ||
jnthn | JimmyZ: nwc10++ since submitted a patch for that, I just didn't get to merging it yet. Thanks for the reminder. :) | 13:35 | |
JimmyZ | oh | ||
I missed it :P | |||
jnthn | JimmyZ: Well, it's not a PR, but "submitted" by remote :) | 13:36 | |
13:41
Woodi joined
|
|||
andreoss | m: say ({*}).perl; | 13:46 | |
camelia | rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hqV2wuAVxs{*} may only appear in protoat /tmp/hqV2wuAVxs:1------> 3say ({*}7⏏5).perl; expecting any of: horizontal whitespace term» | ||
andreoss | m: say ({ * }).perl; | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«-> ($_? is parcel) { #`(Block|53230464) ... }» | ||
FROGGS | m: say Nil.DEFINITE | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«False» | ||
jnthn | FROGGS: Well, if it's the backtrace printing, what does --ll-exception say? | 13:47 | |
FROGGS | $ perl6-m --ll-exception -e 'A::B' | ||
Cannot find method 'postcircumfix:<( )>' | |||
at src/gen/m-BOOTSTRAP.nqp:2740 (blib/Perl6/BOOTSTRAP.moarvm::97) | |||
jnthn: so it is not that | |||
13:50
rindolf left
|
|||
jnthn | FROGGS: Getting builds of latest things | 13:51 | |
13:54
bjz left
13:55
bjz joined
|
|||
[ptc] | was it intended that the .gpg file for nqp be uploaded? (just asking) | 13:55 | |
FROGGS | [ptc]: yes | 13:56 | |
moritz | that doesn't look like a signature file though | 13:57 | |
FROGGS | moritz: but that is what gpg --sign produced | ||
timotimo | may have wanted to --ascii-armor? | ||
FROGGS | moritz: and I can --verify that file | ||
moritz | huh, it's 4.7MB in size | ||
timotimo | where is that? | ||
oh, that's not a detached signature then | |||
moritz | rakudo.org/downloads/nqp/nqp-2015.05.tar.gz.gpg | ||
FROGGS | moritz: yes, it is the same size as the tarball... for moar and nqp | 13:58 | |
timotimo | well, in that case it entirely depends on what we want to offer | ||
i thought that detached, ascii-armored signatures were "the norm" | |||
13:58
muraiki joined
|
|||
FROGGS | I have no idea what the norm is | 13:58 | |
timotimo | but i'm quite probably not up to date on that frontier | ||
moritz | timotimo: yes, that's what I wanted to achieve (detached, ascii) | ||
FROGGS | I can create these afterwards | 13:59 | |
[ptc] | FROGGS: ok, just wondered. It seemed sort of out of place in the directory listing | ||
moritz | gpg -b --armor is the correct invocation | 14:00 | |
FROGGS | [ptc]: yes, it is new... but as you can see it will shrink in size | ||
timotimo | well, what's the command to detach the tarball from the signature file if it's not detached already? | ||
FROGGS | moritz: without --sign? | ||
moritz | FROGGS: -b implies --detach-sign | ||
erm, is short for | |||
dalek | kudo/nom: 507da73 | moritz++ | docs/release_guide.pod: Release guide: created detached, ASCII-armored signature timotimo++, [ptc]++ |
14:01 | |
timotimo | thank you moritz | ||
dalek | kudo/nom: e5bc03b | FROGGS++ | src/core/Backtrace.pm: unbust S03-operators/range.t on jvm, usev6++ |
14:02 | |
p: aa8dcf6 | moritz++ | docs/release_guide.pod: Release guide: created detached, ASCII-armored signature timotimo++, [ptc]++ |
|||
14:07
RabidGravy joined
|
|||
jnthn | FROGGS: Well, can confirm it's returning Any | 14:08 | |
FROGGS | jnthn: what exactly? looking up &fail? | 14:09 | |
jnthn | FROGGS: No, the Stash.AT-KEY | ||
m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :$global_fallback).WHAT.say | |||
camelia | rakudo-moar 8f8cc0: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WMgBZUtNwBVariable '$global_fallback' is not declaredat /tmp/WMgBZUtNwB:1------> 3:.package_at_key('A').WHO.AT-KEY('&B', :7⏏5$global_fallback).WHAT.say» | ||
jnthn | m: GLOBAL::.package_at_key('A').WHO.AT-KEY('&B', :global_fallback).WHAT.say | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«(Failure)» | ||
jnthn | oh | ||
m: sub foo() { fail 'omg' }; foo().() | 14:10 | ||
camelia | rakudo-moar 8f8cc0: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/xEmbt2WwQT:1 in any <unit-outer> at /tmp/xEmbt2WwQT:1» | ||
jnthn | star: sub foo() { fail 'omg' }; foo().() | ||
camelia | star-m 2015.03: OUTPUT«omg in method <anon> at src/gen/m-CORE.setting:15773 in any find_method_fallback at src/gen/m-Metamodel.nqp:2908 in any find_method at src/gen/m-Metamodel.nqp:1052 in block <unit> at /tmp/pC1pTSAjoS:1» | ||
jnthn | That's what's changed. | ||
We get the Failure, but invoking it doesn't throw it | |||
FROGGS | ohh! | ||
jnthn | laundry room, but bbi10 | ||
FROGGS | k | ||
might be this: github.com/rakudo/rakudo/commit/20...f95d1ce7d5 | 14:11 | ||
14:12
adu joined
14:13
adu left
|
|||
FROGGS | if I am right, then this wont be needed anymore: github.com/rakudo/rakudo/commit/a5...2824c3ca89 | 14:13 | |
\o/ | 14:17 | ||
14:18
tinyblak left
|
|||
dalek | kudo/nom: 3617107 | FROGGS++ | src/core/Failure.pm: Revert "use more modern FALLBACK instead of .^add_fallback" This Fallback mechanism seems not reliable in all cases. Reverting this should make a5496e0 obsolete too. This reverts commit 20c3ae349b3b0935442f70da418c87f95d1ce7d5. |
14:19 | |
FROGGS | jnthn++ | ||
[ptc] | I'm trying to debug a module in the ecosystem and I keep getting "Cannot invoke this object (REPR: Null, cs = 0)" | 14:21 | |
dalek | kudo/nom: 30766c1 | FROGGS++ | t/spectest.data: skip certain tests for release |
||
[ptc] | any ideas what that means and where it's coming from? | ||
jnthn | FROGGS: Thing is, the FALLBACK kinda was an improvement... | 14:23 | |
dalek | ast: f160dec | FROGGS++ | S0 (2 files): skip certain test for rakudo release |
||
jnthn | (the regression asdie) | ||
*asside | |||
FROGGS | jnthn: yes, understand :o) | 14:24 | |
jnthn | Anyway, will look into that in the future. :) | ||
I'm surprised it makes a difference. | |||
FROGGS | yeah, I just want to finish that bloody release :o) | ||
timotimo | something about wrong closure contents? | ||
like $!exception? does that survive properly? | 14:25 | ||
well, it's in a method, so it should not reach some sort of self outside | |||
er, wait | |||
i'm looking at the one that's in there now, not the one that was in there before | |||
could it be we've subclassed Failure somewhere and self.exception has been superceded, so we're using $!exception where we should be using $.exception? | 14:26 | ||
that doesn't seem likely | |||
jnthn | timotimo: No, probably some MOP subtlety | ||
timotimo | bleh :( | ||
FROGGS | I'm doing the last spectest for today hopefully | 14:28 | |
jnthn | FROGGS++ | ||
14:28
lizmat left
14:29
lizmat joined
|
|||
[ptc] | FROGGS++ | 14:31 | |
FROGGS[mobile] | jnthn: maybe the fallback gets Mu and the pointy in the fallback wont cope with it? | 14:32 | |
smls | moritz: Why is sub exit documented under type Any? | 14:34 | |
14:35
rindolf joined,
FROGGS left
|
|||
moritz | smls: presumably because it takes Any as argument | 14:41 | |
smls: though one could argue that it should be Any(Int), and thus documented in Int | |||
smls: or somewhere completely different, if you have better ideas :-) | |||
control.pod | |||
smls | the docs say it takes Int() | ||
m: say &exit | 14:42 | ||
camelia | rakudo-moar e5bc03: OUTPUT«sub exit (Any $status = { ... }) { #`(Sub|61980536) ... }» | ||
smls | hmm | ||
moritz | erm yes, Int() | ||
moritz gets the coercion arguments wrong, again | |||
smls | do we have precedent for functions documented outisde of class pages? | 14:43 | |
moritz | yes, lots of operators in operators.pod | ||
and those are just funnily-named subs | |||
smls | :) | ||
14:45
fhelmberger left
14:48
g4 left
14:49
fhelmberger joined
|
|||
nwc10 | FROGGS: ASAN is still friends with you | 14:49 | |
14:50
FROGGS joined
14:52
tinyblak joined
14:54
fhelmberger left
|
|||
[Coke] | www.bbc.co.uk/newsbeat/article/3284...-new-icons - sick emoji, yo. | 14:55 | |
jnthn | Darn, still no butterfly... | 14:58 | |
I guess I'll settle for face palm and bacon... | 14:59 | ||
tadzik | ߐꀼRߗR AYR( | ||
...well, on my screen it looks nothing like a camel | |||
jnthn | Mine either :P | ||
timotimo | gnome-terminal just asked me if i'd allow it to install a font | 15:01 | |
and it installed the font needed for those characters | |||
damn, gnome3, you're becoming slick | |||
tadzik | Wow, neat | ||
But, do you see a camel? :p | 15:02 | ||
timotimo | not really | ||
what is "RߗR AYR("? | |||
.u RߗR AYR( | |||
yoleaux | U+0020 SPACE [Zs] ( ) | ||
U+0028 LEFT PARENTHESIS [Ps] (() | |||
U+0041 LATIN CAPITAL LETTER A [Lu] (A) | |||
timotimo | these are just regular characters? | ||
tadzik | ߐ뀂 | 15:03 | |
moritz | .u ߗ | ||
yoleaux | U+07D7 NKO LETTER CHA [Lo] (ߗ) | ||
nwc10 | a6 | ||
tadzik | Doesn't look like a camel either | ||
Emoji sucks | |||
timotimo | not quite, no | ||
tadzik | ߐ | ||
tadzik gives up | |||
timotimo | i see a stylyzed, round tree with a bit of ground | ||
tadzik | It was supposed to be a dragon | 15:04 | |
Finally a reason to use irc on a phone!... not | |||
15:09
domidumont left
15:11
kurahaupo1 left
15:12
gfldex joined
15:17
molaf_ joined
15:21
molaf left
15:23
Ven left
15:27
kurahaupo1 joined
15:32
skids joined
15:33
Ven joined,
brrt joined
15:36
Ven_ joined
15:37
ab5tract_ joined
15:40
Ven left
|
|||
FROGGS | spectest passed on both jvm and moar \o/ | 15:43 | |
jnthn | \o/ | 15:44 | |
FROGGS++ | |||
Ven_ | FROGGS++! | 15:46 | |
jnthn | Has there been some epic slowdown to...all of CORE.setting building? | ||
ohhh | 15:47 | ||
ignore me | |||
My env had MVM_SPESH_DISABLE in it | |||
15:48
smls left
15:53
skids left
15:54
brrt left,
Ven_ left
|
|||
FROGGS | release got tagged | 15:56 | |
15:59
brrt joined
16:02
zakharyas left
16:04
cognominal left
|
|||
FROGGS | THE RELEASE IS DONE - feel free to break all the things | 16:10 | |
16:10
virtualsue joined
|
|||
brrt | \o/ | 16:12 | |
yoleaux | 12:09Z <Ven> brrt: interesting piece of JIT code in LuaJIT github.com/LuaDist/luajit/blob/mas...t_narrow.c | ||
brrt | FROGGS++ | ||
16:13
eli-se joined
|
|||
brrt | .tell Ven thanks | 16:13 | |
yoleaux | brrt: I'll pass your message to Ven. | ||
eli-se | hi! | 16:17 | |
brrt | hi | 16:19 | |
16:22
ab5tract_ left
16:27
Sqirrel left
16:28
brrt left
16:31
zeleiadi joined
|
|||
tony-o_ | paultcochrane? | 16:33 | |
moritz | tony-o_: that's [ptc] in here | 16:36 | |
tony-o_ | moritz: ty | 16:37 | |
[ptc] | tony-o_: you looking for me? | 16:38 | |
tony-o_ | yea was wondering if i should expect an onslaught of PRs :-) | ||
[ptc] | well I'm up to "g" in the alphabet at present :-) | ||
tony-o_ | are you cloning all of the modules? | ||
16:39
dakkar left
|
|||
[ptc] | I've got my script to clone and check all modules in the ecosystem to a fairly good stage (just fine tuned some stuff now) | 16:39 | |
my plan is to slowly work through all the modules I find which have unit declarator issues | |||
it's been an interesting ride so far :-) | |||
tony-o_: yes, I'm cloning all modules. I'm a bit crazy, but then I studied physics at university, I think craziness is a prereq | 16:40 | ||
tony-o_ | haha, i've updated a couple, EE i think i did right before you cloned | ||
moritz | [ptc]: are you aware of the perl6-all-modules repo? | ||
[ptc] | moritz: no. hrm | 16:41 | |
moritz | (which I haven't updated in a while, tbh) | ||
[ptc]: I've blogged about it here: perlgeek.de/blog-en/perl-6/2015-all...a-box.html | |||
[ptc] | github.com/paultcochrane/check-ecosystem is the script I've been working on, if anyone's interested | ||
andreoss | is it related to smoke.perl6.org? | 16:42 | |
[ptc] | moritz: hrm, missed that one. But then, I don't notice blog entries if people don't tweet about it | ||
moritz compiles a rakudo to be able to run his script | |||
maybe we should have a pl6anet.org/ -to-twitter bot | |||
[ptc] | not a bad idea | ||
the script clones the repo, looks to see if updates to the code are necessary, if so, forks the repo (via the GitHub API) and checks out an appropriate branch, ready to be fixed by hand | 16:43 | ||
it's still a bit much work by hand, but at least it has reduced some of the repetitititive hard work | 16:44 | ||
moritz | ah, my thing doesn't do any forking | ||
[ptc] | moritz: if you have any feedback as to how I could do things better, I'd love to know :-) | 16:45 | |
tony-o_ | moritz: is yours doing submodules or just a copy of the repo at some point in time? | ||
moritz | tony-o_: it uses git subrepo | ||
tony-o_: which is, afaict, a bit of meta data wrapping around git subtree | 16:46 | ||
tony-o_ | yea, so if ptc clones recursively it should get all up to date modules from your git repo | 16:47 | |
moritz | the main advantage (for my purpose) is that you can 'git grep' over all the modules | ||
tony-o_ | that was pretty useful to me to find some examples i was looking for a month or so ago | ||
moritz | (over submodules, that is) | ||
[ptc] | over the last couple of days I've been wondering about having some kind of Kwalitee measure for Perl6 modules, like in P5 | 16:48 | |
has there been any work done on that? | |||
tony-o_ | link? | ||
[ptc] | one could test for outdated or deprecated features etc automatically | 16:49 | |
much like how CPANTS does it | |||
16:49
zeleiadi left
16:50
fhelmberger joined
|
|||
moritz | [ptc]: well, modules.perl6.org has badges for certain things | 16:50 | |
[ptc]: though iirc mostly related to meta data | |||
[ptc] | it would be interesting to adapt some of the CPANTS-type stuff to Perl6 and have it running on modules from early on | 16:52 | |
maybe that way we can have a high module quality from early on, and can build upon the lessons learned in the Perl5 world | 16:53 | ||
... just me thinking out loud ... | |||
16:55
fhelmberger left,
tinyblak left
|
|||
PerlJam | FROGGS++ (release) | 16:56 | |
moritz | FROGGS++ # indeed | ||
[ptc] | agreed! FROGGS++ | ||
arnsholt | *lesigh* Writing grammars is one of those things that is a lot harder than it looks | 17:00 | |
FROGGS[mobile] | arnsholt: *nod* | 17:01 | |
17:01
diana_olhovik_ left
17:02
telex left
17:04
telex joined
|
|||
lizmat | FROGGS++ | 17:08 | |
dalek | rl6-roast-data: 4d7c057 | coke++ | / (9 files): today (automated commit) |
17:13 | |
lizmat | $ 6 '"e".IO.open(:w).close; say +("e".IO.lines)' | 17:14 | |
0 | |||
$ 6 '"e".IO.open(:w).close; say +(pipe("cat e").lines)' | |||
1 | |||
the latter seems inconsistent to me, right ? | |||
17:15
espadrine left
|
|||
geekosaur | the question being, which part is wrong? | 17:17 | |
the first one does what I expect. the second, I would wonder at which stage a newline is being injected | 17:18 | ||
lizmat | I'm not even sure a newline *is* injected... | ||
geekosaur | newline is most likely to me, since various things like to assume a line ends with a newline | 17:19 | |
and an empty file often appears to contain a single newline as a result, because something along the line read nothing and wrote it out as a line | |||
(...and not impossible that something is in e.g. libuv) | 17:20 | ||
lizmat | $ 6 '"e".IO.open(:w).close; say pipe("cat e",:!chomp).lines[0].chars' | 17:24 | |
0 | |||
so no newline, just an empty string | |||
I guess it is something low level | |||
the JVM has the same behaviour | 17:25 | ||
so at least it's consistent | |||
17:26
rmgk left
|
|||
japhb | lizmat: try dumping the return value of pipe("cat e") as a .perl'ed Buf? | 17:26 | |
lizmat | pipe() only gives an IO::Handle | 17:27 | |
do you mean pipe().lines ? | |||
m: say (Any,"a").grep(*) # wouldn't it make sense if that would give just "a" ? | 17:30 | ||
camelia | rakudo-moar 30766c: OUTPUT«(Any) a» | ||
lizmat | aka, grep(*) would be the same as .grep({$_}) | ||
which makes much more sense now that "0" is also true | 17:31 | ||
17:33
cognominal joined,
domidumont joined
17:36
andreoss left
|
|||
jnthn | m: say (Any,"a").grep(?*) | 17:38 | |
camelia | rakudo-moar 30766c: OUTPUT«a» | ||
jnthn | I prefer the explicitness of that one, I think | ||
lizmat | ah,,, yes, nice | ||
hadn't thought about that one... :-) | 17:39 | ||
OTOH, if * is for $_ + whatevercode generation | |||
then one *could* expect that * would be equivalent to {$_} | |||
which it is not, atm | 17:40 | ||
FROGGS | m: say Any ~~ * | ||
camelia | rakudo-moar 30766c: OUTPUT«WhateverCode.new» | ||
FROGGS | m: say so Any ~~ * | ||
camelia | rakudo-moar 30766c: OUTPUT«WhateverCode.new» | ||
lizmat | will use ?* for now | ||
17:41
eli-se left
|
|||
lizmat | jnthn: any ideas about the pipe().lines always returning at least 1 line with a Str type object in it ? | 17:41 | |
17:42
Sqirrel joined
|
|||
jnthn | lizmat: I think .get returns Str at eof... | 17:42 | |
lizmat: Maybe we're mis-handlin' that in lines? | 17:43 | ||
lizmat | well, that's the thing: both the pipe() and the open() are handles by the same method | ||
*lines method | |||
it's *exactly* the same code path | |||
it feels more like eof is set too late in the case of pipe() | 17:44 | ||
nwc10 | FROGGS++ | 17:47 | |
FROGGS | jnthn: now I understand it... the code that failed to complain about A::B checked for CALL-ME and the postcircumfix:<( )>... but that does not trigger the new FALLBACK because that explicitly disallows postcircumfix:<( )> | 17:53 | |
jnthn: so I'll add CALL-ME? | |||
or we need to adjust the condition when FALLBACK triggers | 17:54 | ||
17:56
ssqq joined
|
|||
FROGGS | I'll add CALL-ME | 17:57 | |
jnthn | FROGGS: Add CALL-ME | 17:58 | |
.oO( maybe) |
|||
And then we can keep FALLBACK too | |||
FROGGS | aye | ||
dalek | kudo/nom: 1cb6c15 | FROGGS++ | src/core/Failure.pm: reinstate new FALLBACK mechanism for type Failure But since is meant to not trigger as a fallback for .CALL-ME and .postcircumfix:<( )>, we need to add one of these on our own. |
18:03 | |
18:08
eli-se joined
|
|||
FROGGS[mobile] | nap & | 18:13 | |
18:17
FROGGS left
|
|||
AlexDaniel | that's so cool: smoke.perl6.org | 18:36 | |
just like the profiler is | 18:37 | ||
timotimo | o/ | 18:38 | |
18:41
oetiker joined
|
|||
[Coke] | seeing a lot of these in the last spectest daily run: WARNING: unhandled Failure detected in DESTROY | 18:43 | |
moritz | how does the ecosystem look like? can we make a star release this month? | ||
[Coke] | Last I checked, star builds were failing horribly. re-checking... | 18:44 | |
github.com/coke/rakudo-star-daily/...odules.log | 18:45 | ||
18:45
pauluu left,
domidumont left
|
|||
[Coke] | same failure mode, everything is "could find..." | 18:45 | |
er, could NOT find... | |||
18:47
AlexDaniel left
|
|||
[Coke] has a moment, digging. | 18:47 | ||
ugh. submodules suck, have I mentioned that? | 18:48 | ||
moritz | [Coke]: they certainly do | 18:49 | |
ok, looks like star is still copying stuff to the install location, but that's not enough anymore | 18:51 | ||
so, we have two options: 1) fix it or 2) change star to use panda for bootstrapping | |||
18:52
TimToady joined
|
|||
[Coke] | DRY, use panda. | 18:52 | |
Although we are trying to make star relocatable, yes? | 18:53 | ||
not sure if panda will work, but if it can, great. | |||
moritz | well, first we'd need a relocatable rakudo, no? | ||
[Coke] | er, we're making star installable? | 18:54 | |
either way, maybe panda isn't quite the right fit, is what I'm saying. | |||
moritz | well, currently one need to install before testing the modules anyway, no? | 18:55 | |
*needs | |||
and with "currently" I mean "before The Big Breakage" | 18:56 | ||
b2gills | m: sub example ( $a =1 where * >= 1 ){ $a.say }; example 5 | 19:03 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Z6b8aD4UeAThe post constraint "where * >= 1 " came after the default value(did you mean "...where * >= 1 =1 "?)at /tmp/Z6b8aD4UeA:1------> 3sub example ( $a =1 where * >= 1 7⏏5){ $a.say }; …» | ||
b2gills | m: sub example ( $a where * >= 1 = 1 ){ $a.say }; example 5 | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Cannot modify an immutable WhateverCode in sub example at /tmp/sBgJ8ZbfuQ:1 in block <unit> at /tmp/sBgJ8ZbfuQ:1 in any <unit-outer> at /tmp/sBgJ8ZbfuQ:1» | ||
19:09
FROGGS joined
|
|||
moritz | m: sub example ( $a where { $_ >= 1 } = 1 ) { $a.say }; example 5 | 19:09 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«Cannot modify an immutable Block in sub example at /tmp/4pIlYL4mhD:1 in block <unit> at /tmp/4pIlYL4mhD:1 in any <unit-outer> at /tmp/4pIlYL4mhD:1» | ||
itz | Bailador from Task::Star fails | ||
moritz | huh, I thought that one should work | 19:10 | |
tony-o_ | m: multi sub prefix:<\>\>>(Bool $bool) r { >> $bool, "text"; }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«===SORRY!===Cannot find method 'has_compile_time_value'» | ||
tony-o_ | m: multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text"; }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Memory allocation failed; could not allocate 133936 bytes» | ||
moritz | tony-o_: precedence | 19:11 | |
tony-o_ | does the Str one need to come first? | ||
moritz | m: multi sub prefix:<\>\>>(Bool $bool) { >>($bool, "text") }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match: (Bool $bool) (Bool $bool, Str $text) in sub prefix:<>>> at /tmp/awXQjSZHOa:1 in block <unit> at /tmp/awXQjSZHOa:1 in any <unit-outer> at /tmp/awXQjSZHOa:1» | ||
tony-o_ | m: multi sub prefix:<\>\>>(Bool $bool, Str $s) { "$s $bool".say; }; multi sub prefix:<\>\>>(Bool $bool) { >> False, 'test'; }; >> False; | 19:12 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«Memory allocation failed; could not allocate 136656 bytes» | ||
moritz | tony-o_: no, prefix binds tighter than the comma | ||
tony-o_ | m: multi sub prefix:<\>\>>(Bool $bool, Str $s) { "$s $bool".say; }; multi sub prefix:<\>\>>(Bool $bool) { >> (False, 'test'); }; >> False; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match: (Bool $bool, Str $s) (Bool $bool) in sub prefix:<>>> at /tmp/H0rKYZYZ89:1 in block <unit> at /tmp/H0rKYZYZ89:1 in any <unit-outer> at /tmp/H0rKYZYZ89:1» | ||
tony-o_ | ah ^ | ||
i'm sure there is a mechanism somewhere to loosen it up? | |||
moritz | m: proto sub prefix:<\>\>> is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False; | 19:13 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5===Calling prefix:<>>>(Mu) will never work with proto signature ()at /tmp/ic9qB7KUyl:1------> 3; multi sub prefix:<\>\>>(Bool $bool) { 7⏏5>> $bool, "text" }; multi sub prefix:<\>Calling prefix:<>>>(Bool) will never work wit…» | ||
moritz | m: proto sub prefix:<\>\>>(|) is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(Bool $bool, Str $text) { "$text $bool".say; }; >> False; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Cannot call prefix:<>>>(Parcel); none of these signatures match: (Bool $bool) (Bool $bool, Str $text) in sub prefix:<>>> at /tmp/DIJ67ldFVz:1 in block <unit> at /tmp/DIJ67ldFVz:1 in any <unit-outer> at /tmp/DIJ67ldFVz:1» | ||
19:18
ssqq left,
spintronic joined,
ssqq joined
19:20
oetiker left
|
|||
moritz | when I have an IO::Path object that is a directory, how do I append a file name? | 19:23 | |
tony-o_ | $*SPEC.catpath | 19:24 | |
moritz | uhm, there's no method for that in IO::Path? | ||
raydiak | .child | ||
m: proto sub prefix:<\>\>>(|) is looser(&infix:<,>) {*}; multi sub prefix:<\>\>>(Bool $bool) { >> $bool, "text" }; multi sub prefix:<\>\>>(*@ (Bool $bool, Str $text)) { "$text $bool".say; }; >> False; # workaround | |||
camelia | rakudo-moar 1cb6c1: OUTPUT«text False» | ||
tony-o_ | raydiak++ | ||
raydiak | (or maybe that's how it should be when looser than comma...idk) | 19:25 | |
:) | |||
tony-o_ | now once i scrub my own module from the error output, we'll have a parallel perl6 tester | 19:26 | |
not that we're champing at the bit for one.. | |||
raydiak | ooh nice, tony-o_++ | ||
moritz | m: say from-json('[1]').perl | 19:27 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«[1]» | ||
japhb | Does anyone happen to know if irssi has a way to make the entire line coming from certain speakers use a different color? I want to make the bots "fade" a bit, so I can easily see the humans speaking in between e.g. camelia outputs | ||
tony-o_ | japhb: i know you can hide the output | 19:28 | |
japhb | I still want to have it, just not have it be the same visually as the human messages | ||
tony-o_ | japhb: looks like something like this might do the trick /hilight -full -color %G -actcolor %Y tea | 19:29 | |
you'd need to tweak the options though, that will color it green | |||
japhb | Hmmm, that seems to take over the normal highlighting that I use for my nick and for keywords | 19:31 | |
tony-o_ | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
moritz | m: say 'did it work, tony-o_?' | 19:32 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«did it work, tony-o_?» | ||
tony-o_ | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
spintronic | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
tony-o_ | m: say 'hi'; | 19:33 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
tony-o_ | hm | ||
dalek | kudo/nom: e1cc780 | lizmat++ | tools/contributors.pl6: Perl 6 version of contributors helper script |
19:34 | |
tony-o_ | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
tony-o_ | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
tony-o_ | m: say 'hi'; | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«hi» | ||
cognominal | reading S32-Basics I can't visually parse : multi method clone (::T $self --> T --> Any ) {...} | 19:35 | |
moritz | seems like one --> Any too much | ||
jnthn | cognominal: Me either... :) | ||
Also it's a colon too few :) | |||
moritz | m: method clone (::T $self --> T --> Any ) {...} | 19:36 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3j_Bqv_HIXMissing blockat /tmp/3j_Bqv_HIX:1------> 3method clone (::T $self --> T 7⏏5--> Any ) {...}» | ||
moritz | m: method clone (::T $self: --> T ) {...} | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«Potential difficulties: Useless declaration of a has-scoped method in mainline (did you mean 'my method clone'?) at /tmp/RMnEvRBVpS:1 ------> 3method7⏏5 clone (::T $self: --> T ) {...}» | ||
cognominal | or my specs depot is corrupted? | ||
moritz | m: unit class A; method clone (::T $self: --> T ) {...} | ||
camelia | ( no output ) | ||
japhb | m: method clone (::T $self --> :(T --> Any) ) {...} | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yzCJsF3T7RMissing blockat /tmp/yzCJsF3T7R:1------> 3method clone (::T $self --> 7⏏5:(T --> Any) ) {...}» | ||
japhb | m: method clone (::T $self --> &:(T --> Any) ) {...} | ||
camelia | rakudo-moar 1cb6c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Yk5xmqhSMvMissing blockat /tmp/Yk5xmqhSMv:1------> 3method clone (::T $self --> 7⏏5&:(T --> Any) ) {...}» | ||
tony-o_ | japhb: /hilight -mask -full -color %K camelia!*@* | ||
that is pretty close, it just does the nick instead of the full line though | |||
lizmat | suggestions / comments on github.com/rakudo/rakudo/commit/e1cc7809a1 welcome | 19:37 | |
it was after all my first real P5 -> P6 translation of any size | |||
japhb | tony-o_: Hmmm, a good start though, thank you. | ||
tony-o_ | japhb: bugs.irssi.org/index.php?getfile=266 | ||
if you apply that to your highlight and add the argument -line to that hilight you should be good to go | |||
[Coke] | lizmat++ | 19:38 | |
moritz | lizmat: looks fine | ||
raydiak | cognominal: nope not a problem on your end: design.perl6.org/S32/Basics.html#Any | ||
jnthn | lizmat: Nice use of .Bag...I need to remember that more often. :) | ||
lizmat | afk, will backlog& | ||
japhb | m: say "hello" | 19:39 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«hello» | ||
japhb | gah, didn't work | ||
19:39
diana_olhovik joined
|
|||
japhb | m: say "hello" | 19:39 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«hello» | ||
[Coke] | It changed the name, but not the output.. when making sure it saved, I found other config stuff in my .irssi back when it was called p6eval. | ||
cognominal | github.com/perl6/specs/blame/maste...s.pod#L101 that's the result of a "bloodbath" :) | 19:40 | |
[Coke] | gist.github.com/coke/56d55fe25a28abe7f55b | ||
dalek | ar/panda-bootstrap: c106f7c | moritz++ | tools/star/gen-panda-bootstrap.p6: Add a tool for generating a panda bootstrap file from all modules. Still very much a work in progress, and not used yet. |
||
cognominal | ...or more probably survived it | 19:41 | |
japhb | m: say "hello" | 19:42 | |
camelia | rakudo-moar 1cb6c1: OUTPUT«hello» | ||
japhb | *sigh* | ||
Thanks tony-o_, [Coke] | |||
tony-o_ | japhb: i'd rebuild irssi with the patch but i'd ruin my uptime | ||
japhb | heh | ||
japhb decides lunch is in order | |||
dalek | ecs: 4932a71 | moritz++ | S32-setting-library/Basics.pod: Correct signature, cognominal++ also remove a redundant multi |
||
cognominal | thx | 19:44 | |
moritz, below it explicitely says there are two variants and perpetuates the double --> | 19:47 | ||
19:48
rindolf left
|
|||
cognominal | it seem there is some deliberate intentionality here, but I can't figure what it is. Maybe safer ask TimToady | 19:48 | |
19:53
ssqq left
|
|||
moritz | cognominal: well, but the first one is just a degenerate case of the second one | 19:54 | |
maybe I need to take a second look | 19:55 | ||
tony-o_ | m: sub r:hidden-from-backtrace { die 'dead'; }; r; | 19:56 | |
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pcbbCbhXtXUndeclared routine: r used at line 1» | ||
tony-o_ | m: sub r :hidden-from-backtrace { die 'dead'; }; r; | ||
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9GlCFxWCMhCannot invoke this object (REPR: P6opaque, cs = 0)at /tmp/9GlCFxWCMh:1» | ||
tony-o_ | m: sub r is hidden-from-backtrace { die 'dead'; }; r; | ||
camelia | rakudo-moar e1cc78: OUTPUT«dead in block <unit> at /tmp/Z7pqCwDLNO:1 in any <unit-outer> at /tmp/Z7pqCwDLNO:1» | ||
tony-o_ | m: { sub is hidden-from-backtrace { die 'dead'; } }.() | 19:57 | |
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xk9S35ZnSyMissing blockat /tmp/xk9S35ZnSy:1------> 3{ sub is7⏏5 hidden-from-backtrace { die 'dead'; } } expecting any of: new name to be defined» | 19:58 | |
tony-o_ | m: { return sub is hidden-from-backtrace { die 'dead'; } }.() | ||
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Di4nxHxy0vMissing blockat /tmp/Di4nxHxy0v:1------> 3{ return sub is7⏏5 hidden-from-backtrace { die 'dead'; } } expecting any of: new name to be defined» | ||
tony-o_ | m: (sub is hidden-from-backtrace { die 'dead'; }).() | ||
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zhuP2ZJSI6Missing blockat /tmp/zhuP2ZJSI6:1------> 3(sub is7⏏5 hidden-from-backtrace { die 'dead'; }). expecting any of: new name to be defined» | ||
tony-o_ | can i hide an anon sub from backtrace? | ||
m: my $r = sub { die 'dead'; }; $r:hidden-from-backtrace.(); | 20:01 | ||
camelia | rakudo-moar e1cc78: OUTPUT«dead in sub at /tmp/Vm4DXWeysW:1 in block <unit> at /tmp/Vm4DXWeysW:1 in any <unit-outer> at /tmp/Vm4DXWeysW:1» | ||
20:01
FROGGS left
|
|||
tony-o_ | m: my $r = sub { die 'dead'; }; ($r is hidden-from-backtrace)(); | 20:01 | |
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sHbOmPtQefTwo terms in a rowat /tmp/sHbOmPtQef:1------> 3my $r = sub { die 'dead'; }; ($r7⏏5 is hidden-from-backtrace)(); expecting any of: infix infix stopper …» | ||
tony-o_ | m: my $r = sub { die 'dead'; }; ($r is hidden-from-backtrace).(); | ||
camelia | rakudo-moar e1cc78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/A7VvLD_DPZTwo terms in a rowat /tmp/A7VvLD_DPZ:1------> 3my $r = sub { die 'dead'; }; ($r7⏏5 is hidden-from-backtrace).(); expecting any of: infix infix stopper …» | 20:02 | |
20:02
FROGGS joined
|
|||
tony-o_ | guess not | 20:02 | |
20:04
AlexDaniel joined,
H2O1 joined
20:05
H2O1 left
|
|||
jnthn | m: my $r = sub :: is hidden-from-backtrace { die 'dead'; }; $r() | 20:06 | |
camelia | rakudo-moar e1cc78: OUTPUT«dead in block <unit> at /tmp/vcDCYrkIoq:1 in any <unit-outer> at /tmp/vcDCYrkIoq:1» | ||
jnthn | 'night o/ | 20:08 | |
tony-o_ | jnthn: ty | ||
and night | |||
20:10
diana_olhovik left
|
|||
eli-se | I just wrote a video game in COBOL. :( | 20:11 | |
.oO(Inline::COBOL) |
|||
PerlJam | eli-se: so ... I was just reading your sentence and it climaxes at "a video game", but then there's this steep cliff immediately after "in COBOL." That's kind of like an unkept promise or an unfulfilled expectation. | 20:13 | |
eli-se | Only 87 lines of code! I bet Perl 6 can do it in 5. :) | 20:14 | |
PerlJam | eli-se: (you really know how to play with your reader's emotions! ;) | ||
20:16
molaf_ left
20:20
darutoko left
20:23
xfix left
|
|||
eli-se | master of puppets | 20:24 | |
20:25
raiph joined
|
|||
raydiak | great album | 20:25 | |
eli-se | I couldn't disagree less. | 20:26 | |
I tried but failed miserably. | |||
raydiak | :) | ||
tony-o_ | haha | 20:27 | |
raydiak | how can I EVAL something in a restricted setting? do I have to start an entirely separate rakudo process from the normal setting? | 20:28 | |
PerlJam queues Sanitarium | |||
raydiak | feels very 80s talking about Metallica while wearing a black t-shirt with torn-off sleeves and everything...even have a hole starting in the knee of my pants now that I look | 20:30 | |
masak | it's very 80s to talk about MVC frameworks, too :) | 20:31 | |
PerlJam | Which C compiler do you guys use? Turbo C or Microsoft C? (that's about as 80s as I could muster) | 20:34 | |
20:34
FROGGS left
|
|||
tony-o_ | borland | 20:34 | |
*fires up qbasic* | 20:35 | ||
raydiak | my C skills don't go back that far but I have a pretty solid recollection of GW-BASIC 3 :) | ||
PerlJam | "Borland C" wasn't a thing until the 1990s | 20:36 | |
eli-se | PerlJam: C doesn't yet exist. | ||
I still use GnuCOBOL. | |||
PerlJam | eli-se: we do not speak of the dark times ;) | 20:37 | |
eli-se | wrote this: gist.github.com/rightfold/53b4add706c60bef7693 | ||
[Coke] | POKE 53280, 0 | ||
tony-o_ | borland made turbo c, i thought | ||
raydiak | masak: what did they use MVC for back then? networked business apps or something? | ||
eli-se | buttons in mainframe TUIs | 20:38 | |
jercos | MVC doesn't really need a network >.> | ||
PerlJam | tony-o_: aye. their C offering was called "Turbo C" until the early 1990s when they rebranded as "Borland C" or "Borland C++" | ||
I think that's also when they dropped Pascal, but I don't remember as I'd stopped writting it by then | |||
tony-o_ | the dropped it for delphi? they had delphi products at least into the early 00s | 20:39 | |
raydiak | jercos: well I know it doesn't imply a network of any sort, but I'm wondering what the pattern was actually applied to in those days | ||
PerlJam | raydiak: GUIs | ||
raydiak | ah... | 20:40 | |
jercos | Anywhere your code is not ridiculously tightly coupled, and involves HMI, MVC is probably at very least reasonable to consider >.> | 20:41 | |
masak | raydiak: early GUIs in Smalltalk :) | ||
20:43
pmurias joined
|
|||
raydiak | makes sense, from what I understand of it...read about MVC over and over, and it mostly sinks in, even done work within MVC frameworks, but there's always parts of the definition that seem really...fuzzy to me | 20:43 | |
I guess part of it seems to be that there a a variety of variations on the basic idea | 20:44 | ||
masak | definitely. | 20:45 | |
muraiki | Super Borland C++ Turbo Championship Edition | ||
masak | the core idea, "one model, zero or more views, observer pattern", stays the same basically across the board. but there's a lot of variation in the rest. | 20:46 | |
PerlJam | There's also a bit of waterbed in that some versions will have fatter models or fatter controllers or fatter views, etc. | 20:47 | |
muraiki | "Pharo By Example" is a fun way to learn MVC using Pharo Smalltalk; Seaside by Example teaches MVC using the Seaside framework for Smalltalk | ||
I did those early on when learning programming and while I didn't quite grok it all, it definitely influenced me, for better or worse :) | 20:48 | ||
PerlJam | muraiki++ good examples | ||
masak | sounds interesting. | ||
muraiki | also, learning smalltalk early on really spoiled me in terms of development environments :P | ||
both of those books I mentioned are free. something to do on a weekend :) | |||
raydiak suspects anything would have been easier than the "someone hired me to fix this PHP disaster" crash-course that he gave himself the first time he ran in to an MVC framework :) | 20:49 | ||
muraiki | haha | 20:50 | |
PerlJam | merlyn used to do stuff with seaside (I dunno if he's still doing it) and because of him (and probably Su-Shee), I looked at seaside a bit. | ||
(and that was the first time I'd touched smalltalk in over a decade) | |||
muraiki | I prototyped a site in Seaside but ended up using Django because I was still very much a newbie programmer and there were more resources for Django | ||
but you can do awesome things in Seaside. when your site is in dev mode you can both see and edit the code for any component on the page | 20:51 | ||
20:51
FROGGS joined
|
|||
muraiki | and yeah, it's all built around reusable components instead of templates | 20:51 | |
I get the impression that it was really ahead of its time, but in explicitly shunning REST it couldn't ride the wave of REST hype | |||
masak | was gonna say. Seaside putting continuation IDs in its URL made me a bit less interested in it. | 20:53 | |
muraiki | yeah, that's probably a larger hurdle than "it's in smalltalk." but there's a method behind the madness | ||
ultimately it's worth dedicating a few hours to trying it out, if only to then end up hating everything about modern web development | 20:54 | ||
masak | :) | 20:57 | |
21:01
Akagi201 joined
|
|||
japhb | Is it OK to hate everything about modern web development *without* trying Seaside first? | 21:01 | |
eli-se | yes | ||
tony-o_ | japhb: it's a major pita, not sure how to fix it either | 21:02 | |
jercos | hate what you want man, be freeeee | ||
eli-se | web development is horrible regardless of everything | ||
masak | I think web development is fascinating. I mean, as a problem it's clearly overspecified. but that's part of what makes it interesting. | 21:03 | |
overdetermined* | |||
tony-o_ | masak: i do too from a theory perspective, i think it's a pita in practice | ||
muraiki | haha | 21:04 | |
tony-o_ | mojo is pretty nice, probably the nicest thing i've used in a while | ||
better than express .. | |||
raydiak | imo web dev is a lot less terrible than it used to be...though a significant fraction of that is simply down to modern IE being less terrible :P | 21:05 | |
muraiki | raydiak++ | ||
eli-se | tony-o_: well, given Express exposes only async APIs and Mojo doesn't we can indeed conclude that Mojo is better than Express | 21:06 | |
tony-o_ | eli-se: i meant just the process of using it | ||
eli-se | Well, it's Perl. :) | ||
Perl woohoo! | |||
masak | I feel web development as a whole is looking for something. something nice. I have a feeling it will get there. | 21:07 | |
tony-o_ | i like node quite a lot, i've grown tired of teh callback crap since using p6 though | ||
eli-se | masak: stackful coroutines | ||
21:07
meisl joined
|
|||
tony-o_ | stackful coroutines? | 21:07 | |
muraiki | I had made some small things in node but after using go (disclaimer: not for web development) I anticipate never using node again | 21:08 | |
eli-se | tony-o_: Yes. The ultimate solution to callback hell. | ||
raydiak also hopes that masak is right and it converges on "nice" :) | |||
tony-o_ | i wrote a load balancer in node | ||
eli-se | See Julia, GHC, Go and Erlang for examples. | ||
meisl | hi all | 21:09 | |
eli-se | tony-o_: what for? HTTP? | ||
tony-o_ | eli-se: callback hell lol | ||
eli-se: for anything using sockets | |||
eli-se | Cool. | ||
mst <3 promises/futures | |||
meisl | eli-se, tony-o: CPS rules :) | 21:10 | |
eli-se | stackful coroutines or bust | ||
dalek | kudo/nom: 250b18f | lizmat++ | docs/release_guide.pod: Use Perl6 version, no longer need Date::Simple |
||
muraiki | if you like promises/futures, Scala's Dispatch library is really neat. it also has an excellent tutorial for using promises/futures and going a bit into monad land without necessarily needing to grok monads. | ||
eli-se | the only reasons you'd want async APIs is to (1) spawn a thread or (2) as an optimisation, and the latter can be done behind the scenes by the VM as in Julia and Go, while keeping a sync API (resulting in code you can actually read) | 21:11 | |
tony-o_ | meisl: cps ? | ||
meisl | "continuation passing style" | ||
tony-o_ | *goes off to read* | 21:12 | |
meisl | but as eli-se said, better not done by humans ;) | ||
eli-se | I actually once wrote a compiler that generated CPS JS code. | ||
21:12
espadrine joined
|
|||
tony-o_ | ah, this is what node does .. | 21:12 | |
eli-se | So you could do sync I/O. | 21:13 | |
muraiki | oh I thought meisl either misspelled CPS or perhaps was saying Communiquant Processus SxE9quentiels (which might not be legitimate french) | ||
man and then I just misspelled CSP | |||
it's time for bed | |||
tony-o_ | haha | ||
muraiki | but it's only 5:13PM... | ||
eli-se | It emitted CPS for every jump instruction (including subroutine calls). | ||
meisl | muraiki: you mean "communicating seq processes"? | ||
muraiki | yeah | ||
since we were talking about stackful coroutines | |||
but yes, I'm familiar with continuation passing style | 21:14 | ||
I'm just rambling because I'm tired. sorry | |||
meisl | np :) | ||
eli-se: CPS transform is definitely a worthwile step in optimizing things | 21:15 | ||
eli-se: guess you did proper tail-calls then? | 21:16 | ||
eli-se | do you mean from CPS to non-CPS? | ||
meisl: nah, I just let it stack overflow. | |||
But implementing it would have been trivial. | |||
meisl | no, opposite dir of course | ||
muraiki | so I know about these various concepts but I spend all my time programming in high level languages. is it worth learning something low level like C to understand how it works "under the hood"? | ||
eli-se | Mechanically transforming non-CPS to CPS is pretty much necessary if you want both (A) readable and generic code, and (B) target a platform which doesn't support context switches, such as JS | 21:17 | |
another attempt I did at this once was implementing a bytecode interpreter in JS which used a call stack stored in an array. it also worked very well. | |||
meisl | eli-se: dito (re CPS transform) | 21:18 | |
tony-o_ | muraiki: i find it useful once in a while | ||
eli-se | meisl: here it is :P VM: github.com/rightfold/gamma/blob/ma.../lib/vm.ls | 21:19 | |
meisl | muraiki: sure it is; actually I am writing high-level code in kinda CPS (it is a continuum, you can choose how much) | ||
eli-se | call instructions use CPS. | 21:20 | |
(in the interpreter; not in the bytecode) | |||
meisl | eli-se: interesting, thank you | ||
eli-se | there's also a compiler in that repository. | ||
meisl | eli-se: errm, what language is this? | ||
eli-se | LiveScript | ||
meisl | so gamma is written in LiveScript, right? | 21:21 | |
eli-se | Yes! | ||
muraiki | " and the syntax is a weird mix of those found in F#, Go, Rust and Scala!" o_O | ||
eli-se | warning: project is abandoned | 21:22 | |
but hello world works. | |||
meisl | well, functional heritage | ||
eli-se: how long? | |||
masak | eli-se: why abandoned? | ||
eli-se | 19 days | ||
meisl | ah... | ||
eli-se | not interested/boring/web development | 21:23 | |
meisl | eli-se: c'mon, make it self-hosting! | ||
eli-se | no :( I already have another programming language to work on :( | ||
meisl | (ie: write gamma in gamma) | ||
which? | |||
eli-se | this one: github.com/mill-lang/mill | 21:24 | |
all the example programs work | |||
muraiki | eli-se: have you seen: onilabs.com/stratifiedjs | ||
eli-se | HOLY GUACEMOLE | ||
meisl | hehe, I see "MAIN { ... }" - so there's *some* connection to p6 | 21:25 | |
eli-se | BLOCKING I/O AWESOME | ||
muraiki: thanks! :D | |||
muraiki | :) so I think it got a bit of press in the follow-up to the controversial "The emperorx92s new clothes were built with Node.js" post: notes.ericjiang.com/posts/751 | ||
lizmat | jnthn moritz : Is there a specific reason why role Dateish does not have the year/month/date attributes ? | ||
jnthn moritz : but instead, they're in class DateTime *and* class Date ? | 21:26 | ||
jnthn moritz : could that be for hysterical raisins ? | |||
muraiki | great mental image | ||
meisl | eli-se: re mill - could you expand on the influence of perl, plz? (is it perl5 or p6 already? which concepts precisely?) | 21:27 | |
eli-se | pretty much the only things I took from Perl were magic variables and the concept of phasers. | 21:28 | |
and maybe the "use" keyword | |||
meisl | phasers - oh... so you too mix&match compile time and runtime? | 21:29 | |
eli-se | nah | ||
meisl | so rather on the syntactic level, right? | 21:30 | |
eli-se | LOAD is for module intialisation, CHECK for unit tests (executed after INIT only in debug mode), MAIN for main function, UNLOAD at module unloading | ||
meisl | oh, CHECK for tests is nice | ||
eli-se | e.g. github.com/mill-lang/mill/blob/dev...q.mill#L23 | ||
oh right, I took POD from Perl as well | 21:31 | ||
meisl | yeah, ic - thumbs up for that | ||
hmm, but it seems you're trying to put the tests right into the file as well (just like pod), right? | 21:33 | ||
eli-se | yeah; I like them near the tested code. | ||
but you can put them in dedicated test modules, sure. | |||
meisl | ah, ok | 21:34 | |
have you thought about something more abstract, like annotations for pre- & post-conditions, for verification? | 21:35 | ||
eli-se | pre and postconditions are language features and postconditions can be put into interface methods | ||
similar to Eiffel and D | 21:36 | ||
meisl | right, that's what I was thinking about | ||
what's that Eiffel guys name, again? | |||
eli-se | proc f(x: Z) { } is in fact syntactic sugar for proc f(x: Any) require isa?(x, Z) { } | 21:37 | |
major difference with Perl 6 (IIRC) is that violating contracts results in undefined behaviour when in release mode. | |||
meisl | difference of what with p6? | 21:38 | |
masak | I can sort of see the rationale behind that. | ||
eli-se | masak: AFAIK in Perl 6 if a precondition fails you unconditionally get an exception | ||
masak | meisl: in Perl 6, a failed pre- or postcondition would just stop the program. | 21:39 | |
eli-se | as in, you can't turn that behaviour off. | ||
masak | eli-se: right. | ||
haven't thought about whether you can catch such an exception. | |||
I'd expect you could, though. | |||
m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" } | 21:40 | ||
camelia | rakudo-moar e1cc78: OUTPUT«Precondition '{ $x == 5 }' failed in block at /tmp/FWQdeVsZnt:1 in block <unit> at /tmp/FWQdeVsZnt:1 in any <unit-outer> at /tmp/FWQdeVsZnt:1» | ||
masak | m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default {} } | ||
camelia | ( no output ) | ||
masak | seems you can :) | ||
m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { default { say .^name } } | |||
camelia | rakudo-moar e1cc78: OUTPUT«X::Phaser::PrePost» | ||
meisl | eli-se: so you mean mill would (as of now) just behave strangely, whereas p6 would throw, right? | ||
eli-se | in release mode it could do anything including nasal demons, yes. | ||
meisl | ifc | 21:41 | |
eli-se | terminating the program is perfectly fine behaviour, and also what the implementation currently does. | ||
meisl | *ic* | ||
tony-o_ | m: say 'hello' | 21:43 | |
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
21:43
ggoebel left
|
|||
tony-o_ | m: say 'hello' | 21:44 | |
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
tony-o_ | m: say 'hello' | ||
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
21:44
espadrine left
|
|||
tony-o_ | m: say 'hello' | 21:45 | |
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
masak | m: my $x = 0; { PRE { $x == 5 }; say "OH HAI" }; CATCH { when X::Phaser::PrePost { .resume } } | ||
camelia | rakudo-moar e1cc78: OUTPUT«OH HAI» | ||
tony-o_ | m: say 'hello' | ||
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
eli-se | tony is stuck in a loop. | ||
tony-o_ | m: say 'hello' | ||
camelia | rakudo-moar e1cc78: OUTPUT«hello» | ||
tony-o_ | i'm testing out dimming in irssi | ||
eli-se | /msg camelia | ||
masak | tony-o_: have you considered doing that on privmsg? | 21:46 | |
tony-o_ | i didn't know i could | ||
eli-se | now you do! | ||
masak | Today You Learned ;) | ||
tony-o_ | i'm all kinds of smarter now | ||
masak | \o/ | ||
tony-o_ | haha | ||
meisl | eli-se: I'm pondering patterns/paradigms of testing/verification | 21:47 | |
tony-o_ | japhb: /hilight -regexp -line -color %K ^rakudo-.*?\s[\d\w]{6}: | ||
meisl | eli-se: appears to me right now that you cannot do it just like documentation (~> "literate programming", POD, "right there") | 21:48 | |
eli-se | my intention in mill is that you can specify many things in the code and they'll be checked, such as parameter and return types, preconditions, postconditions and thrown exceptions. | 21:50 | |
dalek | kudo/nom: 51e529d | lizmat++ | src/core/Temporal.pm: Privatize Date/DateTime attributes They were already a mixed bunch, probably because in the past, classes could not see private attributes defined in roles. Should make date / time handling quite a bit faster. |
||
tony-o_ | .tell japhb i have this dimming dalek and camelia pretty well - /hilight -regexp -line -color %K ^rakudo-.*?\s[\d\w]{6}: | 21:51 | |
yoleaux | tony-o_: I'll pass your message to japhb. | ||
21:51
muraiki left
|
|||
meisl | yes, I like to have such things rather explicit, and "right there" | 21:51 | |
eli-se | check out Eiffel if you haven't yet. | 21:52 | |
meisl | but are they enough to keep your code clean, over a longer period, and with many ppl involved? | ||
eli-se | you can't keep code clean without competence and discipline | ||
meisl | (I know Eiffel somewhat, but haven't done any larger thing) | 21:53 | |
eli-se | but confidence that your code works is require for being able to change it, and to get that you need some sort of verification, such as tests or proofs | ||
and to keep code of high quality you must be able to change it, otherwise it'll rot. | |||
just like brushing teeth! | |||
meisl | right, and how do you provide for this confidence? | 21:54 | |
tony-o_ | .tell japhb i have this dimming dalek and camelia pretty well - /hilight -regexp -line -color %K ^(m|r|p): | ||
yoleaux | tony-o_: I'll pass your message to japhb. | ||
eli-se | you can specify contracts in a fine-grained manner, and you can write unit and integration tests | ||
meisl | (competence and discipline assumed, but those alone aren't enough, IMHO) | ||
tony-o_ | oops | ||
eli-se | it's not really new wrt other tools such as Eiffel and Perl 6 | ||
except perhaps exception specifications, which unlike Java can be used with higher-order functions without pain. | 21:55 | ||
and default to the broadest possible exception specification ("throws everything") to reduce immense pain | |||
meisl | hmm, what do you mean that, "exc spec" with higher-order fns? | 21:56 | |
masak | it's fun to design languages | ||
eli-se | for example: proc f(g: Sub) throw E { … }. Here, f can only throw exceptions of type E. | ||
for example: proc f(g: Sub) throw from g { … }. Here, f can only throw exceptions where g occurs in their stack trace. | 21:57 | ||
meisl | we assume subtyping I guess? | ||
eli-se | yes | ||
meisl | can we combine this? | ||
I mean exc type + from where it is thrown | 21:58 | ||
eli-se | not yet | ||
didn't think of that. | |||
don't see when that'll be useful though | |||
but certainly possible to implement. | |||
meisl | well, just the nearest thing to ask :) | ||
what kind of type system do you have? | 21:59 | ||
eli-se | dynamic, nominal, no inheritance, protocols (a la Clojure/Elixir), structs (a la C) and enums (a la Rust) with automatically generated lenses and prisms | 22:00 | |
masak | ooh | ||
meisl | (btw: I'd say "throws" there, rather than "throw") | ||
masak | eli-se: what's a prism? I know what lenses are. do you have a URL? | ||
meisl | yeah, me too | ||
jercos | a prism's a type shaped like a glass triangle obviously :p | 22:01 | |
eli-se | masak hackage.haskell.org/package/lens-3...Prism.html | ||
meisl | jercos: sure, as Erik would tell you... | ||
eli-se | it's like a lens except the value may be absent. | ||
so you can create a prism for the value of a Maybe, which is present in case of Just and absent in case of Nothing | 22:02 | ||
meisl | ..oOo... | ||
masak | aha. | 22:03 | |
'night, #perl6 | |||
dalek | kudo/nom: 2e63ee4 | lizmat++ | src/core/Temporal.pm: Don't use junctions to determine validity of units |
||
lizmat | gnight masak | ||
eli-se | meisl: types are somewhat discussed in github.com/mill-lang/mill/blob/dev...lldata.pod | ||
lizmat | and good night #perl6! | ||
eli-se | the document is old and probably bad. | ||
meisl | good night, masak | ||
eli-se | goodbye masak | ||
goodbye lizmat | |||
meisl | eli-se: will go into that, thank you | 22:04 | |
right now: I understand lenses in the context of list abstractions, à la Erik Meijer, "Lenses, Bananas, ..." - is that the right path? | 22:07 | ||
eli-se | In Haskell syntax: "data Lens a b = Lens (a -> b) (a -> b -> a)" | 22:11 | |
i.e. getter/setter pair for immutable structures | |||
22:12
BenGoldberg_ joined,
RabidGravy left
|
|||
meisl | hmm, ok. and you create them automatically - for which construct, for example? | 22:14 | |
eli-se | struct User { id: UUID, name: String } generates two lenses, one for id and one for name. | ||
the getters of those lenses extract the respective fields | |||
the setters return a new User value with the respective fields updated | 22:15 | ||
lenses can be composed to update nested structures, which is neat. | |||
tony-o_ | moritz: is there a flag somewhere in IO::Socket that i can check if a socket is closed? | 22:16 | |
meisl | ic, so you kinda compile this C-ish "struct" to something hard-boiled functional, then go reason about it heavily | ||
(I assume) | 22:17 | ||
eli-se | fields are immutable unless prefixed with $ | ||
tony-o_ | i'm looking at .close and it looks like the $!PIO indicates a closed socket but nowhere i can find out if it's closed prior to calling .close | 22:18 | |
eli-se | just like variables. the last time I needed a mutable data structure was a lot of time ago. | ||
hence setters return new struct values | |||
meisl | sure, "functional". But these were lenses, where's the prisms? | ||
eli-se | prisms are for non-common fields of unions | 22:19 | |
geekosaur looks around nervously in case ekmett is hiding in the shadows somewhere near >.> | |||
tony-o_ | m: try { fail "dead"; }; | ||
camelia | ( no output ) | ||
meisl | union like in "union type"? | ||
eli-se | e.g. in union Option { Some(value: Any); None } there's a prism for "value" | 22:20 | |
a value of Option is either Some(x) or None | |||
meisl | yes, or "Maybe". but I still don't get what the prism is... | 22:21 | |
*maybe* let me ask like so: given a Prism a b - what can you do with it? | 22:22 | ||
(hope I got that right, two type params or not?) | |||
eli-se | getter of prism returns Option(T) instead of T | 22:23 | |
meisl | and setter produces...? | ||
geekosaur | the setter is the constructor Some | 22:25 | |
I think. (the lens stuff makes my head hurt... mostly because the form I most see is couched in category theory terms) | 22:26 | ||
meisl | but it's not a plain Maybe (or "Option") - Some just produces a Maybe - no union (or "Either") | 22:27 | |
are we talking about lifting Maybe into some other Monad? | 22:28 | ||
22:29
redhands_ joined
22:32
virtualsue left
22:33
][Sno][ joined,
[Sno] left
|
|||
meisl | anyways, I'll get some sleep now. g'night perl6 | 22:42 | |
eli-se: thx, even though I didn't understand eveything, I got plenty of inspiration :) | 22:43 | ||
22:47
FROGGS left
22:48
FROGGS joined
22:50
andreoss joined
22:51
fhelmberger joined
22:53
redhands_ left
22:56
fhelmberger left,
zengargoyle joined
22:57
mr-foobar left
23:01
eli-se left
23:04
meisl left
23:07
mr-foobar joined
23:14
tinyblak joined
23:15
kaare__ left
|
|||
timotimo | what did i miss today? | 23:17 | |
i was afk for many of the hours | |||
23:18
tinyblak left
|
|||
timotimo | well, anyway, we have a release, yay! thank you, FROGGS++ :) | 23:22 | |
23:23
pmurias left
23:25
sjn_phone joined
23:32
cognominal left
23:33
cognominal joined
23:39
sjn_phone left
|