»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:01 benabik joined
thou does method DESTROY() work in nom? seems it's not getting called for me, and i just noticed that none of the modules in rakuod-star use it.... 00:03
flussence nope
thou okay
flussence and I don't know a good way to emulate it either :(
00:04 atrodo left
flussence the general consensus seems to be that it's unimplementable in rakudo with the way current GC works 00:04
benabik There's been experiments in Parrot about running finalizers during GC runs, but it's not as simple as appears on first glance.
00:05 Vlavv` joined
thou thanks, it seems i should have picked up on this before, but ... that's how it is. :-) 00:16
hi, anyone have a moment to clear up my confusion about BUILD vs. new: friendpaste.com/53MKnWboUIKj7JwCqIi6Ym 00:21
i think i'm calling self.bless() wrong, or ... something. 00:22
hmmm, i add a submethod BUILD(:$!stdscr) {} and it works 00:28
i thought that would be generated for me, even if method new() is defined explicitly
benabik I think you're generally supposed to define BUILD, not new. 00:29
00:32 daniel-s_ left
thou benabik: thanks; i think generally, but afaik there's no way to do something like this without it: friendpaste.com/53MKnWboUIKj7JwCqIi4tx or am i missing the obvious? 00:39
benabik thou: I think the default new has a slurpy hash and passes all the args to BUILD. So you can IIRC, basically remove the code from new to BUILD. 00:40
thou i thought for sure i'd tried that and gotten an error. but ... yes, you're right, it does work! 00:44
00:45 prettyrobots left 00:51 zhutingting joined, prettyrobots joined
thou ah, and found another typo, so now i've got it working with UTF-8. 01:03
pretty sloppy code at the moment, but it works :-) 01:04
01:12 scott___ joined 01:19 alvis` joined 01:21 alvis left 01:48 raiph left
[Coke] p6: my %h = (1=>2, 3=>4); for keys %h { say $_ ; say $_.WHAT} 01:50
p6eval rakudo 1fe39c, niecza v19-13-g442e075: OUTPUT«1␤Str()␤3␤Str()␤»
[Coke] pugs: my %h = (1=>2, 3=>4); for keys %h { say $_ ; say $_.WHAT} 01:52
p6eval pugs: OUTPUT«3␤Str␤1␤Str␤»
01:57 Patterner left, nsh joined 02:00 tokuhiro_ left 02:05 sudokode joined 02:08 colomon_ joined, zhutingting left, hypnokode joined, colomon left, colomon_ is now known as colomon 02:09 sudokode left, hypnokode is now known as sudokode 02:13 zhutingting joined 02:15 zhutingting left 02:16 zhutingting joined 02:23 zhutingting left, nsh left, teee joined 02:25 nsh joined, zhutingting joined 02:26 nsh left, nsh joined 02:28 zhutingting left 02:33 zhutingting joined, orafu left, orafu joined, nsh left 02:34 Psyche^ joined, Psyche^ is now known as Patterner 02:36 nsh joined 02:37 nsh left, nsh joined 02:38 _jaldhar_ joined 02:42 nsh left 02:44 nsh joined 02:49 nsh left, nsh joined 03:04 kaare_ joined
thou github.com/softmoth/Term-Curses 03:08
03:08 araujo left
benabik Term? Curses! 03:12
03:13 thou left
[Coke] p: say 9160/22933 03:28
p6eval pugs: OUTPUT«0.399424410238520908734138577595604587276␤»
[Coke] aaaaargh
benabik ? 03:29
[Coke] not quite 40%
03:30 patspam joined, godfrey999 joined
benabik Hm. Looks like about 14 short. 03:31
[Coke] p: say 22933*.4-9160
p6eval pugs: OUTPUT«13.2␤»
[Coke] good eye.
benabik I pulled up a calculator and started upping the number...
Your way was smarter. :-D 03:32
03:33 patspam left 03:36 patspam joined 03:43 alester joined 03:49 patspam left
[Coke] finds one more file with 14 tests. yay. 03:50
03:50 patspam joined, patspam left
[Coke] p: say 9170/22933 # crap! 03:51
p6eval pugs: OUTPUT«0.3998604630881262809052457157807526272184␤»
03:51 patspam joined
[Coke] must have miscounted. 03:51
04:00 zhutingting left 04:05 teee left
[Coke] pugs: 9174/22933 04:13
p6eval pugs: ( no output )
[Coke] pugs: 9174/22933.say
p6eval pugs: OUTPUT«22933␤»
[Coke] pugs: say 9174/22933
p6eval pugs: OUTPUT«0.4000348842279684297736885710548118431954␤»
[Coke] there we go. as long as rakudo doesn't pass any more tests before noon eastern, I'm probably good. ;)
dalek ast: ec8593e | coke++ | integration/advent2009-day14.t:
Compare the type, not the stringified type.
04:14
ast: abc9cbd | coke++ | / (15 files):
pugs fudge
gs.hs: 851241f | coke++ | t/spectest.data:
run fudged tests
[Coke] is really scraping the barrel here on fudging vs. actually writing haskell. 04:15
feather.perl6.nl/~coke/unrun - all the tests that pugs isn't running. the ones showing more than about 5 passes are all tricky to fudge. 04:16
04:29 skids left 04:40 alester left
[Coke] . o O (zzz) 04:40
04:53 zhutingting joined 05:04 am0c_ joined 05:11 HarryS left 05:22 prettyrobots left 05:24 teee joined 05:26 prettyrobots joined 05:37 prettyrobots left 06:00 au left, au___ joined 06:05 GlitchMr joined 06:10 brrt joined, wtw joined 06:13 nodmonkey joined 06:14 kresike joined
kresike good morning all you happy perl6 people 06:14
` 06:17
06:20 brrt left, HarryS joined 06:21 brrt joined 06:23 brrt1 joined, brrt left 06:24 au___ is now known as au 06:27 nodmonkey left 06:30 godfrey999 left 06:31 patspam left 06:32 brrt1 left 06:33 brrt joined 06:39 ggoebel left 06:40 brrt left, zhutingting left
moritz \o 06:55
06:56 hoelzro|away is now known as hoelzro 06:57 ggoebel joined 06:58 nsh left 07:01 simcop2387 left
moritz short backlog is short 07:02
07:03 simcop2387 joined 07:15 brrt joined 07:23 patspam joined, patspam left, patspam joined 07:27 patspam left, patspam joined 07:31 araujo joined 07:35 daxim joined
daxim rare interview with christopher tolkien: sedulia.blogs.com/sedulias_translat...-felt.html 07:36
07:41 kaare_ left 07:45 zhutingting joined 07:59 fhelmberger joined
diakopter hm 08:01
too much coffee today 08:05
masak bonan matenon, #perl6 08:09
kresike hello masak o/
masak hello, S-ro kresike. 08:10
phenny: eo en "S-ro kresike"?
phenny masak: "Mr. kresike" (eo to en, translate.google.com)
masak \o/
phenny: eo en "gesinjoroj!"? 08:11
phenny masak: "ladies and gentlemen !" (eo to en, translate.google.com)
kresike :)
masak \o/
kresike eo means esperanto, right ?
masak jes.
kresike masak, ooc, how many languages do you speak ? 08:12
masak I'm back from one week of teaching it, so I'm a bit, hm, soaked in it right now.
kresike human languages I mean ...
08:13 birdwindupbird joined
masak kresike: Swedish, English, Esperanto fluently. French and German listening is rather good, but speaking is crap. I've studied but mostly forgotten Russian. I can talk to Italians and Spaniards thanks to Esperanto, but the communication is not perfect, of course. I can survive in China with my Mandarin. 08:13
oh, and I took one year of Latin, though I wouldn't say I speak it, nor write it. I can sometimes decipher Latin phrases. 08:14
kresike that's one hell of a list :) 08:15
masak most of us here are into languages :)
kresike yes, I noticed
masak I've listened to enough Norwegian to understand it fairly well. it's easier than the local Swedish dialect here. :) Danish is still hard, but possible. 08:16
moritz should brush up his bokmål
masak many languages in Eastern Europe, including Polish, has that "uncanny valley" thing going with Russian, which in me triggers a constant fascination with them. I don't speak them, but I always try to learn new things about them.
I think my favorite among those is Slovenian.
at some point, I know I will tackle Estonian, Greek, Sanskrit, and Tibetan. I haven't yet, though. 08:17
GlitchMr Heh, that's long list
kresike masak, I thought you're belgian ... albeit some say there is no such thing :)
masak I was born in and still live in .se 08:18
kresike hmmm, my mistake
brrt .... who was the dude that was belgian
the super-european guy 08:19
masak .oO( does "super-european" mean "clamoring for a bigger Europe"? ) :P
GlitchMr I only know two languages 08:20
moritz
.oO( Russian, rude Russian and very rude Russian )
GlitchMr I wonder how many people only know one language... 08:21
diakopter o/
moritz GlitchMr: too many
daxim sons, I am very disapoint… if you don't brush up your russian for yapc2013
masak :) 08:22
daxim пиво - beer
Я очень рад, ведь я, наконец, возвращаюсь домой - ♪ Trololo ♫ 08:23
bonsaikitten brrt: "super-european" ? what a nice way to put it
GlitchMr But, I think I know many programming languages... but I still cannot understand C++...
bonsaikitten I consider myself depatriated
diakopter masak: I thought you submitted a talk for yapc::eu - I don't see your name on the list of 56 accepted talks
bonsaikitten GlitchMr: no worries, most C++ coders can't either
GlitchMr It's... a mess
kresike GlitchMr, there's always perl* :) 08:24
GlitchMr I know :) 08:25
Perl is actually nice and readable* language
* if you write it properly
daxim the * is a fool's cap bell
daxim jingles
GlitchMr PERL is unreadable, but Perl is readable 08:26
brrt bonsaikitten: you're welcome :-)
diakopter masak: I don't see any Perl 6 names on there actually, except fglock, but his talk is about p5 perlito 08:27
brrt personally thinks european integration is by itself a very noble goal
the implementation of which is messy
bonsaikitten brrt: no one wants integration... 08:28
moritz integration is harder than derivation
bonsaikitten: but people want the benefits from integration
bonsaikitten moritz: only by a constant factor ;)
moritz: yes, everyone wants benefits, but no one wants to pay for it
brrt moritz: much harder
... maybe my words are wrong 08:29
diakopter I was thinking of going to yapc::eu this year, but with no Perl 6 talks... 08:30
masak diakopter: I submitted four talks. I hope a proper subset of them get accepted.
08:30 GlitchMr left
masak diakopter: they have a "rolling schedule" of accepting talks, methinks. 08:31
daxim Acme::Inline::PERL # on backpan
moritz diakopter: I submitted two, jnthn two, pmichaud one (afaict)
masak so they may simply not have gotten to it yet.
brrt whut no perl6 talks?
daxim masak has one
moritz brrt: not one approved yet
brrt ah that is too bad
diakopter masak: oh.
08:31 hoelzro left
brrt i was planning on going but i have yet to find a cheap-and-fast way to travel to frankfurt 08:32
08:33 GlitchMr joined
BinGOs pigeon 08:34
moritz trebuchet
daxim if it's your first yapc, you can apply for funding through send-a-newbie
brrt it is my first in fact :-)
well, i have google funds in principle 08:35
but most of these will go to tuition
tadzik my last trip to yapc, which is my first one, was covered by gsoc funds as well
daxim what's google funds, specifically?
ah, gsoc 08:36
08:36 dakkar joined
daxim tadzik, I meant to ask you how many people are participating in that farm game(?) competition. I forgot all the details 08:36
masak curious. 08:37
we were just gearing up to PR the competition into existence :)
famr currently doesn't run on latest nom, according to tadzik :/
farm*
I will investigate during the day. 08:38
diakopter I count 21.6 hours of accepted talks
brrt surpisingly, bahn costs more if you take a slower train
masak diakopter: that doesn't say much since there may be N tracks.
kresike brrt, they probably charge the time you sat in their chair :) 08:39
08:39 bbkr1 joined
brrt it seems that way 08:41
tadzik fortunately it doesn't work for planes
I saved like 50% on flight costs for being fine with taking 4 flights instead of 2
I get twice the take-off excitement for half the price!
08:42 godfrey999 joined
brrt flying is nice, just so... wasteful 08:44
masak I can't imagine it'll last. 08:45
we live in a previous window of history.
precious*
the window of cheap international flight.
tadzik wasteful, money-wise? 08:46
moritz time and resource wise
08:46 hoelzro joined
tadzik true 08:46
sorear I hope to see transatlantic rail travel within my lifetime
tadzik shame it's actually cheaper than trains
sorear that will be less wasteful
masak tadzik: there is only a finite amount of compressed organic carbon remains in the ground. we're burning it up faster every year. it'll run out in our lifetimes, more likely in a few decades. where "run out" is a gradual, difficult thing rather than a sudden shock, of course. 08:47
sorear hmm, I need to get back to Mattijsen 08:48
masak the two centuries around 1950 will be remembered in history as a crazy Bell curve of oil consumption. 08:49
sorear: you definitely do.
sorear: over here, she's known as "Liz", by the way :)
tadzik masak: yeah, I know
masak s/Bell/bell/ 08:50
tadzik that's why it surprises me how trains manage to be so awfully expensive in comparison
moritz tadzik: maintenance of the railroad network 08:51
tadzik ah, that could be, yes
sorear masak: compressed organic matter is not the only way to run an airplane.
masak so if we made better tracks, it would all be cheaper?
brrt whats better? 08:52
masak sorear: indeed. solar airplanes are coming along.
sorear solar is problematic from a power/weight ratio
brrt you are going to have to lay down very long iron bars on a solid ground for many , many miles no matter how you do it
hydrogen airplanes, that could work :-)
masak but with all the investing that goes into alternative power sources, I'm wondering if the totality of it isn't still "too little, too late" from a global energy needs perspective.
sorear I was thinking more in terms of synthetic fueled jet engines
masak: the next few decades are going to be an interesting time 08:53
masak there are some alternative-energy deployment efforts that we should ideally start *right now*, even though technologies will improve before we're done deploying.
sorear: yeah :/
in the Chinese curse sense.
sorear once we get a bit further into the Hubbart downslope, deployment of non-oil energy sources is going to go way up 08:54
masak indubitably.
sorear and there will be a market shock far beyond my ability to predict the consequences of
masak aye.
almost seems what markets do is get shocked :P
bonsaikitten brrt: hydrogen is surprisingly bad 08:55
brrt ... yes, i've heard, now that i think of it is pretty stupid
bonsaikitten generating methane or heavier hydrocarbons has higher energy density andbetter storage
brrt what about ethanol?
bonsaikitten e.g. hydrogen leaks, so you lose ~30% in transport
the containers need to be heavy and pressurized
masak nuclear could possibly be made very clean and very safe.
it has a bad rep though, at least in these parts.
bonsaikitten masak: if there were no greed and corruption maybe
sorear hydrogen has problems, I'm not denying that
Timbus gen 4 nuclear reactors are just great 08:56
sorear ethanol has differentproblems
masak Timbus: url?
sorear masak: A nuclear reactor on a plane strikes me as very stupid
Timbus i uh,
Timbus points at wikipedia i guess
sorry
sorear masak: weight constraints will force you to skimp on shielding, and what happens if the plane crashes?
masak Timbus: no problem. 08:57
lumi_ Re formatting slangs, there's Common Lisp's format
sorear masak: now, we can't just run wires up to the plane, which leaves two choices: 1. wireless power 2. synthetic ethanol/hydrogen/whatever is fashionable in 20 years
masak sorear: I wasn't talking about planes in particular, just the energy demand problem.
lumi_: url?
sorear note that beaming the 100MW or so a plane needs up to the plane as focused microwaves is not a walk in the park either 08:58
lumi_ masak: www.lispworks.com/documentation/Hyp...y/22_c.htm 09:00
masak sorear: I've always wondered about that. Tesla liked the idea. it seems rife with problems to me. I wouldn't like to be a bird in-between, for one. 09:01
masak looks
lumi_: um, it's just *another* string format. which is interesting, but doesn't solve the problem at hand.
sorear masak: I had a friend once who was a US Navy radar operator. They do in fact kill birds. 09:02
masak sorear: aye.
sorear (I asked)
masak sorear: I have a friend who told me about a crisply toasted seagull that had to be pried off the radar.
diakopter fried then pried. then pied. 09:03
sorear hmm, wikipedia page for the A380 does _not_ list total engine power consumption
I was able to find the energy content of a full A380 tank though (10.5 TJ)
but the cruise range is listed in km, not s 09:04
*sigh*
lumi_ masak: okmij.org/ftp/typed-formatting/index.html then?
sorear mjultiplying the 'maximum operating speed' by the 'total engine thrust' gets 336 MW 09:06
which is a very questionable calculation, but meh
Timbus www.wolframalpha.com/input/?i=A380+...uise+speed
masak lumi_: yeah, that's more like it :) 09:07
Timbus :3
sorear Timbus: very questionable also, since the range includes takeoff fuel consumptin
lumi_ masak: I think that could look much nicer in modern Haskell, with overloaded strings, so it won't require 'lit's 09:08
sorear lifting 560,000 kg of aluminum to cruising altitude (which incidentally is also not listed) requires energy 09:09
given g = 10, h = 1e4 -> 56 GJ 09:10
Timbus' calculation gets 179 GW, which is close enough to mine to feel better about both 09:12
179 MW I mean
Timbus we're gunna need a bigger solar panel... 09:14
kresike or an antigrav field generator :)
masak was gonna say "there is no free lunch", but the truth is probably that we humans are tapping the universe in very awkward ways still 09:15
sorear alternate proposal
09:15 sergot joined
sergot hi o/ 09:15
masak sergocie! \o/ 09:16
sergot masaku \o/
! :)
sorear use a very large linear motor with on-site power generation to boost a magnetically levitated train onto a suborbital elliptical path to the destination
no transatlantic tracks needed
kresike masak, we (humans) need to learn physics. 09:18
sorear masak: the funny thing is that people talk about using energy when energy cannot be consumed.
I do not beleive there is any fundamental limit on the entropy requirement of moving objects 09:19
(which isn't necessarily saying much, the only fundamental entropy bound I know of is the one on irreversable computation) 09:20
masak sorear: everyday use of physics terminology is just rife with similar mis-applications of concepts. that's what you get when non-experts get to use very specific language.
brrt sorear: entropy is the limit on free energy, which can be consumed
which you know of course, its just
masak I'm actually more peeved by the whole new-age use of "energy", and the fact that I bought into it even a little for a few years.
brrt its not so silly a discussion if you put 'free' in front of every 'energy' :-)
sorear if you put an identical linear motor on the other end run as a generator, and both were 100% efficient, and there were no air in the way, the entire process would occur with no usage of free energy. 09:23
one interesting thing about high-speed rail is that it actually uses more fuel than planes, because there's so much more air. 09:25
I want to see development of evacuated subways
jnthn imagines evacuating them, keeping them that way, and dealing with the resulting safety issues isn't particularly cheap. 09:27
sorear yeah :|
life in the present is so full of annoying tradeoffs. 09:28
brrt or, we just keep where we are for the most part
and communicate by sending electrons / photons
jnthn Or just be patient and wait for the next super-continent to form. Then there won't be this inter-continental travel problem. :P 09:29
sorear NEUTRINOS
masak sorear: heh, "life in the present". our top priority should be to get out of this gravity well and populate another heavenly body. 09:30
brrt liveable versions of which, are ample 09:31
sorear masak: Much as I support the goal of space colonization it won't solve the problem of there only being so many seconds in a kilosecond.
"although it may increase the number of seconds in a day"
masak .oO( 1000 )
sorear brrt: I know! Isn't it amazing! 09:32
masak sorear: the problem of never being bored is not such a bad one, relatively speaking.
brrt :-)
its just sad
we have such a beautiful living planet
and for our own hunger
we burn it
sorear I rather think that the biosphere will surive global warming 09:34
masak oh, sure.
but "survive" != "it'll be fun". 09:35
for humans, specifically.
sorear it already hasn't been, at least if you assume that things like the Ethiopian droughts and crop failures of the 90s were related 09:36
we are in the middle of a mass extinction now, they're never fun 09:37
masak *nod*
brrt global warming is not really the issue 09:38
hunger will be
masak overpopulation.
unequal distribution of resources.
sorear I am not convinced overpopulation will necessarily be a problem in the medium-long term 09:39
brrt overpopulation combined with the ability to literally use all resources you can think of 09:40
that is dangerous
sorear there is a lot of uncertainty in demographic projections.
what will happen to India's birthrate once their per capita GDP reaches European levels? 09:41
at least global warming theory only requires the physical sciences 09:42
and even that's hard enough
masak if you educate women, birth rate drops. that's generalizing, of course, but it seems to hold up.
sorear and then there are questions about the questions 09:43
_will_ India's per capita real GDP eventually reach European levels, or is the general upward trend we're seeing now entirely an artefact of cheap oil? 09:44
brrt whats european levels to start 09:46
the differences between european countries are pretty sizable
sorear the level where birthrates start to go below 2 09:47
here's another one for you.
09:47 mucker joined
sorear there have, AFAIK, been no fundamentally new antibiotics discovered in the last N years, where N is suprisingly large 09:48
will evolution of multidrug-resistant bacteria cap human populations at a level low enough for food to be a complete non-issue?
brrt no
because even though infections are an important cause of death
the amount of 'young people' dying from infections is low 09:49
sorear *now*
brrt hygiene is much more important
sorear the Spanish flu had the highest mortality rate for people in their twenties, even accounting for the differences in infection rates 09:50
ok, that's not a bacterium
masak I'm concerned about multidrup-resistant bacteria, too. that one is a losing battle for humans.
sorear hygiene will help. will it be enough?
brrt no, and in the immunologicial specificities of the flu infection, its not even that weird
i believe death rates will be higher 09:51
masak I hear people in southern Europe are buying antibiotics and eating them almost for preventive purposes. educating about proper antibiotics usage might help, or at least delay the inevitable. 09:52
jnthn Whoa. 09:53
masak everytime I see a new antibacterial cleaning fluid in commercials, I get a little angry. this happens every few years.
jnthn tends to only take such things if he really needs them
masak that's the proper usage, yes.
jnthn And when I do I'm like, "damn, I hate having to take these"
masak listen to the word. it *kills life* in your body.
jnthn Normally because they're incompatible with things I like. :)
masak if you take them regularly, your body will only contain the outlaws that have evolved to take that kind of beating. 09:54
Darwin called, and he's peeved too.
brrt you need antibiotics when you have some sort of internal infection, otherwise, you don't
masak right.
brrt a bigger problem that southern-european-pill-poppers is probably bio-industrial farmers with the same behavior 09:55
moritz and even then you only need it in some cases
brrt abcesses, bladder infections 09:56
most respitory infections are viral so they can't be helped
sorear "we can fix that one by just eliminating meat production" 09:58
brrt we can fix most things by eliminitaing meat production 09:59
masak I sigh and weep for the GM industry. GM grains and stuff is actually not such a bad idea in theory, but the players on the market are ruthless and essentially ready to kill to establish themselves.
brrt most problems of overpopulation
moritz there are other ways to fix overpopulation problems... 10:01
brrt as friendly as not eating meat?
moritz no, not as friendly.
masak overpopulation will "fix" itself. we probably want to have some say in the solutions chosen, though. 10:03
gfldex i vote for space exploration 10:06
10:07 scott___ left 10:21 fhelmberger left 10:22 fhelmberger joined 10:42 _jaldhar_ left
teee Could Panda(Perl6) run on Win32? I could'nt install any module with it... 10:49
tadzik do you get any particular error? 10:50
panda is reported to work on windowses, but none of the main developers work on windows I think 10:51
10:58 snearch joined 11:01 jaldhar joined 11:14 jaldhar left 11:15 jaldhar joined 11:21 JimmyZ joined 11:26 godfrey999 left 11:28 spider-mario joined 11:42 kaare_ joined 12:03 Coleoid left
brrt r: pir::load_language("nqp"); 12:16
p6eval rakudo 1fe39c: OUTPUT«"load_language" couldn't find a compiler module for the language 'nqp'␤ in block <anon> at /tmp/IS17AgIUzL:1␤␤»
12:16 JimmyZ_ joined 12:18 JimmyZ left, JimmyZ_ is now known as JimmyZ
arnsholt jnthn: ping? 12:23
[Coke] see au? 12:28
aloha: seen au
aloha [Coke]: au was last seen in #perl6 1 days ago joining the channel.
[Coke] ooh, sneaky!
12:29 lue left
[Coke] pastes au's sig from the pugs readme into google translate, clicks "play", and hears his wife's maiden name. (Coke then realizes that he's translated Audrey into *polish*, and asked for /that/ pronounciation, which is probably not what he intended.) 12:32
masak otori tan. 12:35
daxim detect fail. text says correctly feng, audio says otori 12:37
masak I'm not surprised. 12:38
(au had a post once about how some Japanese Perlers rendered her name as 'otori-tan', which reminded her about en.wikipedia.org/wiki/OS-tan )
[Coke] polish Feng sounded like english "Fink" to me.
just reading pugs.blogs.com/audrey/2009/04/post.html, aye. 12:39
jnthn arnsholt: pong
au o/ 12:40
phenny au: 06 Jul 17:13Z <[Coke]> tell au - come back to pugs, we miss you. ;)
au I guess the first step is to port everything to mtl-2.*, otherwise it won't even build on this rMBP ;)
(+latest haskell platform)
12:42 lue joined
arnsholt jnthn: Pointers to PMCs can change over time, right? 12:42
dalek gs.hs: 8dd7fa4 | au++ | pugs-DrIFT/pugs-DrIFT.cabal:
* Get pugs-DrIFT on mtl>=2.
12:43
daxim [Coke], any junior jobs? I could perhaps delegate to some haskell beginners at the local lambdaheads group
masak au! \o/ 12:44
au 👽/
[Coke] daxim: A good place to start is perhaps: github.com/perl6/Pugs.hs/issues?di...state=open
masak .u 👽
phenny U+1F47D (No name found)
jnthn arnsholt: No, the GC doesn't move objects.
arnsholt Oh, excellent
masak oh, EXTRATERRESTRIAL ALIEN :) 12:45
au :D
masak hugs au :)
jnthn arnsholt: It can't, it's conservative.
[Coke] successfully adds Complex.Complex() to pugs. yay. 12:46
au pugs a pugged pugs :)
arnsholt jnthn: Right, that's one of those things I know means something related to GCs, but I'm not sure what =) 12:47
dalek gs.hs: 3b5a25d | au++ | pugs-compat/pugs-compat.cabal:
* Bring pugs-compat to mtl>=2
[Coke] is not used to having to rebase with another pugs committer! o/ 12:50
[Coke] makes sure his new thing still works with au's commits.
arnsholt Anyways, I think I'll try to use a hash table to store pairs of sub PMCs and callback data, so that we don't leak memory all over the place 12:51
masak [Coke]++ # rebasing
dalek gs.hs: 82ede96 | au++ | / (4 files):
* Upgrade everything to mtl2.
[Coke] ... ok I'll just wait a minute. ;) 12:52
au I'll let you know when done ;)
[Coke] au: pugs will, as of today, be really close to the 40% mark of rakudo in terms of passing spectests. 12:53
12:53 tokuhiro_ joined
arnsholt And since I'm not sure if Parrot's hash tables want to store bare C-land data I might end up implementing my own hash tables, in which case using the PMC pointer adresses as keys might be convenient 12:53
jnthn arnsholt: Mostly it means that it doesn't always know where all of the pointers to things are, or what things are or aren't pointers. But that's OK - you only have to find one pointer to at least all of the living things :)
[Coke] I suspect with someone who knows the code base, that could go up pretty quickly.
jnthn arnsholt: Well, another way is to use the Pointer PMC
arnsholt: Then you can use the Parrot-y hash tables.
[Coke] au++ - most of that 40% is just me fudging tests.
jnthn arnsholt: A Pointer PMC lets you hang any data you want off it.
arnsholt Parroty hash tables would be nice
The less stuff I have to implement the better 12:54
jnthn Yes, I'd rather we don't have our own hash table implementation too :)
[Coke] ah, crap. my Complex addition doesn't work anyway, as it's breaking some other use of Complex elsewhere. 12:56
[Coke] backs it out and opens a ticket. :P
12:57 PacoAir joined
au decides to switch to the experimental "cabal install -j" branch 12:58
12:58 atrodo joined
[Coke] notes that you don't have to worry about me on Pugs.hs master. 13:00
[Coke] wants you to commit more, not less. ;)
github.com/perl6/Pugs.hs/issues/17 in case au, masak, or moritz get bored. First step in getting us a few hundred more tests. 13:01
masak [Coke]++ 13:03
timotimo what's the strength of pugs? it doesn't seem like it's "amount of features"
dalek gs.hs: d95d83a | au++ | Pugs/src/Pugs/Cont.hs:
* mtl2 compat.
gs.hs: abcaf74 | au++ | Pugs/Pugs.cabal:
* Allow building without Perl5 embedding.
au timotimo: "amount of tolkien poetry" 13:04
[Coke] au++
timotimo: first to market
seriously, though, it's pretty fast.
moritz and it did used to be the one compiler that that supported most features 13:05
[Coke] moritz: AND IT WILL BE AGAIN! MUAHAHAHAHA
timotimo that's pretty cool in that case :)
13:05 godfrey999 joined
au [Coke]: think I'm done committing to master for now 13:06
compiling works; linking still doesn't work, but I suspect it's a clang issue... will work it out during commuting.
[Coke] au: thanks for the commits!
au glad to help! clean compilation is now sub-two-minutes 13:07
should be sub-30-seconds with cabal-install -j
that's... quite refreshing :)
dalek gs.hs: a879f45 | au++ | Pugs/Pugs.cabal:
* Bump cabal version.
13:10
au commute & 13:11
13:12 moukeddar joined 13:26 snearch left
dalek gs.hs: 3a3bb78 | au++ | Pugs/Configure.PL:
* Always prefer system perl with embedding Perl5 on OSX.
13:27
13:29 bluescreen10 joined, skids joined
dalek gs.hs: e7ce2ab | au++ | t/fudgeandrun:
* en_US.ISO-8859-1 doesn't exist on OSX, so use "C".
13:33
geekosaur ...s/-// 13:34
dalek gs.hs: 2ffbe10 | au++ | t/fudgeandrun:
* < geekosaur> ...s/-//
13:35
geekosaur :) 13:36
au geekosaur++ 13:38
t/run_spectests # Tests=14178, 190 wallclock secs 13:39
tadzik woow
masak o.O 13:40
13:42 fgomez left, seldon joined
au with test_jobs=8... # Tests=14178, 60 wallclo[Dck secs 13:42
masak wait... that was *without* test_jobs=8? o.O 13:44
masak reels
tadzik impossibru 13:46
I have to try that
kresike bye all 13:48
tadzik bye bye
13:48 kresike left 13:50 JimmyZ left
[Coke] now, pugs is only passing 2/5ths of the tests... but still. ;) 13:50
(2/5 of rakudo, not 2/5 of 14178) 13:51
13:51 JimmyZ joined
[Coke] au++ 13:51
masak au++ 13:52
tadzik au++ indeed
[Coke] au - that setting was finicky before - we'll see if it does any harm to the daily run.
(on feather, from inside cron)
au k
[Coke] reads the patch and sees it'll be really hard for that to break feather. ;) 13:53
au indeed :)
[Coke] au++ 13:54
13:54 gdonald left, gdonald joined
au ghc++ actually # and intel++ too, I guess 13:55
masak ghc++
14:04 godfrey999 left 14:17 lue left 14:18 thou joined
dalek gs.hs: 2877e1d | au++ | Pugs/src/Pugs/Prim.hs:
* Implement .Complex for #17
14:18
14:18 wtw left
[Coke] YAY! 14:19
au++ ;)
I encourage you to run t/spec/S32-trig/cos.t and see what else fails. ;) 14:20
ah. my naive version left off the other types in the last block, because "I only want it for .Complex". whoops. 14:21
14:22 moukeddar left 14:26 am0c_ left 14:29 lue joined
dalek ast: 3bb074f | coke++ | S03-operators/precedence.t:
pugs unfudge
14:34
14:48 fhelmberger left 14:49 xinming left
masak Guido will talk about Python 3 in Amsterdam tomorrow. uvaguido.eventbrite.com/ 14:56
14:56 birdwindupbird left
hoelzro I think my skin would start to smolder if I got within 100m of him 14:57
interestingly enough, that's not too far from my apartment
moritz hoelzro: hm, why? I don't love python, but I'd visit such a talk if I got near it by chance 14:58
14:59 xinming joined
jnthn "Learn how not to be a troll!" :D 14:59
masak moritz: +1
brrt yeah, moritz beat me to it, as usual
jnthn suspects hearing any designer of a widely used langauge speak about it would be interesting.
hoelzro moritz: because I'm Perl to the core =)
jnthn Whatever you think of the langauge itself. 15:00
hoelzro I make the smoldering comment jokingly =)
jnthn :-)
15:00 crab2313 joined
brrt i'd love to hear from the guy who made php 15:00
what he thinks
rasmussen i believe? 15:01
tadzik array_map($array, $callback) vs array_filter($callback, $array)
brrt stuff like that
tadzik rasmus-something?
yeah
flussence htmlspecialchars()!
brrt if anyone has an idea about well, messy software, its that guy
masak Rasmus Lerdorf
daxim he doesn't care. watch the 2012 talk 15:02
brrt srsly
? :-o
daxim worse is better, dontchaknow.
brrt not to a fault 15:03
worse is better as long as it is 'good enough'
but the space in which php is 'good enough' is not so large
and economically speaking, it is shrinking
15:20 spider-mario left 15:23 spider-mario joined 15:35 thelazydeveloper joined 15:37 nsh joined 15:38 nsh left, nsh joined
[Coke] au: github.com/perl6/Pugs.hs/issues/18, which I again stumble over edge cases with. 15:44
[Coke] rants that the trg tests need OO and "bless" in order to work.
s/trg/trig/
hoelzro I think I actually have a commit in that repo! 15:46
moritz it has inherited many commits from the old pugs svn repo
hoelzro apparently mine didn't make it =( 15:47
15:47 kaleem joined
moritz hoelzro: probably because the source file you touched was modified, and then didn't survive the filtering into the new repo 15:48
hoelzro: but not all commits that wander are lost: github.com/perl6/mu/commit/b4b8eab...e36c9cefee 15:49
hoelzro victory! 15:52
moritz and also 59f6d2c291dcd44ec88ee6ab5d058919e3c65f94 (tests)
[Coke] hoelzro: fresher commits are, of course, welcome. ;) 15:53
hoelzro hehe 15:54
we'll see when I get the time =)
I have a list of things I'd like to do
first I need to finish my bot
[Coke] wonders how evil it would be to make pugs's .FatRat just return a Rat for now.
moritz is pugs' rat fat?
[Coke] pugs: say sqrt(123.14124124124124124).Rat 15:55
p6eval pugs: OUTPUT«11.0969023263810537827112057129852473735809␤»
[Coke] rakudo: say sqrt(123.14124124124124124).Rat
moritz pugs: say sqrt(123.14124124124124124).Rat.perl
p6eval rakudo 1fe39c: OUTPUT«11.096903␤»
pugs: OUTPUT«6247000647757063/562949953421312␤»
moritz pugs: say (sqrt(123.14124124124124124).Rat ** 8).perl
p6eval pugs: OUTPUT«2319382669772109656382902212965816736317420595048961834512373182489853409320490673944578697499502275172380277672512821715619521/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896␤»
moritz looks fat, yes :-)
[Coke] that's pretty fat. ;)
dalek gs.hs: b1f0f20 | au++ | Pugs/src/Pugs/Prim.hs:
* .Str for #18
[Coke] ok.
whoa!
moritz pugs: say 10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896.log(2) 15:56
p6eval pugs: OUTPUT«*** No compatible multi variant found: "&log"␤ at /tmp/E_2y74roNw line 1, column 5 - line 2, column 1␤»
[Coke] crap, I better open a LOT of tickets today. ;)
moritz r: say 10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896.log(2)
p6eval rakudo 1fe39c: OUTPUT«392␤»
[Coke] wonders how often p6eval rebuilds pugs. 15:57
moritz wonders too
15:59 kaleem left 16:00 JimmyZ left 16:03 brrt left
masak today's mini-challenge: I have a list of <h2> and <h3> tags. what's the nicest/quickest/cleanest way to get a DOM of correctly nested <ul> and <li> tags representing an index of these? 16:05
moritz masak: I have a deja-vu
masak I asked a similar question the other day. 16:06
but not the same one.
moritz masak: I asked a similar question the other day
and we discussed lagging pointers :-)
masak yes, that was the similar question.
dalek ast: f3096ce | coke++ | S32-num/stringify.t:
pugs unfudge

au++
masak oh! that's what you wanted to do :)
[Coke] masak: is jQuery allowed? ;)
masak [Coke]: I'm using Perl, but whatever floats your boat. 16:07
just thinking of a nice algorithm for this.
yes, maybe lagging variables are the answer :/
moritz masak: no, I wanted to group successive <li>-eleemnts in a common <ul>...</ul> frame
masak though thinking about it now, it feels like lagging variables seem like the answer because the question is posed too procedurally.
moritz: well, that's basically a subproblem of my problem. or could be, at least. 16:08
hm, probably I should just isolate each <h3> and the contents under it. then solve nestedly for <h2>... 16:09
moritz masak: github.com/perl6/doc/blob/master/h...fy.pl#L103 is what I wrote for extracting pod subsections
another very similar thing
and github.com/perl6/doc/blob/master/htmlify.pl#L80 to call it
16:10 hoelzro is now known as hoelzro|away
masak moritz: Haskell has a "chunks-grep", but with another name. 16:11
maybe they called it "group" or something.
16:12 _ilbot left, _ilbot joined
masak er, I meant the other way with <h2> and <h3> above... :) 16:14
moritz I just assumed you meant the right thing :-)
[Coke] masak: can we assume that the h2's and h3's are siblings? 16:17
ah, not necessary. 16:18
16:19 cenuij2 joined
dalek kudo/toqast: 5c96d7d | jnthn++ | src/QPerl6/Actions.pm:
Fix CATCH blocks that also did smart-matching. This also unbusts Test::Util, which wins back quite a lot of tests too.
16:21
masak [Coke]: you can assume that they've been extracted and that you're only seeing a stream of <h2> and <h3>
16:23 nsh left
[Coke] masak: feather.perl6.nl/~coke/foo.html 16:30
that pulls out the h2, h3, and then loops over them, making a list of the ordered h2 elements (just saving the inner html), and an object of h2s -> child h3s. 16:31
which could then be converted to a ul/li (but isn't)
masak [Coke]: cool. 16:33
clearly leverages the DOM a bit, too.
probably better than thinking of it as just text.
16:35 _cxx_ joined 16:36 MayDaniel joined
[Coke] well, the only dom going on there is just $("h2,h3"), and it sounds like you've done that 16:36
16:37 _cxx_ left 16:39 zhutingting left, daxim left, kst left, preflex left, Exodist left, aloha left, rsimoes left, c1sung left, baest left, domidumont left, wolong left, Tene left, pnu left 16:40 daxim joined
masak [Coke]: no, I actually iterated on the lines of the HTML. I knew what generated it, so I could assume headings were all on one line. 16:41
16:43 nodmonkey joined
masak & 16:44
16:46 bluescreen10 left
flussence when in doubt, cheat :) www.whatwg.org/specs/web-apps/curre...l#outlines 16:46
16:49 birdwindupbird joined
moritz [Coke]: could you please invoke your planetsix-superpowers and add perl6maven.com/atom to the feed? 16:50
16:50 prettyrobots joined
moritz [Coke]: that's by szabgab++ 16:50
[Coke] done. 16:55
moritz [Coke]++
16:57 kst joined, preflex joined, Exodist joined, aloha joined, rsimoes joined, c1sung joined, baest joined, domidumont joined, wolong joined, Tene joined, pnu joined
daxim what kind of lame power is heart^Wadding feeds, anyway? 16:57
moritz daxim: Wielder Of 300 Visitors Per Post power, or so 16:59
16:59 GlitchMr left 17:00 GlitchMr joined, dakkar left 17:08 birdwindupbird left
dalek p/toqast: b4a78bf | jnthn++ | src/QAST/Operations.nqp:
Fix various bits of bustage in loop construct code-gen.
17:09
kudo/toqast: 49cd752 | jnthn++ | src/QPerl6/Actions.pm:
Fix xor and ^^.
kudo/toqast: 2a2a1d0 | jnthn++ | src/QPerl6/Actions.pm:
Thinko.
kudo/toqast: e88fe15 | jnthn++ | src/QPerl6/Actions.pm:
Somewhat fix %_ and @_.
17:10 birdwindupbird joined
[Coke] hurm. one of the pugs tests hung during the daily smoke. 17:19
bah. another one, looks like they're going to 100% CPU, and then just sitting there. 17:21
sorear good * #perl6 17:24
moritz \o sorear 17:25
17:25 fgomez joined 17:28 Chillance joined
jnthn o/ sorear 17:33
colomon \p\o
masak sorear! \o/
moritz lol I blo^Wranted: perlgeek.de/blog-en/perl-6/2012-sto...rites.html 17:34
geekosaur indeed 17:35
17:36 cenuij2 left
geekosaur does wonder if that's a misapplication of a "don't do rewrites like crap managers do dilbert-esque reorgs" 17:36
jnthn Really? People are *still* whining about the nom do-over? :/
diakopter "but you should've gotten it right the first time" 17:37
[Coke] just like HTML did!
moritz indeed we should have. And we should all be riding supersonic, organic Unicorn ponies for transport.
dalek kudo/toqast: 1036e02 | jnthn++ | src/QPerl6/Grammar.pm:
Catch remaining PAST -> QAST in Grammar.
17:38
kudo/toqast: cd31481 | jnthn++ | src/QPerl6/Actions.pm:
Fix our $*x
kudo/toqast: fe13b09 | jnthn++ | src/QPerl6/World.pm:
Update module loading load dependency handling.
kudo/toqast: efeba05 | jnthn++ | src/QPerl6/Actions.pm:
Fix try in the case where there's no CATCH block already in there.
17:39 sergot left
jnthn It's also worth point out that bs was delivered with zero spectest regressions. qbootstrap and altnfa were delivered with no spectest regressions OR module space regressions. The post-nom Rakudo is living up quite well to being a good base to evolve things without huge ongoing upheavel. 17:42
*pointing
[Coke] there's no point in worrying about nom at this point. we can worry about it if we have to do a nom-like rewrite later and how to plan for that. 17:44
masak I'm not whining about the nom do-over. but it *did* have regressions, even though it was meant to be a rather easier transition than alpha->ng. I'm less interested in talking about blame than in making sure it doesn't happen again. 17:46
masak now reads moritz' post
moritz jnthn: I'll add a note or two
flussence as an end user I find parrot's flakiness causes me more headaches than the alpha→nom→etc. 17:47
masak ah. simple, straightforward post about something I already agree with. moritz++ 17:48
jnthn flussence: heh, same as a developer :P
Parrot doesn't do bad in terms of not falling in a heap these days though. 17:49
flussence nom *did* break some of my code, but that was because I was playing around with nativecall at the time :)
masak I also think rewrites are necessary. and maybe regressions are necessary too. regressions will be less and less tolerated as Perl 6 matures, in the sense that having them will seriously turn production users off in a bad way.
which means that we should rewrite all we can while we can :)
flussence
.oO( hasn't mozilla rewritten its JS VM at least 4 times in recent memory? )
17:50
sjohnson i believe so
[Coke] flussence: but how much of that caused user rewrites? 17:51
seldon Javascript users are historically used to incompatibilities, though.
GlitchMr JavaScript incompatibilities? 17:52
I through that DOM is main problem
jnthn flussence: Well, NativeCall also changed quite a bit too :) 17:53
diakopter there are plenty of JS engine quirks
GlitchMr I know that there are problem with edge case in .split() function. Anything else? 17:54
are edge cases*
flussence jnthn: that was well worth rewriting everything, considering how much nicer my code is afterwards :)
diakopter GC differences
jnthn flussence: :)
17:56 vmspb joined
[Coke] gets a lot of perl5/6 hate on another chat server. 17:56
GlitchMr But most of those edge cases are like (?!(a)) so whatever 17:57
seldon GlitchMr: == and != changed their meanings between 1.2 and 1.3. Also changed there: var arr = new Array(10); -- in 1.2, array with arr[0] = 10, from 1.3 on an array with 10 elements. Don't ask me for a comprehensive list; I'm not a webdesigner.
GlitchMr 1.2 and 1.3 are very old JS versions 17:58
Nobody uses Netspace 4 anymore
Netscape*
Also, in very old JS versions if (a = b) {} was actually if (a == b) {}, but well... 17:59
moritz jnthn: btw it's not quite true that bs didn't cause fallout
18:00 mucker left
GlitchMr Also, I'm not aware of "changing meanings" 18:01
I know that they have put === operator, but have they changed meaning of == operator?
diakopter in JQuery there are several workarounds for various browsers to release memory in different cases. Also, there is detection/workaround of a Chrome over-optimization of recursive functions
seldon == behaved like === originally. Your browser might have varied, though.
wild west days. 18:02
jnthn moritz: I said no spectestregressions. :)
moritz jnthn: ah, right
jnthn moritz: I distinguished it from altnfa/qbootstrap which additionally had no module space regressions.
moritz: I wish we'd had Emmentaller for bs.
I'm certainly glad we'll have it for toqast :) 18:03
masak I wish we'd had Emmentaler for alpha :)
moritz well, both ng and nom implemented pretty drastic spec hanges too
*changes
GlitchMr "In JavaScript 1.2, == and != operators (equality operators) performed this strict equality comparison. But, to comply with ECMA, in JavaScript 1.3, the equality operators have changed, and two new strict equality operators have been added. These new operators are not part of the current ECMA specification, but will be included in the next version." 18:04
Oh, I see
dalek kudo/toqast: d4b53db | jnthn++ | src/QPerl6/Actions.pm:
Unbust feeds compilation.
kudo/toqast: d40a3bd | jnthn++ | src/QPerl6/Actions.pm:
Use correct variant of die op.
thou hi, does anyone have a solution to the problem commented in the BEGIN block here: github.com/softmoth/Term-Curses/bl...ses/Raw.pm for example, maybe a way at compile time to try { } "is native('various-lib-names')" until finding one that works?
dalek p/toqast: 1700236 | jnthn++ | src/QAST/Operations.nqp:
Fix die_s signature.
GlitchMr But did it matter? If == was matching before, it would match with === too 18:05
[Coke] wonders who here would work on perl6 full time if they could.
seldon GlitchMr: Be aware that IE6 died only recently. Javascripters had to deal with ancient stuff for very long.
GlitchMr I don't mean IE6
IE6 is fine
seldon Ha!
GlitchMr Aside of edgecases
arnsholt thou: You may be interested in knowing that one of the things on my TODO list is fixing the bundle/dylib mess on OS X
GlitchMr If you aren't touching DOM, IE6 is fine in JS 18:06
thou arnsholt: ok, cool. maybe i will just ignore that problem for now, then, and assume it works inside NativeCall
jnthn Now up to 19889 in toqast. And that's on my box with no ICU support.
moritz jnthn: want me to spectest on an icu-enabled box?
flussence GlitchMr: string concat is something like O(n²) speed/mem in IE6 :)
diakopter [Coke]: well, I'd work on a VM for Perl 6 if I had a commit bit and agreed with the general trajectory :) 18:07
(full time)
arnsholt thou: For development, I'd probably just ignore it for now, yeah
GlitchMr On short strings it doesn't matter
Tene [Coke]: I'd love to work on Perl 6 full time.
thou arnsholt: i was just hoping to get something i could put on modules.perl6.org
arnsholt The problem is that ATM, is native('foo') essentially just turns into dlopen('foo') (modulo some magicks)
jnthn moritz: Go for it. There's still some amount of breakage. 18:08
arnsholt And dlopen will only try for .bundle stuff automatically. To get dylibs you have to be explicit (like you do)
jnthn moritz: But probably a heck of a lot less than last time you tried :)
_sri moritz: it's not the rewrites, but being told perl6 is "usable" over and over that's annoying
flussence GlitchMr: true, but I had to find this out the hard way because one of those strings was inserting a large <table> in .innerHTML (because... DOM) 18:09
moritz _sri: well, others disagree
GlitchMr DOM is bad API
flussence that I can agree on 18:10
arnsholt So essentially, we have to trap load errors on OS X and try an alternative before failing outright
flussence even when it is implemented correctly :)
moritz added another paragraph to perlgeek.de/blog-en/perl-6/2012-sto...rites.html 18:11
diakopter folks have very different definitions of usable. My bar for 'usable' is quite high, relative to how it's used around here usually.
GlitchMr As for .innerHTML 18:12
moritz right
18:12 sergot joined
GlitchMr It's not standard, it's Microsoft invention 18:12
But it's way more usable than DOM
moritz and saying outright that stuff is *not* usable is also wrong, because it deters people that might otherwise try it out, and like it
we need a balance.
[Coke] we need better marketers and more tuits, clearly.
_sri moritz: but i think a disclaimer like "you can play with it already, but not use it for production code yet" would go a long way 18:13
moritz _sri: but some people do use it for production code, and are happy with it 18:14
_sri we have very different definitions of production code i suppose 18:15
moritz yes, and that's part of the problem
GlitchMr Most of features are implemented 18:16
The only real problem is performance
_sri GlitchMr: strongly disagree 18:17
the I/O system is a mess
concurrency does not exist
diakopter as I've said before, I think a good definition of used in production is: used in business activities or large-scale personal activities
GlitchMr Concurrency is mostly for performance 18:18
moritz and there you have it
people have totally different requirements
GlitchMr github.com/mj41/Perl-6-GD/raw/mast...odData.png 18:20
Well, 83% is good enough
[Coke] it doesn't matter how many features we add, because we haven't got "basic" stuff like threads. It doesn't matter how elegant we are, because perl is crap anyway. Doesn't matter how fast we do it, because we should have been done already.
diakopter GlitchMr: the remaining features are huge. 18:21
natively typed variables, compact arrays are enormous requirements for just about everyone who does data processing, I claim 18:22
GlitchMr JavaScript has those natively typed arrays 18:24
diakopter [Coke]: why do the 2nd two statements go with the first one?
flussence diakopter: all 3 go in a <sarcasm> tag? :) 18:25
_sri looking at ruby, python and javascript, concurrency might be the feature that makes or breaks perl6
at least from a marketing point of view 18:26
moritz aye, it could make a huge difference
[Coke] from a makering POV, perl6 is already broken, I think.
GlitchMr paste.uk.to/980163fe
[Coke] *marketing
diakopter well, javascript doesn't have multithreading, but the event loop (implemented through threads or otherwise) can be used for some sense of concurrency 18:27
GlitchMr I wonder how hard it would be to implement something like this
_sri [Coke]: not yet imo
geekosaur massive uphill battle to fix the image, yes,I'm afraid :(
GlitchMr Also, setTimeout(function () { }, 0)
You have concurrency
_sri [Coke]: people are very forgiving if you deliver something awesome in the end
[Coke] _sri: YMMV. I get a lot of negative feedback about sixperl from my nerdy friends.
and perl in general.
diakopter GlitchMr: that's not concurrency. NO javascript engine can utilize more than one CPU core.
GlitchMr Well, I know 18:28
[Coke] nerdy *acquaintances, that is.
geekosaur perl in general, I think it gets a lot of crap because it's successful in a world where everyone wants Shiny New Hawtness
GlitchMr But it's usually better than threading
[Coke] +# 07/17/2012 - rakudo++ (22934); niecza (89.88%); pugs (40%)
+"niecza", 20615, 0, 737, 1472, 22824, 24361
+"pugs" , 9175, 1, 3378, 1693, 14247, 24222
+"rakudo", 22934, 6, 645, 1830, 25415, 24361
diakopter GlitchMr: actually, I take that back, there are hacks of node/v8 that do strange things to enable parallelism
[Coke] rakudo still has 6 failures. 18:29
geekosaur in particular I sometimes wonder if there's some specific anti-perl evangelism rampant in the ruby community because that seems to be where a lot of it comes from... and rubyists also seem to engage in anti-evangelism for any project for which a ruby alternative is available
GlitchMr Also, noed.js can use fork()
node.js*
I guess that fork() counts as concurrency
masak [Coke]: I'm not sure there was a way to develop Perl 6 and not have a marketing failure along the way. the project was very ambitious from day one, and would take years no matter what. people had high expectations, and would be disappointed no matter what. 18:30
diakopter GlitchMr: not if they don't share memory.
18:30 tokuhiro_ left
diakopter it was believed/promised to take less than a year 18:31
18:31 tokuhiro_ joined
PerlJam masak: there was a way to not have a marketing failure, but it may have ended up as a failure-failure 18:31
[Coke] diakopter: who believed and or promised that?
PerlJam masak: The way was "only talk about Perl 6 to the 'right' people" and not announce it until there was something more concrete. That would have negatively impacted Perl 5 and Perl 6 though 18:32
diakopter [Coke]: see page 16 of blob.perl.org/perlweb/dev/perl6/tal...-Perl6.pdf
PerlJam masak: on the whole, the marketing failure was worth the innovations we got (in p5 and p6) IMHO 18:33
masak PerlJam: the announcement of Perl 6 was public because it was the answer to "we need to do something to make people not walk away".
diakopter "We expect to have alpha code a year from now, for
some definition of 'alpha'."
(page 20)
masak PerlJam: agree about worth it.
diakopter: whatever happened to the code that would've been that alpha code?
18:34 Vlavv` left
_sri PerlJam: i don't think the separation of the communities was worth it in the end 18:35
18:35 tokuhiro_ left
PerlJam _sri: I'm not sure how much stock to put into the "separation of communities" ... many of us have feet in both camps. 18:36
colomon Anyone out there have an idea what a ===SORRY!=== No STable at index 8 error means in Rakudo?
18:36 Vlavv_ joined
PerlJam _sri: or ... this is when I get to say "you can't make an omelette without breaking some eggs" :-) 18:37
_sri now i'm hungry :S
sorear colomon: that error is caused by Rakudo's compilation cache manager bugging out. The workaround is to find and delete precompiled modules 18:38
PerlJam _sri: What if, I drew analogy between Perl5/Perl6 and Catalyst/Mojolicious where you play Larry's part in the second one? 18:40
(would it make sense? Would you accept that it was worth it?)
diakopter masak: did you read the .pdf?
(not accusing, just asking)
_sri PerlJam: i would say that it was unfortunate things had to develop the way they did 18:41
PerlJam _sri: okay, on that we can agree 100%
masak diakopter: yes, last time you linked to it. 18:42
diakopter oh; heh
...I'd forgotten... 18:43
masak :/
as to "separation of communities", I definitely self-identify as a sixer. but I feel quite at home with Perl 5, too. I wrote some earlier today.
diakopter masak: to answer your question, I don't know precisely.. do you know?
colomon sorear: did that, and it still happens. 18:44
18:44 kaare__ joined, kaare_ left
[Coke] diakopter: huh. I've been working with parrot and perl 6 since 2001 and I never saw that document. 18:46
damian is definitely sending an unfortunate (in retrospect) message there. 18:47
diakopter well, it was published in 2001.. 18:48
PerlJam [Coke]: Are you sure you hadn't seeen it but forgotten about it? (I'm pretty sure that's what happened to me ;)
[Coke] Disbelief is pretty much where a lot of the detractors I meet are these days. (page 23) 18:49
masak diakopter: all I know is that eventually the Parrot people decided they needed a separate Perl 6 pumpking, pmichaud was brought in (in 2004), PGE was started, and the perl6-on-parrot effort did a full reboot and eventually got the name "Rakudo".
[Coke] PerlJam: is there anyway I can truthfully answer that I forgot it?
PerlJam [Coke]: depends on how long you can remember your answer ;)
[Coke] PerlJam: I am reasonably certain I have never read this document before now. 18:50
diakopter masak: well yeah, but I thought there were several abortive/rewrite starts at VMs/implementations before parrot got situated
masak diakopter: probably the Parrot git logs go far enough back to give some answers. I believe I did follow them back all the way once in search of the then Perl 6 implementation. but I don't remember much of what I found. it wasn't that much, though.
PerlJam Feb 2001, Perl 6 was barely more than an idea with some momentum at that point. 18:51
masak when did Parrot get started?
diakopter The first release of Parrot, 0.0.1, was released in September 2001
masak oldest Parrot commit is from 29 Aug 2001.
[Coke] Wed Aug 29 11:36:49 2001 18:52
masak I think it's safe to assume there was no Perl 6 implementation before that.
[Coke] and that post-dates the initial work simon did.
PerlJam masak: Does Topaz count as a Perl 6 implementation? :-)
masak [Coke]: the, um, Sapphire one?
PerlJam: no.
PerlJam: it explicitly chose not to take the name Perl 6 until it got somewhere. 18:53
it didn't get anywhere.
(though it was probably a worthwhile experiment)
'The Topaz project, a rewrite of Perl 5 internals, was eventually abandoned. I asked Larry why, and he replied that "reimplementing insanity is insane". (Meaning "don't try to extend the Perl 5 internals into Perl 6".)' -- strangelyconsistent.org/blog/happy-...ary-perl-6
[Coke] masak: chip was sapphire, I think.
masak no, Chip was Topaz.
same blog post. 18:54
PerlJam www.perl.com/pub/2000/09/sapphire.html
[Coke] I mean, I think simon worked on a bit before it got checked in at all
masak also, <masak> chip left a comment on my blog the other day, to the effect that he called Topaz Topaz precisely so that it shouldn't taint the name 'Perl 6' with bad PR.
[Coke] yah, dude, we already have that covered. ;) 18:56
masak :P
18:56 birdwindupbird left
masak "Perl 6: making the Perl 5 guys look rather good at marketing." 18:57
PerlJam those were the days when Bryan Warnock was a real person rather than just an expression
moritz I'm pretty sure mr. Warnock is still a real person :-) 18:58
masak I'm young enough in the community for "Warnock" to have a mythological ring to it.
except when the newsletters were still being written and I read "Warnock applies" and thought it was this really prolific coder who just went around and applied commits whenever someone asked something :P
PerlJam heh 18:59
masak turns out, no.
rurban Topaz was a C++ vtable hack.
To allow vtable calls change at run-time. 19:00
19:02 jaldhar left 19:07 daxim left 19:10 GlitchMr left
masak I found another bug in last year's game: 'examine flashlight' works even before the flashlight has been revealed in the car. 19:15
moritz has icreasing problems to keep 6ism out of p5 code 19:17
just wrote ... if $ENV<PROJECT_DEBUG>; 19:18
19:21 kst left 19:22 xinming left
arnsholt I have troubles with the parens at times too 19:24
Haven't tried to do pointies for dereferencing yet though 19:25
19:28 jaldhar joined
masak why is the summary from Test.pm '# Looks like you failed 1 tests of 93'? why the uncertainty about whether I actually failed tests or not? 19:29
mauke because 100% certainty doesn't exist
masak .oO( I'm sure it doesn't! ) 19:30
felher *lol*
19:39 kaare__ left
moritz quick question, what should a REST API return when a POST request failed to create a resource? 19:41
19:41 jaldhar left
masak 412 Precondition Failed, perhaps? 19:42
but I would guess it depends a bit. 19:43
flussence I usually go with 400, for lack of a more correct thing
if it's the client's fault, 4xx, server's fault, 5xx
jnthn If the resource to create was coffee, then there's 418 I'm a teapot
19:44 jaldhar joined
moritz flussence: in general, I don't know if it's the client's or server's fault :( 19:46
masak then 450 ;) 19:52
or 900.
jnthn moritz: But is there a "more likely" notion?
moritz jnthn: more likely client side error 19:53
jnthn moritz: Then I'd go with something in the 4xx.
400 bad request is pretty generic but many of the other options are quite specific. 19:54
moritz jnthn: fwiw my toqast rakudo+nqp build still fails fatally on warnings 19:55
(latest nqp + rakudo)
19:56 hoelzro|away is now known as hoelzro
hoelzro hi Perl6 folk 19:56
masak hi, hoelzro! \o
hoelzro o/ 19:57
I think I found another bug =/
dalek kudo/toqast: f0832bc | jnthn++ | src/QPerl6/Actions.pm:
Smartmatching can use a local, not lexical, for temporary.
kudo/toqast: fb3a4b0 | jnthn++ | src/QPerl6/Actions.pm:
Fix whatever curry analysis up, so we don't regress in any of the whatever tests now. Also this probably gets meta-ops righter than before.
jnthn moritz: How can I reproduce?
hoelzro gist.github.com/3131624
that program crashes with a fun error message on Rakudo Star 2012.06
jnthn moritz: warn 'foo'; say 42 # says foo\n42\n
19:58 [Coke]_ joined, mathw_ joined
moritz jnthn: my parrot is RELEASE_4_5_0-111-g96d2ffd, what's yours? 19:58
19:58 telex_ joined, patspam_ joined, crab2313 left, lue left, patspam left, telex left, Pleiades` left, cosimo left, risou left, risou_ joined
jnthn moritz: -V gives "This is Parrot version 4.5.0-devel" 19:59
moritz $ ./qperl6 -e '+"foo"; say 42'
42
19:59 cosimo joined
moritz jnthn: git describe --tags in the parrot repo 19:59
$ ./qperl6 -e '+Any; say 42'
use of uninitialized value of type Any in numeric contextNo such method 'message' for invocant of type 'Any'
jnthn moritz: RELEASE_4_5_0
moritz then a backtrace, and no 42
19:59 Pleiades` joined
moritz jnthn: I'll try that one then 19:59
jnthn moritz: odd, I just tried that qperl6 -e "+Any; say 42" and it comes out with the 42 also. 20:00
20:01 crab2313 joined
jnthn hoelzro: What's the error? 20:02
20:03 pyrimidine is now known as deafleppard, rnddim joined, teee left
moritz star: gist.github.com/3131624 20:03
p6eval star 2012.06: OUTPUT«Cannot locate native library 'libsqlite3.so'␤ in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.5.0/languages/perl6/lib/NativeCall.pm6:102␤ in <anon> at src/gen/BOOTSTRAP.pm:811␤ in any <anon> at src/gen/BOOTSTRAP.pm:807␤ in method connect at /home…
20:04 deafleppard is now known as pyrimidine
hoelzro jnthn: I just commented on my gist with the error message and trace 20:06
20:06 birdwindupbird joined
jnthn hoelzro: Thanks. 20:07
hoelzro I'm compiling Rakudo Star + Parrot with debugging on to see if that sheds some light on the subject 20:08
masak hoelzro++ 20:10
moritz jnthn: still the same with parrot 4.5.0 20:16
jnthn moritz: Very odd. 20:17
moritz: You're using the qperl6 executable?
moritz jnthn: yes
jnthn oh... 20:18
I think I just reproduced it.
oh, but the perl6 executable does the same.
It's not just that CORE.setting my branch lags behind the one in master a bit? 20:19
*in
moritz oh, that might be
jnthn moritz: It lags by some way
moritz: And merging isn't very convenient for me.
moritz jnthn: what about cherry-picking a few commits that fix that? 20:21
jnthn moritz: Guess that's possible. 20:23
moritz: Is it breaking many tests, though?
20:23 brrt joined
jnthn Oh, maybe my spectests are quite old too :) 20:23
moritz jnthn: I think so, yes 20:24
jnthn: 'git diff 53fc0ae 50774a3' is the patch I'd like to cherry-pick 20:25
it's actually a mini branch
jnthn moritz: That should be fine. 20:26
moritz jnthn: I'll spectest with and without and see what the difference is 20:29
hoelzro I'm guessing that this is related to NativeCall 20:34
moritz Files=682, Tests=21973, 854 wallclock secs # toqast with ICU 20:35
and t/spec/S05-modifier/counted-match.rakudo loops, 'cause it misses some setting patches by pmichaud++ 20:36
hoelzro is there a way to force the GC to run in Rakudo? 20:37
jnthn moritz: Hmm, the [Coke] number for mater earlier was 22934...is that the right number? 20:38
moritz: If so that'd seem to suggest the difference is now < 1000 tests. 20:39
moritz hoelzro: pir::gcdebug__vI(1); 1 + 1; pir::gcdebug__vI(0)
hoelzro: untested
r: pir::gcdebug__vI(1); 1 + 1; pir::gcdebug__vI(0); say 'alive' 20:40
p6eval rakudo 1fe39c: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤===SORRY!===␤error:imcc:syntax error, unexpected IREG, expecting …
hoelzro also, is there a way to print the PMC location in memory for an object?
jnthn hoelzro: .WHERE
moritz r: pir::gc_debug__vI(1); 1 + 1; pir::gc_debug__vI(0); say 'alive'
p6eval rakudo 1fe39c: OUTPUT«alive␤»
moritz with underscore
hoelzro damn, that doesn't trigger the error 20:41
this one is sans DBIish: gist.github.com/3131993 20:51
masak lol, I blog'd! \o/ strangelyconsistent.org/blog/july-1...om-the-car 20:58
20:59 kst joined, simplx joined 21:02 birdwindupbird left 21:03 sirrobert joined 21:04 kst left
sirrobert how can I access a class property whose name is contained within a variable? e.g. ... 21:04
class A { has $!foo; method speak () { my $bar = 'foo'; say $!$bar; } } 21:05
masak r: class A { method foo { say "OH HAI" } }; my $method = "foo"; A.new."$method"()
p6eval rakudo 1fe39c: OUTPUT«OH HAI␤»
masak like that.
sirrobert from within the class, though
masak same.
oh, an attribute. 21:06
sirrobert yeah
masak not a method.
no, not without MOP.
sirrobert hmm
ok, I can unDRY my code, then =)
masak r: class A { has $!foo }; say A.^attributes
p6eval rakudo 1fe39c: OUTPUT«$!foo␤»
jnthn wonders "why"
:)
felher masak++ #blogpost / crypt hacking 21:07
21:07 hoelzro is now known as hoelzro|away
masak \o/ 21:08
jnthn (It's hard to give a good answer without a little more context.)
sirrobert jnthn: the output of a Str() function varies depending on a few considerations. method Str() { if $!.a eq any(<foo bar baz>) { return "$!{$.a} is fun!"} }
$!foo $!bar and $!baz are all proeprties of the class 21:09
(err class properties =)
thanks, masak -- looking at MOP stuffs now
arnsholt jnthn: I'm pretty close to having callbacks in a state where I can start testing things, if you were curious
jnthn arnsholt: oooh!
arnsholt: Awesome progress.
arnsholt Annoyingly, the marshalling code is almost but not quite possible to share between invocation and callbacks 21:10
But that's life I guess =)
sirrobert I *love* that hyphens can be used in variable names, btw. 21:11
21:12 kst joined
masak it's not so bad. 21:12
arnsholt jnthn: BTW, is there a standard way of getting at PARROT_INTERP without getting it passed as an argument? 21:13
masak kst: welcome back :)
long time no see.
arnsholt I need the interp object to do some operations in the callback handler, so ATM the interp from the call is passed in the userdata, but that feels a bit wrong
Also, smells like it could explode hilariously if we ever get threads and several interpreters in the mix 21:14
jnthn arnsholt: arnsholt What operations, ooc? 21:16
arnsholt: Agree it's a whole loads of fun if the interp could be running, though, rather than in a "waiting" state...
arnsholt Lemme check. Can't remember off-hand 21:17
jnthn arnsholt: Parrot has some *very* restricted (signature wise) callback handling that worked at some point and may still function somewhat. It could be interesting to look at for how it handles the interp, but it looks like it stashes it like you are. src/interp/inter_cb.c is the place to look. 21:18
arnsholt jnthn: The marshaling operations (make_*_result) need interp, also setting up and invoking the sub call
jnthn OK, that's the things I expected. 21:19
arnsholt Cool 21:20
21:20 brrt left
arnsholt As an aside, it's a bit annoying that the generated _ops.c file doesn't get #line annotations 21:21
21:22 brrt joined
moritz iirc there's a configure option to emit those, but it's not very reliable 21:24
21:24 skids left 21:25 vmspb left
arnsholt Ah, right. That explains why it's not standard 21:25
Anyways, the proper fix for my annoyance would be to fix the ops code so that compilation doesn't result in five pages of warnings =) 21:26
moritz nqp.ops? 21:27
arnsholt nqp_dyncall.ops in my case 21:28
21:28 fgomez left 21:29 fgomez joined
moritz nqp_dyncall_ops.c:119:8: warning: no previous prototype for ‘get_nc_repr_id’ [-Wmissing-prototypes] 21:32
does that mean that function should either be in a header file, or 'static'?
arnsholt Yeah, it means I've forgotten to add the header file to nqp_dyncall.ops 21:34
moritz it's not in any header file, it's just defined in the .ops file
and used nowhere else
so should be static
arnsholt Oh
Yeah, probably 21:35
moritz I'll try to remove some of those warnings
arnsholt I just unstaticed it along with the other get_*_repr_id functions probably
The others were necessary for structs in structs and such
Or you could add it to the appropriate header file, for symmetry
I suspect it'll be necessary for handling callback functions sent from C to Perl 21:36
moritz ok, header file then
arnsholt Anyways, thanks for the help. It's one of those things that're on my list but other things keep being more interesting =) 21:37
moritz++
moritz so the prototype for make_cstruct_result goes into ../6model/reprs/CStr.h, right? 21:39
arnsholt No, that feels wrong I think
moritz or should we have a separate nqp_dyncall.h? 21:40
jnthn The latter sounds more like it.
We could even more some stuff out of the ops file into a separate .c file if it helps/is cleaner.
The Rakudo binder is bundled in like that for example.
arnsholt make_cstruct_result is prototyped in src/6model/reprs/dyncall_reprs.h 21:41
moritz oh
jnthn ah, I guess that's OK too
arnsholt But yeah, what jnthn suggests might be cleaner, actually
Dunno 21:42
dalek p: af917c3 | moritz++ | src/ops/nqp_dyncall.ops:
include a header file to avoid some warnings
21:45 brrt left
sergot good night o/ 21:49
21:49 sergot left
masak dobranoc, o sergocie. 21:51
dalek p: 1950d07 | moritz++ | src/6model/reprs/NativeCall.h:
be more specific about type of NativeCallBody.lib_handle -- avoids a few more compiler warnings
22:01 rnddim is now known as __rnddim__
dalek p: fffa108 | moritz++ | src/ (2 files):
avoid more warnings in C code
22:01
22:01 __rnddim__ is now known as lue
moritz I have no idea what to do about the -Wstrict-aliasing stuff 22:02
22:03 gfldex left
mauke what are the warnings? 22:03
moritz warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing] 22:04
mauke for what code?
moritz CStructBody *body = (CStructBody *) OBJECT_BODY(obj)
22:05 orafu left
mauke yeah, well ... don't do that then? :-) 22:05
22:05 gfldex joined 22:06 orafu joined
moritz what should i do instead? 22:06
mauke what are you trying to achieve? 22:07
moritz clear up compiler warnings in src/ops/nqp_dyncall.ops
mauke remove -Wstrict-aliasing
or compile with 2>/dev/null
moritz well, removing warnings is non-trivial, since they are inherited from parrot's configure 22:08
arnsholt I'm not sure that particular warning is avoidable 22:09
mauke it is trivially avoidable by redirect stderr to /dev/null
however, that is not what you're trying to achieve 22:10
if you're sane
arnsholt Yeah
The goal is clearing up the compile output so that it's not pages and pages of warnings
mauke wrong
the goal is working code
benabik Pages of warnings make it difficult to notice errors. Optimize for programmer happiness. 22:11
mauke the compiler is telling "hey, your code is shit and I'm going to murder it to death"
those warnings are errors
arnsholt Working code is nice too, true. But the proximal goal here is just to make it easier to find errors
mauke er, *telling you
this is an error
arnsholt moritz: If you're looking for LHF, I think there are a bunch of switches with no default that get duplicated several times in the ops section 22:12
22:12 orafu left, benabik left 22:13 benabik joined
moritz arnsholt: and what's the correct default? an "internal error" exception? 22:14
22:15 orafu joined
arnsholt Yeah, probably 22:15
22:16 MayDaniel left
mauke if you can't fix the broken code, -fno-strict-aliasing is a workaround 22:20
dalek p: cbc33cd | moritz++ | src/ops/nqp_dyncall.ops:
avoid more compiler warnings
22:26
moritz arnsholt: I didn't get rid of all those warnings, because dyncall_wb_cs has no access to interp, so I can't throw an exception 22:27
sorear passport application complete
masak 'night, #perl6 22:30
sorear 'night, masak
dalek kudo/toqast: 574a8fa | moritz++ | src/core/Backtrace.pm:
Merge branch 'ex-hardening' into toquast

  (Actually a cherry pick, not a merge. Makes warnings non-fatal again)
22:33
moritz that's another 1.5k tests for me 22:34
22:46 prettyrobots left 22:52 prettyrobots joined 23:00 PacoAir left 23:18 Ex joined 23:28 seldon left 23:37 cenuij2 joined
[Coke]_ (warnings) I have access to update parrot's warning code. if it makes sense to add more warnings or eliminate old warnings, lemme know. 23:46
23:48 [Coke]_ is now known as [Coke] 23:52 skids joined 23:56 zhutingting joined 23:59 Chillance left, nodmonkey left