»ö« 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/8xP1T2cBoX␤Redeclaration of routine divide-and-conquer␤at /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: 1␤2: 0.5␤2: 0.5␤1: 0.25␤1: 0.25␤1: 0.25␤1: 0.25␤done 0.125␤Memory 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«10␤Cannot 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/uZK1u3tWdg␤Malformed initializer␤at /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«C␤B␤»
tgt Should print C␤B␤A␤ 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