»ö« 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. |
|||
colomon | \o | 00:02 | |
00:02
betterworld left
|
|||
jnthn figures he'll just gut the NQP::World role handling and do it over in the light of how Rakudo does it | 00:04 | ||
00:13
fridim_ left
00:17
bluescreen10 joined
00:21
betterworld joined
|
|||
colomon is trying to remember what he wanted to do to niecza before he got sidetracked with the bag operators | 00:23 | ||
00:26
am0c joined
|
|||
sorear | TimToady: I can't use gnome-terminal until I find a way that works to turn off this cursed blinked cursor | 00:27 | |
TimToady | ah, well, doesn't bother me | ||
00:27
frew joined
|
|||
sorear | I've tried using gconftool-2 but the settings don't "stick" | 00:30 | |
TimToady | I bet quietfanatic would know, but he's off at college... | 00:31 | |
huf | back in ancient times, you had to have gnome-session-daemon or something running to have apps see the things you set via the gconf editor | ||
TimToady | sorear: btw, did you see my /msg's? I know it's easy not to see them in irssi... | 00:32 | |
sorear | huf: If I set options within gnome-terminal itself, like bg color, it works fine. | 00:33 | |
huf | you're running the whole gnome DE? | ||
because then disregard everything i said. | |||
sorear | huf: I'm not running the gnome DE. | 00:35 | |
huf | ahh.... yes, then something like what i used to do might apply | ||
00:36
betterworld left
|
|||
sorear | What did you used to do? | 00:38 | |
huf | well, some years ago i remember i had to start gnome-session-daemon from my .xsession to have apps see the settings | ||
but i think that's gone now | 00:39 | ||
is gconfd running? | |||
someone seems to have started one on my behalf | |||
sorear | gconfd: command not found | 00:40 | |
huf | 2715 /usr/lib/libgconf2-4/gconfd-2 | ||
this is what i have, it's running in my name and the ppid is 1 | |||
i have no idea who started it | |||
not me, it's not in my xsession | |||
i'm basically assuming it's important to gnome :) | 00:41 | ||
sorear | I don't have that running, and if I run the executable directly, it immediately exits without forking a daemon | ||
00:42
plobsing left
00:43
betterworld joined
|
|||
geekosaur | gconfd / gconfd-2 is started automatically by any gnome-isprogram that uses the settings api | 00:45 | |
00:46
skids joined
|
|||
geekosaur | s/-ispr/-ish pr/ | 00:46 | |
00:47
am0c left
|
|||
colomon | TimToady: just realized I got multiset multiplication wrong. | 00:48 | |
TimToady | I have no idea how it's officially defined... | 00:49 | |
colomon | it's element-wise multiplication | ||
(just got that from Knuth!) | |||
TimToady | with missing elements 0? | ||
colomon | yes | ||
TimToady | that's what I'd expect | ||
what did you do instead? | |||
colomon | I mean, that's not mentioned explicitly in the tiny writeup, but that's got to be it. | ||
min | 00:50 | ||
TimToady | hmm | ||
right, which is what I said before | |||
multiplying seems wrongish to me, if it's really a bag | |||
colomon | so, I'm also wondering if bag union bag should be a bag. | 00:51 | |
there's a straightforward definition for it... | |||
(or bag union set, for that matter) | |||
TimToady | yes, I think bags are probably infective | ||
colomon | I apologize for jumping in and coding without trying to do any multiset research first. :) | 00:52 | |
TimToady | you and me both :) | ||
colomon | oh, wait, the multiplication thing is not the same symbol. | 00:53 | |
TimToady | wp shows intersection as min | 00:54 | |
and now that I think of it, multiset multiplcation is based on the union symbol, not the intersection | |||
colomon | the operator I'm looking at here in Knuth is intersection-dot | 00:55 | |
which doesn't seem to be in unicode? | |||
TimToady | .u multiset | ||
phenny | U+228C MULTISET (⊌) | ||
TimToady | .u ⊍ | ||
phenny | U+228D MULTISET MULTIPLICATION (⊍) | ||
TimToady | .u ⊎ | 00:56 | |
phenny | U+228E MULTISET UNION (⊎) | ||
TimToady | those are the only ones that grepping for multiset gives | ||
.u ⋿ | |||
phenny | U+22FF Z NOTATION BAG MEMBERSHIP (⋿) | ||
TimToady | .u ⟅⟆ | 00:57 | |
phenny | U+27C5 LEFT S-SHAPED BAG DELIMITER (⟅) | ||
U+27C6 RIGHT S-SHAPED BAG DELIMITER (⟆) | |||
TimToady | there's also those | ||
and that exhausts m:i/«bag»/ | |||
colomon | I vote we make multiset multiplication the same as the "intersection-dot" operator, ie element-wise multiplication. | 00:58 | |
at the very least, until we find a better definition somewhere! | |||
TimToady | sure | 00:59 | |
00:59
scott_ joined,
scott_ is now known as Guest67603
|
|||
TimToady | are there any mathematical entities you might put in a bag that are naturally geometric? | 01:00 | |
sorear | Balls? | ||
Although those are found more in urns than bags | |||
s/^/Colored / | 01:01 | ||
colomon | oooo, found a paper on multisets available online | 01:02 | |
projecteuclid.org/DPubS/Repository/...1093634995 | |||
errr, may be too fundamental... | 01:03 | ||
01:04
frew left,
frew joined,
frew left
01:08
whiteknight left
|
|||
dalek | p/bs: 4ea3bcb | jnthn++ | src/NQP/World.pm: Start to clear up role handling a little; toss deserialization code and eliminate use of add_code_LEGACY. |
01:16 | |
p/bs: fee2122 | jnthn++ | src/HLL/World.pm: Eliminate add_code_LEGACY, now all uses of it are gone. |
|||
p/bs: 8cddbe2 | jnthn++ | src/NQP/World.pm: Gut NQP::World's role handling; we'll do something more like Rakudo does. Put in the simplest thing that could possibly work: making a code ref for the role body and passing it along to the meta-object. Actually passes the first three role tests anyway... |
|||
jnthn | Grr...this stuff is too fiddly for 2am...will continue tomorrow. :) | ||
'night | |||
colomon | \o | 01:18 | |
01:21
woosley joined
|
|||
sorear | just tried kterm. a o SP enter -> 猫 FAIL | 01:25 | |
TimToady | meow! | 01:26 | |
01:27
miso_soup joined
|
|||
dalek | ast: 0bf94c0 | (Solomon Foster)++ | S03-operators/bag.t: Fix tests for multiset multiplication -- they now test multiset multiplication rather than multiset intersection. |
01:31 | |
ecza: 75fe43c | (Solomon Foster)++ | lib/CORE.setting: Fix multiset multiplication so that it's distinct from multiset intersection (which I will be implementing shortly). |
|||
TimToady | well, niau would be more suitable | ||
01:32
plobsing joined
|
|||
sorear | not nyaa? | 01:35 | |
TimToady | well, it was a pun on 似合う | 01:39 | |
01:40
tty234 joined
01:53
thou left
|
|||
colomon | ugh, not having a shortcut to say Bag | KeyBag is a pain | 01:53 | |
errr, unless i can just say that? | 01:54 | ||
niecza: sub foo(Bag | KeyBag $a) { say $a; }; foo(bag(a=>10)); | |||
p6eval | niecza v14-51-g3474558: OUTPUT«===SORRY!===Unable to parse signature at /tmp/8D2t7q6Qaq line 1:------> sub foo(⏏Bag | KeyBag $a) { say $a; }; foo(bag(a=Couldn't find final ')'; gave up at /tmp/8D2t7q6Qaq line 1:------> sub foo(Bag | ⏏… | 01:55 | |
01:55
thou joined
|
|||
TimToady | a Bag role should encompass both, I'd think | 02:00 | |
KeyBag just adds mutability | 02:01 | ||
or a Baggy role | |||
colomon | should it be a Bag role, or... hmmm | 02:05 | |
I always feel more comfortable subtracting mutability | |||
Baggy role? | |||
(that's as in, how does going for the Baggy role sound to you) | 02:06 | ||
TimToady | I wouldn'ta suggested it if I didn't think it was okayish | 02:11 | |
02:17
sisar left
|
|||
colomon | okay | 02:20 | |
[Coke] | is the skip function supposed to have a leading count or a trailing count? | 02:24 | |
sorear | I don't remember, but I know it switched a couple months ago | ||
trailing count. | |||
[Coke] | Danke. | 02:25 | |
... of course, just switching the args in pugs doesn't make the skip work. ah well. ;) | 02:29 | ||
phenny: ask masak to fix skip("reason", $count) in pugs. | |||
phenny | [Coke]: I'll pass that on when masak is around. | ||
02:32
replore_ joined
02:35
preflex left
02:37
preflex joined
02:41
bluescreen10 left
|
|||
dalek | ast: 068fb14 | (Solomon Foster)++ | S03-operators/ (2 files): Bag union and bag intersection are infective, so move those tests. |
02:42 | |
02:46
lutok joined
|
|||
dalek | ecza: ffefe23 | (Solomon Foster)++ | lib/CORE.setting: Add role Baggy, Bag union, and Bag intersection. |
02:56 | |
[Coke] | "total", 3009, 0, 1722, 14, 4745, 23233 | 03:02 | |
(pugs) | |||
dalek | ast: a842b80 | coke++ | S0 (8 files): pugs fudge |
03:03 | |
colomon | [Coke]++ | ||
dalek | gs.hs: 58459c2 | coke++ | t/spectest.data: run fudged tests |
03:04 | |
03:07
lutok left
03:11
thou left,
jferrero left
|
|||
[Coke] | Looks like I'm back up to 2300 more "LHF". | 03:20 | |
5K passing tests after this hiatus is pretty good, I think. | |||
03:21
`patch`_ is now known as `patch`
|
|||
colomon | nod | 03:21 | |
[Coke] | -> zzz | ||
TimToady | o | 03:22 | |
/ | |||
colomon | sleep soon.... | 03:24 | |
though I hate going to sleep with a bug... | 03:25 | ||
got it! | 03:26 | ||
colomon -> zzz | 03:27 | ||
TimToady | \ | ||
o | |||
03:27
orafu left
03:28
orafu joined
03:37
replore_ left
03:38
sftp left
03:46
miso_soup left
04:17
s1n joined
04:20
thou joined
04:21
bbkr_ joined
04:22
bbkr left,
bbkr_ is now known as bbkr,
jnthn joined,
BooK_ joined
04:29
PZt joined
04:37
s1n left
04:42
stepnem left
04:43
stepnem joined
04:49
retupmoca left
04:55
birdwindupbird joined
04:58
lestrrat left
05:00
lestrrat joined
|
|||
sorear unsubscribes from parrot-dev due to CI emails | 05:03 | ||
05:06
birdwindupbird left,
birdwindupbird joined
05:09
miso_soup joined
05:34
miso_soup left
06:05
zby_home joined
06:12
cognominal joined
06:21
GlitchMr joined
|
|||
dalek | kudo/match-refactor: 6a5b656 | moritz++ | src/ (2 files): refactor Str.match to be more modular also implements :exhaustive and :nth |
06:43 | |
sorear | o/ GlitchMr | ||
GlitchMr | Hi, sorear | ||
tadzik | good morning | 06:44 | |
sorear | good morning tadzik. | ||
could someone, preferably with Cantonese knowledge, help me in #parrot? :| | 06:45 | ||
sorear wonders how much longer it will take before people start saying Guandongese, and if pinyin will even still be used then | 06:46 | ||
06:47
co_ajak_cewe_ngi joined,
co_ajak_cewe_ngi left
|
|||
bonsaikitten | I guess pinyin is going to stay for a while | 06:47 | |
06:47
JimmyZ joined
|
|||
bonsaikitten | it's convenient, even with all its limitations | 06:47 | |
sorear | o/ JimmyZ | ||
bonsaikitten: I'm referring to the fact that Wade-Giles WILL NOT DIE | |||
06:48
takesako joined
|
|||
bonsaikitten | c'est la vie | 06:48 | |
sorear | I don't know what the successor to pinyin will be called, but Wade-Giles still won't be dead then either. | ||
06:49
jaldhar joined
|
|||
JimmyZ uses pinyin :) | 06:53 | ||
06:56
ascrazy joined
|
|||
JimmyZ wonders which line is about Cantonese knowledge | 07:03 | ||
sorear | JimmyZ: the generally broken english, and their ip resolved to Shenzhen | 07:04 | |
JimmyZ | sorear: hehe | ||
sorear | I thought maybe someone like you would be better equipped to understand them | ||
JimmyZ | sorear: I'm in Shenzhen too | 07:05 | |
07:06
alc joined
|
|||
JimmyZ always wrote broken english, which is bad | 07:07 | ||
07:11
thou left
07:15
proller_ left
|
|||
ascrazy | please, tell me how I can dynamically define method, for example in constructor | 07:42 | |
nom: class X { has Str $.m is rw; submethod BUILD(Str :$.m){ has &.test = (method (){ $.m }).assuming(self) }}; X.new(:m<zxc>).test.() | 07:43 | ||
p6eval | nom 4130f6: ( no output ) | ||
ascrazy | nom: class X { has Str $.m is rw; submethod BUILD(Str :$.m){ has &.test = (method (){ $.m }).assuming(self) }}; X.new(:m<zxc>).test.().say | ||
p6eval | nom 4130f6: OUTPUT«zxc» | ||
ascrazy | but i want also dynamically determine the name of the method | 07:46 | |
and it would be fine if it were a method, not an attribute-subroutine | 07:47 | ||
JimmyZ | ascrazy: X.^add_method('name', method) or X.HOW.add_method('name', method); | ||
ascrazy | great, thanks | 07:53 | |
07:53
tarch joined
|
|||
ascrazy | JimmyZ: maybe there a some documentation about it? I have not found anything on perlcabal.org/syn/ | 07:56 | |
JimmyZ | ascrazy: github.com/rakudo/rakudo/blob/nom/...amodel.pod or github.com/rakudo/rakudo/blob/nom/...ct-api.pod and github.com/rakudo/rakudo/tree/nom/.../Metamodel | 08:00 | |
ascrazy | JimmyZ: thanks | 08:01 | |
sorear | for a while you could use ::() in roles, but that's no longer done | 08:07 | |
moritz | remember to call X.^compose after you're done adding methods | 08:08 | |
08:09
GlitchMr left
08:11
Guest67603 left
08:14
preflex left
08:15
preflex joined
08:38
JimmyZ left
08:42
ascrazy left
08:46
mj41 joined
08:48
JimmyZ joined
08:50
xinming left
|
|||
sorear | I tried removing the DFA cache, and apparently it *does* make a difference; CORE from 60s to 72s | 08:51 | |
08:51
xinming joined
|
|||
moritz | and what about memory usage? | 08:54 | |
sorear | according to the memory profiler, the DFA cache is *tiny8 | 08:56 | |
moritz | ok | ||
so are the parse trees what takes up all the space during parsing? | 08:57 | ||
sorear | No, that's still the NFA cache. | ||
moritz | compare robohash.org/Perl%205 robohash.org/Perl%206 and robohash.org/Python | 09:05 | |
I like how Python has a silly hat :-) | |||
(robohash generates roboter images based on a hash over a text) | |||
phenny: tell jnthn in the match-refactor branch, code such as 'abc'.split(/b/) dies with This type cannot unbox to a native integer in method reify at src/gen/CORE.setting:4488. The code that dies is nqp::unbox_i(nqp::istype($n, Int) ?? $n !! $n.Int); and debugging output shows that $n is an Int. Any idea how to debug that? | 09:14 | ||
phenny | moritz: I'll pass that on when jnthn is around. | ||
09:22
ab5tract joined,
zby_home left
09:24
woosley left
|
|||
moritz feels bad for starting several branches, getting stuck and then needing to bother jnthn++ to get unstuck :/ | 09:36 | ||
09:37
ascrazy joined
|
|||
bacek | ~~ | 09:38 | |
seen jnthn | |||
aloha | jnthn was last seen in #perl6 5 hours 16 mins ago joining the channel. | ||
bacek | phenny, tell jnthn what is the point of /bs branch? Why don't use ImageIO(Freeze|Thaw) PMCs from Parrot? | 09:39 | |
phenny | bacek: I'll pass that on when jnthn is around. | ||
arnsholt | IIRC bs is short for bounded serialisation, and aims to do some kind of limited serialisation | 09:41 | |
moritz | bacek: does ImageIO(Freeze|Thaw) support recursive-but-limited (de)serialization? | ||
arnsholt | So that you don't always freeze your whole object graph | ||
bacek | moritz, can you explain your question? | ||
moritz | bacek: well, we need to serialize objects and type objects | 09:42 | |
bacek: which have dependencies on the whole meta object system | |||
bacek | moritz, it all depends how object itself want to serialize. VTABLEs thaw/freeze | ||
moritz | bacek: so all of that needs to be serialized recursively, but for example not the parse tree of the current program | ||
bacek | moritz, it's possible. ImageIO is just orchestrate calls to VTABLE_freeze/thaw | 09:43 | |
moritz, every PMC decide by itself which part requires serialization (and how) | |||
and you'll have really good opportunity to store it in PBC | 09:44 | ||
Anyway, my point is - we did invent this wheel already. Let's make it more circular instead of inventing new one. | 09:45 | ||
09:47
dakkar joined
|
|||
moritz | afaict we had several discussion about this on parrotsketch and parrot-dev, and found that parrot's solution wasn't sufficient | 09:47 | |
so jnthn++ decided to prototype it outside, so that we know what we need from parrot | |||
09:51
dju joined
|
|||
bacek | there is one small problem... | 09:55 | |
Parrot is some kind of "understaffed" and it's very likely that we'll not have enough people to bring this prototype into Parrot. | 09:56 | ||
moritz | well, rakudo has the same kind of problem | 09:57 | |
09:57
pernatiy left
|
|||
moritz | it's also understaffed, and if the most efficient approach is to not mess with parrot, that's what we do | 09:57 | |
09:58
daxim joined
|
|||
bacek | moritz, don't "mess with it". Just change it to shape required. | 09:59 | |
moritz | well, that's not always easy | ||
lists.parrot.org/pipermail/parrot-d...05410.html has some notes | |||
bacek | moritz, yes. 1) We did improve GC. Notably. And I'm looking into rewriting GC once again. | 10:06 | |
2) We have some profiling tools. Still LTA. | 10:07 | ||
10:08
alc left
|
|||
moritz | bacek: I specifically meant the serialization notes in there | 10:08 | |
bacek | 3) Just build nqp/bs branch as Parrot's freeze/thaw improvements/replacement. We can discuss which parts are useful, which are useless and which are stupid. But overall serialization is in much better shape now | ||
moritz | bacek: I know about profiling and GC. Much more awesome than 2 years ago | 10:09 | |
jnthn | morning, #perl6 | ||
phenny | jnthn: 09:14Z <moritz> tell jnthn in the match-refactor branch, code such as 'abc'.split(/b/) dies with This type cannot unbox to a native integer in method reify at src/gen/CORE.setting:4488. The code that dies is nqp::unbox_i(nqp::istype($n, Int) ?? $n !! $n.Int); and debugging output shows that $n is an Int. Any idea how to debug that? | ||
jnthn: 09:39Z <bacek> tell jnthn what is the point of /bs branch? Why don't use ImageIO(Freeze|Thaw) PMCs from Parrot? | |||
bacek | 4) It's stalled. Our PBCs are way too fragile and highly coupled with IMCC :( | ||
jnthn, aloha | |||
jnthn | hi, bacek | 10:10 | |
10:23
NamelessTee joined
10:30
PZt left
|
|||
jnthn | bacek: There were many reasons - amongst them: it was just easier to build what I wanted the end result to look like, that NQP is bootstrapped and Freeze/Thaw is, iirc, tied to PBC version, that I don't know how I'd have handled the stub code object stuff, the bounded notion of it that moritz already mentioned... | 10:32 | |
...plus wanting it to fit in neatly with 6model and the HLL::World model, and wanting an object serialization approach that would work out relatively fine when I wish to get NQP bootstrapped on additional backends. | 10:34 | ||
bacek: My *expectation* at one point was that m0 would come along, we'd build 6model et al on top of that base, build things to replace the existing interesting PMCs using that, write a new PAST::Compiler to target whatever m0 wanted us to target and so forth. | 10:36 | ||
10:36
unobe left,
[particle] joined
10:37
djanatyn joined,
unobe joined
|
|||
jnthn | bacek: In that approach, less coupling to existing stuff that I doubt would survive the m0 transition (like, PMCs being more primitive than some low-level objecty thing like 6model) would seem helpful. | 10:37 | |
bacek: Every time I do something that makes the "6model on top of PMCs" model more deeply entrenched, the harder I see turning that arrow in the other direction. | 10:39 | ||
masak | good antenoon, #perl6 | ||
phenny | masak: 02:29Z <[Coke]> ask masak to fix skip("reason", $count) in pugs. | ||
masak | later :) | 10:40 | |
10:40
lestrrat left
10:41
lestrrat joined
10:42
noam__ left
10:47
noam joined
10:49
JimmyZ left,
JimmyZ joined
|
|||
masak | "Guandongese". cute. and obvious in retrospect. | 10:53 | |
hehe. robohash.org/Ruby | 10:54 | ||
robohash.org/PHP | |||
all of them feel "right" in some weird unspecifiable sense. robohash.org/Scala robohash.org/Java robohash.org/Clojure robohash.org/Google%20Go | 10:56 | ||
moritz | :-) | 10:57 | |
masak | of course, it's already 廣州話 to the Chinese, so it won't make a difference to them what the 西人 call it. | 11:02 | |
11:03
fsergot left
|
|||
JimmyZ can't understand Cantonese | 11:04 | ||
Teratogen | good morning | 11:05 | |
masak | Teratogen! \o/ | ||
Teratogen | hi masak | ||
dalek | kudo/match-refactor: a495442 | moritz++ | src/core/Str.pm: slightly rework Str.split to avoid passing 1..* ranges around internally |
11:06 | |
kudo/match-refactor: 919603a | moritz++ | src/core/Str.pm: re-instate workarounds for the zero-width-regex-matches-after-end-of-string bug |
|||
jnthn | moritz: That nqp::unbox_i failing sounds REALLY weird. | 11:09 | |
moritz | jnthn: aye | ||
jnthn | moritz: Have you managed to golf it to anything? | ||
moritz | jnthn: I've reduced the number of occurences with a495442, but it still crops up in seemingly unrelated ways | ||
dalek | p/bs: de17776 | jnthn++ | src/NQP/ (2 files): Move setting of op libs and hll into World. |
11:10 | |
moritz | jnthn: not yet | ||
now that tests have stopped hanging, I'm doing a full spectest and see in which contexts it pops up | |||
nom: say <a b c>.list.gimme(Inf) | 11:13 | ||
p6eval | nom 4130f6: OUTPUT«This type cannot unbox to a native integer in method reify at src/gen/CORE.setting:4435 in method gimme at src/gen/CORE.setting:4812 in block <anon> at /tmp/GRES6pfmrL:1» | 11:14 | |
moritz | jnthn: there you go | ||
now that I know what the problem is, it's easy to avoid | |||
jnthn | nom: say Inf.WHAT | 11:17 | |
p6eval | nom 4130f6: OUTPUT«Num()» | ||
jnthn | nom: say ?nqp::istype(Inf, Int) | ||
p6eval | nom 4130f6: OUTPUT«False» | ||
jnthn | nom: say ?nqp::istype(Inf.Int, Int) | ||
p6eval | nom 4130f6: OUTPUT«False» | ||
moritz | I added a pir::say(pir::typeof__SP($n)), and it did say Int, I think | ||
jnthn | nom: say Inf.Int.WHAT | 11:18 | |
p6eval | nom 4130f6: OUTPUT«Failure()» | ||
moritz | nom: say Inf.Int.WHAT | ||
p6eval | nom 4130f6: OUTPUT«Failure()» | ||
jnthn | Ah, there we go | ||
It's relying on what comes back from .Int to always be an Int. | |||
moritz | we should *really* make .Type either return that type or error out | ||
jnthn | yeah | ||
Because it's not a particularly unreasonable expectation :) | 11:19 | ||
my $eager = nqp::p6bool(nqp::istype($n, Whatever)); | 11:20 | ||
That line in List.gimme should be updated to check for Inf. | |||
moritz | and can we make $eager an int? | ||
11:20
cogno joined
|
|||
jnthn | Why? | 11:21 | |
Bool::True and Bool::False don't require any allocation | |||
moritz | oh right | ||
then it's fine, I think | |||
jnthn | It'd save a container allocation I guess | ||
But only if the compiler is smart enough to know not to box on the LHS of ?? | 11:22 | ||
Which I suspect it currently ain't. | |||
dalek | kudo/match-refactor: 5b44683 | moritz++ | src/core/Str.pm: avoid passing Inf to List.gimme() |
11:24 | |
11:25
cogno left
11:39
benabik left
11:40
fridim_ joined
11:50
noam left
11:51
noam joined
11:54
fridim_ left
11:56
NamelessTee left
12:05
noam left
12:06
noam joined
12:09
NamelessTee joined
|
|||
dalek | p/bs: faad21e | jnthn++ | src/NQP/World.pm: Set up .hll and op libs when doing dynamic compilation. |
12:24 | |
p/bs: cd2d658 | jnthn++ | src/core/NQPRoutine.pm: Correct is_dispatcher; simply add_dispatchee. |
|||
p/bs: a4b32bb | jnthn++ | src/how/NQPClassHOW.pm: Correct dispatcher test in multi incorporation. |
|||
p/bs: 1c44619 | jnthn++ | src/ (2 files): Make stringification of NQPRoutine work. |
12:25 | ||
p/bs: bf58d7d | jnthn++ | src/ops/nqp.ops: Harden dispatcher check to avoid false positives. |
|||
p/bs: 65d8cac | jnthn++ | src/ (3 files): Always make code objects for methods - it will make dynamic compilation and thus role handling FAR saner. This required some twiddles to multi-method handling also. Will come back and unify multi-subs with this approach later also. |
|||
12:31
sftp joined
12:35
benabik joined
|
|||
dalek | ast: 7fa2c2d | moritz++ | S05-modifier/exhaustive.t: clean up and fudge exhaustive.t a little |
12:48 | |
ast: b07cd56 | moritz++ | S05-modifier/counted-match.t: s/todo/skip/ a test for a NYI feature |
|||
12:52
mtk joined
12:53
Trashlord joined
|
|||
dalek | p/bs: 8bf542e | jnthn++ | src/ (2 files): Update clone handling in parametric roles. |
12:54 | |
p/bs: b9e1d10 | jnthn++ | src/NQP/World.pm: Start building fixup list for dynamic compilation. Also some general tidying of create_code. |
|||
jnthn | Hunger strikes...lunch. bbs | ||
12:55
lateau__ joined
13:00
mtk left,
mtk joined
13:09
tokuhirom joined
|
|||
masak .oO( how can you lunch during the hunger strikes? ) | 13:11 | ||
arnsholt | masak: In re pirc and so on, when I think about it, Perl 6 can easily dispatch to not only pimc (via hypers) but also pifl via precircumfix<[ ]>, just as soon as we get a computer that supports the necessary operations =D | 13:12 | |
masak | I just think of those as 'hyper map' and 'hyper grep', respectively. | 13:15 | |
arnsholt | Indeed | ||
masak | pire, if it weren't two degrees impossible, would be 'hyper reduce'. | ||
arnsholt | Yeah, that's the one [+] does of course, not pifl | ||
Brainfart | |||
masak | I guess if the operation being reduced on follows the associative law, you can get the running time down from Inf to log(Inf) *grin* | 13:16 | |
moritz | and log(Inf) is in the order of 5, as one of our professors used to say :-) | 13:18 | |
arnsholt | I'm gonna have to try and remember that quote | ||
I gave my students the "Any problem in CS can be solved with an additional layer of indirection" quote yesterday | 13:19 | ||
But log(Inf) is on the order of 5 might be possible to wriggle in at some point | |||
masak | arnsholt: you teach? nice! | 13:20 | |
I find the "additional layer of indirection" quote to be very true nowadays. | |||
I wonder if I couldn't give a talk just about that. | 13:21 | ||
arnsholt | Yeah, it's pretty cool. Mostly I help students during lab sessions, but I'm giving about a third of the lectures in the course as well | ||
moritz | ... especially if you add "... except for the problem of having too many layers of indirection" | ||
arnsholt | Giving a two hour lecture is also one of the mentally exhausting things (if not the most) I've ever done, incidentally | 13:22 | |
moritz: Yeah, I mentioned that as an aside, but the first part was even on the slide =) | |||
moritz | agreed. I've given a few 2-hour tutorials (partially in lecture style). And once I've given two such things in a row. | ||
arnsholt | Ow. That sounds extra exhausting | 13:23 | |
But OTOH, it's a very good experience. I usually end up feeling like I've learnt something | |||
moritz | masak: it's just a different view on the ladder of abstraction thing you've blogged about (variables/loops/routines/macros, dunno which steps I've forgotten) | ||
jnthn | .oO( Every problem can be solved by either adding or removing a level of indirection. Now you just gotta figure out which of the two you need this time... ) |
13:25 | |
13:28
skids left,
awoodland joined
|
|||
moritz | woah, it seems I've broken something multi-dispatchy on the match-refactor branch :/ | 13:28 | |
Teratogen | is Perl 6 thread safe? | 13:29 | |
moritz | Teratogen: is English thread safe? | ||
Teratogen | baw | ||
moritz | the question doesn't make much sense for a language | ||
Teratogen | ok | 13:30 | |
Does Perl 6 have threads? | |||
wait | |||
Does English have threads? | |||
flussence | () | 13:31 | |
moritz | Teratogen: Perl 6 threads aren't specced in much detail yet (nor any other concurrency stuff), but there will be threads | 13:32 | |
Teratogen | cool | ||
moritz | and then, some features and libraries will be thread safe, and others might not be. | ||
masak | moritz: I don't think I ever wrote that blog post ;) | 13:33 | |
oh! maybe as an advent post! | 13:34 | ||
ah, right. perl6advent.wordpress.com/2011/12/1...-its-good/ | |||
13:45
kaare_ joined,
fsergot joined
13:46
lateau__ left
|
|||
fsergot | o/ :) | 13:46 | |
13:46
rsimoes left
13:50
stepnem left
13:54
rsimoes joined
13:55
stepnem joined
|
|||
masak | fsergot! \o/ | 13:55 | |
13:57
GlitchMr joined
14:02
Trashlord left
14:03
PZt joined
14:05
stepnem left
|
|||
masak | Trashlord's quit message is allegedly a Cree "prophesy". but I can find no reliable source for it on the interwebs. | 14:08 | |
huf | also it's wrong. when the premises come true, you can still eat other people for a while | 14:10 | |
flussence | .oO( money can't be eaten, but it can buy you some zombie repellant ) |
14:11 | |
dalek | kudo/match-refactor: 560633d | moritz++ | src/core/ (2 files): handle List.gimme(Inf) and fix two two off-by-one errors This brings the branch on par with nom wrt passing tests, except two odd failures in S06-operator-overloading/sub.t and integration/advent2009-day22.t |
14:12 | |
masak | the quote says nothing about eating people. | ||
flussence | ...what if the money was made out of rice paper? | 14:13 | |
masak | that's the best response to that quote I've ever heard. | 14:14 | |
14:27
stepnem joined
|
|||
moritz | are some of you also getting "mail delivery failed" emails that quote very old mails to perl6-* lists? | 14:32 | |
tadzik | nope | ||
masak | нет | 14:33 | |
moritz | I think [Coke] mentioned something similar | ||
masak | some people in here might appreciate herbsutter.com/welcome-to-the-jungle/ -- it's about the future of computing hardware. | 14:36 | |
14:38
PacoAir joined
|
|||
PerlJam | masak: Haven't you mentioned that before? | 14:39 | |
I know I showed it to my coworkers recently and I could have sworn I got the URL from here. | 14:40 | ||
moritz thinks he's also seen it before | |||
masak | I might've. yeah, it was probably me. | 14:41 | |
it's been sitting in my tab queue for a while, and I just started reading it. | 14:42 | ||
14:43
kaare__ joined,
kaare_ left
14:46
bobbob joined
|
|||
tadzik is still waiting for some psychological analysis which will tell him, why some people tend to have few dozens of tabs opened all the time, and some like to close them | 15:01 | ||
moritz | tadzik: no need for psychology. I have good techincal reasons (memory hungry browser, not too much RAM) for closing them | ||
cognominal | tabs, the new bookmarking system... | 15:02 | |
tadzik | moritz: well, I have none of those problems and I still keep tabs closed | 15:05 | |
moritz | tadzik: you might have that problem if you kept 200+ tabs open :-) | ||
tadzik | true :) | ||
oh, oh, idea for Perl6::Critic | 15:06 | ||
masak | I have 32 tabs open. that's on the high side for me nowadays. | ||
tadzik | warn if I declare class A is B, when B is a role. I probably do not want | ||
moritz uses that feature in the exceptions stuff | 15:09 | ||
everything that does X::Comp also needs to inherit from Exception, so role X::Comp is Exception { } | |||
jnthn back | 15:10 | ||
(no, all that time wasn't *just* spent on lunch) | |||
tadzik | that's not what I mean, I think | 15:11 | |
frettled | I hope you had sufficient noms. | ||
jnthn | frettled: Yes. :) | ||
tadzik | I stumbled upon this when porting Panda to nom; B was a role with some stub (!!!) methods, , class A was implementing them, but upon class A is B an error occured, "methods NYI in B" | 15:12 | |
jnthn | Yeah, that will happen. | ||
tadzik | that did happen, and did give me some headscratching ;) | 15:13 | |
jnthn | It's almost certainly correct. We can't turn a role into a class if it has missing bits. :) | ||
flussence | shouldn't those be "..." instead? | ||
jnthn | But I can see how it would make you think "hmm wtf" too :) | ||
moritz | flussence: ... and !!! are both allowed as stubs | ||
tadzik | somehow, it came to my memory while I was thinking about interfaces in Go | ||
flussence | oh, ok | ||
moritz | and !!! is like &die, and ... is &fail | ||
jnthn | Don't forget ??? | 15:14 | |
:) | |||
moritz | tadzik: oh, I misunderstood you. Yes, 'class A is SomeRole' is likely and error, whereas 'role A is SomeClass' is much more likely to be legit | ||
tadzik | I'm looking forward to a module which will name them "fyi", "wtf" and "omg" | ||
moritz: right | 15:15 | ||
15:18
noam left
15:19
noam joined
15:22
att_ left
|
|||
jnthn | Well, "class A is SomeRole { }" means "pun the role then inherit from the pun" | 15:23 | |
moritz | right | 15:27 | |
jnthn | I think we shouldn't stigmatise it as it's a mechanism that eases class => role refactoring. | 15:30 | |
moritz | well | 15:34 | |
maybe we really want a way to mark a class as not having any stubbed methods left | 15:35 | ||
so that we can complain at compile time if that assumption is violated | |||
15:35
skids joined
15:36
att_ joined,
GlitchMr left
|
|||
jnthn | nom: role R { method m() { ... } }; class C does R { } | 15:38 | |
p6eval | nom 4130f6: OUTPUT«===SORRY!===Method 'm' must be implemented by C because it is required by a role» | ||
jnthn | moritz: ^^ already is compile time. | ||
moritz | nom: role R { method m() { ... } }; class C is R { } | 15:39 | |
p6eval | nom 4130f6: OUTPUT«===SORRY!===Method 'm' must be implemented by R because it is required by a role» | ||
moritz | oh, that case is covered too? great | ||
jnthn | That is just a tad confusing. | ||
But...not sure how easily we can fix that. | |||
I mean, it'd be nice if it told you it was due to punning | |||
moritz | yes, if it said "Error while promoting role R to a class: Method 'm'..." | 15:40 | |
that would be more awesome | |||
15:41
tokuhirom left
|
|||
dalek | ecza: c03a4da | (Solomon Foster)++ | lib/CORE.setting: Add Range.pick and Range.roll based on the Rakudo versions. |
15:41 | |
ecza: ea24f5c | (Solomon Foster)++ | lib/CORE.setting: Fix copy-n-pasto. |
|||
benabik | nom: role R { method m() { ... } }; class C is R { method m() { } } | ||
p6eval | nom 4130f6: OUTPUT«===SORRY!===Method 'm' must be implemented by R because it is required by a role» | ||
15:41
tokuhirom joined
|
|||
dalek | ast: 92c0f96 | (Solomon Foster)++ | S32-list/ (2 files): Add more sanity tests for Range.pick and Range.roll. Unfudge tests which are now quick in niecza. |
15:41 | |
ast: a95178f | (Solomon Foster)++ | S0 (10 files): Merge branch 'master' of github.com:perl6/roast |
|||
15:44
Psyche^ joined
|
|||
dalek | p/bs: 92b0fbc | jnthn++ | src/NQP/World.pm: Bring the code object fixup mechanism in line with the one in Rakudo (essentially, it fixes up by setting the $!do rather than mucking round with assign vtable). |
15:45 | |
p/bs: 0f9b81e | jnthn++ | src/NQP/World.pm: Implement fixing stuff up in dynamic compilation. Gets the role tests passing again in the run-immediately case; serialization not quite there yet, though. |
|||
15:46
tokuhirom left
15:47
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | do people in here self-identify as "hackers"? | 15:53 | |
flussence | sometimes | ||
masak | I mean, can the word still mean "programmer", or has it been claimed for "computer crimial"? | ||
cognominal | Perl is about lazyness. What about slhackers? | 15:55 | |
jnthn | masak: I accept (though resent) that in many circles it's been claimed as the latter. I'd self-identify as that quite comfortably hear, but would likely not in any situations where it was likely to be misinterpreted. | 15:56 | |
s/hear/here/ | |||
geekosaur | most programmer-oriented communities still use hacker in something close to the original sense (and MIT still uses it in the sense in which it was coined, naturally, with some splashover to similar institutions) | 15:58 | |
masak | I find I say "to hack on" in its various forms more often than I say "hacker" nwoadays. | ||
moritz | masak: I identify myself as a "hacker" when I manage to come up with a clever hack (like the "prototype stuff in SAFE.setting to get shorter compilation times" thing yesterday), but mostly I don't think I deserve that title, because I don't do clever hacks often enough | 15:59 | |
and I do use "hacker" as meaning "computer criminal" when talking with non-tech people, simply because then they know what I'm talking about | 16:00 | ||
but internally, "hacker" is positively and non-criminally connotated for me | |||
benabik | Hacker is becoming less associated with criminals, I think. Hackerspaces are starting to flourish and more and more people know it doesn't mean a den of criminals. | 16:01 | |
moritz | jnthn: do you have any idea why 5b4468309e03b0d6ff3f01070997b6ebb9687103 (in match-refactor) breaks adding lexical multis to operators? | 16:02 | |
jnthn | o.O | 16:04 | |
No. | |||
moritz | in that branch, S06-operator-overloading/sub.t fails | 16:05 | |
arnsholt | I do much the same as masak, I think | ||
moritz | and one of the integration tests | ||
and I have not a single idea of what that could be | |||
and git bisect identified that as the offending commit | |||
arnsholt | I use the verb to hack reasonably frequently (which results in some confusion with others, TBH), but don't really label myself as hacker with any frequency | ||
masak | I seldom use "hacker" as meaning "computer criminal", because I secretly deplore this more mainstream sense of the word. | 16:12 | |
colomon | +1 | 16:14 | |
PerlJam | masak: why secretly? :) | 16:15 | |
masak | because in a conversation when someone uses "hacker" in the "criminal" sense, I don't go all rms on them an put them right. | 16:17 | |
flussence | masak++ | ||
I'm often tempted to myself :) | 16:18 | ||
masak | in the pendulum swing between valuing correctness and valuing communication, I'm currently in a "valuing communication" phase, and have been for some years :) | 16:19 | |
au | maska++ #communic | 16:20 | |
masak++, even. | |||
PerlJam | masak: yet you silently accept their mis-use of the word "hacker" rather than communicate to them the proper perspective :) | ||
au thinks the 13th-century "one who cuts wood, builds stuff with wood, and builds one's own wood-cutting tools" sense is quite communicable, too | |||
masak | PerlJam: yes. | ||
that's the backside of the "value communication" coin :) | 16:21 | ||
maybe I'll reach some kind of synthesis between the two one day... | |||
PerlJam | au: I'd never really considered that definition before, but it's interesting for me to find out that I was a hacker long before I was a hacker :) | 16:22 | |
au | :D | ||
masak | the 13th-century sense has some pretty symmetries with the 20th-century programmer one. :) | 16:23 | |
PerlJam | masak: you can always tactfully educate people without being RMS-like :) | ||
au | oh yes, you can s/wood/code/ and it'd still work :) | 16:24 | |
or even s/wood/slack/... | |||
benabik | Lots of people seem to turn wood into slack... | ||
benabik has heard rumors people do useful things with power tools, but has yet to see it. ;-) | |||
masak | a language hacker does s/wood/meaning/ :) | 16:25 | |
au | mmm meaning-cutting tools | ||
masak admires the strange loop | |||
cognominal | "going rms on people". Nice neologism. | 16:26 | |
benabik | "Meaning-cutting"? People do speak of a well honed argument... | ||
masak | cognominal: it's "going GNU/rms on people" to you, mister. | 16:27 | |
PerlJam | #perl6 is adept at cutting meaning from words and other raw materials | ||
masak++ | |||
masak | that's why we like to bikeshed, I guess. | ||
most bikesheds are on choice of words. | |||
arnsholt | Good point. I guess that's the danger of including too many linguists (or close enough approximations thereof) ^_^ | 16:29 | |
cognominal | masak++ | ||
16:30
xinming left
|
|||
masak | I can't just riff on rms like that without saying that I also respect the man, and the way he holds on to principles. | 16:30 | |
in a world where people willingly give away their privacy on Facebook, people like rms are sorely needed. | 16:31 | ||
PerlJam | masak: yep | ||
16:31
slavik1 joined
16:32
xinming joined
|
|||
cognominal | somehow rms is often counterproductive. I have seen him aggressive against a mayor of a Paris arrondissement because he was confusing Open source and free software. Agression against a well-meaning outsider who does not know minute catechism points but is ready to propagage the faith is stupid. | 16:37 | |
16:38
retup-wo1k left
|
|||
daxim | the mayor clearly had it coming | 16:39 | |
masak .oO( he was in for some mayor rms aggression ) | 16:40 | ||
16:40
mucker joined
|
|||
daxim | two crowns for the pun box! | 16:40 | |
16:45
ascrazy left
16:58
bluescreen10 joined
17:00
pomysl joined,
pomysl left,
pomysl joined
17:01
mj41 left
17:02
birdwindupbird left,
sudokode left
|
|||
dalek | p/bs: 043c6a3 | jnthn++ | src/6model/serialization_context.c: Make an error more useful for debugging. |
17:15 | |
p/bs: 09f9aea | jnthn++ | src/6model/serialization.c: For closures, if they have a high level code object attach, serialize that attachment and put it back when deserializing. This means that the multi-method tests now all pass after serialization/deserialization. |
|||
moritz | \o/ | 17:16 | |
TimToady | "Error while promoting role R to a class" Odd, I think of it as demoting :) | ||
jnthn | ;) | ||
moritz: I've still gotta figure out why roles don't survive the serialization now, though... | 17:17 | ||
TimToady | I think of abstractions as higher than concretions, generally | ||
jnthn | oh...partly 'cus I've done something really dumb... | 17:18 | |
omgz, I think it just worked... | 17:22 | ||
masak decommutes | 17:26 | ||
17:26
daxim left
17:28
MayDaniel joined,
sudokode joined
17:37
Chillance joined,
birdwindupbird joined
|
|||
dalek | p/bs: 9300396 | jnthn++ | src/HLL/World.pm: Add a way to update a code ref in an SC (for example, if dynamic compilation comes along and actually compiles the real thing). |
17:38 | |
p/bs: abd4d49 | jnthn++ | src/NQP/World.pm: Make the fixup logic for dynamic compilation aware of twiddles it needs to make with regard to the SC: marking with STATIC_CODE_REF and updating the SC entry itself. This gets the role test to pass after serialization/deserialization. |
|||
17:41
sudokode left
|
|||
dalek | p/bs: 36cf9ca | jnthn++ | src/NQP/World.pm: Use normal compilation chain when doing dynamic compilation, which means we don't miss adding various directives we need to get .const thingies. Fixes serialization of QRegex, though all the tests fail. |
17:51 | |
p/bs: c35d3cd | jnthn++ | src/core/NQPRoutine.pm: Fix boolification of NQPRoutine; now all QRegex tests pass with serialized QRegex executable. |
|||
p/bs: e694ab9 | jnthn++ | / (4 files): Merge branch 'master' into bs |
17:52 | ||
sorear | good * #perl6 | 17:55 | |
colomon | \o | 17:56 | |
jnthn | hi, sorear | ||
18:00
pmurias joined
18:01
mucker left
|
|||
pmurias | sorear: hi | 18:01 | |
18:06
prammer joined
18:10
dakkar left
18:13
MayDaniel left
18:15
JimmyZ left
18:18
kmwallio joined
|
|||
pmurias | sorear: when should i commit code for the use Foo:from<perl5>, once it starting to work (now) and clean it up in subsequent commits or when it's reasonably polished? | 18:19 | |
18:25
kmwallio left
|
|||
PerlJam | pmurias: release early, release often :-) | 18:25 | |
sorear | If nothing else, at least commit it to a branch. | 18:26 | |
18:35
awoodland left,
birdwindupbird left
18:36
birdwindupbird joined
18:42
Tedd1 joined,
pernatiy joined
|
|||
[Coke] yawns | 18:42 | ||
sorear | heya [Coke] | 18:45 | |
pmurias | sorear: t/run_spectests is supposed to be all passes? | 18:47 | |
18:50
Chillance left
|
|||
sorear | ideally | 18:50 | |
[Coke] | there are failures, though. | 18:52 | |
niecza has been consistently failing 8 tests for some time now. | 18:55 | ||
18:55
Chillance joined
18:56
pmurias_ joined,
Tedd1^ joined
18:57
pmurias left
|
|||
dalek | p/bs: d17d795 | jnthn++ | src/ModuleLoader.pm: Slightly cheaty fix to global merging (mostly messy due to PAST not being done with 6model and NQP not really having a distinct package-only meta-object). With this, the Rakudo build atop of nqp/bs actaully produces a perl6.exe, though things blow up in the Metamodel compilation (which was expected at this point). |
18:57 | |
18:58
Tedd1 left
|
|||
dalek | kudo/bs: e78ab30 | jnthn++ | src/Perl6/Metamodel/C3MRO.pm: Make c3merge a method to avoid an issue with subs in roles; amazingly, this is enough to make Perl6::Metamodel build (though it needs various changes yet). |
18:59 | |
19:00
MayDaniel joined
19:02
bobbob left
19:05
roland333 joined
|
|||
roland333 | good afternoon everybody. | 19:05 | |
sorear, you busy? | 19:07 | ||
sorear | o/ roland333 | ||
roland333 | \o | ||
high five bro | |||
sorear | I was wondering when you'd be back. :) | ||
roland333 | You're going to be disappointed in me=) I decided to focus my efforts on python at first. | ||
But still hang out in this channel | 19:08 | ||
I'm scared of python people. | |||
sorear | *shrug* | ||
that's fine with me. | |||
a lot of other people will insult you in an attempt to prove their manliness. | 19:09 | ||
roland333 | Yeah, you guys were so cool sunday I'm hooked on this channel. | ||
im scared more than they'll have me put in commands that will damage my machine actually. | |||
I enjoy a good argument as much as the next guy. so that wouldn't dissuade me. | 19:10 | ||
19:10
pmurias_ is now known as pmurias
|
|||
roland333 | Yesterday I made it my mission to get linux running on my mac. Took all day and it was a huge pita, but I finally gave up trying to set up a dual boot and tried to set up a VM and it worked smoothly. | 19:11 | |
Feels good. | |||
sorear | Why bother? | 19:12 | |
If your mac was made this century, it already has FreeBSD on it | |||
pmurias | sorear: t/run_spectests is supposed to be all passes? | 19:13 | |
sorear | 10:50 < sorear> ideally | ||
10:52 < [Coke]> there are failures, though. | |||
10:55 < [Coke]> niecza has been consistently failing 8 tests for some time now. | |||
dalek | kudo/bs: a4be325 | jnthn++ | src/Perl6/World.pm: Rip out much of the deserialization code generation that can be got rid of just by removing it, and that doesn't need more careful consideration. |
||
roland333 | sorear, i found the freebsd dir in spotlight, how do I get it running? | 19:14 | |
I only see 3 files and none of them are familiar types. | 19:15 | ||
pmurias | sorear: lots of tests pass, commiting, will fix the failures once they finish ;) | ||
sorear | roland333: os x is a graphical environment built on top of freebsd | ||
benabik | (FreeBSD's userspace on top of Mach. OS X is a many layered thing. </pendantic>) | 19:16 | |
roland333 | I knew it had a unix/linux type engine, but i really want to work in an authentic environment. | ||
benabik, I enjoy pendantry, so thanks=) | |||
pmurias | ahh merge conflicts | ||
flussence | OS X is a certified Unix® | ||
benabik | There is nothing missing in OS X as a real Unix environment. X11, gcc, bash, perl, the whole lot is there. (Although you do have to download Xcode for the dev tools, but it's free) | 19:17 | |
sorear | OS X probably has more of the original AT&T code than Linux does | ||
roland333 | so can I customize the appearance, modules, etc etc like I could in ubuntu? | 19:18 | |
sorear | (where by Linux I actually mean common Linux-based operating systems) | ||
roland333 | I have almost no idea what i'm talking about so be gentle. | ||
I guess what I mean, can I customize my graphical environment? | 19:19 | ||
Its shallow, but hey, i'm a shallow guy. | |||
sorear | sure OSX has customization options. | ||
the graphical environment used by OSX is not the same as the graphical environment used in Ubuntu | 19:20 | ||
as always there are layers | |||
the core graphics system that Ubuntu uses is called "X11", and I beleive an OSX version of that is available from Apple | |||
19:20
mj41 joined
|
|||
roland333 | cool thanks. | 19:21 | |
gonna mess with that and see if i can figure it out on my own. | |||
benabik | It comes installed on 10.5(?)-10.7. It was downloadable for earlier version. | ||
sorear | core X11, however, just gives you a black screen and the ability to open windows | ||
roland333 | before i go, any pitfalls I should be wary of? | ||
Can I build my own custom graphical environment on top of core x11 though? | |||
benabik | (And will be downloadable again for 10.8+, since Xquartz updates much faster than the OS does.) | 19:22 | |
sorear | so Ubuntu also provides add-on modules - a desktop (displays icons on the screen), a panel (displays the top bar), and a window manager (displays title bars on windows) | ||
roland333 | I want to do it from the ground up. | ||
benabik | First you have make a cross-compiler environment to build the kernel with... <.< >.> | 19:24 | |
sorear | I'm personally running panel-less, desktop-less, and with a window manager that I partially wrote myself. But I don't generally recommend this. | ||
benabik | That may be starting from underground... | ||
sorear: Custom WM in OS X? | 19:25 | ||
sorear | benabik: Linux | ||
benabik | sorear: Ah. Yes. That's far less confusing. Sounds fun. :-D | ||
roland333 | haha | ||
it does. | |||
sorear | I don't think it's even possible to replace the system WM/panel/desktop in OSX | ||
roland333 | I helped my buddy with a pc get ubuntu running on his machine and now he's doing all kinds of cool customization and i'm jealous. | 19:26 | |
sorear, thats why i want to get linux on my machine. | |||
sorear | OSX is designed to make it hard for you to shoot yourself in the foot | ||
benabik | It's possible to kill Finder... The Dock has a tendency to do more than you might expect though. | ||
sorear | it's very, very easy to break a linux system | ||
roland333 | I spent all goddamn day trying to set up a dual boot and had to give up and set up a vm. | 19:27 | |
benabik | Some Linux systems come pre-broken... Although I may just be a little bitter about multi lib / aptitude problems in Ubuntu 10.10 | ||
roland333 | ha | 19:28 | |
tadzik | jnthn: I get lots of WARNING: STable deserialization not yet fully implemented on nqp/bs, is that expected? | ||
doy | ubuntu doesn't come pre-broken, it's just that anything you try to do to it breaks it | ||
roland333 | sorear, i'm willing to put in the work to get it running, i really want a dual boot. I have blank dvds, a 16 gb flashdrive but I just couldnt get it working. | 19:29 | |
What flavor do you guys recommend for a beginner? | |||
jnthn | tadzik: Yes. | 19:30 | |
tadzik: Did it otherwise build OK? | |||
benabik | doy: Install 10.10 on x86_64, run aptitude, and then tell me it's not broken. Double packages everywhere and forgetting new packages doesn't work. | ||
tadzik | jnthn: yes, and tests PASS | ||
doy | linux on apple hardware can be more of a challenge, because apple makes so much of their own hardware that some things may not be as well supported | ||
tadzik | jnthn++ | ||
19:30
sahadev joined
|
|||
jnthn | tadzik: Thanks, good to hear it works on at least one other platform :) | 19:30 | |
19:30
mj41 left
|
|||
jnthn noms some dinner | 19:30 | ||
doy | benabik: well, i haven't tried it in a while, it may have gotten worse | ||
(: | |||
19:31
bluescreen10 left
|
|||
benabik | doy: I imagine it's a temporary thing, but it frustrated me to no end trying out Ubuntu Server. | 19:31 | |
roland333 | sorear, what kind of machine are you on? | ||
sorear | an unmarked white box of unknown origin that's half as old as I am | 19:32 | |
+at least | |||
roland333 | so a pc? | ||
sorear | yes, pc compatible | ||
roland333 | shitty. How familiar are you with macs? | 19:33 | |
sorear | dubious | ||
I'm more familiar with the older systems | |||
I've read _Inside Macintosh_ | 19:34 | ||
benabik | I duel-boot OS X / Win7 on my MacBook. Never tried adding Linux to it, I just add what I need to OS X. | ||
sorear | I've used OSX a few times... I know how to open a terminal, and I have "fond" memories of one time when I needed to edit a file and the only thing I could get to work was ed(1) | 19:35 | |
huf | hehe | 19:36 | |
roland333 | =0 | ||
is timtoady actually timtoady or is that a tribute nickname? | |||
moritz | TimToady is as TimToady as TimToady can be. | ||
huf | he's the real thing, or a facsimile so good | ||
that we dont need the real one | |||
roland333 | haha, thats amazing. | 19:38 | |
i just read his essay from '98 on how perl is the first postmodern programming language. | 19:39 | ||
Completely blown away. | |||
dalek | kudo/cont_reuse: 7cb1087 | moritz++ | src/binder/multidispatch.c: fix rakudo for parrot's take_recont branch |
19:43 | |
masak | roland333: Perl 6 is the first post-postmodern language. | ||
moritz | oops, forgot to credit bacek++ for that patch | ||
roland333 | Thats fitting, considering its not done masak. | 19:44 | |
19:44
bluescreen10 joined
|
|||
masak | roland333: nice to have you back, by the way. | 19:45 | |
roland333 | IF you couldn't tell, i despise that term, post-postmodern. | ||
Man, this is the best channel i've been in since my days of Ultima Online. | |||
masak | oh! then Perl 6 is just pre-post-postmodern. | ||
roland333 | hha | ||
moritz | well, you can shorten that to post^2-modern | ||
you're totally right about DRY of course | |||
roland333 | you and sorear especially are a tribute to the perl community. | 19:46 | |
masak | especially sorear :) | 19:48 | |
roland333 | haha, i wasn't going to say it:P | ||
TimToady hides behind a post-post. | 19:51 | ||
masak | is that something like a combined lamp-post and mailbox? | 19:52 | |
skids pictures a dog wearing a big white chew-cone (forming an O), with the letters SX spraypainted and/or shaved on its side. Good thing he doesn't have a dog. | 19:53 | ||
sorear | TimToady: hey, roland333 wants to know, are you really TimToady? | ||
TimToady | why do you think I'm hiding? | ||
sorear | roland333: I am flatttered | 19:54 | |
roland333 | Larry, I can't tell you how much I enjoyed your essay on postmodernism and perl. | ||
TimToady | btw, finally "upgraded" to Ubuntu 11.10 on my laptop last night, and survived, mostly... | 19:55 | |
roland333 | more for the concise and creative explanation of postmodernism than anything else. | ||
TimToady | well, it's only one view of postmodernism | ||
masak likes that talk too | |||
TimToady | the deconstructionists didn't like me making puns on that though... | 19:56 | |
19:56
snearch joined
|
|||
TimToady | apparently puns are a sign of the patriarchy, or something... | 19:56 | |
moritz | nom: class A { }; { multi infix:<==>(A $, A $) { say "A+" }; A.new == A.new; } | ||
p6eval | nom 4130f6: OUTPUT«A+» | ||
roland333 | haha. | 19:57 | |
moritz | didn'T we have a ticket that some operators can be overloaded in nom, and other can't? | ||
roland333 | Well, i'm starstruck. My friend Scott is one of your great disciples. | ||
LoRe | TimToady: i've switched to archlinux after I lost a live while upgrading to 11.10... | ||
sorear | you'll get over that. | 19:58 | |
TimToady | roland333: my condolences | ||
LoRe: well, when I upgraded my server to 11.10 it bricked it for a few days... | |||
which is why I waited on the laptop | |||
sorear | if you're going to be active in the perl irc community you'll need to learn to cope with occasional visits from TimToady and merlyn and yrlnry | 19:59 | |
TimToady | now that I'm here, my officemates are hauling me off to lunch... & | ||
roland333 | i'll learn to cope i suppose. | ||
doy | archlinux++ | ||
roland333 | who are merlyn and yrlnry? | 20:00 | |
sorear | Randal L. Schwartz, Mark-Jason Dominus | ||
respectively | |||
au briefly wonders why no-one has picked up the obvious dual nickname "rwlnwr", then fades to sleep & | |||
moritz | nom: class A { }; { multi infix:«<»(A, A) { say "A overloaded" }; A.new < A.new; } | 20:01 | |
p6eval | nom 4130f6: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are::(Mu:U \$v, Mu %_!) in method Real at src/gen/CORE.setting:665 in sub infix:<<> at src/gen/CORE.setting:2305 in block <anon> at /tmp/WHCmyaMoUM:1» | ||
moritz | nom: class A { }; { multi infix:«+»(A, A) { say "A overloaded" }; A.new + A.new; } | ||
p6eval | nom 4130f6: OUTPUT«A overloaded» | ||
masak | moritz: yes, I think we did. but I can't find it. | ||
jnthn recalls that one | |||
But I thought it may be a bit of confusion | 20:02 | ||
sorear | I don't get au's joke | ||
au | sorear: both are off-by-one typos of "telnet" on a qwerty keyboard. | ||
jnthn | Along the lines of "the one in the setting re-dispatches and doesn't include my candidates" - which it won't given the way we've implemented it at the moment. | ||
sorear | ah. my mind jumped to rot13, leyael, Yuval Kogman... | ||
dalek | ecza: 3da37be | (Paweł Murias)++ | / (4 files): Exporting a empty sub using :from<perl5> works. |
20:03 | |
ecza: d05a5fe | (Paweł Murias)++ | / (4 files): Exporting a single sub works. |
|||
moritz | so I should re-submit the bug from above, right? | ||
jnthn: I think that the bug in the match-refactor branch is a manifestation of that very same bug | 20:04 | ||
and that it simply shifts == from overloadable to not overloadable | |||
masak | sorear: I also didn't get it before the explanation. the only thing I could come up with was "ya rly" | ||
jnthn | moritz: you may if you can't find it | 20:06 | |
dalek | ecza: be2a9e7 | (Paweł Murias)++ | examples/term-ansicolor.pl: Change Term::ANSIColor example to use :from<perl5>. |
20:12 | |
20:16
MayDaniel left
20:17
Trashlord joined
|
|||
colomon | does yrlnry actually come here? I don't recall ever knowing that mjd was in the channel... | 20:17 | |
sorear | I think he may have dropped by once or twice | 20:18 | |
I've definitely seen him in #p5p | |||
sorear out | 20:21 | ||
20:23
ascrazy joined
|
|||
dalek | p/bs: a1d5f90 | jnthn++ | src/6model/serialization.c: Add container spec serialization/deserialization, which completes all we need to do for at least STable serialization. |
20:24 | |
p/bs: 0764869 | jnthn++ | src/6model/serialization.c: Seems STables already do get a type cache ID allocated upon deserialization, so remove deserialization warning; nothing known un-done now. |
|||
moritz | bug submitted as #111264 | 20:27 | |
colomon: irclog.perlgeek.de/perl6/2005-07-24#i_-551631 | 20:28 | ||
colomon | moritz: that was 2005! | 20:29 | |
moritz | colomon: aye :-) | 20:30 | |
colomon: it has a negative ID in the DB, which means that it's imported from before I started logging on my own | |||
colomon | is that the most recent one you could find? | 20:31 | |
moritz | it's the only one I could find. | ||
masak | that's the only one. | ||
and it's not even a Perl 6 question! :) | 20:32 | ||
20:33
localhost left
|
|||
PerlJam | mjd is always on #git and occasionally on #p5p and some of the other #perl | 20:34 | |
skids | gist.github.com/1877885 <-- meanderings of a recently-fevered mind. | ||
20:35
localhost joined
|
|||
PerlJam | skids: I don't buy your "# time passes" bit. | 20:36 | |
benabik | Unfortunately, time passes even if you don't pay for it. | 20:41 | |
skids | well, whether you are looking at it from that perspective, or that the format of the data is simply unknown to the person doing the subscripting (because they are working in a sloppily typed environment), same problem really. | 20:42 | |
PerlJam | What I'm saying is that, in that situtation, "time passes" is irrelevant (because of lexical proximity) or can't happen that way | ||
20:43
mj41 joined
|
|||
moritz | skids: what I'm missing is a rather concrete example use case | 20:44 | |
20:46
birdwindupbird left
|
|||
colomon has a strange urge to play "Pull Out the Knife And Stick it Again" on flute... | 20:47 | ||
[Coke] | # 02/21/2012 - niecza at 100.96% | 21:02 | |
"niecza", 20283, 8, 751, 1549, 22591, 23461 | |||
"rakudo", 20090, 28, 604, 1869, 22591, 23471 | |||
21:02
proller_ joined,
NamelessTee left
|
|||
[Coke] | "pugs", 3008, 1, 1722, 14, 4745, 23233 | 21:04 | |
b: say 3008/20090 | |||
p6eval | b 1b7dd1: OUTPUT«0.149726231956197» | ||
benabik | poor pugs | ||
[Coke] | should be able to get it to 25% without actually writing any haskell. | 21:05 | |
b: say 20090/20283, "\n", 3008/20283 | 21:06 | ||
p6eval | b 1b7dd1: OUTPUT«0.9904846423112950.148301533303752» | ||
21:07
ksi joined
21:08
fridim_ joined
|
|||
[Coke] | updated gist.github.com/1476841 | 21:10 | |
# 02/21/2012 - rakudo at 99.04% of niecza, pugs at 14.83% | |||
masak | \o/ | 21:11 | |
[Coke]++ | |||
[Coke]: I might get to the skip thing tomorrow. | 21:12 | ||
[Coke] | (now to automate that so pugs is included by default) | ||
fsergot | perl6: say sin(pi / 6); | 21:13 | |
p6eval | rakudo 4130f6: OUTPUT«0.499999999481858» | ||
..pugs b927740, niecza v14-57-gd05a5fe: OUTPUT«0.49999999999999994» | |||
fsergot | Isn't just 0.5? | 21:14 | |
masak | yes. | ||
fsergot: are you familiar with loss of precision when doing some floating-point calculations? | |||
roland333 | Alright guys, i'm gonna go try and concentrate on learning some commands. | ||
Thanks for the help | |||
21:15
roland333 left
|
|||
masak | roland333: thanks for stopping by! | 21:15 | |
21:15
NamelessTee joined
|
|||
fsergot | masak: yes, i'm. :) | 21:15 | |
So, it's clear now. :) | 21:16 | ||
masak | :) | ||
fsergot | I just wanted to know where the problem is. :) | ||
21:17
jaldhar left
|
|||
moritz | In> Sin(Pi / 6) | 21:18 | |
Out> 1/2 | |||
that's in yacas | |||
masak | well, there are two sites of possible loss of precision: the division and the sin(). both use Num, that is, floating-point numbers. | ||
fsergot | masak: is there any way to round this result? | ||
masak | fsergot: constant folding :) | ||
moritz | not really | 21:19 | |
fsergot | The 'round' word is correct in this meaning? :) | ||
moritz | nom: say sin(pi/6).fmt('%.2f') | ||
p6eval | nom 4130f6: OUTPUT«0.50» | ||
moritz | fsergot: yes, but by default, round rounds to the nearest integer | ||
nom: say sin(pi/6).round(0.01) | |||
p6eval | nom 4130f6: OUTPUT«0.5» | ||
moritz | that also works | 21:20 | |
masak: constant folding doesn't improve precision | |||
fsergot | Great. :) | ||
masak | moritz: in this case it could by recognizing sin(pi / 6) as a unit. | 21:21 | |
since everything in there is constant. | |||
moritz | masak: then it still needs a symbolic calculator to evaluate it to exactly 1/2 | ||
masak | or just a static rule. | ||
moritz | such a static rule would be the simplest case of a symbolic calculator | 21:22 | |
fsergot | Moving on. .. is there any built-in way to reduce fractions? | ||
moritz | yes, Rats are reduced by default | 21:23 | |
nom: say (10/4).perl | |||
p6eval | nom 4130f6: OUTPUT«5/2» | ||
fsergot | Perl6 is awesome. :) | ||
masak | nom: say (3/100 + 5/100).perl | ||
p6eval | nom 4130f6: OUTPUT«2/25» | ||
moritz | aye | ||
masak | did the rule about fractions such as the above not being reduced go away? | 21:24 | |
21:24
jaldhar joined
|
|||
moritz | masak: it now says that a compiler may choose not to reduce it, iirc | 21:24 | |
masak | ah. | ||
moritz | masak: and the if the denominator contains only powers of 2 and 5, then the stringification is not allow to lose precision in the way that .Num.Str would | 21:25 | |
(that's something that rakudo doesn't implemen tyet) | |||
masak | ooh | 21:26 | |
fsergot | I learn new things every day and the rest of the day I can't go out from admiration. :) | ||
dalek | p/bs: 056f183 | jnthn++ | src/NQP/ (3 files): First crack at giving NQP support for BEGIN blocks. |
21:36 | |
p/bs: 2ebb21b | jnthn++ | src/NQP/World.pm: Ensure code in BEGIN blocks can see the correct view of GLOBAL. |
|||
skids | moritz: OK, updated. Not that I'm married to the idea and feel inclined to build a solid case for it, I'm just throwing it out there as food for thought. | 21:39 | |
21:39
Alias joined
|
|||
fsergot | perl6: sin(pi / 6).perl; | 21:42 | |
p6eval | pugs b927740, rakudo 4130f6, niecza v14-57-gd05a5fe: ( no output ) | ||
fsergot | perl6: say sin(pi / 6).perl; | ||
p6eval | rakudo 4130f6: OUTPUT«0.499999999481858e0» | ||
..pugs b927740: OUTPUT«0.49999999999999994» | |||
..niecza v14-57-gd05a5fe: OUTPUT«0.49999999999999994e0» | |||
masak | why do you want a .perl on there? | ||
moritz | to see if it's a Rat again? | 21:43 | |
moritz -> sleep | |||
fsergot | Hmm, don't know. just wanted to if the output will be different from the previous. :) | 21:46 | |
to see if* | |||
'night moritz | 21:47 | ||
o/ | |||
21:47
tarch left
21:48
lestrrat left
21:49
lestrrat joined,
sudokode joined
21:57
ksi left
|
|||
dalek | kudo/bs: ff1d98c | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Shuffle all stubbings to the top of the BOOTSTRAP. |
22:01 | |
kudo/bs: fe33bb1 | jnthn++ | / (3 files): Split out BOOTSTRAP from the meta-objects; not been able to fully test the split yet. Tentatively start moving various bits of the stuff in BOOTSTRAP into a BEGIN block so we can serialize it. |
|||
22:10
ab5tract left
22:11
itz left
22:12
skids left
22:23
itz joined
22:33
ascrazy left
22:38
nanowit_ joined
22:39
snearch left
22:41
tarch joined
|
|||
dalek | p/bs: 42edd89 | jnthn++ | src/NQP/Actions.pm: Make sure we can use anonymous subs in places we expect serialization to happen. |
22:41 | |
p/bs: d2e0a5b | jnthn++ | src/NQP/ (2 files): Make sure blocks nested inside a BEGIN end up in the output code. |
|||
22:43
kaare__ left
|
|||
dalek | kudo/bs: aed4d40 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Replace a -> with 'sub' for consistency. |
22:44 | |
kudo/bs: c89b74d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Use static code objects as needed; this gets us to the point where BOOTSTRAP is successfully serialized, and then successfully deserialized again when the compilation of CORE.setting causes it to be loaded. CORE.setting compilation itself fails right after that, though; many un-done NQP::World fixes to come. |
|||
felher | jnthn++ #for going wild on the {nqp,rakudo}/bs branches :) | 22:56 | |
22:56
wolfman2000 joined,
pmurias left
|
|||
masak | 'night, #perl6 | 22:58 | |
fsergot | nn masak | 22:59 | |
dalek | kudo/bs: 106f54f | jnthn++ | src/Perl6/ (2 files): Update module load handling for bounded serialization. |
23:05 | |
kudo/bs: 2d7798e | jnthn++ | src/Perl6/World.pm: Toss deserialization code from import handling. |
|||
kudo/bs: 2d17bbd | jnthn++ | src/Perl6/World.pm: Update get_static_lexpad for bs. |
|||
kudo/bs: 8b28ce3 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: set_selector_creator should not be done in the BOOTSTRAP BEGIN block - that's too early. |
|||
kudo/bs: 335e631 | jnthn++ | src/Perl6/World.pm: Remove a workaround that we should no longer need, and deserialization code for adding to a static lexpad; it's just the fixup of the static lexpad overall that still needs to happen. |
|||
23:06
tarch left
23:07
mj41 left
23:09
fridim_ left
23:10
[particle]1 joined
23:11
[particle] left,
tarch joined
|
|||
fsergot | o/ gnight! | 23:13 | |
23:14
whiteknight joined
23:17
PacoAir left
23:19
fsergot left
23:23
tarch left
23:24
[particle]1 is now known as [particle]
23:27
tarch joined
|
|||
bacek_at_work | phenny, tell moritz I'm going to merge parrot's cont_reuse branch really soon. You'll need take_recon branch merged with bumping up PARROT_REVISION. | 23:28 | |
phenny | bacek_at_work: I'll pass that on when moritz is around. | ||
23:29
[particle] left
23:36
Gazzonyx joined,
[particle] joined
23:41
nanowit_ left,
tarch left
23:50
Chillance left
|
|||
jnthn | Enough for today...sleep & | 23:52 | |
dalek | kudo/bs: 8a30010 | jnthn++ | src/Perl6/World.pm: Remove constant deserialization code-gen. |
23:53 | |
kudo/bs: 1dfbcdc | jnthn++ | src/Perl6/World.pm: create_code_object will be 'fun' to update. Start out by throwing away things we simply won't need any more. |
|||
kudo/bs: 9147bc5 | jnthn++ | src/Perl6/World.pm: Throw out various bits of now-unrequired deserialization code in install_lexical_container. |
|||
kudo/bs: 20788b0 | jnthn++ | src/Perl6/Metamodel/ (2 files): Need to set True/False after BEGIN, and also publish Parrot v-table mappings at that point as those are not serialized. |
|||
kudo/bs: 534138f | jnthn++ | src/Perl6/World.pm: Chase a HLL::World naming change in create_code; gets us a little further into compiling CORE.setting. |
|||
23:55
[particle]1 joined,
[particle] left
23:58
benabik_ joined
|