»ö« 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 butx85 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
|