»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:01
ajr_ left
|
|||
jepeway | well, i'm kinda torn between relying on the underlying OS's olson db & embedding one for p6. | 00:05 | |
00:07
chenryn joined
|
|||
BenGoldberg | How out of date (no pun intended) is the OS's database likely to be? | 00:09 | |
BenGoldberg is trying to remember if his laptop, running XP, presently does daylight savings time on the correct date. | 00:10 | ||
jepeway | well, i'm thinking that vendor updates are kinda automated, so the likelihood is high-ish. i can be persuaded otherwise, mind you. | 00:14 | |
BenGoldberg | jepeway, You could do both -- have a backend which uses the OS's db, a backend with an embeded DB, and a frontend which uses one or the other based on some user setting. | ||
jepeway | XP support was over as of April this year, so yer likely OK. | 00:15 | |
raydiak | XP did get an update to DST changes in like 07 or something | ||
www.microsoft.com/en-us/download/de...x?id=23731 | |||
jepeway | yeah, a mix-n-match that DWIM'ed. | ||
japhb is very happy now -- he has managed to make a simple stress test that causes Rakudo absolute conniptions. | 00:16 | ||
jepeway | japhb: say on. | ||
japhb | m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | ||
camelia | rakudo-moar 315ec6: OUTPUT«Memory allocation failed; could not allocate 8480 bytesMemory allocation failed; could not allocate 8480 bytes» | ||
japhb | That sucker will give all sorts of results, including 1 (the correct answer), 1.25 (WHAT?), the above error, 'Cannot invoke this object (REPR: Null)', locking up solid .... | 00:17 | |
Really quite fun, actually. | |||
And hopefully short enough to actually help jnthn++ et al. to debug it finally. | 00:18 | ||
00:18
chenryn left
|
|||
raydiak is still learning how to write his programs in way that *isn't* a stress test that causes rakudo absolute conniptions :) | 00:19 | ||
japhb | In fact, with SCALE = 5, it's pretty much guaranteed to lock up solid on my box. SCALE = 1 or SCALE = 2 usually works. | ||
raydiak: I've been trying for a month or more to golf down my threading instabilities to something that can be easily tested and shows the problems. | |||
BenGoldberg | m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | 00:20 | |
camelia | rakudo-moar 315ec6: OUTPUT«Memory allocation failed; could not allocate 8480 bytesCould not spawn thread: errorcode -1» | ||
BenGoldberg | m: my \SCALE = 3; my \FANOUT = 2; multi sub divide-and-conquer($n, 0) { say "done $n"; $n }; sub divide-and-conquer($n, $depth) { say "$depth: $n"; [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/8xP1T2cBoXRedeclaration of routine divide-and-conquerat /tmp/8xP1T2cBoX:1------> d-conquer($n / FANOUT, $depth - 1) } } }⏏; say divide-and-conquer(1.0, SCALE); ex…» | ||
japhb | Oooh, two errors for the price of one! | ||
raydiak | japhb: that makes me feel better that I haven't had much luck doing the same yet, though admittedly with far less than a month of total effort | ||
BenGoldberg | m: my \SCALE = 3; my \FANOUT = 2; multi divide-and-conquer($n, 0) { say "done $n"; $n }; multi divide-and-conquer($n, $depth) { say "$depth: $n"; [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | 00:21 | |
camelia | rakudo-moar 315ec6: OUTPUT«3: 12: 0.52: 0.51: 0.251: 0.251: 0.251: 0.25done 0.125Memory allocation failed; could not allocate 8480 bytes» | ||
japhb | Well, it's not like it's been my day job ... but definitely a free time hacking problem | ||
.tell jnthn Finally a short stress test for Rakudo threading that fails many different ways, relatively quickly: irclog.perlgeek.de/perl6/2014-10-29#i_9579979 | 00:22 | ||
yoleaux | japhb: I'll pass your message to jnthn. | ||
jepeway | well, gotta go. g'nite airbody. | ||
raydiak | good night jepeway | 00:23 | |
japhb | o/ jepeway | ||
masak | good night jepeway | ||
good night #perl6 | |||
japhb | o/ masak | ||
Sleep well ... | |||
raydiak | g'night masak \o | 00:24 | |
BenGoldberg | I got that code to say 'Cannot assign to a readonly variable or a value' | ||
japhb | BenGoldberg: Yeah, I keep getting different stuff the more I try it. I can only assume heap corruption or somesuch. | 00:29 | |
00:33
thou left
|
|||
japhb | Although the lockup at SCALE >= 5 my guess is a problem with the way the scheduler manages the threadpool. | 00:34 | |
BenGoldberg | Can moar be run using valgrind? That would give a hint as to the location of the problem. | 00:41 | |
dalek | rl6-bench/stress: 1a31fa5 | (Geoffrey Broadwell)++ | / (2 files): Add the first Perl 6 stress test: divide-and-conquer |
00:43 | |
japhb | BenGoldberg: I believe nwc10++ has done that. | 00:46 | |
BenGoldberg | m: my \SCALE = 10; my \FANOUT = 10; multi sub divide-and-conquer($n, 0) { $n }; multi divide-and-conquer($n, $depth) { [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | 00:52 | |
camelia | rakudo-moar 315ec6: OUTPUT«Memory allocation failed; could not allocate 8480 bytes» | ||
japhb | OK, that's some serious stress right there. | 00:57 | |
01:02
davido___ joined
01:03
immortal joined,
davido__ left
01:05
erkan left
|
|||
japhb | divide-and-conquer ++++++++++,++++++++++,++++++++++,+++ØØ++≠+≠ | 01:05 | |
^^ Diagnosis from perl6-bench stress of divide-and-conquer at increasing SCALE | 01:06 | ||
You can see where it starts to fall apart | |||
dalek | rl6-bench/stress: a33943f | (Geoffrey Broadwell)++ | timeall: Don't skip remaining runs of a test at a particular SCALE when a compiler starts to fail |
01:16 | |
rl6-bench/stress: 9c8ef17 | (Geoffrey Broadwell)++ | bench: Default to 10 runs per compiler per test when doing stress testing |
|||
rl6-bench/stress: 7ded32e | (Geoffrey Broadwell)++ | / (2 files): Add a --verbose option to analyze, and support it in bench |
|||
01:24
eMBee left
01:31
eMBee joined
01:46
cxreg left
|
|||
MilkmanDan | Is there no site that gives a current status of Perl6 work that a non-guru could follow? | 01:46 | |
Most of the hits under duckduckgo.com/?q=current+state+of+Perl6 are ca. 2010 and even perl6.org/compilers/features is close to two months old. | |||
So I'm clearly looking in the wrong places. | 01:47 | ||
01:47
cxreg joined
|
|||
peteretep | MilkmanDan: Have you seen the table of supported features? | 01:47 | |
MilkmanDan | peteretep: On the second link I pasted? | ||
peteretep | ah, yeah, that's the one | 01:48 | |
Sorry I didn't look closely enough | |||
MilkmanDan | No worries :) | ||
peteretep | That and the blog posts are the best I've seen | ||
Although those are about Rakudo, but I tend to feel that's a reasonable proxy | |||
(rakudo.org/) | |||
MilkmanDan | That's probably more useful for the deep hackers. I'm more interested in something like stackoverflow.com/questions/1899639...erl-6?rq=1 | ||
"closed as not constructive" is a but of a put-off though. :) | 01:49 | ||
01:50
molaf left
|
|||
peteretep | MilkmanDan: Over the years, I've tried to get a feel for it, and not found a good place | 01:50 | |
MilkmanDan: I feel like the best answer is "There's a usable alpha out" | |||
MilkmanDan | peteretep: That's the impression I get but I have a hard time getting much farther than that. For example, "what exactly do I download to start learning, and why those bits instead of other bits?" | 01:51 | |
peteretep | I think the one-off answer to that is: Rakudo | 01:52 | |
MilkmanDan | I can see that there a gaggle of different, um, compilers and interpreters? | ||
peteretep | rakudo.org/how-to-get-rakudo/ | ||
MilkmanDan | Rakudo is a frontend to some backend like a JVM that actually executes the code, yes? | ||
peteretep | I think it's more generally a release, that includes a workable back-end | 01:53 | |
peteretep is making a not of these questions to write up a document | |||
colomon | MilkmanDan: I don't know that anything that would require a change to perl6.org/compilers/features has happened in the last two months. | ||
peteretep | I also don't know the answers definitive though | ||
MilkmanDan | colomon: Thanks, good to know. | ||
colomon | Rakudo is implemented in terms of NQP, and NQP currently runs on Parrot, JVM, and MoarVM. | 01:54 | |
Unless you specifically want to use lots of threading stuff, the best choice is probably MoarVM. | |||
peteretep | colomon: I think that is a very accurate answer, but not necessarily a helpful one for people outside the know | ||
MilkmanDan | Yeah, this is the sort of stuff that I think needs a site to track the State of the 6 Onion. | 01:55 | |
On6on? | |||
peteretep | heh | 01:56 | |
MilkmanDan | Whichever. A site that took a snapshot of the state every quarter or two would make it a lot easier for relative noobs to get up to speed and start learning things. | ||
peteretep | MilkmanDan: I have an ulterior motive for wanting to create such a thing, and am currently procrastinating about something else | 01:57 | |
peteretep throws something together | |||
MilkmanDan | Or maybe I'm being overly optimistic about when things will be finalized enough for noobs to begin using it. | ||
That book on Github looks like it's mostly about 2-4 years old. | 01:58 | ||
peteretep | MilkmanDan: I think there's a real focus on producing working code at the moment, rather than documenting progress | ||
Actually, I think that's been the case forever | 01:59 | ||
MilkmanDan | nod | ||
peteretep | Regardless, I would agree with what you've said | ||
MilkmanDan | Oh dear. irclog.perlgeek.de/perl6book/ is a bit depressing. | 02:00 | |
I think I better just lurk for another 6 months. | |||
peteretep | Which is a shame, as I think there's enough that you could fruitfully learn Perl 6 right now | ||
Although it requires investment and archeology, which is a shame | 02:01 | ||
leont learned perl 6 mostly by doing, and by not being afraid to ask "stupid" questions here | |||
colomon | leont has the best way of it, indeed. | ||
peteretep | Amazing that now I have a commercial incentive in publicizing a Perl-related site, I am more willing to put together Perl content :-/ | 02:02 | |
MilkmanDan | leont: How did you get past the "which bits? etc" part? | ||
I'm still not entirely sure why I need to install a Java virtual machine to learn Perl (or that I should be forced to live in such a state of sin. :) | 02:03 | ||
colomon | MilkmanDan: you only need JVM if you want to use it. | 02:04 | |
MilkmanDan | colomon: Use MoarVM instead? | ||
leont | Yeah | 02:05 | |
colomon | I'd strongly recommend that. | ||
02:05
rmgk left
|
|||
MilkmanDan | I very much like the of MOAR THINGS! But that's about as far as my decision process would go. | 02:05 | |
dalek | rl6-bench/stress: 80d904e | (Geoffrey Broadwell)++ | bench: Refactor quickstart command and add quickstress command |
02:06 | |
MilkmanDan | So is Moar a weakly typed VM where the JVM is strongly typed? | 02:07 | |
peteretep | Would this be a fair statement: "Rakudo Star implements enough of Perl 6 that it feels feature parity with Perl 5"? | ||
02:07
rurban joined
|
|||
colomon | The key to Moar is that it was explicitly developed to support the current Rakudo. | 02:07 | |
MilkmanDan | peteretep: That sounds great to me. | 02:08 | |
02:08
rurban left
|
|||
peteretep | MilkmanDan: That may not be true :-) | 02:08 | |
MilkmanDan: I am asking to assertain its truthiness | |||
colomon | Eh, there certainly are some features of Perl 5 which Rakudo doesn't really handle yet | ||
peteretep | But I think it is true | ||
colomon | it's mostly there. | ||
peteretep | Unicode, complicated IO/threading | ||
colomon | and there are things there which are not in perl 5 | ||
peteretep | I feel like those are the two biggies | ||
MilkmanDan | I can probably get by quite well without Unicode. :) | 02:09 | |
colomon | as far as I know we don't have a decent pack / unpack facility yet | ||
japhb | Why would you think we are unicode impaired? | ||
peteretep | japhb: It says it on the Rakudo star website | ||
well, rakudo website | 02:10 | ||
japhb | peteretep: link? | ||
BenGoldberg | The biggest thing that perl5 has that perl6 is barely starting on, is CPAN. For any task that can possibly be done, there's a perl5 CPAN module out there which does it well. | ||
peteretep | japhb: rakudo.org/ | ||
BenGoldberg: I'm doing my dissertation on that, strangely enough | |||
colomon | Certainly basic Unicode stuff works fine in Rakudo. | 02:11 | |
MilkmanDan | "This Star release includes release 2014.09 of the" | ||
Rakudo Perl 6 compiler, version 6.7.0 of the Parrot Virtual | |||
Machine, version 2014.09 of MoarVM, plus various modules, | |||
documentation, and other resources collected from the Perl 6 | |||
community." | |||
Crap, that was supposed to be one line. | |||
japhb | peteretep: Ah, I see what you're looking at. That's roughly saying "We're only doing *somewhat* better than Perl 5 at Unicode, instead of OMG A LOT" | ||
MilkmanDan | Anyway, why does Star include two different VMs? Are they both used? | ||
peteretep | japhb: Hrmmmm | 02:12 | |
japhb: Now I come to think of it, actually Perl 6 promised a lot | |||
japhb: Are the Unicode features that currently exist then very similar to what's in Perl 5? | |||
japhb | MilkmanDan: Star is a distro release (batteries included, basically), so it includes what you need to play around however you like. We just can't include the JVM for obvious reasons | ||
MilkmanDan | japhb: Ah, right. Java stinks. | 02:13 | |
MilkmanDan nods solemnly. | |||
japhb | peteretep: In general, we pervasively do Unicode in strings. And know when we're using strings and when we're using Blobs. | ||
BenGoldberg | It's not that java stinks, it's that java is huge. | ||
MilkmanDan | So both Parrot and Moar included for fun for the user. | ||
BenGoldberg | Well, JRE is relatively huge, anyway. | ||
japhb | BenGoldberg: And possibly encumbered in a not-Artistic-2.0 compatible way, I haven't looked recently. | ||
MilkmanDan | BenGoldberg: No, no, I've taken Java classes before. It definitely stinks. :) | ||
japhb | MilkmanDan: Yes, fun for the user. | 02:14 | |
BenGoldberg | MilkmanDan, JVMs take java *classes*, java students take java *courses*. So unless you're a computer... | 02:15 | |
:) | |||
colomon can't really comment on Rakudo Star, as he pretty much always uses rakudobrew to build rakudo these days. | |||
MilkmanDan | Haha | ||
japhb | m: say uniname('F') | ||
camelia | rakudo-moar 315ec6: OUTPUT«LATIN CAPITAL LETTER F» | ||
MilkmanDan | I'm not so much a computer as I am an entity created for a webcomic.... | 02:16 | |
BenGoldberg | Also, MilkmanDan, are you saying that that java programming language stinks, or that the java virtual machine stinks? | ||
Because the java backend of Rakudo produces class files directly from NQP, *without* using the java programming language. | 02:17 | ||
02:17
leont left
|
|||
MilkmanDan | BenGoldberg: Seriously? Well, when I studied Java I had previously done a bit of dabbling in various languages including Perl. Java just felt all _wrong_ to me. | 02:17 | |
BenGoldberg | So it's the language, not the vm. | ||
MilkmanDan | Yeah. | ||
peteretep | github.com/sheriff/perl6status/blo.../README.md | 02:18 | |
I plan to "finish" this document in the next 90 minutes | |||
By making it about 5 times the size | |||
BenGoldberg | You *do* realize that there's like, a dozen different languages which compile to .class files, which can run on the jvm. | ||
peteretep | I would very appreciate some extra eyes | ||
BenGoldberg | And many of them are completely and utterly unlike the java programming language. | ||
MilkmanDan | Although from reading (I think?) Perlmonks it seems that getting Perl to run in the JVM is a bit of a flawed hack because Java is completely typed and Perl has always been "that's cool, whatevs you want, bro". | ||
peteretep | MilkmanDan: My understanding is much as the VM has gotten a lot better, actually the language has improved a lot too | ||
BenGoldberg | I mean, consider lisp, and ironpython, as just two examples. | 02:19 | |
MilkmanDan | Lisp I can understand, but Python running in the JVM sounds just as odd to me as Perl. | ||
BenGoldberg shrugs. | 02:20 | ||
And yet, it runs! | |||
MilkmanDan | But I'm no low level hacker. | ||
Yeah | |||
Nevertheless, it moves! | |||
japhb | MilkmanDan: Perl 6 has a much more interesting type system than Perl 5 does. | ||
MilkmanDan | japhb: Oh dear. Is that analogous to "may you live in interesting times"? | ||
japhb | Well we hope not. :-) | 02:21 | |
Actually, it allows for a lot more intelligence in a lot of places, which makes using the language much freer of annoyances. | |||
02:22
dayangkun joined
|
|||
MilkmanDan | I like the idea of asking Perl to tell you the [scalar] length of a hash and getting the number of elements in it because Perl and the programmer have an understanding that doing a scalar operation on a hash only makes sense in such a way. | 02:22 | |
peteretep | MilkmanDan: heh. Context has always felt like the weakest part of Perl to me | 02:23 | |
MilkmanDan | peteretep: Really? I always thought it was brilliant. | ||
I liked it because it was like Perl telling me "this is brilliant but you can use it if you step up your game and try to be a little bit brilliant yourself." | 02:24 | ||
Humbling but inspiring at the same time. | |||
peteretep | Everyone: is there a particularly good or well-written Perl 6 module that should be highlighted as an example of how to write Perl 6? | 02:25 | |
02:27
rurban joined
02:28
rurban left
|
|||
colomon | nothing is jumping to mind. There are beautiful short modules that jnthn has written. | 02:32 | |
I've got my ABC, which is reasonably big and uses a lot of nice bits of Perl 6, but I wrote the bulk of it ages ago and would certainly not write it that way if I started over today. | |||
panda, maybe, but it's pretty specialized. | 02:33 | ||
peteretep | github.com/sheriff/perl6status/blo.../README.md | 02:35 | |
MilkmanDan: ^^ does that answer most of the questions you came here with? | |||
colomon: Is everything on that page I just posted true, as far as you know? | |||
MilkmanDan | peteretep: I'll look in a bit. Thanks. | 02:37 | |
colomon | peteretep: I'd wait around to get other opinions on truthiness. | 02:38 | |
I don't know of any Unicode features missing from Rakudo-Moar, for instance. (But that doesn't mean they don't excist.) | 02:39 | ||
*exist | |||
As far as I know, forms and pack/unpack are both still missing from rakudo. | 02:40 | ||
peteretep | forms? | ||
colomon | (Both of which are p5 features I've certainly relied on in the past.) | ||
sorry, formats | |||
peteretep | Like %02d? | 02:41 | |
colomon | no, we've got sprintf etc. | ||
like @<<<<<<<<< @>>>>> @>>>>> | |||
peteretep | ah | ||
colomon | I vaguely remember something about a module to do that, but I don't know anything more than that about it. | 02:42 | |
at the moment, the big not done part is the currently underway Great List Refactoring. | |||
as pmichaud++, etc try to get List handling more consistent and more efficient. | 02:43 | ||
but rakudo is perfectly suitable for doing a good bit of p6 development. I use it pretty much every day for $work. | 02:49 | ||
peteretep | What do you do for work? | 02:51 | |
colomon | CAD software library development | 02:55 | |
all the CAD code is in C++ | |||
but I've got a ton of support code in p5 and a growing amount in p6 | 02:56 | ||
03:01
chenryn joined
03:14
noganex_ joined
03:16
wtw left
03:17
noganex left
03:21
nebuchadnezzar left,
nebuchadnezzar joined
03:23
chenryn left
03:32
chenryn joined
03:35
wtw joined,
fhelmberger joined
03:36
hagiri joined
|
|||
hagiri | TimToady, hello man | 03:39 | |
=) | |||
03:40
fhelmberger left
03:51
wtw left
03:57
BenGoldberg left
|
|||
peteretep | perl6.guide/ | 04:00 | |
04:20
kaleem joined
|
|||
peteretep | Is there any published or implicit roadmap for Rakudo? | 04:29 | |
04:31
mauke_ joined
|
|||
lucs | peteretep: Is that a domain of yours? | 04:32 | |
04:34
mauke left,
mauke_ is now known as mauke
|
|||
peteretep | lucs: Yes | 04:35 | |
lucs | Aha. | ||
(first time I see a .guide domain) | 04:36 | ||
D'oh! I should have read to the end of the page :) | 04:37 | ||
peteretep | I would like to improve that page to include a roadmap that is derived from various blog posts | 04:40 | |
04:45
xenoterracide joined
04:46
ggoebel111111116 joined
|
|||
peteretep | "I also announced that discussions would happen about what ought to be in Perl 6.0.0" | 04:47 | |
What does that actually /mean/? | |||
Does that mean a Rakudo version that says it can support Perl 6.0.0? | |||
Is that a tag on a certain set of the unit tests for Perl 6? | 04:48 | ||
Presumably it needs to be the latter | |||
Perl 6.0.0 is a set of tests that are canonicalized as "Perl 6.0.0" | |||
And it being "released" is ... there's software somewhere that can compile it? | 04:49 | ||
I note that the bullet points after that (p6weekly.wordpress.com/) talk about the Great List Refactor | |||
Is GLR specifically a Rakudo-specific thing? | |||
04:50
ggoebel111111115 left
|
|||
peteretep | Or is there more work implied there in figuring out what the language itself should do? | 04:51 | |
Reading on there, it seems to be /both/ | |||
05:07
kaleem left
05:08
jack_rabbit joined
05:16
[Sno] left
05:19
xenoterracide left,
chenryn left
05:28
chenryn joined
05:49
yeahnoob joined
05:55
hagiri left
05:56
wtw joined
06:08
JimmyZ joined
|
|||
JimmyZ | peteretep: github.com/rakudo/rakudo/blob/nom/docs/ROADMAP | 06:09 | |
peteretep | JimmyZ: That's something. Shame it's so out of date :( | 06:10 | |
(based on viewing it as: github.com/rakudo/rakudo/blame/nom...s/ROADMAP) | |||
JimmyZ | peteretep: Last updated: 2014-09-14 | 06:11 | |
peteretep | JimmyZ: Don't believe everything people tell you - believe what the evidence shows you :-) | ||
JimmyZ | well. it's not out of date actually | 06:12 | |
peteretep | JimmyZ: Do you think it's accurate? | 06:14 | |
06:14
kaare_ joined
|
|||
JimmyZ | peteretep: almost | 06:15 | |
peteretep | JimmyZ: My understanding is that the most pressing issues are Unicode improvements, shaped arrays, and a general rewrite/refactor of list handling code | 06:16 | |
JimmyZ | Unicode improvements, shaped arrays is feature roadmap, and it's in the ROADMAP tooo | 06:17 | |
GLR is not feature roadmap | |||
06:18
[Sno] joined
|
|||
peteretep | JimmyZ: So this is a roadmap of language features only? | 06:19 | |
JimmyZ | yeah | ||
peteretep | It seems to me a brave explorer could go in and change the numbers next to the tasks to reflect that | ||
JimmyZ | or something longstanding performance roadmap | 06:20 | |
peteretep | Wouldn't that include GLR? | 06:21 | |
"Longstanding performance"? | |||
JimmyZ | GLR is not longstanding | ||
06:21
anaeem1_ joined
06:24
grep0r left
06:26
yeahnoob left
06:27
grep0r joined
06:29
kurahaupo left
06:32
kaleem joined
06:35
krunen left
06:37
vivek_ joined
|
|||
vivek_ | hi | 06:37 | |
hi camelia | 06:38 | ||
Is there anyone online now? | |||
lucs | Sure, but a lot are missing, sleeping I guess. | 06:39 | |
JimmyZ | peteretep: rakudo start does have non-blocking IO, methinks | ||
vivek_ | I would like to contribute to this perl 6 | ||
JimmyZ | and does have a pack/unpack | 06:40 | |
vivek_ | I have been working in Perl for more than 5 years | ||
I would like to know how could I start contributing? | |||
06:40
dayangkun left
|
|||
JimmyZ | vivek_: What would you like to do :P | 06:40 | |
06:41
yeahnoob joined
|
|||
peteretep | JimmyZ: My understanding is that the non-blocking IO is limited to certain back ends | 06:41 | |
vivek_ | I think I am good at handling data structures in Perl | ||
JimmyZ | peteretep: yeah, but it does have :P | ||
peteretep | JimmyZ: Someone told me earlier pack/unpack were missing; can you point me to a passing test that shows otherwise? If so I'll update it | ||
JimmyZ | peteretep: it is not missing, just not as good as the perl 5 one | 06:42 | |
peteretep | JimmyZ: It's generally better to under-promise and over-deliver, rather than the other way around, in this world | ||
JimmyZ | peteretep: consider java only has one backend :P | 06:43 | |
and nodejs too | |||
you can't say java has no non-blocking io because it limited to only JVM | 06:44 | ||
peteretep | JimmyZ: I understand your point completely. I disagree with the assertion that that means we should disagree with the person who last released Rakudo Star and say "actually it has it just fine" | 06:45 | |
JimmyZ | peteretep: maybe the better way is that: it has, but only on XXX backends. | 06:46 | |
peteretep | This is doubly true for a language with a(n unfair) reputation problem for being vapour-ware | ||
JimmyZ: Perhaps, but the commenter who started off this whole discussion this morning was complaining that the various backends, and the different sets of functionality between them, was confusing | 06:47 | ||
And I have sympathy for that position | |||
JimmyZ | but say no make people leaves :P | ||
peteretep | I didn't understand that sentence | 06:48 | |
JimmyZ | complaining is better than no-complaining ;) | ||
lucs | vivek_: Did you see this page?: rakudo.org/how-to-help/ | ||
peteretep | JimmyZ: Ultimately, I think the message that "Perl 6 is usable right now, with these caveats" than anything more nuanced | 06:49 | |
JimmyZ | things without complaining means noboyd use it:P | ||
*nobody | |||
chenryn | Rakudo-MoarVM don't support non-blocking io? | ||
JimmyZ | it does support :P | 06:50 | |
and does have pack/unpack too | |||
peteretep | I suggest you ask Tobias Leich to update his last release note | 06:51 | |
lucs | vivek_: This too: perl6.org/about/ | ||
chenryn | so, could we say only performance improve needed? | 06:53 | |
JimmyZ | so to make rakudo having non-blocking IO, we just needs delete other two backends :P | 06:54 | |
and then no caveats | 06:55 | ||
peteretep | JimmyZ: Yes. While they're distributed as part of the official distribution, it turns out the person packaging the releases considers it to be "not quite there" | ||
JimmyZ | but it 's still there | 06:56 | |
06:58
kurahaupo joined
07:03
darutoko joined,
anaeem1_ left
07:04
anaeem1 joined
07:05
anaeem1 left,
anaeem1 joined
07:12
mauke_ joined
07:13
vivek_ left
07:14
avuserow left
07:15
mauke left
07:16
mauke_ is now known as mauke
07:17
kurahaupo left
07:19
avuserow joined
07:28
FROGGS joined
07:32
virtualsue joined
07:33
mauke_ joined
07:36
mauke left
07:39
mauke_ left,
mauke joined
07:40
JimmyZ left
07:43
yeahnoob left
07:44
mauke_ joined
07:45
mauke left
07:47
mauke joined
07:49
mauke_ left
07:52
rindolf joined
|
|||
grondilu | I think rosettacode.org/wiki/Draw_a_sphere#Perl_6 is broken. Can anyone confirm? | 07:56 | |
FROGGS tries | 07:57 | ||
it infiniloops as it seems | 07:58 | ||
grondilu | it does not on my machine, but the resulting image does not look like a sphere at all. | 07:59 | |
FROGGS | the result on my box is just: | ||
P5 | |||
255 255 | |||
255 | |||
grondilu | you sure it's not still running? | 08:00 | |
because it's supposed to do everything in memory, and then finish write the file. | |||
Tekk_ | it fails to compile for me | 08:01 | |
on moar just built today | |||
FROGGS | but... is it meant to run longer than a minute? | ||
08:01
prammer left
|
|||
FROGGS | Tekk_: O.o | 08:01 | |
how so? | |||
grondilu | it's quite slow indeed | ||
several minutes on my machine. | |||
FROGGS | ohh, oaky | ||
okay* | |||
Tekk_ | expected a term but found infix .. instead at out.print( draw_sphere( ($x-1)/2, .9, ..⏏chrs ); | ||
lizmat | good *, #perl6! | 08:02 | |
yoleaux | 28 Oct 2014 22:02Z <FROGGS> lizmat: are you happy with IO::Handle.close-pipe? | ||
lizmat | FROGGS: will look later | ||
peteretep | FROGGS: I'd love any input you have on perl6.guide/ | ||
Tekk_ | wait.. | ||
FROGGS | Tekk_: copy&pasto... there is: ».chrs | ||
moritz | Tekk_: what is ..chars supposed to me? | ||
Tekk_ | yeah | ||
FROGGS | lizmat: thanks :o) | ||
Tekk_ | FROGGS: yeah, apparently that didn't copy right for some reason | ||
moritz | \o lizmat, FROGGS, Tekk_, * | ||
FROGGS | morning moritz | 08:03 | |
Tekk_ | yep, there we go | ||
hi moritz | |||
FROGGS | peteretep: will read | ||
peteretep | FROGGS: it's very very short :) | ||
lizmat | meanwhile, I would like to note that since I pullled late last night, I'm seeing a lot more flappy test files, that run fine by themselves | ||
moritz | Tekk_: you canuse >>.chrs if non-ASCII causes problems | ||
lizmat | but have nothing apparent to do with async | ||
08:03
zakharyas joined,
pecastro left
|
|||
FROGGS | peteretep: we have pack/unpack | 08:04 | |
peteretep | FROGGS: You are the 3rd person to say that. I will correct it now. | ||
FROGGS | :P | ||
lizmat: it is unlikely to be my fault though | 08:05 | ||
because these code paths are unused in tests | |||
moritz | did the nqp revision bump change anything? | ||
FROGGS | moritz: hmmm, not sure about taht | 08:06 | |
peteretep: rakudo (-m|-j) has threads and concurrency | |||
lizmat runs a third spectest run | |||
peteretep | FROGGS: I've changed the wording slightly there. The last release notes say it's "not quite done" and I think it's best not to over-rpromise | ||
FROGGS | okay, I can live with that :o) | 08:07 | |
08:07
dayangkun joined
|
|||
peteretep | I am hoping it gets some traction on hacker news | 08:07 | |
08:08
virtualsue left
|
|||
FROGGS | peteretep++ # 've got nothing more to complaint about :o) | 08:12 | |
I like it | |||
grondilu: aye, the sphere does not look like a sphere :o) | 08:14 | ||
it looks like that the lines are eithr too short or too long | |||
either* | |||
grondilu | it seems to work if I change the code to create a P2 (ASCII) image instead of P5 | ||
so I suspect there's somthing wrong with binary IO | |||
maybe .chrs | 08:15 | ||
btw chrs here is not necessary, chr should do. | |||
08:15
janicez is now known as j4janicej
|
|||
FROGGS tries | 08:17 | ||
I'll profile it this time... | |||
08:19
rurban joined,
rurban left
|
|||
lizmat | gist.github.com/lizmat/d5efe6e42efc59c94b17 # 3 runs of flappy tests, each of which runs fine by its own | 08:19 | |
*on | |||
away to computer parts store& | 08:20 | ||
moritz | lizmat: I'm now spectesting 9022b0f to see if it's flappy too | ||
first run was fine (no fails) | |||
08:21
rurban joined
|
|||
FROGGS | hmmm, if I had to guess I'd say it is a newly jitted op | 08:23 | |
moritz | my plan is: | ||
1) run three spectests on rakudo 9022b0f | |||
2) if they are fine, update moar to master without updating NQP or Rakudo | |||
3) if the spectests are still fine, update NQP | 08:25 | ||
08:26
mauke_ joined
08:27
brrt joined
08:29
virtualsue joined,
mauke left
|
|||
moritz | This is perl6 version 2014.10-21-gb9deb95 built on MoarVM version 2014.10 => three spectests in a row are fine | 08:30 | |
now trying with moar master | |||
uhm | 08:31 | ||
on moar master I get | |||
Unimplemented spesh ops hit at src/gen/m-CORE.setting:4755 (././CORE.setting.moarvm:Int:3) | |||
08:31
mauke_ left
08:32
dayangkun left
|
|||
moritz | do I have to rebuild rakudo and/or nqp when I switch to a newer MoarVM version? | 08:33 | |
08:35
mauke joined
|
|||
rurban | yes, make clean and rm nqp-m | 08:38 | |
rm install/bin/nqp-m | 08:39 | ||
moritz | rurban: thanks | ||
08:40
mauke left
08:45
mauke joined
08:48
denis_boyun_ joined
08:56
mauke left
08:58
jack_rabbit left
09:00
mauke joined
09:07
mauke_ joined
|
|||
masak | m'n'g, #perl6 | 09:10 | |
09:10
ptc_p6 joined
|
|||
raydiak | \o masak | 09:10 | |
09:10
mauke left
09:11
mauke_ left
09:13
mauke joined,
FROGGS left
09:14
mrbig4545 left
09:18
mauke left
09:20
mauke joined
09:23
mauke_ joined
09:24
mauke left
09:25
FROGGS joined
09:28
mauke_ is now known as mauke
09:33
mauke_ joined
09:36
mauke left,
fhelmberger joined
09:37
colomon left
09:38
mauke_ is now known as mauke
09:41
fhelmberger left
09:44
[Tux] left
09:46
n0body_ joined
09:48
rurban left
09:51
rurban joined
09:52
colomon joined
|
|||
FROGGS | timotimo: do you have an idea why we don't get a report file for a --profile run when the profiled code calls exit? | 09:55 | |
09:57
[Tux] joined
09:59
pecastro joined
10:03
sqirrel__ joined
|
|||
FROGGS | grondilu: I think I just speed up Draw_a_sphere by 44% | 10:04 | |
10:08
kurahaupo joined
10:09
spider-mario joined,
spider-mario left
10:10
spider-mario joined
10:11
cibs left
10:13
cibs joined
|
|||
lizmat | thanks to our friendly local computer store, we have mail and DNS again :-) | 10:23 | |
*phew* | 10:24 | ||
FROGGS | ó.ò | ||
timotimo | FROGGS: we also don't get one when the user code exits with an exception :) | 10:32 | |
moritz | and I find that pretty annoying | 10:34 | |
timotimo | agreed, i can patch that, though | 10:35 | |
FROGGS: what's draw_a_sphere? | |||
moritz | because an exception or exit is usually the most convenient way to limit the scope of an otherwise too-long-running process | ||
timotimo | aye. | 10:38 | |
FROGGS | timotimo: rosettacode.org/wiki/Draw_a_sphere#Perl_6 | ||
timotimo | FROGGS: is the 44% faster code already there? | ||
if not, what did you change? :) | 10:39 | ||
FROGGS | I want to profile a webservice, so I need to exit() at some point | ||
timotimo: not yet | |||
hold on | 10:40 | ||
timotimo | huh, why would you need to open :bin and then >>.chrs? | ||
i think i can put an END phaser into the end queue that'd react to an exit | 10:44 | ||
moritz | m: END { say 'end' }; exit | 10:46 | |
camelia | rakudo-moar 315ec6: OUTPUT«end» | ||
timotimo | i don't quite understand why that works, though | 10:51 | |
looking at the code, sub exit just calls nqp::exit($result_code) and nqp::exit is implemented with the regular exit function in moar | |||
moritz | lizmat: the flapping tests seem to be caused by moar; with moar 2014.10-10-gad5ce15 and rakudo/nom + nqp/master, all is fine here | ||
dalek | kudo/nom: 7474012 | (Tobias Leich)++ | src/core/Any.pm: add two arg candidates to infix min and max This is about 30x faster for the idiom: c = a min b, because we do not have to allocate a slurpy array just to iterate over it. For rosettacode.org/wiki/Draw_a_sphere#Perl_6 it results in a total speedup of about 44%. |
10:52 | |
timotimo | oh wow | ||
nice! | |||
moritz | now doing the cross-check with latest MoarVM to be sure | ||
FROGGS++ | |||
FROGGS | profiler++ | ||
I would not be able in a position to do that without that nice thingy | 10:53 | ||
moritz | FROGGS: sure, but you still deserve a FROGGS++ for actually doing it :-) | 10:54 | |
FROGGS | ohh, I don't deny that *g* | ||
moritz | my Str.trans optimizations were also guided by the profiler | ||
FROGGS: btw, do you see a flame graph in the profile? | 10:55 | ||
FROGGS | yes | ||
moritz | last time I tried it, I didn't :( | ||
I should try again with a new-ish NQP, I think | |||
FROGGS | it is the first time I'd seen it though | 10:56 | |
10:56
anaeem___ joined
10:57
anaeem___ left,
anaeem1_ joined,
anaeem1 left
|
|||
moritz | lizmat: after cleaning out everything, I don't even get flapping tests with latest moar | 10:59 | |
FROGGS | I also have no flapping tests btw | ||
moritz | I had them when I did the upgrade without cleaning everything | 11:00 | |
11:00
rurban left
11:03
xenoterracide joined
|
|||
FROGGS | my rebuild scripts (real)clean at every run | 11:05 | |
lizmat | moritz: what do you mean with "cleaning out everything" ? | 11:11 | |
ah, ok | |||
lizmat must still wake up | |||
masak has decided he should write a small metacircular evaluator | 11:12 | ||
timotimo | it's the metacircle of life~ | ||
11:13
anaeem1 joined,
anaeem1 left
|
|||
masak .oO( o/~ and it evals us all o/~ ) | 11:13 | ||
11:13
anaeem1_ left
|
|||
masak .oO( o/~ through syntax and semantics o/~ ) | 11:13 | ||
masak .oO( o/~ through actions and world o/~ ) | |||
11:13
anaeem1_ joined
|
|||
lizmat | timotimo: $ perl6 -e 'END { say "last"; exit 43 }; END { say "first"; exit 42 }'; echo $? | 11:22 | |
first | |||
last | |||
43 | |||
11:22
xenoterracide left
|
|||
lizmat | END blocka are executed lifo, with the exit code being the last exit() seen | 11:22 | |
I guess we need to make the last exit() value available as some variable so END blocks can react to it | 11:23 | ||
moritz: back to one 1 flapper | |||
11:25
Alula left
|
|||
lizmat is going to catch up on some sleep | 11:26 | ||
11:29
Alula joined
|
|||
timotimo | the perl6.guide site apparently made quite a splash on the twitterverse | 11:31 | |
Juerd | There's a .guide tld now too? This madness will never end, will it? :( | 11:38 | |
11:39
fhelmberger joined
|
|||
tadzik | you can havy any tld these days, I think | 11:39 | |
11:40
fhelmberger_ joined
11:41
fhelmberger left
|
|||
timotimo | "gtld" is the name, right? | 11:43 | |
11:45
panchiniak joined
|
|||
Juerd | Yes, cctld's (2 letters) are still reserved for countries | 11:47 | |
For varying definitions of "country" | |||
11:51
ugator left,
ugator joined
11:52
kaleem left
12:03
panchiniak left
|
|||
masak | huh, perl6.guide | 12:05 | |
did either of us here know about that? | |||
woolfy | Yes, since 34 minutes when timotimo mentioned it... :-) | 12:08 | |
timotimo++ | |||
masak | heh. | ||
PerlJam | perl6.guide? | 12:10 | |
PerlJam looks | 12:11 | ||
bartolin | masak: peteretep brought it up earlier today: irclog.perlgeek.de/perl6/2014-10-29#i_9580764 | ||
PerlJam | peteretep++ | ||
bartolin | yes, peteretep++ :-) | 12:12 | |
12:13
JimmyZ joined
|
|||
masak | I'm just wondering if there's anyway we can establish some communication between the Perl 6 community/#perl6, and whoever made that site :) | 12:14 | |
any way* | |||
PerlJam | masak: peteretep says it's his. | 12:15 | |
Juerd | masak: github.com/sheriff/perl6status/ | ||
A matter of opening issues or sending pull requests I think, even if you couldn't reach him on irc. | 12:16 | ||
masak | that's a good start. | ||
if the channel has proposed changes, I can coordinate them in a gist, and send them off all at once | |||
tadzik | in other news, GCI registration period has opened | ||
they only have slots for 12 or so orgs, so we'd have to really prepare well if we hope to participate | 12:17 | ||
bartolin | btw, FROGGS++ discussed the content with peteretep earlier today | ||
FROGGS | tadzik: I already asked mdk if we will try to participate, and he's going to ask dukeleto | 12:21 | |
tadzik | awesome :) | 12:22 | |
colomon | tadzik: GCI? | 12:23 | |
tadzik | google codein | 12:24 | |
colomon | tadzik: thank you | 12:25 | |
12:32
rmgk joined
|
|||
FROGGS | local deopt: <anon> | 12:33 | |
src/gen/m-CORE.setting:19038 | |||
303669 | |||
that's inside the loop in METAOP_ZIP... can we do something about taht? | |||
dalek | kudo/nom: b36eb8c | usev6++ | src/core/Perl.pm: Add freebsd, openbsd and netbsd to $*PERL.DISTROnames for jvm |
12:36 | |
kudo/nom: 06ef81e | (Tobias Leich)++ | src/core/Perl.pm: Merge pull request #326 from usev6/nom Add freebsd, openbsd and netbsd to $*PERL.DISTROnames for jvm |
|||
12:38
chenryn left
12:44
kurahaupo left
12:45
xtreak joined
|
|||
xtreak | perl6: say 3 | 12:46 | |
camelia | rakudo-{parrot,moar} 315ec6: OUTPUT«3» | ||
12:51
xenoterracide joined
12:55
anaeem1_ left
12:57
xenoterracide left
12:59
rindolf left
13:00
gr33n7007h joined
13:02
ka05 joined,
sqirrel__ left
13:04
bjz joined
13:08
baest left
13:21
guru joined,
guru is now known as Guest28593
13:22
Guest28593 is now known as ajr_
|
|||
peteretep | masak: I was going to update it every month or so | 13:23 | |
masak: You're welcome to just tell me here or do pull commits or whatever | |||
masak | peteretep: oh, that's you. cool! | 13:24 | |
13:24
kaleem joined
|
|||
masak | peteretep: well, first off: good work! peteretep++ | 13:24 | |
peteretep: I'm glad it's someone we have an open channel to. | |||
peteretep | masak: blogs.perl.org/users/peter_sergeant...tatus.html | 13:25 | |
that was the inspiration | |||
peteretep & bed | 13:26 | ||
masak | excellent. | ||
moritz | peteretep: IWBN if your OO link went to doc.perl6.org/language/classtut | 13:27 | |
13:27
leont joined
|
|||
moritz | peteretep: and the Junction link to doc.perl6.org/type/Junction | 13:28 | |
13:29
thilp joined
13:51
Sqirrel_ left
13:55
xenoterracide joined
14:00
xtreak left
14:01
decafmainline joined
14:10
xenoterracide left
14:18
gr33n7007h left
14:25
thou joined
|
|||
[Coke] | trying to build rakudo-moar this morning, it's hanging on "updating submodules" | 14:26 | |
[Coke] was out sick yesterday, sorry I missed a run. | |||
... after about 20m, it started going again. wtf? | 14:29 | ||
14:32
Ven joined
|
|||
Ven | masak: just in case, your post got onto r/programming www.reddit.com/r/programming/commen...d_awesome/ | 14:32 | |
brrt | masak++ for putting that on youtube | 14:34 | |
Ven | erm, yapc::eu++ for putting it on youtube :P | 14:35 | |
brrt | also | ||
14:37
notfix is now known as xfix,
prammer joined
14:42
chenryn joined
14:45
thou left
|
|||
Ven | oh wow, angularjs2 looks so terrible. I'm glad we started running away already :( | 14:50 | |
14:52
scumdog joined,
scumdog left
|
|||
Ven | why is web dev. such a joke :( | 14:52 | |
14:52
spider-mario left
14:54
thou joined
|
|||
brrt | Ven - what is so awful about it? i thought it was interesting | 14:54 | |
Ven | brrt: I've been doing web dev since I'm, uh, 10, and it's the same (sorry) shitshow. It never stops. People can't stop creating "new hotness!" every two weeks. | 14:55 | |
so now, angularjs2 will be written in AtScript which is a superset of TypeScript which is a superset of ES6 which is a superset of ES5. | |||
They changed every single syntax, so there's *no migration path*. you have to rewrite everything. | 14:56 | ||
Actually, I'm blaming the web, but it's the js community. | |||
brrt | i see | 14:57 | |
14:58
sqirrel__ joined
|
|||
brrt | i'd argue that the 'brand new thing' syndrome of the web is basically an effect of it's growth | 14:58 | |
but that's a difficult argument of epistemology really | |||
Ven | The syndrome has been existing since, what, 1996? And existed in how many languages/communities before? | ||
14:58
spider-mario joined
|
|||
brrt | it certainly existed in the perl community at one time | 14:59 | |
Ven | I was doing "client-side dev" back in 2006/2007 with dhtml goodies. This is nowhere "new"... | ||
masak | I'm not sure why I decided to read those reddit comments. I actually know better than that. | ||
anyway, they didn't seem to be about my talk :) | |||
Ven | masak: one guy is even talking about "I Robot" Oo | 15:00 | |
brrt | basically, you get this whenever the growth of a community exceeds the knowledge dissemination capacity of a community | ||
it happens in life sciences just as well, for example, or in psychology | |||
masak | interesting take on it. | ||
Ven | It's definitely true. | 15:01 | |
It's just that, as someone with (currently) a $dayjob, I'm tired of it ;-) | |||
15:01
ajr_ left
|
|||
masak | anyway. going back to writing my metacircular evaluator. :) | 15:01 | |
I just finished cons. lambda is up next. | 15:02 | ||
brrt | nice | ||
masak | has anyone done this in Perl 6 before? | ||
Ven still maintains a phpBB fork from 2007 and a cms from 2008... | |||
masak: you mean, a lisp :P? | |||
masak | I'd like to think this is the first metacircular Lisp written in Perl 6. | ||
well, once I close the loop it will be. | |||
15:03
guru joined
|
|||
Ven | #1=(masak . #1) :P | 15:03 | |
15:03
guru is now known as Guest69768,
Guest69768 is now known as ajr_
|
|||
PerlJam | masak: watching your talk and guessed Niklaus Wirth with absolutely no difficulty ;) | 15:06 | |
15:06
FROGGS left
|
|||
masak | PerlJam: for some reason, when I think about it, I have you as someone who would know that. | 15:07 | |
PerlJam | masak: Are you saying I'm old?!? ;) | 15:08 | |
masak | :P | 15:09 | |
I'm saying you seem to know your stuff. | |||
brrt misguessed to alan kay | |||
masak .oO( a developer Wirth his salt ) | |||
brrt: Alan Kay invented the term "Object Oriented", so that everyone could misunderstand it | 15:10 | ||
PerlJam | you know what's kinda sad? I've been talking with the local University CS club lately and even the highly involved, smart programmer types had no idea who Dijkstra was, or Wirth, or even what the CACM is. | ||
geekosaur | a Wirthy developer? | ||
masak | PerlJam: that *is* sad. | ||
PerlJam | They also didn't know about GSoC even though I tend to mention it on the csclub mailing list every year. | ||
Ven | masak: yeah, well, to be fair, java stole it and rebranded it.. | 15:11 | |
brrt | that is said PerlJam | ||
ugh s/id/d/ | |||
masak | Ven: Java carries much of the blame, but far from all of it, IIUC. | ||
Ven: C++ had done its part at that point already. | 15:12 | ||
Ven | masak: sure. I just get the weird looks when I say "java isn't OO" | ||
timotimo | at least in c++ you can do stuff without classes :) | ||
Ven | masak: also, a lot of people think I'm a script kiddie when I say I don't like OO, like I've never tried it and I just use imperative functions | ||
masak | Ven: but the main thing I think is that there is a whole lot of ceremony that's (a) easy to explain/transmit/propagate, but that (b) isn't what OO is about. | ||
brrt | i tend to view java as oo | 15:13 | |
but then, i tend to view oo as something of an extension of closures | |||
i.e. closures being really simple objects | |||
masak .oO( here's a nickel. go buy yourself a real programming language ) | |||
brrt: agree about OO and closures having a lot in common. | |||
Ven | brrt: java doesn't have closures | ||
or, at least, didn't have them for sooo long. | 15:14 | ||
masak | Ven: it does now. | ||
Ven | ^ | ||
masak | as of Java 8, as of this year. | ||
Ven | which is what said my last message, basically :P | ||
masak | but that's beside the point. | ||
brrt | java can't have 'real' closures due to the stackmachine architecture they shoehorned themselves into | ||
Ven | yeah, the jvm is terrible and is giving them a hard time to implement stuff now :P | ||
masak | the point is that there's an isomorphism between objects and closures. | ||
Ven | The whole reason java has factories is because it doesn't have closures... | 15:15 | |
15:16
gtodd left
|
|||
Ven | Java has static properties. Java has arrays. Java has primitives. Java has overloading. Java didn't have closures (/as first-class values) for 20 years. | 15:16 | |
Java is early-bound. Java is... not oo. | |||
masak | I've never thought about it like this before, but when we write 'x in Lisp, that's kind of like using barewords in Perl. | 15:18 | |
so Lisp has a "sigil" for barewords, whereas it uses variables sigilless. the opposite of what Perl does. | 15:19 | ||
PerlJam | masak++ thanks for sharing; I'd never thought of it that way before either :) | 15:20 | |
[Coke] | rakudo-moar-jit failed 1056 tests today; nojit? failed 1 | ||
geekosaur | ...and you're emulating that with \foo | ||
15:21
ajr_ left
|
|||
masak still has not started using foo at all | 15:21 | ||
masak is a bit of a late adopter to some Perl 6 newnesses | |||
timotimo | damn ... what did i do wrong this time, [Coke]? :( | ||
Ven | \foo? | 15:22 | |
15:22
ajr joined
|
|||
timotimo | m: my \foo = 10; say foo; foo = 120; say foo; | 15:22 | |
camelia | rakudo-moar 315ec6: OUTPUT«10Cannot modify an immutable Int in block <unit> at /tmp/RogLsHZ4G9:1» | ||
Ven | oh, that one. | ||
timotimo | ^- has no scalar | ||
PerlJam | btw, at some point in your goto talk you talked about composability and black boxes. Wouldn't it be neat if, in some distant future, CS education is mostly about manipulating high-level constructs and that they'd have a class that breaks them down into low-level components to finally reveal "goto" (much like physicists broke apart atoms to reveal protons/electrons and then finally quarks) | ||
15:23
ajr is now known as Guest18332
|
|||
PerlJam | masak: ^^^ | 15:23 | |
Ven | masak: I don't know perl5, but 'a and "a" have different types | ||
15:25
Guest18332 is now known as ajr_
|
|||
[Coke] | parrot is just failing S19-command-line/dash-e.t 2,3 - need a ticket for this and have them fudged for os x. | 15:25 | |
15:27
kaleem left
|
|||
[Coke] | nqp: f54c1a1; moarvm: ad5ce15 | 15:27 | |
camelia | ( no output ) | ||
..nqp-jvm: OUTPUT«(signal ABRT)» | |||
masak | PerlJam: I think you would really appreciate the nand2tetris.org/ project. | ||
[Coke] | ^^ Probably shouldn't ABORT, no? | ||
bartolin | [Coke]: there is already RT #111572 for failures in S19-command-line/dash-e.t with rakudo.parrot on Mac OS X | 15:28 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=111572 | ||
[Coke] | bartolin: then we need to fudge those tests for OS X. | 15:29 | |
er, osx/parrot | |||
bartolin | [Coke]: but we don't have a way to fudge for a specific OS, do we? | ||
15:31
kjs_ joined
|
|||
[Coke] | fudge, no, but you can still todo tests the old fashioned way. need to combine the parrot-only fudge with a "if ~$*DISTRO eq "macosx" to get the todo. PITA. | 15:34 | |
bartolin | [Coke]: I see. if only we could use parrot 6.9.0; the failures should go away with that version | 15:35 | |
[Coke] | why can't wwe? | 15:36 | |
15:36
gtodd joined
|
|||
[Coke] | here's a sample with a skip: github.com/perl6/roast/blob/master...sync.t#L12 | 15:36 | |
15:36
treehug88 joined
|
|||
[Coke] | but if it's something where we can bump the parrot requirement and get a fix, let's do that instead. | 15:37 | |
moritz | [Coke]: because parrot 6.9 introduces some GC bugs that make have of the spectests segfault | ||
[Coke] | is rurban aware? | ||
moritz | [Coke]: yes | 15:38 | |
bartolin | btw, my daily spectests on a freebsd box don't show any problems with moar-jit: github.com/usev6/perl6-roast-data/..._rates.csv | ||
[Coke] | could very well be os x only issues. | ||
bartolin | [Coke]: I have the GC bugs on linux with parrot 6.9.0 | 15:39 | |
[Coke] | Ok, then we'll need to fudge those tests, since we'll probably have to wait for 6.10 | 15:41 | |
bartolin | I could do that later today (hopefully) | ||
[Coke] | bartolin++ | ||
Ven is doing some ios-c# code and is feeling a bit mixed... | 15:44 | ||
erm, I can't english. sorry. | 15:46 | ||
15:48
FROGGS joined
15:55
JimmyZ left
|
|||
masak | I'm pretty sure I found something in lib.store.yahoo.net/lib/paulgraham/jmc.ps that doesn't actually work. | 16:00 | |
that is, an expression given among the examples that the metacircular evaluator on page 8 won't know how to deal with. | 16:01 | ||
hm, no. wait. I'm wrong. | 16:02 | ||
gee, this is gnarly. :) | |||
dalek | href="https://cpandatesters.perl6.org:">cpandatesters.perl6.org: 11f02bb | (Tobias Leich)++ | app.pl: only (dis)connect once to mysql |
16:03 | |
masak | but beautiful. | ||
timotimo | FROGGS: bug y u mysql? :( | ||
masak | yes, I take it back. it works out. pg++ | ||
FROGGS | timotimo: humm? | 16:04 | |
16:04
xenoterracide joined,
ajr_ left
|
|||
timotimo | er | 16:04 | |
but y u mysql | |||
FROGGS | it... works | 16:05 | |
timotimo | but not as good as postgres does | ||
16:05
zakharyas1 joined
|
|||
timotimo | don't proliferate mysql usage as the default! :( | 16:05 | |
FROGGS | well, it is "my" service that probably I am the only one caring about... so I can choose what I want :o) | ||
timotimo | HOSTILE TAKEOVER! :P | 16:06 | |
16:06
zakharyas left
|
|||
FROGGS | :P | 16:07 | |
16:07
grep0r left,
guru joined,
guru is now known as Guest42068
16:08
Guest42068 left,
anaeem1 joined,
ptc_p6 left
16:09
Ven left
|
|||
masak just got bitten by flattening :/ | 16:11 | ||
16:12
MilkmanDan left
16:13
MilkmanDan joined
|
|||
moritz | masak: bite back! | 16:14 | |
masak | I was defining a function called `evlis` (just as in the .ps above). implementation was simple: just map over the elements and eval() them. some of the results came back as arrays. they were promptly flattened. | 16:15 | |
so I should've written eval().item | |||
16:15
ajr joined,
ajr left
16:16
ajr joined
16:17
ajr is now known as Guest46215,
Guest46215 left
16:18
ajr_ joined,
MilkmanDan left
16:19
MilkmanDan joined
|
|||
japhb tries to imagine what 'HOSTILE' | 16:23 | ||
... looks like in #perl6 | |||
Maybe it's like feeding magwai after midnight | 16:24 | ||
16:25
brrt left
|
|||
timotimo | homeopathycenter.org/news/ebola-cri...-community - just what? | 16:32 | |
16:34
denis_boyun_ left
16:35
[Sno] left
16:36
chenryn left
16:46
kaleem joined
16:52
zakharyas1 left
16:55
thou left,
ajr_ left
16:57
ajr_ joined,
sqirrel__ left,
ajr_ left
16:59
thou joined
17:01
ajr_ joined
17:03
kaleem left
17:06
gfldex joined
17:07
dwarring joined,
anaeem1 left
17:08
ajr_ left,
anaeem1_ joined
17:13
anaeem1_ left
17:17
sqirrel__ joined
|
|||
grondilu notices compilation is painful today | 17:17 | ||
17:19
rurban joined
17:23
tony-o left,
anaeem1 joined
17:31
virtualsue left,
fhelmberger_ left
17:32
guru joined,
guru is now known as ajr_
|
|||
dalek | rl6-roast-data: e697800 | coke++ | / (5 files): today (automated commit) |
17:33 | |
17:38
molaf joined
|
|||
TimToady | grondilu: doesn't look notably slower to me...background tasks? | 17:39 | |
also, have a working sphere now | |||
grondilu | yeah, maybe background tasks. It usually does not matter that much, though. | 17:42 | |
timotimo | i'd like to discuss what would be necessary to ship farabi6 with rakudo star | 17:43 | |
dalek | rlito: e8398b1 | (Flavio S. Glock)++ | / (3 files): Perlito5 - parser - tweak qr() AST |
17:46 | |
17:49
sqirrel_ joined,
FROGGS_ joined
17:50
kjs_ left
17:52
jack_rabbit joined
17:53
sqirrel__ left,
FROGGS left
17:55
sqirrel_ left
17:57
pecastro left
17:59
bjz left,
bjz joined
|
|||
timotimo | github.com/timo/SDL2_raw-p6 - what do i have to change to make this build properly? it complains about not being able to merge globals together, failing at TIMER, which is just the very first symbol, i believe | 18:05 | |
do i have to put "package blah;" at the beginning of every file to make it work better? | |||
i know i could make it work by putting everything into a single file, but i'd prefer to keep stuff separated here | 18:06 | ||
actually, SDL_DisplayMode or SDL_Window ought to come earlier | 18:08 | ||
18:13
thou left
18:15
[particle]1 joined
18:16
[particle] left
|
|||
TimToady | grondilu: fixed your sphere | 18:20 | |
timotimo | sphere? is that about the rosettacode thingie? | 18:27 | |
oh, also: with the cairo and gtk simple modules, a whole lot more tasks should be implementable on rosettacode now | 18:28 | ||
(not volunteering right now ...) | |||
would anyone check out my sdl2 binding module please? | 18:30 | ||
grondilu | oh yeah, using a Blob. I should have thought about that. | 18:32 | |
18:37
Sqirrel joined
|
|||
grondilu | I still can't install NativeCall on my 32bit machine. Because of 'int' being considered 64 bits by default. So in the test files things go wrong unless I change them to 'int32' | 18:45 | |
18:47
Sir_Ragnarok joined
|
|||
Sir_Ragnarok | Spellings mistake on www.perlfoundation.org/perl6/index....ial_part_1 s/promt/prompt/ | 18:48 | |
18:48
darutoko left
|
|||
Sir_Ragnarok | that page looks a bit like a wiki. Can I edit it if I register? | 18:49 | |
nine_ | timotimo: reading homeopaths talk about "empirical" and "clinical trials" really freaks me out... | 18:50 | |
18:52
zjmarlow joined,
zjmarlow left,
NotJack joined
|
|||
timotimo | it's kinda weird, aye | 18:52 | |
NotJack | So I was looking at the Email::Simpler::Header module | ||
and I saw loop (my $x=0;$x < +$headers;$x+=2) { @folded-headers.push([$headers[$x], $headers[$x+1]]); } | 18:53 | ||
timotimo | weren't we looking to kill off the perlfoundation.org/perl6 wiki? | ||
vendethiel | timotimo: I think so | ||
NotJack | Is there no supercool Perl5 idiom to turn an array into a hash? | ||
or at least some kind of terse implicit loop? | |||
timotimo | there is | ||
NotJack | Perl6 I meant | ||
vendethiel | Sir_Ragnarok: this tutorial is incredibly outdated. 2005 or so | ||
timotimo | yeah, i meant that, too :) | ||
vendethiel | I can tell from the prefix:<=> operator :) | ||
timotimo | m: my @headers = <foo bar baz quux>; say %(@headers).perl; | 18:54 | |
camelia | rakudo-moar 315ec6: OUTPUT«("baz" => "quux", "foo" => "bar").hash» | ||
timotimo | easy as that | ||
NotJack | Cool. | ||
Is there a reason that the loop is explicit in that module, or just plain old muscle memory? | |||
timotimo | no idea | ||
i don't know who wrote that | |||
colomon | NotJack: looks like antique code to me. | ||
timotimo | also, that thing makes a list of lists | 18:55 | |
rather than a hash | |||
nine_ | NotJack: headers can occur more than once | ||
Sir_Ragnarok | vendethiel: seems like it yes. This one seems more upt to date: perl6maven.com/tutorial/toc | ||
NotJack | ahhh .. maybe that's what I was missing | ||
vendethiel | Sir_Ragnarok: self-plug: learnxinyminutes.com/docs/perl6 | ||
NotJack | nine_: yeah, I think I'm just misunderstanding the purpose of the code | ||
Let me go back and re-read it. Just stuck out at me. | |||
timotimo | NotJack: but even then, that code would look better like this: | ||
colomon | JSON::Tiny failed this morning in the smoke test? | 18:56 | |
18:56
davido___ left
|
|||
timotimo | m: my @stuff = <foo bar baz quux a b c d>; my @lol = do for @stuff -> $a, $b { [$a, $b] }; say @stuff.perl | 18:56 | |
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("foo", "bar", "baz", "quux", "a", "b", "c", "d")» | ||
timotimo | er, huh? | ||
Sir_Ragnarok | vendethiel: oh are you the person behind that website? Nice work. | ||
vendethiel | Sir_Ragnarok: not the website itself | ||
timotimo | m: my @stuff = <foo bar baz quux a b c d>; my @lol = do for @stuff -> $a, $b { $($a, $b) }; say @stuff.perl | ||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new("foo", "bar", "baz", "quux", "a", "b", "c", "d")» | ||
NotJack | timotimo: :you want @lol.perl | 18:57 | |
timotimo | haha | ||
Sir_Ragnarok | but the perl6 page? | ||
timotimo | yes :) | ||
m: my @stuff = <foo bar baz quux a b c d>; my @lol = do for @stuff -> $a, $b { [$a, $b] }; say @lol.perl | |||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new(["foo", "bar"], ["baz", "quux"], ["a", "b"], ["c", "d"])» | ||
timotimo | there we go. | ||
another way to do it: | |||
m: my @stuff = <foo bar baz quux a b c d>; my @lol = @stuff.rotor(2, 0).lol; say @lol.perl | |||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new(ListIter.new())» | ||
timotimo | m: my @stuff = <foo bar baz quux a b c d>; my @lol = @stuff.rotor(2, 0).lol; say @lol.list.perl | ||
camelia | rakudo-moar 315ec6: OUTPUT«Array.new(ListIter.new())» | ||
timotimo | derp. | ||
m: my @stuff = <foo bar baz quux a b c d>; my @lol = @stuff.rotor(2, 0); .perl.say for @lol | 18:58 | ||
camelia | rakudo-moar 315ec6: OUTPUT«$("foo", "bar")$("baz", "quux")$("a", "b")$("c", "d")» | ||
timotimo | there. | ||
vendethiel | Sir_Ragnarok: yes, I did the perl 6 page. | ||
Sir_Ragnarok: also a few others, and I review every single french tutorial :P | |||
18:58
davido_ joined
|
|||
Sir_Ragnarok | vendethiel: Good work nonetheless, it looks nice. Je l'aime. | 19:00 | |
vendethiel | Sir_Ragnarok: merci beaucoup! | ||
Sir_Ragnarok | :-) | ||
vendethiel | .oO( are there so many french idioms in this you feel the need to speak french with me? ) |
19:01 | |
colomon is very puzzled whiy Email::Simple::Header.new has Array $headers as an argument instead of, you know, @headers | 19:02 | ||
FROGGS_ .oO( $feaux %bar @baz - it's all in there ) | |||
19:05
treehug8_ joined
19:07
xenoterracide left
19:08
treehug88 left,
tony-o joined
19:10
FROGGS[mobile] joined
19:11
thou joined
|
|||
timotimo | well, who administers the perlfoundation.org perl6 wiki? | 19:15 | |
19:17
xenoterracide joined
19:20
xenoterracide left,
xenoterracide_ joined
|
|||
timotimo | rosettacode.org/wiki/Hello_world/Gr...cal#Perl_6 ← should be very easy to implement this with GTK::Simple | 19:22 | |
colomon wonders if he try to install GTK again on his Mac | 19:26 | ||
try again to install GTK, I mean | |||
timotimo | colomon: if that doesn't work, why not try something easier ... like helping me with my SDL2_raw module? :S | 19:27 | |
colomon | link? ;) | 19:28 | |
colomon really should work, but is at least curious…. | |||
19:29
virtualsue joined
19:32
fhelmberger joined
|
|||
Ulti | ok.... so my tests now take 8s instead of 32s!!! | 19:32 | |
everyone++ | 19:33 | ||
19:34
ivanshmakov is now known as ivanshmakov|
|
|||
masak | does anyone have a catchy name to go with my metacircular Lisp evaluator written in Perl 6? | 19:36 | |
19:36
fhelmberger left
19:38
ivanshmakov joined
|
|||
PerlJam | masak: mele | 19:41 | |
vendethiel | masak: Eppsil | ||
masak | hm... :) | ||
vendethiel | Circalingua | 19:42 | |
PerlJam | vendethiel: oh, I like that one if only it could be made palindromic or something. | 19:43 | |
geekosaur | ellispe? | ||
masak toys with the names "coLisp" and "Yoneda" | 19:45 | ||
vendethiel | masak: yoneda is already taken! :P | ||
masak | dang. | ||
shoulda known. | |||
vendethiel | yonedas are cool! | ||
masak .oO( Yoneda be faster if you want a good name ) | |||
vendethiel 's getting a t-shirt a "I <3 isomorphisms" | |||
masak | vendethiel: yonedas are the best. so represent. | 19:46 | |
vendethiel | much morphisms | ||
masak | very universality | ||
PerlJam | masak: "adenoy" then | ||
masak | "ipso" ain't that bad | 19:47 | |
19:48
anaeem1 left
19:50
zakharyas joined
19:51
anaeem1 joined,
anaeem1 left
|
|||
NotJack is back | 19:52 | ||
timotimo | Ulti: what kind of thing is that that's so much faster now? | ||
NotJack | timotimo: thanks | ||
timotimo | colomon: github.com/timo/SDL2_raw-p6 | 19:53 | |
NotJack | FYI, Email::Header::Simple is advertised by github.com/sheriff/perl6status/ as an exemplar of the modules already available for p6 | 19:54 | |
might be worhtwhile making it as impressive / idiomatic as possible | |||
lizmat logs back | 19:55 | ||
NotJack | it has the old-style loop, some uncertainty expressed in comments, et | ||
c | |||
masak | or maybe pick some other exemplars :) | 19:56 | |
JSON::Tiny is quite nice, for example | |||
NotJack | That's a good candidate | 19:57 | |
19:57
ivanshmakov| left
|
|||
NotJack | any exemplars picked should have names which indicate the time/effort commitment to review them is small | 19:57 | |
(which is why I picked Email::Simple::Headers) | |||
Ulti | timotimo: not sure I will do a benchmark to compare to the one I ran a while ago | 19:58 | |
I imagine it will be something listy | |||
19:58
anaeem1 joined
19:59
xenoterracide joined
20:00
xenoterracide_ left
|
|||
Ulti | *profile :P | 20:01 | |
Sir_Ragnarok | perl ./Configure.pl --gen-parrot --gen-parrot-option=--optimize should be | 20:02 | |
perl ./Configure.pl --gen-parrot --parrot-option=--optimize | |||
^ on rakudo.org/how-to-get-rakudo/ | |||
Ulti | timotimo mattoates.co.uk/files/perl6/ those are all the exact same code | 20:03 | |
Sir_Ragnarok | small mistake there. Also no matther what the Configure.pl script fails for me. | ||
20:03
[Sno] joined
|
|||
Sir_Ragnarok | "compilation failed with 'cc'" | 20:03 | |
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) | 20:04 | ||
20:05
[particle]1 left
|
|||
lizmat | m: say (1,2,3,4,5) min 4 # huh?? | 20:05 | |
camelia | rakudo-moar 315ec6: OUTPUT«1» | ||
Ulti | timotimo: so there are 10% more JIT'd frames | ||
lizmat | $ 6 'say (1,2,3,4,5) min 4' | ||
1 2 3 4 5 | |||
something changed here with FROGGS++ min / max changes | 20:06 | ||
not sure if they are for the better? | |||
20:06
rindolf joined
|
|||
Ulti | well an extra 10% of the code is JIT'd more specifically | 20:09 | |
lizmat | .tell pmichaud re irclog.perlgeek.de/perl6/2014-10-28#i_9577937 , I think that would be an excellent plan | ||
yoleaux | lizmat: I'll pass your message to pmichaud. | ||
20:09
anaeem1 left
|
|||
timotimo | Ulti: ah, the bioinformatics thing, i remember that now | 20:12 | |
dalek | ast: 640aee1 | usev6++ | S19-command-line/dash-e.t: Unfudge passing tests for JVM, mark known failures for Parrot on Mac OS X manually as todo |
||
bartolin | [Coke]: I didn't manage to skip the test failures on Mac OS X with 'emit'. instead I used a simple if/else construct. (I hope that's better than having the failures) | 20:16 | |
[Coke]: also I don't think the example from github.com/perl6/roast/blob/master...sync.t#L12 works as intended. AFAIU it doesn't run the test in question at all (skipped for macosx, nothing done at all for other platforms which leads to a wrong test count) | 20:19 | ||
20:22
pecastro joined
20:30
rurban left,
majuscule joined
|
|||
majuscule | Can someone point me in the right direction to understand this error message? sprunge.us/WEUi | 20:31 | |
very confused | |||
lizmat | it's LTA alright | 20:32 | |
20:33
xfix is now known as Audino,
Audino is now known as xfix
|
|||
timotimo | apparently pack lacks proper support for H*? | 20:34 | |
20:34
xfix is now known as Entei
20:35
Entei is now known as xfix
|
|||
timotimo | so far i thought pack was mostly NYI | 20:35 | |
geekosaur | actually I am confused, wouldn't that be unpack? (and I feel like it's trying to process the string as a rational of some kind?) | 20:37 | |
majuscule | erm, what are all of these acronyms | ||
geekosaur | LTA=less than awesome, NYI = not yet implemented | ||
moritz | majuscule: see perlcabal.org/syn/S99.html | ||
majuscule | i see, thanks | ||
20:38
pecastro left
|
|||
masak | std: my %h = not => 42; | 20:39 | |
camelia | std 14ad63b: OUTPUT«ok 00:00 137m» | ||
majuscule | geekosaur: it's unpacking a base64 string (which happens to be ascii once decoded) | ||
masak | m: my %h = not => 42; | ||
camelia | rakudo-moar 315ec6: OUTPUT«===SORRY!=== Error while compiling /tmp/uZK1u3tWdgMalformed initializerat /tmp/uZK1u3tWdg:1------> my %h = not ⏏=> 42; expecting any of: scoped declarator constraint prefix…» | ||
masak submits rakudobug | |||
m: my %h = 'not' => 42; # workaround | |||
camelia | ( no output ) | ||
20:39
pecastro joined
|
|||
geekosaur | I always get pack/unpack of H backwards, sigh | 20:41 | |
20:46
FROGGS[mobile] left
|
|||
timotimo | well, we do have a base64 decoding module | 20:47 | |
NotJack | is there a p6 one-liner for rot13? | ||
the top hits in Google are pretty vanilla | |||
nm, found what I wanted | 20:48 | ||
[Coke] | bartolin: the main issue with that is now we have duplicated tests. Given that it's a workaround until the test is fixed, I'm ok, though. | ||
dalek | ast: c7d9b73 | moritz++ | S (4 files): Rakudo unfudges only tested on MoarVM |
20:54 | |
lizmat | FROGGS_: re close-pipe: I'm more inclined to create an IO::Pipe subclass of IO::Handle, and have any open() with :p return such an object | ||
and have close-pipe just be .close in there | |||
thoughts ? | |||
20:56
Sqirrel left
|
|||
dalek | ast: bca6134 | usev6++ | S02-literals/autoref.t: Add tests for RT #76462 |
20:56 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76462 | ||
20:57
jack_rabbit left
|
|||
lizmat | japhb: re irclog.perlgeek.de/perl6/2014-10-29#i_9579981 , there are tests like that in roast marked as "skipped" | 20:59 | |
it hasn't helped jnthn so far yet :-( | |||
more eyes are always appreciated though :-) | |||
21:01
[particle] joined
21:09
jac50 joined
21:11
FROGGS_ left
21:13
treehug8_ left
21:16
jac50 left
21:19
treehug88 joined
21:21
jac50 joined
|
|||
grondilu | TimToady: my attempt to draw the sphere in real time: spawning a drawing process every 10s and computing the pixels in random order: gist.github.com/grondilu/ab824d3fbeaf54f9f9ba | 21:23 | |
21:24
virtualsue left
|
|||
grondilu | I could not find any other way than $*SCHEDULER to do something on a regular interval. | 21:24 | |
timotimo | grondilu: Supply.every() or something should give you an interval | 21:25 | |
grondilu | probably. I have hard time understanding Supply, though. | 21:26 | |
timotimo | do you have any particular questions? | ||
grondilu | I guess I'll have to read S17 again and again | ||
timotimo: no particular question. It's just that last time I tried to use it, I failed miserably. | 21:27 | ||
timotimo | ah, hehe | ||
what was your failure mode? | |||
grondilu | it was "I have no idea what I'm doing" mode | 21:28 | |
lizmat | grondilu: not sure whether the :stop really does what you think it does there | 21:29 | |
Supply.interval(10).act: { my $out = .... } | |||
would also worked, apart from the stopping but | |||
*bit | 21:30 | ||
grondilu | oh yeah | ||
:stop(!@pixels), right? | |||
lizmat | the idea of :stop is that you specify a variable that is going to be checked for truthness | ||
grondilu | meaning: stop whenever there's no more pixels | ||
lizmat | S17:208 | 21:31 | |
synopsebot | Link: perlcabal.org/syn/S17.html#line_208 | ||
grondilu | it's still a named parameter so it does not have to be a variable but an expression, doesn't it? | ||
timotimo | ah, in that case +@pixels wouldn't work, as it'll be turned into a number at the very beginning and never change again | ||
lizmat | yup | ||
grondilu | indeed, thus my second :stop(!@pixels) proposal | 21:32 | |
lizmat | perhaps we need to check that somehow, although I wouldn't know how | ||
timotimo | why would |@pixels work? | ||
lizmat | the current implementation is *not* a piece of code to execute | ||
in p5 terms, it takes the ref of the value and checks the value | 21:33 | ||
timotimo | oh | ||
grondilu | ok | ||
timotimo | yeah, that's not what it does in p6 at all | ||
oh, wait, that's not for prefix:<|>, right? | |||
lizmat | ah, actually, :stop is completely NYI | 21:34 | |
and coming to think about it: the way it is specced now is not very p6ish :-) | 21:35 | ||
grondilu | indeed, just tried to use $stop and got: | ||
!Unhandled exception in code scheduled on thread 2995772224 | |||
lizmat | Ideally, :$stop should be syntactic sugar for :stop( { $stop } ) | 21:36 | |
timotimo | oh, hmm | ||
masak | "Too few positionals passed; expected 1 to 0 arguments but got 0 in sub-signature" -- that's a somewhat LTA error message... | ||
vendethiel | :o) | ||
21:36
kaare_ left
|
|||
timotimo | pff. if nobody would like to help me with my sdl2 module, i'll just make a dumb workaround and continue working on stuff | 21:37 | |
21:39
tgt joined
21:40
xfix is now known as notfix,
BenGoldberg joined,
tgt left,
ajr_ left,
tgt joined
|
|||
dalek | ecs: b4aedd1 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: $*SCHEDULER.cue takes a callable as :stop |
21:43 | |
tgt | Hi. I finally heard back from Apple about the "make: write error" issue that moritz worked around. They closed it and said they have no plans to address the issue. | 21:45 | |
grondilu | here is an other version without $*SCHEDULER: gist.github.com/grondilu/ab824d3fbeaf54f9f9ba | 21:46 | |
21:46
rurban joined
|
|||
masak is lost in a sea of abstract syntax trees, which are lists | 21:47 | ||
grondilu | basically my @pixels; my $compute = start { # compute pixels }; until $compute { draw @pixels; sleep 1; } | ||
that makes me think that when doing concurrent programming, there are especially more than one way to do things. | 21:51 | ||
masak got bitten by a misplaced ')' in his Lisp | 21:57 | ||
I should've noticed immediately: it should be ')))))))', not '))))))))'! | |||
though massive props to vim++ for highlighting the stuff very sensibly | 21:58 | ||
21:58
gfldex left
|
|||
lizmat | tgt++ Apple-- | 21:59 | |
mauke | masak: what triggers that signature error? | 22:00 | |
masak | mauke: something deep inside an errant execution. I didn't bother to find out, exactly. | ||
m: sub foo([$head, *@tail]) {}; foo([]) | 22:01 | ||
camelia | rakudo-moar 315ec6: OUTPUT«Too few positionals passed; expected 1 to 0 arguments but got 0 in sub-signature in sub foo at /tmp/NxZ2a2HEF6:1 in block <unit> at /tmp/NxZ2a2HEF6:1» | ||
masak | ...but that seems to do it. | ||
masak submits rakudobug | |||
m: say 0 ~~ 1..0 | 22:03 | ||
camelia | rakudo-moar 315ec6: OUTPUT«False» | ||
masak | ;) | 22:04 | |
grondilu | lizmat: shouldn't :stop take a thunk or something? | ||
dalek | kudo/nom: 2ca414c | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm: Implement $*SCHEDULER.cue(:stop) |
||
lizmat | grondilu: I just changed the spec and implemented it that way | ||
grondilu | k | 22:05 | |
22:06
zakharyas left
|
|||
dalek | ecs: dcada73 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Mention Cancellation object returned by .cue |
22:10 | |
22:15
treehug88 left
|
|||
timotimo is stumbling over a use-after-free on moar :\ | 22:15 | ||
panda rebootstrap with many modules and then rebootstrapping ... omg | 22:16 | ||
lizmat | ?? | 22:17 | |
breakage ? | |||
timotimo | aza | ||
yes, breakage | |||
absolute explosive breakage | |||
lizmat | modules such as? | ||
timotimo | ==> Reinstalling NativeCall GTK::Simple Cairo Farabi6 | 22:18 | |
that's not terribly many | |||
well, there's some extra dependencies | 22:19 | ||
22:20
MilkmanDan left
|
|||
timotimo | the fetch stage for farabi6 is painful anyway ... as it includes a bunch of javascript and html and css files | 22:21 | |
22:21
MilkmanDan joined
|
|||
timotimo | but with asan added i's even slower ;( | 22:21 | |
hm. now it doesn't explode any more. maybe because i compiled with --optimize=1? | 22:22 | ||
22:23
anaeem1 joined
|
|||
tgt | m: END { say "A"; exit 1 }; END { say "B"; exit 2 }; END { say "C"; exit 3 } | 22:25 | |
camelia | rakudo-moar 315ec6: OUTPUT«CB» | ||
tgt | Should print CBA and exit 1, I think? | ||
Only the last two END blocks with an exit get executed. | |||
(Or rather, if there're two END blocks with an exit, no preceeding END blocks get executed.) | 22:26 | ||
lizmat | tgt: intriguing | 22:27 | |
the first exit() will cause END blocks to be executed: the following exit()s will just change the exit value | 22:28 | ||
hmmm... | 22:29 | ||
timotimo suspects adding a short circuit to the if/elsif tree for farabi6's route dispatch to fall through for /assets/ would make startup quite a bit faster | 22:30 | ||
my browser is quite unhappy about the resulting html file from that profiler run :\ | |||
lizmat goes to investigate | |||
timotimo | ugh, the profile seems to say that almost all time is spent in trying to accept another connection on the listen socket :\ | 22:34 | |
73.37% | |||
22:35
rindolf left,
smls joined
|
|||
lizmat | this feels like an issue similar to signal handling | 22:35 | |
japhb | lizmat, re: irclog.perlgeek.de/perl6/2014-10-29#i_9584520 all I can say is: >.< | ||
Dangital | |||
22:37
kjs_ joined
|
|||
japhb wonders how to better help | 22:37 | ||
22:37
gfldex joined
|
|||
masak is now delightfully confused, lost somewhere between levels in his metacircular evaluator | 22:39 | ||
I'm like > < this close to getting it all to work. | |||
the stacktraces at this point are not of this world. | |||
and the debug output is basically useless, because everything comes down to the &eval function calling itself over and over and over | 22:40 | ||
lizmat | .oO( for bonus: implement a skyhook with stacktraces) |
||
masak | ah; found another misplaced parenthesis. | 22:41 | |
since parentheses are the only syntax in Lisp, the only logical bug you can introduce is to misplace them. | |||
22:43
Sqirrel joined
22:44
kjs_ left
|
|||
dalek | kudo/nom: b6b1b7c | (Elizabeth Mattijsen)++ | src/core/control.pm: Handle exit() within END blocks better |
22:45 | |
lizmat | tgt: ^^^ should fix your problem | ||
the only thing that is technically wrong atm, is that any code *after* the second exit in a block, will still be executed | |||
$ perl6 -e 'END { say "A"; exit 1; say "foo" }; END { say "B"; exit 2 }'; echo $? | 22:46 | ||
B | |||
A | |||
foo | |||
1 | |||
masak | haha. running the test suite now makes the fan start up :) | 22:48 | |
lizmat | so perhaps this fix is just wrong.... | ||
masak | the toughest test is doing recursion *inside* the eval from the setting; that is, running entirely inside the Lisp. | 22:49 | |
22:52
molaf left
|
|||
dalek | ast: 508eb10 | (Elizabeth Mattijsen)++ | S17-scheduler/every.t: Test cancellation of cued code |
22:59 | |
23:05
thou left
|
|||
timotimo | if somebody wants a worthwhile optimization opportunity: github.com/supernovus/perl6-http-e...sy.pm6#L57 | 23:06 | |
that piece, the part that looks for crlfcrlf ... that seems extremely unperformant | |||
and the concatenations of buffers like that, too | |||
by turning them into lists for every received chunk | |||
23:06
spider-mario left
|
|||
timotimo | actually, let me first check out if that loop even runs its body more than once in the common case | 23:07 | |
masak | ladies and gentlebots, | 23:08 | |
I give you Ipso, the metacircular Lisp written in Perl 6. | |||
github.com/masak/ipso | |||
less than 200 lines of code. | 23:09 | ||
timotimo | ah, it only ever does one round of that thing. i should time it more closely, then. | 23:10 | |
masak | and 75 of those lines are for defining a setting of functions (in the Lisp) for the built-in eval to use. | ||
dalek | ast: b46b2fd | (Elizabeth Mattijsen)++ | S17-scheduler/every.t: Add tests for .cue( :every, :stop ) |
23:11 | |
23:12
bjz left
|
|||
timotimo is looking for more optimization opportunities in that module | 23:12 | ||
23:12
davido_ left
|
|||
masak | possible future directions: | 23:12 | |
(a) lexical scoping -- currently it's dynamic, which is not so nice | |||
(b) macros -- requires (a), pretty much | 23:13 | ||
23:13
davido_ joined
|
|||
masak | (c) an ALGOL-like syntax on top of the language... turning it into Dylan, I guess | 23:13 | |
lizmat | masak++ for (())(())(()()())((((((((((())))))))))) | 23:14 | |
masak | I think I've had my share of parentheses today... :P | 23:15 | |
lizmat too | |||
masak | I'm pretty sure the Perl 6 version of the eval function can be written more idiomatically. | 23:16 | |
lizmat continues working on reducing her sleep deficiency | |||
masak | Lisp has a tendency to go "car, cdar, cddar" when a sensible language would say "first, second, third". | ||
lizmat | .oO( I would just go *vrrooooom* at this point ) |
23:17 | |
& | |||
masak | :) | 23:18 | |
timotimo | hmm. so ... what's a fast way to find a '\r\n\r\n'.ords inside a Buf[uint8] ... | 23:21 | |
masak | Boyer-Moore? | 23:22 | |
timotimo | oh, that be a good one! | 23:24 | |
but even a very simple linear scan should already be much faster than what it currently does | |||
masak | yes. | 23:25 | |
timotimo | (because what it currently does is take 0.3 seconds to find the '\r\n\r\n' in a HTTP request) | ||
masak | that's about 300 ms too slow | 23:32 | |
timotimo | about, yeah | ||
23:34
tgt left
|
|||
colomon | masak: isn't "first" common lisp for "car"? I don't remember ever really using car / cdr, and my Lisp programming was mostly 20+ | 23:34 | |
years ago. | |||
masak++ | |||
makes my Forth of the other day look pathetic | 23:35 | ||
timotimo | :) | 23:38 | |
masak | oh, I missed that. | 23:39 | |
I should backlog better. | |||
smls | post-GLR, will Array still inherit from List? | 23:41 | |
masak | smls: would you prefer it to? if so, why? | 23:42 | |
smls | Seeing as List will be immutable and by default non-flattening, which sounds like it is taking over Parcel current spot | ||
BenGoldberg | masak, why don't you use actual Pair objects, instead of arrays? | 23:43 | |
smls | masak: Don't know, just asking (for my quest to properly understand the Perl 6 data model) | ||
timotimo | i've learnt over the past few weeks that kitty cuddles are great | ||
23:43
rurban left,
ugator left
|
|||
masak | raiph: "Your solution uses NQP toolchain and backend specific codegen." -- from gist.github.com/colomon/2bb128f3b40df3ffaee8 -- I wouldn't call it "codegen" when the code in question is an interpreter. | 23:44 | |
I mean, that code only uses backend-specific codegen in the sense that *any* code run with Rakudo uses backend-specific codegen. | 23:45 | ||
colomon doesn't remember seeing that quote so isn't sure of the context, but the original forth in p5 listed generated assembly code for the forth program. Which actually only handled very basic RPN math calculations. :) | |||
oh, actually a comment on my gist! awesome and I completely missed it. | 23:46 | ||
masak | 'night, #perl6 | 23:50 | |
colomon | o/ | 23:51 | |
timotimo | oh | 23:52 | |
23:58
chenryn joined
|
|||
timotimo is now on a moarvm without asan and with optimize=3 | 23:58 | ||
less painful |