»ö« 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.
japhb_ lue, You're quite welcome. :-) 00:00
geekosaur retrofits into his version 00:06
00:13 For-Odin joined 00:21 MikeFair_ joined 00:37 kivutar left 00:39 Su-Shee_ joined 00:40 Su-Shee left 00:47 am0c joined 00:51 hash_table joined 01:03 MikeFair_ left 01:08 anuby joined 01:11 hypolin joined 01:18 For-Odin left, japhb_ left 01:34 FROGGS left 01:54 benabik left 01:55 hash_table left 01:58 benabik joined 02:33 bluescreen100 joined 02:37 bluescreen__ left 02:41 jaldhar left 02:44 hash_table joined 02:49 rhr joined, araujo left 02:51 bluescreen100 left 02:58 skids joined 03:07 lacx left 03:08 alec__ left, jaldhar joined 03:10 sevin joined 03:28 geekosaur left 03:30 geekosaur joined 03:31 alec__ joined 03:34 sivoais_ joined 03:36 MAAGQUF joined, aindilis left 03:37 aindilis` joined, orafu left 03:39 ermlich left 03:40 fgomez left 03:41 ermlich joined, fgomez joined, orafu joined 03:43 bbkr joined, bbkr_ left 03:45 sivoais left 03:46 sivoais_ left 03:47 sivoais joined 03:50 bbkr_ joined, bbkr left 03:51 alec__ left 03:57 sevin left 04:00 bbkr_ left 04:05 bbkr joined 04:07 hash_table left 04:19 alec__ joined, preflex left 04:22 preflex joined 04:26 slavik1 left 04:32 slavik1 joined 04:38 arlinius left 04:50 For-Odin joined 05:05 adu_ joined 05:07 adu_ is now known as adu 05:08 skids left
moritz japhb: re IRC + colors, it's a regression. But the nastiness of UTF-8 decoded ANSI-escapes was big enough to repel me from fixing it 05:17
05:19 telex left 05:20 telex joined 05:28 telex left 05:34 kaleem joined 05:35 autumn left 05:36 Timbus left, sivoais left 05:38 telex joined 05:55 sivoais joined 06:01 MikeFair_ joined 06:02 rurban1 joined 06:07 sivoais is now known as sivoais_ 06:15 araujo joined, araujo left, araujo joined 06:19 Myk267 joined 06:23 SamuraiJack joined, sevin joined 06:24 kaleem left 06:48 kaleem joined 07:09 Nom- left, Nom- joined, Nom- left 07:14 Timbus joined, sivoais joined 07:36 adu left 07:44 jokar joined 07:45 vividsnow joined 08:09 quester joined 08:10 FROGGS joined
FROGGS morning 08:12
diakopter o/ 08:13
08:14 vividsnow left, autumn joined
sorear morn 08:20
japhb moritz, gotcha, thanks for the info 08:22
08:24 sevin left 08:32 kaleem left 08:35 vividsnow joined 08:38 quester left 08:42 For-Odin left 08:48 kaleem joined 08:50 Su-Shee_ is now known as Su-Shee, Dan_ joined 08:53 Dan_ left
Su-Shee good morning everyone. 08:55
sorear good morning Su-Shee 08:56
09:00 aindilis` left 09:01 aindilis` joined 09:13 fhelmberger joined
jnthn good morning o/ 09:19
diakopter o/
bbkr good morning 09:23
09:26 thou left
arnsholt jnthn: Making you some stack traces now 09:28
jnthn
.oO( I made you a stack trace, but I eated it )
09:29
09:29 dakkar joined
dalek p/dyncall-sized-num: 3615620 | (Arne Skjærholt)++ | src/6model/reprs/P6bigint.c:
Fix .align of P6bigint storage spec.
09:32
p/dyncall-sized-num: 6302a6e | (Arne Skjærholt)++ | src/6model/reprs/P6int. (2 files):
Start implementing compose protocol for P6int REPR.
arnsholt That branch is the code, parrot and C-level traces at gist.github.com/4593328 09:33
The C trace isn't really interesting, but included for completeness
I'm not sure if the test failure occurs during parsing of the file, or in the second test (which tests integer serialization), but think maybe the latter and that no output is due to buffering 09:34
09:39 sqirrel joined 09:43 Psyche^ joined
jnthn No, repr_compose is typically called on the .compose method of the class 09:44
09:44 grondilu joined
jnthn arnsholt: Ohhh...I see what's going on. 09:45
09:46 Patterner left, Psyche^ is now known as Patterner
arnsholt Oh, goody! 09:47
jnthn sorry, $dayjob called 09:58
I think that we need to always pass a top level hash keyed on which compose protocol is being used 09:59
So that it won't go trying to process an empty set of attribute into as if it's a bunch of native size info. 10:00
arnsholt Right, right
10:02 rurban1 left 10:05 hypolin left 10:10 grondilu left, xinming_ joined 10:13 xinming left 10:22 kaleem left 10:29 vividsnow left 10:33 rurban1 joined 10:37 rurban1 left
bbkr FROGGS: I've tested your multibyte branch. recv works fine but􏿽x85 it is not in S32 spec. Therefore I'm not sure if including underlying method in roast is correct here: github.com/perl6/roast/commit/7bcb012a23#L0R221 10:38
FROGGS: get() is still broken
moritz we can always add it to the spec :-)
10:40 kaleem joined
arnsholt jnthn: Do you want to update the compose stuff, or should I try? I guess it might involve some bootstrappy things? 10:43
10:44 bbkr left
masak good forenoon, #perl6 10:45
jnthn arnsholt: I wouldn't mind a chance to ponder/spec exactly what I'd like. I can probably figure it out on the train this afternoon and diddle the implementation this evening.
moritz gf, masak :-)
10:45 b1rkh0ff joined
arnsholt jnthn: Yeah, that's probably a good idea 10:46
I should probably be preparing for my lecture on friday, so that works out for me as well ;)
jnthn (When I say spec, I don't mean Perl 6 spec, for anyone curious...)
Yeah, I got 3 days of teaching coming up, but short of traveling up to Stockholm this afternoon things are quite prepared :) 10:47
10:47 vividsnow joined
arnsholt Good, good. I'll be preparing a new lecture each week this semester, so that'll be interesting 10:47
(Mostly in the alleged Chinese way, I fear, but a useful experience as well I think) 10:48
10:48 bbkr joined
FROGGS bbkr: awesome, thanks! 10:53
10:55 sqirrel left
FROGGS bbkr / moritz: I'll leave it to others (you?) deciding if the spec needs a change or the implementation 11:05
11:06 Su-Shee_ joined
FROGGS bbkr: think I got you, you say that .recv is not in spec so we shouldnt test it? 11:06
masak arnsholt: "May you live in interesting times. May you come to the attention of those in authority. May you find what you are looking for." -- always makes a chill run down my spine. :) 11:09
arnsholt: there's a good Wikipedia article, too: en.wikipedia.org/wiki/May_you_live...ting_times
bbkr FROGGS: indeed, otherwise some implementations may implement spec but have spec tests failures
FROGGS bbkr: right you are 11:10
arnsholt masak: Oooh, interesting! Cheers!
11:10 Su-Shee left
masak "interesting" :) 11:10
11:10 donghongbo joined
arnsholt Heh, oops ^_^ 11:11
11:12 am0c left
FROGGS bbkr: test 2, 3 and 4 are testing .recv already 11:13
bbkr: will dig into .get these days then
11:20 marloshouse left 11:21 marloshouse joined 11:24 anuby left 11:30 Su-Shee_ is now known as Su-Shee 11:33 rurban1 joined 11:38 kresike joined
kresike hello all you happy perl6 people 11:38
11:40 rurban1 left
masak kresike! \o/ 11:41
kresike masak, o/
11:53 benabik left
sorear o/ 12:03
colomon \o 12:04
masak \o/ 12:05
12:07 rurban1 joined 12:12 rurban1 left
tadzik /o\ 12:15
FROGGS moritz: I'd like to merge my froggs_multibytes branches in, okay? 12:20
12:21 cognominal joined
moritz FROGGS: +1 12:21
FROGGS thanks 12:22
12:34 alpha- joined, alpha- left 12:45 cognominal left 12:46 kivutar joined 12:48 dayangkun left 12:56 Myk268 joined, Myk267 left 13:00 fhelmberger left, sqirrel joined 13:02 dayangkun joined
jnthn train & 13:02
FROGGS .oO( it's a trainy day ... ) 13:03
13:07 donghongbo left 13:08 rurban1 joined
dalek kudo/nom: 5d7b19b | (Tobias Leich)++ | src/core/IO/Socket.pm:
fix for .write( Buf )

Before one got: No such method get_string for invocant of type str
13:11
13:11 dalek left 13:12 dalek joined, ChanServ sets mode: +v dalek 13:13 rurban1 left
moritz FROGGS++ 13:29
13:36 pmurias joined 13:39 rurban1 joined 13:50 rurban1 left 13:58 hash_table joined, bluescreen10 joined 14:04 hash_table left 14:09 benabik joined 14:12 pmurias left
masak moritz: I liked news.ycombinator.com/item?id=5096234 14:16
moritz: clearly you should write that graphical front-end, though ;) 14:17
arnsholt Indeed =)
moritz masak: I guess these days I'd write it as a web page
masak yeah, that sounds cool. 14:18
then you'd get to play around with some graphical JavaScript library too, I duess.
guess*
I've always been intrigued by paperjs.org/ but it's possible something like D3 or processing would serve you better here. 14:19
14:20 fhelmberger joined
Su-Shee masak: D3 is distinctively made to display data, it's focused on making charts. 14:22
masak aye.
moritz though for some reason frontend development never was real fun to me
masak so is RaphaelJS, I believe.
Su-Shee masak: this might be an.. exactly. I just wanted to reommend raphael.. :)
moritz so it's more likely that the frontend will forever remain on the low end of my TODO heap 14:23
Su-Shee frontend development is kind of tedious and boring in the end if you can't participiate in design etc. then you're just the coder of other people's ideas.
arnsholt Yeah, I seem to be accruing a certain number of forever projects as well
masak I haven't gotten tired of frontend development yet. but I agree it can be tedious in some circumstances. 14:24
Su-Shee I like it as my secondary skill. like I like regex and text processing as my secondary skill. 14:25
arnsholt My biggest problem with frontends is the fact that making a nice, useful UI is extremely hard 14:26
(And I have no idea how to go about doing it =)
14:27 jdv79 joined
moritz same here 14:27
it's easy to identify bad UI, and some elements that make the UI bad 14:28
Su-Shee are you two serious? :) man, you go about it as on any other computing subject: you read up on it :)
moritz but that's not enough to build a good one :-)
masak g'ah! rt.perl.org/rt3/Ticket/Display.html?id=70297 -- these days, neither the ^D nor the newline is there. :(
Su-Shee moritz: the principles of a good UI aren't that difficult, it's well established what "good design" in terms of "it faces some user/reader/human" is. 14:29
masak it's too easy to regress on the things that it isn't easy to unit test. :(
14:29 xinming_ left
moritz masak: indeed 14:30
14:30 xinming joined
arnsholt I don't care much either way about the ^D, but should definitely be printed 14:30
a newline should be printed, that is
Su-Shee moritz, arnsholt I'm willing to consult you if you're willing to go over some piece of UI of yours three times :)
arnsholt Su-Shee: I'll keep that in mind, thanks! 14:31
(Especially since I am actually mulling over some webby stuff, pending tuits and various other things)
Su-Shee arnsholt: that's "ok, I put it on the stack of projects I'm not going to do" ;)
moritz Su-Shee: my answer sounds roughly like arnsholt's :-) 14:32
there is a project I started some time ago
and I wanted to do in Perl 6
arnsholt Yeah. My stack of "absolutely, must be done" is overflowing, unfortunately. So my supply of tuits for fun stuff is sadly limited =(
moritz and then rakudo+nativecall segfaulted during the backend stuff
so badly that I never got around to the frontend stuff
but I still plan to revive it eventually 14:33
arnsholt But if I get the sized numerics support off the ground in NativeCall (which should be happening fairly soon I think), I'm gonna try to do some web stuff as a showcase
moritz s/badly/bad/
Su-Shee also, here's my two favorite gui jokes: static.lolyard.com/lol/your-companys-app.jpg and img24.imageshack.us/img24/3423/wget.jpg ;)
arnsholt moritz: What kind of issues did you have with the NativeCall stuff?
moritz arnsholt: DBIs segfaulted when I did too much stuff in one process, basically 14:34
arnsholt Su-Shee: You see, that's where I usually end up =D
moritz *DBIish
Su-Shee arnsholt: I know. ;)
arnsholt Hmm. That's no fun...
14:34 vividsnow left
arnsholt Heh, I guess you have plenty experience with that kind of stuff =) 14:34
Su-Shee arnsholt: it's from an article of wait.. not joel on software dammit.. the other guy.. "this is what happens when you let developer make UIs" ;)
jeff atwood. www.codinghorror.com/blog/2006/11/t...te-ui.html 14:35
14:35 bluescreen100 joined
arnsholt Yeah. I call it engineer-UI, except the compound sounds better in Scandinavian (and I guess German) than in English 14:35
Ah yes, Atwood is good
Su-Shee arnsholt: say it in aeh.. scandinavian, please? 14:36
arnsholt Ingeniør-UI (or ingeniørgrensesnitt)
Su-Shee "grensesnitt" is ?
arnsholt interface, essentially
Su-Shee and literally? there's snitt in it like in .. sewing pattern snitt? 14:37
masak "snitt" means "cut".
Su-Shee masak: yes, Schnitt here :) 14:38
masak so I guess the common denominator between "face" and "cut" is "surface".
"the common surface between things"
Su-Shee masak: which is used in several other contexts - like "Hosenschnitt" (sewing pattern for trousers)
arnsholt Yeah, we use snitt like that as well
moritz phenny: "verschnitt"?
phenny moritz: "blend" (de to en, translate.google.com)
masak yes, but that "schnitt" means "style", essentially :)
14:38 bluescreen10 left
Su-Shee ah. 14:38
arnsholt True, true
masak have you thought of something? the implicit iteration of jQuery is kinda great. and it makes hypers a bit... unnecessary. 14:39
(I'm rewriting the jQuery section of our JavaScript course right now, so it got me thinking)
Su-Shee masak: many js libs do it, D3 too.
masak: I'd emphasis that this is a basic js concept these days 14:40
14:40 stopbit joined, rurban1 joined
masak or rather, the tradeoff that jQuery makes is very sensible: if you're calling a per-element method on a collection, the collection will distribute the call to the elements. 14:40
Su-Shee D3 calls it declarative because you say what you want and not how you want it done
masak it makes the Perl 6 way with hypers feel a bit... picky and unnecessary.
Su-Shee I find it confusing at times, because you have to think in loops. 14:41
masak which one do you find confusing?
and why do you have to think in loops?
how is it more confusing than, say, regexes, where you have to "think in backtracking"? 14:42
Su-Shee masak: because I have to remember that this kind of programming style hides "going over all elements and applying things on them no matter how many there are" under the hood and I might not even see that it is doing that
regexes I found very intuitive, I never had any problem with it bringing them into a mental image or metaphor.. 14:43
masak: it's not programming with objects and it's not procedural and somehow also not evented, so I'm confused :)
moritz on the one hand I find the "distribute over all elements of a collection" thing beautiful 14:44
OTOH I often struggle with JS in the browser simply not having any effect at all
and I wonder if that's related
Su-Shee also, due to javascript syntax it looks cluttered in js with all the (function () { }); stuff
moritz maybe I accidentally do stuff on empty collections, and don't notice?
or maybe none of the element in the collection support the operation, even if it's not empty? 14:45
hoelzro Su-Shee: that is probably the most frustrating thing about JS to me
masak :)
Su-Shee moritz: then it usally gives you an error which sounds like something totally different ;)
masak moritz: you could always explicitly check whether you got an empty selection.
hoelzro not (function() {})(), but the fact that that workaround is necessary because JS' scoping rules are stupid
moritz masak: that helps against the first case, but not against the second
Su-Shee hoelzro: imagine we'd consequently write perl5 that way - buttugly as well
hoelzro heh 14:46
I once saw someone write (function() ... end)() in Lua
14:46 rurban1 left
hoelzro I pointed out that in Lua, a good language, this horrid construction is unnecessary 14:46
we have proper scoping!
masak :P 14:47
Su-Shee hoelzro: I meant the stuff not even used for scoping but because you e.g. supply an anonymous function as a callback
masak hoelzro: people will go to great lengths to get private variables if you don't design it into the OO system. 14:48
Su-Shee hoelzro: which also looks like shit.. foo(bar, function () { ... })
masak Su-Shee: that looks totally readable to me.
hoelzro Su-Shee: see, I don't really have a problem with the way the syntax looks
Su-Shee masak: yes, because for now it's a short version, now put stuff in there or call a function in the function etc etc
masak actually, it's one of the things I admire about JavaScript. the ease with which it throws around function literals.
hoelzro masak: it's not even private variables; if you want to run initialization code in a "module", or have local vars/functions, you need that stupid workaround 14:49
unless you use let, which isn't standard
masak Su-Shee: oh, for sure. but then you define the function elsewhere, and just pass in a named reference ;)
Su-Shee THAT I like too, I just find it looking cluttered and I'd wish that you could do it somehow with less (){}({}))
masak hoelzro: yeahbut, it's still private variables, just called a "module" instead...
hoelzro Su-Shee: my style for HOF is to write functions that generate other functions
or pass references to named functions
(for clarity's sake) 14:50
masak: ok, good point
hoelzro interpreted "private variables" as "private members"
Su-Shee yeah sure, we do lots of things to make it readable.. but for example look at node.js code..
hoelzro Su-Shee: right
Su-Shee I spent a lot of time with formatting and beautifying javascript code and that never is a good sign. 14:51
moritz masak: what I hate in javascript is how you have to distinguish attributes and methods, str.length and str.something_else()
hoelzro so when you start getting into 3 levels of function() { ... }, you should probably break things up a bit
moritz masak: which is directlly related to easily passing around function literals
hoelzro just like if you were indenting too far
Su-Shee moritz: actually, it's worse because you can use str.something_else without () :)
masak moritz: yeah. methods are just callable properties. 14:52
moritz: that's borrowed directly from Self, IIRC.
moritz Su-Shee: exactly 14:53
masak moritz: I... kinda like it. it makes it very easy to talk about the function objects behind the methods. but yeah, it's also easy to forget the ()
moritz but you get the routine back, not call it
hoelzro is not sure if he prefers attributes and methods in the same namespace or not
masak moritz: which is a feature, not a bug :)
moritz: I *don't* like that methods can be called that way without an proper `this` binding.
Su-Shee hoelzro: well they're both part of the object. 14:54
masak moritz: var f = obj.method; f() // oops
14:54 fgomez left
masak moritz: that's where the unification between functions and methods in JavaScript falls down and turns bad, IMO. 14:54
moritz masak: agreed
Su-Shee I really like classless OO, that - together with tossing around function objects easily - my favorite javascript feature
14:55 fgomez joined
masak moritz: I'm still mulling over that, and think I can fix it in my language. but I shan't say too much -- working code trumps empty talk :) 14:55
hoelzro yeah, it's poweful
Su-Shee "is"
hoelzro *powerful
that's why I like Lua
masak Su-Shee: agreed.
hoelzro it's JS minus the dumb.
masak hoelzro: except that in Lua, 0 is true! o.O
14:55 vividsnow joined
masak well, truthy. 14:55
Su-Shee hoelzro: it has a nice whipuptitude I like. it's not about (I love that quote) "satisfying your inner linneus" and building large OO hierachies but about "hey this thingie is an object" 14:56
masak "Linnaeus" :)
Su-Shee hence my question recently how much perl 6 really is prototypical classless OO
masak the 14:57
the MOP is classless.
14:57 donghongbo joined
Su-Shee well marx would totally disagree. the mob is very full of class ;)) 14:57
masak heh. 15:00
15:03 kaare_ joined
masak but srsly, someone could probably take the knowhows of 6model and build a fairly close replica of the JavaScript prototypal object model. 15:03
15:04 jerome joined 15:14 rurban1 joined, SunilJoshi joined
Su-Shee grrr.. why does gists want me to add another file and disable create public gist?! 15:16
dalek rl6-roast-data: ab1da8c | coke++ | / (4 files):
today (automated commit)
arnsholt <3 git 15:17
Su-Shee yay. finally
arnsholt: gist.github.com/4595381
[Coke] rpn: use Test; nok ([==] (^2**64).roll(10).map(* +& 15)), 'Range.pick has enough entropy';
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/icuJ8LX6HC line 1, column 1␤»
..rakudo a26956, niecza v24-18-gaf64300: OUTPUT«ok 1 - Range.pick has enough entropy␤»
[Coke] p: say [==] (^2**64).roll(10).map(* +& 15) 15:18
p6eval pugs: OUTPUT«(timeout)»
arnsholt Su-Shee: Fun =)
[Coke] if someone could pugs-fudge the last test in S32-list/pick.t, I'd appreciate it.
arnsholt I have piles and piles of TeX code, if you want O:D
Su-Shee arnsholt: oh god no :) 15:19
arnsholt I've grown to quite like TeX and LaTeX actually 15:20
15:20 rurban1 left
arnsholt Not sure if it's true love or Stockholm syndrome, though =D 15:20
Su-Shee I've read an article of someone who attempted to cleanup/rewrite the tex code so it's easier to port and to embed and such and he gave up ;) 15:21
I switched basically all my text based stuff to HTML in '95.
arnsholt Yeah, TeX itself is kind of crazy. Thus the Stockholm syndrome 15:23
But it beats Word and friends ;)
Su-Shee never used it but a little word5 for dos, I switched directly to plain text after I finished my thesis for everything else. 15:24
15:24 kivutar left
arnsholt That's a bit older than I've ever used, I must admit 15:25
But I produced my thesis in LaTeX with great pleasure. And the end result didn't look too bad, either =)
15:26 alec__ left
Su-Shee latex couldn't do proper german humantities quoting and bibliographing at that time and umlauts were a PITA so I didn't use latex for my thesis.. 15:26
arnsholt What is proper German humanities quoting, OOC? 15:28
And bibliographies are a PAIN
[Coke] class A { has @things } ; say A.new().things; 15:30
Su-Shee arnsholt: quoting as in referencing, sorry. I don't know what's it called in english. the notation of how you say "it's from miller's "foobar today", page 17 from 1889"
[Coke] r: class A { has @things } ; say A.new().things;
p6eval rakudo a26956: OUTPUT«No such method 'things' for invocant of type 'A'␤ in block at /tmp/bX3sJ04hRG:1␤␤»
15:30 sivoais_ left
[Coke] r: class A { has $things } ; say A.new().things; 15:30
p6eval rakudo a26956: OUTPUT«No such method 'things' for invocant of type 'A'␤ in block at /tmp/GBPCQZEnBA:1␤␤»
arnsholt Su-Shee: Ah, right. Citation style, I think. The German style for that is footnotes, no? 15:31
[Coke] r: class A { has @.things } ; say A.new().things;
p6eval rakudo a26956: OUTPUT«␤»
arnsholt I once leafed through my Sanskrit professor's (German) PhD thesis. Lots and lots and lots of footnotes
So many that the footnote counter started at 1 for each chapter, in fact =D
Su-Shee arnsholt: yes and no, you can do both, but commonly at that time you did it in footnotes 15:32
arnsholt Ah, cool. I used the Chicago style for my thesis: "I am very clever" (McCleversson 1986) 15:33
Su-Shee arnsholt: another problem was (and maybe is) style of the quoted piece of text: if it's just a half sentence or so, you don't want it in a new line with indentation but "just" quoted and italic.
arnsholt Or (McCleversson 1986, 42) if you included the page number
Su-Shee arnsholt: very uncommon. 15:34
masak [Coke]: this is why we can't have nice @things!
Su-Shee arnsholt: Müller, "Marxismus im Lichte der Geschichte", 1889, S.123ff and later on Müller, 1889, S.327 15:35
15:35 hash_table joined
arnsholt Yeah, the Chicago footnote style looks more or less like that. I don't like it much =) 15:36
Su-Shee arnsholt: well latex offered me "harvard" style, but the FU berlin isn't that fancy ;) 15:37
arnsholt Hehe 15:38
15:40 skids joined 15:43 arlinius joined 15:45 kaleem left
[Coke] masak - how many candidates submitted entries for task 1? 15:52
... "that were accepted"
masak checks 15:53
[Coke]: 7.
16:01 kresike left
arnsholt Ooooh, when I talk about the Turing test, I must use the relevant XKCD comic =D 16:01
16:03 benabik left 16:04 benabik joined
masak heh. :) 16:05
16:08 bluescreen100 left 16:14 rurban1 joined 16:16 kresike joined
moritz btw I've fixed the date for the P6 mini hackathon to 2013-04-06 16:16
masak moritz++ 16:19
16:21 Khisanth left
colomon P6 mini hackathon? 16:23
16:24 rurban1 left 16:25 SunilJoshi left 16:26 spider-mario joined
masak colomon: irclog.perlgeek.de/perl6/2013-01-20#i_6354902 16:27
colomon masak++ 16:28
ah, across a very large ocean from me. :(
16:28 SunilJoshi joined
FROGGS I hope it's a foodathon and talkathon too^^ 16:32
16:34 hoelzro is now known as hoelzro|away
masak let's just say I've never been to a hackathon where there wasn't food or talking. 16:34
16:35 Khisanth joined
masak but I'm not sure those bits merit the '-athon' suffix. :) 16:35
colomon suspects there will be some sort of beer as well.
Su-Shee who suggested fuerth?!
masak beer? in Germany?! :P
16:35 rurban1 joined 16:36 marloshouse left 16:37 atrodo joined
FROGGS Su-Shee: I believe the location isnt fixed yet 16:37
Su-Shee moritz put fuerth into this doodle thingie. 16:38
FROGGS cause he lives there
but I'm not sure if 5 ppl will fit in nicely in his flat 16:39
ohh, plus moritz and wife and kids
moritz FROGGS: it's no problem for the day, just the night(s) might get crowdy 16:42
16:42 PacoAir left
moritz FROGGS: but I hope to let some of the folks sleep at friends who live not too far away 16:42
kresike bye folks
16:42 kresike left
Su-Shee I don't even get to fuerth in sensible time :) 16:43
moritz Su-Shee: you're welcome to arrange for hosting of a hackathon somewhere more suitable for you -- I'll do my very best to attend :-) 16:45
FROGGS moritz: I wont mind sleeping in a motel
Su-Shee moritz: my living room can host 8 people ;) 16:46
moritz Su-Shee: then I'm looking forward to Su-Shee's p6 hackathon :-) 16:49
Su-Shee moritz: ok, I guess it's easier here to find room for hacking people. ALSO NICE TRY YOU JUST WANT MY COOKING. ;) 16:50
FROGGS hmmm, I could take the train, 5 hours from Berlin to Fürth isnt that bad...
moritz Su-Shee: not "just". But I do want your cooking too :-) 16:51
FROGGS but from Berlin to Berlin I'd be a bit faster ;o)
Su-Shee moritz: yeah, yeah they all say that.. ;) 16:52
16:57 marloshouse_ joined 16:59 erkan left
Su-Shee oh. my. god. this is the middle ages.. and people call python "clean" .. I have to call some fortran compile lines by hand for some algebraic library scipy needs.. 17:05
geekosaur suggests 1802 assembly language 17:06
Su-Shee isn't that ar something something? ;) 17:07
arnsholt Su-Shee: Well, scipy isn't really Python =)
It's just a wrapper around mostly piles and piles of Fortran, mostly
Su-Shee arnsholt: "aha." man, cpan PDL works since dinosaurs walked the earth ;)
arnsholt: yeah so is R and install.packages(foo) works nicely ;)
that's ridiculous in 2013. 17:08
timotimo ipython requires a socket to listen and reply to pings at all times. can such a thing be done properly in rakudo? doesn't seem that way, unless nqp learns threads, right? 17:09
Su-Shee isn't ipython a gui environment?!
17:11 alec__ joined
geekosaur can be, doesn't have to be 17:13
timotimo Su-Shee: it offers really cool frontends that are, basically, language agnostic
multiline editing, for instance. 17:14
and the web app "notebook", that behaves like maxima/mathematica, with cells and in-line text and stuff
er, what i said made no sense as an answer to your question
Su-Shee yeah but what does it need a ping for? ;)
timotimo to check that the kernel hasn't secretly died
Su-Shee what? 17:15
timotimo: what kernel? my linux kernel?
timotimo the ipython kernel ;)
there's the qtconsole, which is a GUI terminal with highlight-as-you-type, the notebook, which is the web app thingie, and the terminal console
and the protocol is rather simple, based on zeromq and json.
i.imgur.com/6iHwAPf.png - like this 17:16
17:16 donghongbo left
Su-Shee and why on earth would I allow some gui app to keep my network connection open at all times just to check if it is alive itself?! 17:16
moritz why not? can be a local socket 17:17
timotimo the kernel and the gui are separate processes and may live on another box entirely
right.
17:17 MayDaniel joined
timotimo can even be a UNIX domain socket 17:17
Su-Shee moritz: a local socket would need ping what for?
17:18 FROGGS left
[Coke] why rewrite it to use non network stuff when network stuff works locally? 17:18
arnsholt Su-Shee: It's the best way to do IPC, really
Far more portable than domain sockets for example 17:19
moritz Su-Shee: there's a frontend and a backend. The frontend wants to check if the backend is still responsive (ie not totally hung)
so that if the backend is hung, it can tell the user, and/or restart
Su-Shee yes, sorry but I find clients which have to ping to check if their servers are still available rather weird.
my browser doesn't ping a website first. 17:20
timotimo yeah, but you're not constantly connected to the website
you make a connection, load the website, close the connection
geekosaur your browser usually doesn;t have to worry that what it just did crashed the webserver :)
timotimo in ipython, you'll do something like for i in range(1000000): if is_prime(i): list.append(i), or maybe you'll call out to some C code or something 17:21
no way to see if it's busy calculating or if it's hung
Su-Shee yeah.. still makes no sense to me. 17:22
good to know though.
timotimo: how do you use it if you're working from a notebook and have no network access at the moment?
timotimo: "you don't"? 17:23
arnsholt Loopback interface
geekosaur loopback will still be up
arnsholt It doesn't actually require a physical network. You use 127.0.0.1 to talk to yourself, essentially
17:23 sqirrel left
timotimo loopback is always up 17:23
arnsholt Also, the server will bind by default to loopback, so the outside world can't talk to your backend =) 17:24
timotimo open 24/7, self-service networking for everyone
arnsholt: also, it's authenticated with key+hmac
so even if you could open a connection. oh, that screams DDoS
17:25 thou joined
arnsholt Makes sense 17:27
Su-Shee ok and my loopback device which can be pinged which therefore tells ipython's client "hello, I'm here and awake" does what exactly if I do some calculation which is usally run on ipython's server? :)
arnsholt Oh, BTW. Regarding ZMQ I have hope that I can get sized numerics working in NativeCall reasonably soonish 17:28
The threading stuff is a lot harder to work around
I think Parrot's been working on their threading stuff quite a bit lately, but the Perl 6 side of threads is almost completely unspecified IIRC 17:29
timotimo Su-Shee: if your server dies, the client can say "the kernel died. want to wait for it to restart?" 17:34
17:38 rindolf joined 17:39 SunilJoshi left 17:40 aindilis` left 17:41 aindilis` joined
Su-Shee timotimo: I was mostly being sarcastic now. ;) I'm not going to use python for anything serious anyways. 17:42
timotimo you wouldn't be using python. you would be using ipython to do perl 17:46
perl6, specifically
because you'll get nicer readline-ing, history, embedded graphics and plots, ...
Su-Shee I get all that in R. 17:47
also I'm not going to use a python tool to do perl6.
timotimo you're free to do whatever you like :) 17:48
Su-Shee timotimo: yeah, you just convinced me to avoid ipython, one thing less I have to install.. 17:49
17:50 fhelmberger left
timotimo huh, ipython is that bad? 17:51
Su-Shee I have no need for it and you lot just made me extremely suspicious. 17:53
timotimo hah
i think i must have been expressing myself poorly or something. i don't see what's wrong with it.
17:55 dakkar left
geekosaur I think su-shee might be under the misapprehension that anything even remotely related to IP sockets must automaticaly and inherently be fundamentally insecure 17:56
Su-Shee geekosaur: yeah sure, that's totally what I said. 17:57
rindolf Hi all.
Su-Shee anyways. my environment - my tools. and python will not be one of them.
geekosaur no, you haven't really said much of anything other than that all you;ve gleaned is that iython must be highly suspicious
and I can;t see where you got that unless you're knee-jerking about IP sockets 17:58
17:58 PacoAir joined
Su-Shee geekosaur: aha. interesting interpretation of things I didn't say. :) 17:59
18:00 Myk268 left
masak rindolf: hi. (nothing's up.) 18:00
18:00 Myk267 joined
rindolf masak: OK. :-) 18:01
masak a few things are shaking, though. ;)
18:03 Harzilein joined
Harzilein hi 18:03
flussence greetings!
japhb Hello, Harzilein.
18:04 Myk267 left
Harzilein can you give me an example for binary/raw slurp? 18:04
18:04 FROGGS joined
Harzilein as in, open on binary on platforms where that is needed, read "8 bit" data 18:05
but i'd like to still be able to split on line endings -.-
masak hehe.
Harzilein s/on binary/as binary/
masak Harzilein: I'd like to say that there are no "line endings" in binary mode... but it's not really that simple.
moritz my $buf = slurp :bin, $filename; 18:06
masak Harzilein: more interestingly, why are you interested both in binary mode and line endings at the same time?
moritz and then maybe
Harzilein masak: i want to read a a pdf with unexpanded parts. but i want to be able to get "line 127" later.
moritz my @chunks = $buf.decode('Latin-1').split("\n")>>.encode('Latin-1')
Harzilein masak: unexpanded parts might not be valid utf8. or make that "rather certainly aren't"
moritz where @chunks are really lines 18:07
Harzilein hp@tt-24:~/niklas-cebit2013/Archive/1-1000$ ls *.unc.pdf | perl6 -n -e 'my $filename = $_; slurp(:bin, $filename);'
Unexpected named parameter 'bin' passed
18:07 SamuraiJack left
moritz Harzilein: what's the output of perl6 --version? 18:07
masak yeah. my thought too. 18:08
Harzilein This is perl6 version 2012.01 built on parrot 4.0.0 revision 0
flussence ouch
FROGGS to old
masak a year old... :)
those were the days...
FROGGS slurp( :bin, ... ) will work on newer rakudo, get the update ;o)
moritz slurp got :bin in July last year
Harzilein will i need a newer parrot engine as well then?
moritz yes 18:09
Harzilein argh
i hoped to stay with the system parrot
masak the Rakudo build process builds Parrot for you too.
japhb Might as well just get a current Rakudo Star, and let it give you a nice bundle.
masak yeah.
Harzilein it appears rakudo does not see much activity in debian unstable, apt-cache policy rakudo shows no newer version than is in testing
japhb ENOMAINTAINER, I'm guessing 18:10
moritz we'd love debian to ship more up-to-date packages
but it seems nobody invests any energy in it
masak :( 18:11
Harzilein i need a newer nqp as well? :/
FROGGS Harzilein: yes
18:12 vividsnow left
FROGGS but per Configure.PL --gen-nqp will no it for you 18:12
s/per/perl/
Harzilein will that install a per-user nqp?
FROGGS s/no/do/
-.-
Harzilein i really want to keep my system perl6 intact
japhb Harzilein: It's a stack. parrot => nqp => rakudo => ecosystem
FROGGS it will create a nqp subdir (and a parrot subdir), and will use that 18:13
tadzik Harzilein: install it in your homedir
I'm doing this on debian testing
FROGGS it wont install anything in PATH
tadzik I never even tried the debian packages
flussence system and local perl6 installs don't clash (at least on gentoo)
jnthn Good evening from the shittiest hotel room I've ever been given on a teaching trip to Stockholm :/ 18:14
18:14 fgomez left
japhb jnthn, Ouch, sorry to hear that. 18:15
masak good evening jnthn.
sorry to hear about le room :/
rjbs jnthn: If you're loving the hotel room by morning, be careful. You might have that syndrome I've heard about.
japhb rjbs, :P
jnthn rjbs: ;)
18:15 fgomez joined
jnthn I'm not that demanding but come on, have at least a desk/chair so I can use a laptop comfortably :/ 18:16
diakopter LAPtop
geekosaur confortably 18:17
diakopter jnthn: find a new hotel nearby?
geekosaur *comfortably
jnthn diakopter: yeah, does'nt work with this eyesight. My back has already taken enough laptop use for a lifetime, let alone for somebody my age... 18:18
japhb jnthn, Conspicuously camp out at the chair nearest the concierge desk? 18:20
s/concierge/check-in/, if none of the former
Still, I think diakopter has the right idea.
(To find a better hotel room, I mean.)
diakopter before it gets too dark... 18:30
oh wait..
jnthn :P
It's -10C up here. Proper winter :)
(Outside, that is...) 18:31
Su-Shee jnthn: and why do I have -10 too and I'm not in scandinavia? :(
18:31 sivoais left 18:32 sivoais joined
diakopter 12C here 18:32
jnthn Su-Shee: I don't consider -10 a particularly bad thing :)
Su-Shee jnthn: I just started cooking dinner with an open kitchen window ;) 18:33
geekosaur -12C here fwiw
masak -2°C in subtropical Malmö. :) 18:35
[Coke] wow, I was going to crow about how warm it is here, but it's -7°C :)
Su-Shee masak: sweden isn't anymore what it once was.. ;)
[Coke] is clearly stuck way too inside the building.
18:36 thou left
[Coke] moritz: +S12-methods/syntax.rakudo aborted 12 test(s) 18:36
18:38 vividsnow joined
rjbs -8°C at home, but a balmy -6°C at work 18:39
Su-Shee rjbs: at home? well that's a bit fresh, isn't it.. ;)
rjbs fresh?
colomon -12°C is our *high* for the day today. 18:40
jnthn TimToady, others: Some food for thought on a spec/implementation change I think may be a good idea: gist.github.com/4597127
dalek rl6-roast-data: 678daac | coke++ | / (4 files):
today (automated commit)
18:43
rjbs colomon: Nice. The temps I gave are also predicted highs, but you still win!
FROGGS jnthn: there will be an impact of the ecosystem at all? 18:44
colomon It was more like -16°C when I took Henry to preschool this morning.
not fun. 18:45
[Coke] jnthn++ 18:46
18:47 rurban1 left
colomon jnthn: I've got nothing against your suggestion, but I'm not sure I understand why it makes optimizations easier? 18:47
moritz colomon: in general it's easier to reason about subs than about methods at compile time 18:49
colomon: because subs are lexical, and lexpads are immutable at run time
colomon: and even though you often know a type constraint at compile time, the runtime object might be that of a subtype, and have a different method of the same name 18:50
so, I'm +1 too. And I left a comment on the gist
colomon Ah. So a piece of code can only dispatch to multi subs it knows about at compile time, yes? 18:52
it's sort of the opposite of the lift problem.
moritz well, you can still do stuff like
my &c := $obj.give_me_some_mutlis; c(|args) 18:53
jnthn FROGGS: There will be, but only for things that implement custom array/hash types byu overriding postcircumfix.
FROGGS: NativeCall's CArray is possibly an example but I'd have to look to be sure. The benefit of these changes is that I could make working with CArray things more efficient. 18:54
colomon: It is basically what moritz++ said - the lexical nature of sub calls means we can do a lot more with them at compile time.
flussence I like the proposal. There's one downside in that people using custom postcircumfixes will need to modify their code... but I doubt that's a lot of people, if any
jnthn flussence: Yeah, it's not zero impact but it's relatively low. 18:55
I've been pondering how to efficiently do compact arrays for a while, and this change helps a lot. I'm struggling to see how to do it without huge amounts of runtime dynamic optimization with the current way things are factored. 18:56
colomon is still pondering the theoretical limitations involved -- but didn't everyone normally override at_pos anyway? 18:57
jnthn colomon: Overriding at_pos is the normal way imo
colomon: If you knew that for your particular type you can implement slicing a LOT more efficiently than doing repeated at_pos calls for each element, then today you'd do it by writing a postcircumfix method to handle the slice case. 18:58
colomon: With my proposed change you can still do that, you just write/export a multi. 18:59
18:59 xinming left
jnthn So far as I can tell, my proposal doesn't lose us any capabilities, it just changes the way things are organized to be more friendly to analysis. 18:59
colomon jnthn: but you'd lose the ability to use that optimization in code which was compiled not knowing about the optimization ahead of time, yes? 19:00
19:01 xinming joined, thou joined
colomon it seems like you're trading a rare optimization chance for a common one. 19:01
jnthn colomon: Not quite sure I follow; multi candidate lists are immutable by CHECK time, which is when the optimizer runs.
Maybe I'm missing it but I'm not immediately seeing the case where things get less optimizable. 19:02
colomon jnthn: If I write a module which uses [ ], it will only be able to use versions of [ ] it knows about at compile time, right?
moritz correct 19:03
jnthn colomon: Yes, but OTOH if you have a type that you've imported which overrides at_pos, it'd be odd to import the type without importing its postcircumfix overrides.
moritz though [ ] again re-dispatches to AT_POS, which is not fixed at compile time
jnthn I mean, I'd expect you'd have to go out of your way to do that.
A "use ThisModuleWithACustomArray" would presumably export both things by default. 19:04
moritz: yes, I'm not proposing that at_pos becomes a sub. That stays as a method for sure.
timotimo does this proposed change affect the spec? doesn't seem so to me at first glance
jnthn timotimo: Yes, it does. This is somewhat user facing. 19:05
moritz well, if it's not specced whether postcircumfixes are subs or methods, then it's a glaring omission from the spec
colomon but if you also did "use ThisModuleWhichUses[ ]SlicesALot", it wouldn't suddenly gain the stuff ThisModuleWithACustomArray exported, would it?
moritz (which might well be possible)
jnthn colomon: No, due to separate compilation. 19:06
colomon jnthn: right, that's the optimization loss I'm commenting on.
(the lost chance to use a custom [ ])
timotimo OK
colomon custom optimized [ ], I mean.
19:07 [particle]1 left
jnthn colomon: ah, you're saying if the thing was passed into a module with a different set of postcircumfix things in scope? 19:07
Yes, you're right.
colomon right.
jnthn But that's the same issue we have with all the other operators.
colomon I'm sensitive to this because I got burned badly in Vector operator + (etc) 19:08
jnthn I'm guessing that was a case of "I want lift here"?
colomon jnthn: right, I'm not seeing this as a show-stopper to your proposal; I think the trade off is probably worth it, from what you've described.
jnthn: right
jnthn colomon: Yeah, it is a very good point, though. 19:09
OK, I need food :) 19:10
bbiab
colomon I mean, losing a rare optimization to gain one which is very common seems like a sensible choice.
timotimo i've been wondering about "how can we tell a * or a Junction to tell what its scope is". the only sensible solution i came up with was a block with a $_ 19:12
i.e. 10 < * < 20 → { 10 < $_ < 20 }
19:13 ermlich left, spider-mario left, ermlich joined 19:14 spider-mario joined
Harzilein moritz: okay, compiled it. is there something akin to perlbrew that will set up paths to point to ~/rakudo/install/*? 19:20
FROGGS Harzilein: no, there is no command line util that let you choose a specific rakudo and set paths 19:21
19:31 thou left 19:32 Chillance joined
Harzilein FROGGS: well, i don't really need to do much choosing 19:32
FROGGS: just system perl6 vs. git perl6
FROGGS: but i guess if such a thing existed you'd have mentioned it as well 19:33
FROGGS: :/
FROGGS Harzilein: symlink is your friend I suppose
timotimo tadzik: what keeps your MPD module from working properly? is it just more functions that need to be copypasted into the file? 19:41
tadzik timotimo: I guess so 19:46
I didn't try it for some time
it may be still functional
timotimo it shows in the commit log ;)
tadzik oh, and I felt uneasy with the lack of destructors in Perl 6
timotimo oh? is that a big problem?
tadzik so it may^Wwill leak memory :/
timotimo will perl6 be destructorless forever? o_O 19:47
tadzik well, I hope not
timotimo nothing in the specs yet?
tadzik but so far the talk was "well, the spec is unimplementable given the GC we have"
the spec expects some certain object destruction order
that doesn't play well with the fact, that GC never promises anything relating the destruction of objects 19:48
timotimo it will be better with the jvm!
tadzik well, would it? 19:49
timotimo i ... guess?
diakopter no.
tadzik iirc java lets you specify a destructor for native objects, but still doesn't guarantee order
so we'll not be to-spec anyway
perhaps the spec should be revised
timotimo oh, well :| 19:50
diakopter it's hard to schedule destructors. should they run in a separate thread?
masak if you ask me, we should run the heck away from destructors and DESTROY (the underlying theory of which is fundamentally flawed) and look more towards C#'s IDisposable and the 'using' statement. 19:51
timotimo sounds like a good itea
masak good. it's settled, then. 19:52
diakopter :)
tadzik I wish :)
masak heh. I was kidding, but your treating it as a joke still annoys me. :P 19:53
masak laughs at his brain
tadzik I was hoping you're serious 19:54
masak I am serious.
but I agree we should decide a bit more slowly than that :)
diakopter You're seriously kidding?
tadzik :D
masak almost always.
I believe DESTROY methods make sense in a refcounted world such as Perl 5's. even there, they are slightly unpredictable. 19:55
timotimo yeah, ask the pypy people about thear experiences
masak one of the biggest problems with them is that they almost always run at a time where the immediate surroundings are crumbling around the object being destroyed.
moritz with a GC, in which dynamic scope is a destructor run?
masak oh, you meant to use that attribute? sorry, we GC'd it already.
moritz if it throws an excpetion, where can you catch it?
masak that problem is called something, maybe the zombie destructor problem or sump'n. 19:56
"object resurrection" en.wikipedia.org/wiki/Finalizer 19:57
please to use this instead: en.wikipedia.org/wiki/Dispose_pattern
FROGGS I just hate GC's when it comes to threads, without theads Perl 5's model is pretty decent to me
moritz and if you have no cyclic object graphs
masak I think the age of refcounting GCs is over. or should be. 19:59
benabik Java provides in-GC finalizers. But they're not guaranteed to be called. 20:00
20:00 vividsnow left
benabik Heh. And runFinalizersOnExit is depreciated without replacement. 20:00
iOS uses refcounting.
Primarily because a real GC was found to be too expensive. So Apple added techniques to the compiler to automate refcounting. 20:01
tadzik Vala \o/ 20:02
and, hm, Perl 5 \o/
masak here's the thing that makes me not like DESTROY (and Java's equivalent). they're not guaranteed to be called, or not guaranteed to be called in a timely manner. so, if you care enough to use them, almost by definition you're leaving your important code to a bad custodian. 20:03
that's what appeals me about the dispose pattern.
benabik masak: +1
tadzik hrm. It may be funny to supply your own malloc() to the C resources, via some LD_LIBRARY hack 20:04
which will be GC-friendly
benabik Sounds fragile. 20:07
I know OS X links the full paths of libraries, so it's more difficult to spoof. 20:08
20:17 vividsnow joined
skids googles "real-time GC" in a sudden fit of masochism. 20:24
20:27 avay joined
masak hey peeps, are you up for a mini-challenge? :) 20:27
avay how can i parse a rtf file,please help
FROGGS if it is really "mini", then yes :o) 20:28
masak avay: metacpan.org/module/RTF::Parser
moritz avay: you read the specification, and build a parser according to the specification
masak FROGGS: oh, it's so small.
avay hi FROGGS!!!
FROGGS hi avay
skids 42. next question.
masak avay: or you read the specification, and then you act like a parser.
avay specification of rtf? 20:29
masak skips all sarcastic responses to that
FROGGS sure, formatting codes for eample
masak avay: yes.
avay okkk 20:30
masak ok, here's the mini-challenge.
back in 2011, BooK was doing Sierpinski triangles in git.
yes, you read that right.
moritz en.wikipedia.org/wiki/Rich_Text_Fo...rnal_links has links to the specs
avay lemme give a try ...anyways thank you all
masak he synthesized commits whose parent links made up a Sierpinski triangle. 20:31
moritz people do the strangest things :-)
masak anyway, he said he had failed to find a recursive algorithm that would generate a Sirepinski graph of "order N" (i.e. consisting of three order-N-1 Sierpinski triangles)
so naturally, I tried.
I almost succeeded. I have the old implementation in Perl 6 if someone wants to look. 20:32
I know the "trick": it's that you need two mutually recursive routines.
one that produces a complete Sierpinski triangle, and one that produces a "chipped" one, missing its bottomest node.
because the chipped one is the fundamental recursive unit to make the three smaller Sierpinski triangles glue together. 20:33
here, a gist may help: gist.github.com/4598144 20:34
20:34 avay left
masak the 1s are created first, then the 2s, then the 3s. 20:34
(they have to, because a git commit has to be created immutably after its parents)
it's a fun problem, give it a shot! :D 20:35
of course, doing it with an actual git repository is optional.
the main idea is the topology of the nodes.
FROGGS: see? "mini" :) 20:36
FROGGS hehe
well
skids tries to figure out why 1 gets to stomp on 2 and 3's shared vertices but 3 gets to stomp on 2's. 20:38
20:40 vividsnow left
masak skids: I hadn't thought of it before, but it seems one has a choice whether to make 1 chipped or not. 20:40
if one makes 1 chipped, then 3 can stomp on 1 instead of vice versa.
maybe that'll be a simplification, I dunno. 20:41
skids It just didn't seem logical unless the algorithm was working from both ends.
masak please tell me which stomping order you'd prefer. 20:42
moritz the one where I'm on top :-) 20:43
skids I suppose it doesn't matter. Though I guess if you had rock-paper-scissors that would be a different algorithm. 20:46
masak skids: well, I agree that it's conceptually impure that 2 gets stomped on by both 1 and 3. 20:49
masak tries to fix it
skids: yes, it's fixable: gist.github.com/4598144 20:50
moritz r: gist.github.com/4598144
timotimo i'm not sure why panda takes 3.15 seconds to do nothing at all :|
p6eval rakudo a26956: ( no output )
masak skids: 1 now gets stomped on by both 2 and 3. 2 gets stomped on by 3. 3 is the complete subtriangle, instead of 1. 20:51
skids: conceptually, 2 is chipped and 1 is "doubly chipped".
argh, no. that doesn't work. :(
20:52 vividsnow joined
masak (because of the node that belongs to 2 instead of 1) 20:52
(it needs to be created with the rest of the 1 triangle)
...so we're back to both 1 and 3 stomping on 2. it seems inevitable. 20:53
20:58 thou joined 21:01 luisma joined
masak luisma: greetings. 21:01
21:03 luisma left, b1rkh0ff left
skids Wouldn't the same apply to the node owned by 3 instead of 1? 21:03
21:05 vividsnow left
masak no, because it doesn't have any descendands belonging to 1. 21:05
descendants*
skids so 1 stomping 2 stomping 3 wouldn't be consistent? 21:06
masak here's the rule we must uphold: no child can be created before its parent.
it's really a topological sort problem if you think about it. 21:07
but it *feels* very amenable to recursion.
skids Ah. So you don't really want just a "graph" you specifically want a tree + crosslinks. I see. 21:08
jnthn back
masak skids: well, I want a DAG à la git.
skids: that is, the edges are directed, pointing upwards from child to parent. 21:09
skids And the edges between siblings...? 21:10
Or do we just omit those/
masak not sure what you mean. there are no sibling links.
all the edges point upwards.
from child to parent.
skids Only because you've rotated the triable 30 degrees :-) 21:11
masak a child may have 0, 1, 2, or 3 parents.
skids erm triangle
masak yes, sorry, but the orientation is part of the problem specification.
there are no edges between siblings. 21:12
skids OK, that makes things much clearer :-)
masak *phew* :)
ooh, I bet I could solve this nicely with recursion and HOP functions. :) 21:13
so a chipped triangle is a function which expects a node and returns a complete triangle :)
skids Maybe just rename 2<->#
erm 3. why can I not type. Oh It's 4:30. that's why. 21:14
masak no, 3 must be created after 2 because the rightmost node of 3 has parents both in 2 and 3. 21:15
if you squint on the level of recursion 1 is a parent to 2 and 3, and 2 is a parent to 3. 21:20
21:22 vividsnow joined 21:23 hash_table left 21:25 sjohnson left, sjohnson joined 21:32 donaldh joined
jnthn hotel bar = comfy seat + table + pale ale \o/ 21:41
diakopter \o/
jnthn ...ok, average pale ale. ;)
Still much better than lager :) 21:42
sorear Hopefully there is a glass of some kind involved. 21:44
masak or at least a concave vessel. 21:46
timotimo maybe they serve their beer in klein'sch bottles
masak is the proud owner of one 21:47
jnthn There is indeed a class
er, glass
masak it's darn tricky to clean, I tell you.
jnthn ...dammit, that's what happens if I talk about beer whlie spec'ing 6model design :P
masak tries and fails to pun on MOPs and hops 21:52
[Coke] can barley keep up with regular perl6 dev.
arnsholt jnthn: Regarding your proposed spec change (which sounds reasonable enough to me, FWIW), is a native array a my int @array or my CArray $array?
21:53 kaare_ left
jnthn I was thinking of "my int @array" but my CArray $array would be able to take advantage also 21:53
21:54 hoelzro|away is now known as hoelzro
arnsholt Yeah, I figured it would be the former, but wasn't sure 21:54
jnthn Well, the latter is a native array too :) 21:55
arnsholt I noticed that Rakudo has an int1 type the other day and got to musing how my int1 @array should be represented as a bit vector in the ideal case
jnthn Yeah. 21:56
Ideally :)
I'm pondering how to factor all of that stuff and make sure there's enough to optimize things well
22:03 skids left 22:06 PacoAir left 22:07 spider-mario left
timotimo tadzik: do you think using explicit deallocation functions for MPD would be acceptable? 22:07
tadzik timotimo: that's what I was using, iirc :) 22:08
timotimo oh, right. but will that still leak memory if used right? 22:09
tadzik I don't think so, no
you'll explicitely call free(), that shouldn't leak
22:14 vividsnow left
dalek p: 93b13be | jonathan++ | docs/6model/repr-compose-protocol.markdown:
First crack at spec'ing REPR compose protocol.
22:21
22:23 Chillance left 22:29 thou left
dalek p: fc24b09 | jonathan++ | src/QAST/Operations.nqp:
Add compreg and [get|set]_hll_global abstractions.

We're not going to provide full on namespace support in the nqp:: ops. However, we will provide languages with a global place to stash stuff. They can hang their idea of namespace off that or any other useful things (for example, NQP and Rakudo use it to stash their module loader).
22:30
22:38 vividsnow joined 22:41 MayDaniel left
dalek p: ea37f39 | jonathan++ | src/ModuleLoader.pm:
First pass at ModuleLoader portability.

Doesn't do all the things, and some amount of this is going to have to be VM specific anyway. But this at least starts to clean up some of what can be stored.
22:43
jnthn 'night, #perl6 22:45
22:52 vividsnow left 22:54 snoopy joined, snoopy is now known as Guest80864 22:56 countley joined
countley rindolf : how are you 22:56
rindolf countley: I'm fine. Trimming my inbox. 22:57
countley you must be a perl master by now 22:58
rindolf countley: well, I'm not much of a Perl 6 master. 23:01
masak never too late to start. 23:03
countley rindolf ive just been exploring linux for the past few years i stopped programming but maybe next year ill start again 23:04
rindolf countley: ah.
masak: right.
masak has trouble imagining not doing programming on a regular basis 23:05
I think I would feel... empty, somehow.
countley masak: lol
i compensate that with abit of bash scripting 23:06
masak :) 23:09
"I don't program often, but when I do, I do it in bash." :P 23:10
23:14 thou joined 23:16 thou left 23:18 hoelzro is now known as hoelzro|away 23:24 stopbit left 23:28 benabik left 23:31 araujo left 23:33 donghongbo joined 23:35 countley left 23:36 rindolf left 23:40 skids joined, donghongbo left 23:43 donaldh left 23:51 kivutar joined