pugscode.org | Beware of `make install` and Pugs, it will do bad things to your system
Set by Aankhen`` on 22 May 2007.
meppl good night 00:01
00:04 weinigLunch joined 00:05 weinigLunch is now known as weinigLap 00:17 jisom joined 00:18 Psyche^ joined 00:27 Psyche^ is now known as Patterner 00:39 nipotaway is now known as nipotan 01:23 ruz joined 01:33 dolmans joined 01:36 stevan_ joined 01:52 mako132 joined 02:30 Aankhen`` joined 03:08 stevan__ joined 03:26 daxim_ joined 03:27 obvio171 joined 03:29 nekokak_ joined 03:39 nekokak__ joined 03:48 jisom_ joined 03:50 tokuhirom_ joined 04:08 nekokak joined 04:52 ssd7 left 04:53 weinigLap joined 05:06 BooK joined 05:12 araujo joined 05:27 devogon joined 05:29 weinigLap joined 05:44 obvio171_ joined 06:09 Alias_ joined
mj41 good morning from Czech republic 06:24
dduncan I respond
06:25 Averell joined
Alias_ I express surprise 06:26
dduncan I notice 06:35
06:37 audreyt joined
Aankhen`` I like chicken. 06:41
gaal I, moose.
Aankhen`` wallabies gaal. 06:48
Tene good night from far away from Czech republix 06:49
"republic"
Aankhen`` G'night Tene. 06:50
06:51 kane_ joined 07:08 buetow joined 07:09 franck__ joined, obvio171_ is now known as obvio171
meppl good morning 07:10
moritz good morning indeed ;)
meppl good morning moritz 07:12
07:16 iblechbot joined 07:29 BlackSabbath joined
dduncan good morning indeed 07:30
07:33 rho joined 07:49 obvio171 joined
svnbot6 r16553 | Darren_Duncan++ | ext/QDRDBMS/ : updated AST.pm : EntityName type no longer impl over other Node types, expanded TypeInvo type ; other small changes 08:11
08:12 buetow joined 08:20 rissy joined 08:22 polettix joined 08:30 dduncan left 08:41 iblechbot joined 08:45 drupek12 joined 09:14 lisppaste3 joined 09:17 the_dormant joined 09:26 buetow joined, ofer joined 09:28 ml8128 joined, chris2 joined 09:36 isaacd joined
dolmans i think Perl 6 will be my favorit tool! when Perl 6 is out, the Python's ONLY advantage is its simplicity! and we all know that saying a subset language is encouraged in Perl's culture, but can Perl 6's compiler itself provide some compile level, so that one can only write a subset syntax of Perl 6(which we call baby talk, but still is valid Perl 6, it just disable some avanced syntax)? i think a source filter is not very good in compiling. 09:44
moritz dolmans: I think restricting the compiler to a subset of the language is against perl philosphy ;-) 09:46
dolmans moritz: just a `use' feature, you can use it or not. 09:47
it's just my wish, perhaps not good.
Aankhen`` Why would you want to disable certain portions completely?
Don't use them if you don't need or want them.
Selectively disabling parts of the language would probably break any other modules you use anyway. 09:48
Aankhen`` heads to bed. 09:49
dolmans in some team, the leader can define a subset, so he will not encounter syntax surpress.
09:49 zamolxes joined
dolmans ah, module is a good example i did not consider. 09:50
any comments? 09:52
i think Perl 6 is too powerfull, and have a lot of mysterious syntax feature, perhaps some company will not use it because of its complexity. i just worry about that. 09:54
moritz I can understand your worries... 10:06
but I think it's the same for perl 5 - if you used all features of the language, I couldn't read your code
but in practice, a very high percentage of the code is readable without knowing the more advanced parts of the langauge 10:07
buu dolmans: Perl is like every other programming language. It's possible to write bad code. 10:09
dolmans buu: i know one can write good code, but you cannot prevent somebody else to write bad code, if there isn't a mechnism to sign a treaty. 10:11
buu dolmans: What's your point? 10:12
dolmans buu: if there is mechanism to define a subset that when module use this progma, then he must say languages suitble in this subset. 10:13
buu Yes, but that has nothing to do with good code.
mj41 dolmans: what about Perl::Critic ? search.cpan.org/~thaljef/Perl-Critic/ 10:14
lambdabot Title: Jeffrey Ryan Thalhammer / Perl-Critic - search.cpan.org
dolmans at least the program will not look too strange.
moritz "strange things should look strange" ;-) 10:15
dolmans for example, Perl 6 has >>-<<, ==>,etc.,but Perl 6 also has some english version for these functions, if one team want only to use english version, they need some mechism to do that, perhaps they need to write their own Critic modules. thanks to mj41 for the link 10:17
dmq in perl 5 "advanced knowledge" generally comprises things shouldnt be doing unless you know what they are in the first place. 10:18
btw moritz thanks for your bug report and commentary on PM about the /.*\z/ thing (and confirmation it works somewhere other than here). 10:19
dolmans what i am talking is about convention, not one man, one man can do whatever he want. 10:20
dmq the bug report especially was useful as it reminded me about fixing it. :-)
moritz dmq: you're welcome, the real attribution should go to betterworld++ who discovered it by proof reading bloonix++'s modules 10:21
he was just not couragous enough to label it as a perl bug ;-)
dmq yeah but he didnt file a bug report. anyway i thanked him too.
moritz ok ;)
I don't know if you've seen it, I already posted on pm that it is fixed in blead 10:22
dmq im just hopeful i did completely fix it. the code involved has about a million codepaths and is opaque beyond belief so its hard to say its completely fixed.
moritz ah, so did you ;) 10:23
dmq yes i saw. i replied to your node noting that that PM supports the APC:// linktype.
so if you want to link to the apc you can do so easily on pm.
moritz ok, I'll remeber that ;) 10:24
dmq we should probably set up some handlers for perl 6 related stuff too.
for the APC linktype you can use change numbers or filenames. 10:25
moritz like S05:100 links? ;-)
dmq yeah whatever.
post a PMD with a list of useful targets and ill get them set up. 10:26
moritz what's a PMD?
perl monks discussion?
moritz is pretty new to perlmonks 10:27
dmq yes 10:28
dmq is an admin there
moritz I thought so ;) 10:29
dmq although these days im not very active 10:30
10:30 obvio171 joined
moritz is the code that runs perlmonks.org somewhere on CPAN? 10:32
dmq no 10:33
theres a sister codebase that is public but the pm code is private. 10:34
10:34 BlackSabbath joined
dmq or semi private. 10:34
moritz ok ;)
dmq you can become a "pm-dev" by asking to be one, but we dont allow free access to the code 10:35
10:35 BlackSabbath joined
dmq since code is stored in the db just like posts are its difficult and potentially insecure to allow totally free access to it. 10:35
moritz I don't have specific interest in the code, was just curious ;) 10:36
dmq its a common question 10:37
:-)
10:46 nipotan is now known as nipotaway 10:56 pjcj joined 11:04 franck__ joined
avar dmq: Insecure to allow access a copy of it not running on pm.org? 11:05
11:11 obvio171 joined 11:15 obvio171 joined 11:19 fglock joined 11:22 obvio171 joined 11:25 obvio171 joined
moritz sounds scary ;) 11:27
11:38 the_dormant joined 11:49 franck___ joined 11:50 franck__ joined, andara joined 11:51 buu joined 11:56 Limbic_Region joined 12:10 rindolf joined 12:42 buetow joined 12:44 vel joined 13:00 franck___ joined 13:17 obvio171 joined 13:21 riffraff joined
riffraff hi 13:21
do we have a spec for the various sigil roles? 13:22
i mean $ Object, @ Positional, % Associative and so on 13:23
13:33 jerrylee joined
avar riffraff: The synopsis just got updated very recently in that area, check out perl6-language 13:34
riffraff yep I saw that
but it doesn't say a lot
I was thinking of adding a dummy t/builtins/sigl that just checks that <sigil>name does what it is supposed to do 13:35
13:38 tuna joined 13:45 perlmonkey2 joined
masak riffraff: sounds like a good idea to me -- go right ahead 14:01
14:23 isaacd_ joined 14:31 mj41 joined 14:47 silug joined
riffraff ?eval multi foo {...}; foo() 15:00
15:00 evalbot_r16539 is now known as evalbot_r16553
evalbot_r16553 *** ... - not yet implementedā¤ at <eval> line 1, column 12-15 15:00
fglock hmm - gcc now comes with GOMP and GC
riffraff masak, I will do that, and add some empty roles in Prelude.pm
?eval role R{multi f{...}}; class C does R {}; C.new.f 15:02
evalbot_r16553 *** ... - not yet implementedā¤ at <eval> line 1, column 16-19
riffraff I wonder why in my box ... becomes "undef"
moritz riffraff: i get nyi in both cases 15:03
riffraff: maybe your pugs build is outdated?
riffraff I think so
but wait, I have a difference
?eval role R{multi postcircumfix:<[ ]> {...} }; class C does R {}; C.new[1] 15:04
evalbot_r16553 \undef
riffraff ok, this is what I get and don't understand :) 15:05
probably C.new[1] is parsed somehow differently
moritz even if I use (C.new)[1] I get undef 15:09
moritz wonders if custom circumfix and postcircumfix operators work at all
riffraff ?eval class D {}; D.new[1] 15:11
evalbot_r16553 \undef
riffraff ok, they don't I believ :)
moritz ?eval multi circumfix:<bla alb> (Str $x) { say $x} bla"foo"alb
evalbot_r16553 Error: ā¤Unexpected "\""ā¤expecting "::", dot, ":", "(", term postfix or operator
moritz I'm a bit lost... which parenthesis characters are left for (post)circumfix operators that don't interfere with builtin ops? 15:12
15:13 weinigLap joined
riffraff I guess you have to be creative, there are the banana, lenses and barbed wire brackets 15:14
as for similarly named paper
moritz ;-)
riffraff and maybe we could use those ceiling anf floor characters which I don't know how to type 15:16
actually thos wodule be fun to use with their real meaning I believe :) 15:17
moritz ā†’propably, yesā†
riffraff lol 15:18
moritz who needs windings anyway? we have unicode!
fglock anyone knows of a comparison between 'JIT' vs a 'direct C code generator'?
riffraff (I especially appreciate how you understood "wodule" for "would") 15:19
moritz riffraff: the "module" interpretation didn't fit, so my parser did a bit of backtracking ;) 15:20
fglock: do you mean in terms of speed?
fglock yes, mostly
riffraff if I declare a class in PRelude is it automagically visible or should I export it ? 15:23
fglock riffraff: you need to export, afaik
Limbic_Region ?seen TimToady 15:24
lambdabot TimToady is in #perl6. I last heard TimToady speak 18h 4m 58s ago.
fglock moritz: I'm comparing Parrot JIT with a possible kp6-in-C implementation 15:25
moritz fglock: maybe you should ask in #parrot - but afaik the optimization in parrot is not very mature 15:26
correct me if I'm wrong, though
?seen [particle]
lambdabot I saw [particle] leaving #perl6 5d 21h 38m 20s ago, and .
moritz fglock: so would you rewrite kp6 in C, or just write a backend? 15:27
fglock write a backend, and then bootstrap
Aankhen`` bootstraps for massive damage. 15:30
moritz fglock: I think atm C should be faster (without really knowing, I admit), but PIR would be more interesting because it's made for dynamic languages 15:31
fglock yes, parrot bytecode is kind of an Intermediate Language 15:32
lunch & 15:33
japhb fglock: Also, in your readings remember: standard C compiling and JIT both can only do static analysis. Profile-directed C compiling can optimize based on past aggregate behavior. Self-optimizing JIT can continue to optimize at runtime as conditions change. This turned out to make at least one processor emulator emulating its own architecture run faster than raw code -- because it kept reordering branches and such as runtime behavior b 15:34
ecame clear ....
Looks like I just missed him. Oh well, hope he's the backlog type .... 15:35
Limbic_Region he typically does backlog yes 15:36
15:36 pbuetow joined 15:42 devogon joined 15:46 blaze-x_ is now known as blaze-x 15:48 ruz joined
Limbic_Region @tell TimToady I have sent you a personal email from my gmail account, please let me know if it did not arrive or was eaten by spam filters 15:53
lambdabot Consider it noted.
TimToady yes, got it 15:54
lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
TimToady @massages
lambdabot Limbic_Region said 57s ago: I have sent you a personal email from my gmail account, please let me know if it did not arrive or was eaten by spam filters
Limbic_Region thanks 15:58
16:03 buetow joined 16:13 bernhard joined 16:21 justatheory joined, fglock joined
fglock japhb: ok 16:24
japhb: I've been looking at strongtalk and psycho 16:32
16:33 pbuetow joined
fglock pypy actually looks a bit like 6-in-6, in that it has several alternate implementations 16:33
16:37 buetow__ joined
avar fglock: So you opted for going sideways I take it?:) 16:37
16:42 buetow__ joined
fglock hmm - sideways? 16:42
avar multiple emitters for mp
16:43 charsbar joined 16:45 elmex joined
fglock yes 16:45
avar how big a subset is it covering now, able to run Test.pm? 16:46
fglock avar: no, kp6 is mostly about architecture - it has vary little runtime 16:48
s/vary/very/
mp6 builds top-down from MiniPerl6; kp6 builds bottom-up from there 16:49
perlmonkey2 Anyone know why Moose no longer calls BUILDALL even though my package has "sub BUILD"? 16:50
avar fglock: so what needs to happen to get it closer to something that "actually works"? 16:51
fglock avar: agree on a "final" architecture; and then finish the implementation 16:52
I hope to be able to discuss the architecture in the YAPC::EU hackathon
avar neat, hopefully I'll be there 17:02
depends on whether my blathering^Wtalk gets accepted:)
17:13 ruoso joined
fglock avar: the architecture is not "too" important, but it would be nice to have some community participation 17:14
rindolf Hi all. 17:15
Hi fglock, avar , perlmonkey2
fglock re what works - v6/v6-KindaPerl6/t/kp6/ is not that bad 17:16
17:16 amnesiac joined
fglock rindolf: hey 17:16
avar fglock: get it to pass some tests:) 17:18
fglock avar: perl kp6-perl5.pl < t/kp6/01-tap.t | perl -I lib 17:20
17:20 franck__ joined
fglock avar: is it failing? 17:21
avar nope, works 17:23
One thing I might poke is to try to get all this stuff packaged, kp6 --backend=perl5|parrot|jvm 17:24
would be nice to cpan -i kp6 and get a very limited p6:)
seems to be a lot of duplication in all these mp6-whatever.pl's :) 17:25
fglock sure 17:26
17:27 kanru joined
fglock but it's also a bit distracting; I'm trying to pay attention to the core compiler 17:28
and v6.pm is a place holder in the meanwhile
avar: I'm trying to make a project roadmap 17:29
obra: ping
avar I'd be interested in helping out with some of this stuff 17:30
obra fglock: pong!
fglock obra: I'd like some help from the Perl 6 project manager
obra Ok. What can I do for you?
fglock help making a roadmap for v6/mp6/kp6 17:31
obra Ok. You know more about the technology than me. How can I help with the roadmap 17:32
is there a current braindump of what needs doing?
fglock obra: there is some in svn.pugscode.org/pugs/v6/docs/ and svn.pugscode.org/pugs/v6/v6-KindaPe...cs/FAQ.pod 17:34
lambdabot Title: Revision 16553: /v6/docs
fglock but I'm having trouble integrating into something readable
17:37 sahadev joined
obra Ok. So. Is there a particular order things need to be developed in? 17:37
fglock there are a few parallel tasks: 17:38
ingy ?seen gaal 17:39
lambdabot gaal is in #perl6. I last heard gaal speak 10h 58m 22s ago.
rindolf Can anyone point me to the list of examples of perl4 code that won't work on perl5 anymore. 17:40
Hi ingy
ingy hi rindolf
gaal moose
rindolf ingy: what's up? How do you feel?
gaal: hi. What's up?
fglock runtime and MOP; regex engine runtime; grammar; the compiler itself; the code evaluator
ingy I feel good
rindolf gaal: how's work?
ingy I'm in love
with libyaml ;)
gaal yay :)
rindolf gaal: I'm thinking of getting a new laptop for games and presentations and stuff. 17:41
gaal: but it will run Linux.
ingy I think I will soon join the Perl6 effort again by bringing in libyaml
rindolf gaal: though it should dual-boot into WinXP or win2003 or whatever.
ingy I can use it to teach me haskell
rindolf ingy: is libyaml written in C?
ingy for now I'm using it to teach me C :)
yeah
gaal ingy: awesome
rindolf ingy: what's wrong with Syck?
ingy rindolf: YAML::LibYAML 17:42
gaal rindolf: laptop for games doesn't sound effective
rindolf ingy: oh.
gaal: in a way.
obra fglock: ok. let's step back. of all the kp6/mp6/v6, which ones are needed to get to your endgame?
rindolf gaal: I can hook a keyboard and a mouse to it.
ingy rindolf: syck is not perfect
well not even close actually
rindolf gaal: but I need one for presentations.
gaal I'm off to dinner w/ kudra; bbl...
rindolf ingy: I see.
ingy: is libyaml a rewrite?
ingy libyaml appears to be perfect
17:42 Psyche^ joined
rindolf ingy: or is it a fork? 17:42
ingy rindolf: it's a write :P
rindolf prefers forks over rewrites. 17:43
ingy: I see.
ingy: does it have a test suite?
ingy rindolf: just google and read :)
rindolf ingy: asking you is faster.
gaal prefers writes to wrongs
fglock obra: kp6 is the current version; v6 is the published version; mp6 is a bootstrapper
ingy it was a 2005 SoC project
gaal though reads are just andy 17:44
17:44 obvio171 joined
gaal dandy, too 17:44
moose &
obra fglock: from here to the future, which of the three will be involved? is v6 still relevant?
fglock obra: kp6 is the current version; v6 is the published version; mp6 is a bootstrapper
17:45 fglock left 17:46 fglock joined
fglock sorry, lost connection 17:46
obra it's ok 17:47
so. those three terms don't explain to me very well what the work plan looks like.
fglock v6 will be replaced by 6-in-6
obra ok. so v6 is no longer part of the roadmap, it sounds like
fglock kp6 is a path to "full" 6-in-6 17:48
mp6 is "stable"
rindolf ingy: why have you decided to call yourself "Ingy dƶt Net" instead of Brian Ingerson? 17:49
obra ok. so right now, mp6 is a stable ~complete 6on5 implementation and work is ongoing to implement kp6 on top of mp6?
rindolf ingy: reminds me of chromatic.
ingy because it's my name :P
rindolf ingy: is it also your new legal name? 17:50
;-)
17:50 Psyche^ is now known as Patterner
ingy yes 17:50
daxim_ ĀØ
rindolf ingy: some people think Shlomi Fish is not my real name. 17:51
But I'm very happy with it.
It has a nice ring.
ingy: have you read my "Human Hacking Field Guide" story?
fglock kp6 is already built on top of mp6; work is ongoing to provide "full Perl 6" on top of kp6
ingy has a nice ring ;) 17:52
rindolf: no
rindolf ingy: well, there's a girl there (in the 12th grade) called Eve Siegel who decides she wants to be called "Erisa".
obra ok. so kp6 and mp6 are pretty stable and there's a new third implementation on top of kp6?
rindolf: a nice discordian name 17:53
17:53 pbuetow joined
rindolf ingy: because she believes people should have a choice of getting their own names. 17:53
ingy I was just trying to remember if I or audrey changed our names first 17:54
it was very close
but now I remember it was me first...
I think so anyway
fglock obra: I think kp6 --> 6-in-6 can be developed incrementally 17:55
obra ok 17:56
so it sounds like most of the work is in "kp --> 6-in-6"
Is that right?
fglock yes
obra ok :)
So we're getting somewhere. 17:57
of those parallel tracks you mentioned earlier, are they everything that needs to be done in the arrow?
fglock yes; things like optimization are included there 17:58
and "runtime" is pretty generic 17:59
obra ok.
Next step: can you check in a document called " KindaPerl6 --> full 6-in-6 Roadmap" 18:00
fglock ok
ingy I just found out that libyaml is 2.75 times faster with -O3
:)
obra Of those areas, is there one that MUST be done first?
are there any that can be ~fully done withot the other areas being done or started? 18:01
ingy is -O3 a problem with Perl XS modules?
should I ask p5p?
obra sure. you'll get good answers 18:02
fglock the general architecture must be specified first 18:04
svnbot6 r16554 | fglock++ | [kp6] KindaPerl6 --> full 6-in-6 Roadmap - obra++
fglock there are some diagrams of the current architecture,
but it wasn't really discussed here
obra ok. I'd steer clear of the diagrams of the architecture
fglock re fully done, no
obra for this
ok.
which chunk needs to be ~mostly done first 18:05
are there two chunks that will help the most?
fglock there are some chunks that are mostly done; it's the "kp6 Milestones" in the top of svn.pugscode.org/pugs/v6/v6-KindaPerl6/TODO 18:07
BEGIN blocks, lexical subs, the "environment"
perlmonkey2 hello rindolf 18:08
obra ok. extract that section to the new document :) 18:09
obra updates his pugs checkout to play with the doc
fglock actually, these are mostly done; we need a plan for what to do after that 18:10
18:10 cmarcelo joined
obra sure 18:11
but a roadmap that starts with completed bits inspires people
showing people where they're coming from makes it a little easier to see where you're going 18:12
fglock done
obra cool
svnbot6 r16555 | fglock++ | [kp6] updated roadmap
obra I am MANY revs behind, so I'm pulling 18:13
fglock obra: svn.pugscode.org/pugs/v6/docs/kp6-P...oadmap.txt 18:14
obra like what pugs did, we want to come up with 5-10 major "steps" to go from here to done 18:15
Whcih subsystem do you want to hack on next?
which one really has to be last?
rindolf perlmonkey2: hi. 18:17
perlmonkey2: wattcha doing in #perl6?
perlmonkey2 watching 18:18
rindolf: 18:19
fglock obra: there are some possible paths;
perlmonkey2 rindolf: Hoping to see Stevan Little or Christian Hansen. 18:20
fglock my initial goal was to make as much of the modules reusable by p6-pugs and p6-parrot
18:20 tabris|away joined
fglock but this is making much harder to make a plan 18:21
rather than a subsystem, maybe it could be organized based on language features (syntax + semantics) 18:22
obra ok. that's reasonable
I wouldn't worry about making it magically reusable if it's going to hurt your 6 on 5 plan too badly.
planning for reusability when the other projects aren't ready for you is going to burn a lot of cycles 18:23
when they're ready, they can ptich in and help refactor toward what you need
but sure. let's start with language features. 18:24
...I wonder if it makes sense to use the synopses 18:25
fglock I think a reasonable first goal would be to integrate the regex-parser into the Perl6-parser; this is more or less what Perl6-STD does 18:26
this simplifies the architecture a bit
obra Ok. put down Milestone 1: Integrate Regex Parser 18:27
once you've got that, what becomes easy?
or easier ;) 18:29
fglock integrating the Lazy list code from the old pil-run would be nice
not sure if it's easy enough 18:30
I guess next step would be implementing multis - STD needs that 18:31
obra ok. so is it just multis or is it all of subroutine dispatch? 18:32
obra asks handwavey questions, he knows
fglock it's all in the "Code" and "Signature" objects 18:33
btw, "Array" and "Hash" need to be finished first, so that's Milestone 1 18:34
and "P6opaque" 18:35
obra does Array and Hash objects come before the regex stuff?
fglock this is parallelizable 18:36
obra sure. 18:37
we might end up with people completing work on milestone 6 before milestone 1.
TimToady STD doesn't use Array or Hash, or do you mean that more generally? 18:38
obra but trying to lump all the different systems into one milestone because they don't have dependencies will make it harder for people to understand
fglock TimToady: generally
obra and the goal of a milestones document is (presumably) for people to have a grasp on what's being done and what needs doing ;)
18:40 renormalist joined
fglock brainstorming - another (parallel) milestone would be to make kp6 runnable over parrot and pugs 18:42
obra is that critical to kp6 working? 18:43
if not, add it in a new section: "Bonus Milestones" as "Bonus Milestone 1" "make kp6 run over parrot and pugs"
The goal here is to get the things that are critical to the system working listed out 18:44
in rough dependency order
fglock it could be good for the whole Perl 6 project in general
obra sure
I agree that it's a GOOD thing.
But is it 100% mandatory to get 6in6 working?
If not, it goes in "bonus milestones". it's an extra project you don't need to do 18:45
it's always ok for somebody to do the bonus bits early
but we don't want them to cloud the way for getting to "it runs"
fglock obra: sorry, I've got a meeting in a few minutes
obra fglock: no problem 18:47
I have to leave in about an hour
will be back late tomorrow
happy to pick this up by mail (jesse@perl.org) if you want
fglock obra: actually "it runs" right now; we need a better definition for "runs" :)
obra sure :)
fglock obra: thanks! 18:48
obra we'll get there. thanks for all the hard work hacking :)
18:48 drupek12 joined
fglock obra: I'll be organizing a hackathon in YAPC::EU, I hope to have the plan sorted out by then 18:48
18:51 fglock left 18:53 jisom joined 19:07 the_dormant joined 19:08 IllvilJa joined 19:13 theorbtwo joined
gaal rehi 19:24
19:35 dduncan joined
dduncan opinion question: what might be a good name for a set-like collection type which can have at most 1 element (that is, it can have either zero or one elements)? 19:36
I might go with Set1 or some such, but wondered if there was a better name 19:37
TimToady that would have to be either a Bet or a Soolean
gaal Oneohton? 19:38
dduncan technically, this type is a set, specifically it is like: subtype of Set where { .elems <= 1 }
er subset of Set 19:39
TimToady Element and rely on implicit maybeness of P6?
gaal in Haskell at least, a container X with one element is called a singleton X 19:40
dduncan does the singleton refer to having exactly one element or at most one element?
gaal one exactly.
although when you think of lists as a monad, failure = an empty list 19:41
that's probably not helpful here thouhg :) 19:42
dduncan fyi, this question relates to my database language 19:43
gaal but really, a collection limited to an element count of one is a set, sure, but it's also other things. do you _need_ to think of it as a set?
dduncan said language has no concept of an undefined variable, ...
gaal eg do you use this object in set calculations? 19:44
dduncan so I thought one way to represent a variable that conceptually has no value is to make it hold a set value
or other collection
where if it is empty, that represents having no value
and if it has one element, that is the value it otherwise would have if it had to always have one
19:45 isaacd__ joined, bpalmer joined
dduncan now I don't need a type for this ... 19:45
simply having a set-valued variable that holds an empty set is sufficient
but what I was talking about now was meant to be a definers shorthand
gaal haskell has the parametric type Maybe a exactly for this purpose
dduncan for saying set where elem count <= 1
perhaps Maybe is my answer then 19:46
I'll look into it ... thank you
gaal in hs syntax: data Maybe a = Nothing | Just a
there's a host of standard functions that operate on Maybe values 19:47
@hoogle Maybe a
lambdabot Prelude.Nothing :: Maybe a
Prelude.Just :: a -> Maybe a
Maybe.listToMaybe :: [a] -> Maybe a
gaal those are just some.
listToMaybe, for example, yields Nothing when the input list was emtpy, and Just x if the list was not and x was at the head. 19:48
dduncan in my case, were I to use Maybe, then Maybe isa Set, and any ops specific to Maybe would be shorthand for some Set ops
for that matter, Set is a unary Relation
and so a Maybe would be a unary Relation with a nullary key
a nullary key resulting in a Relation that can have at most one value 19:49
er, one tuple
19:50 daxim joined, devbot6 joined
gaal I don't know enough about what you call Relation to see whether that makes sense. :) 19:51
TimToady note that P6 defaults the other way; every Object is a Maybe, and you have to use "subset" to express a type that can't be undefined.
gaal hee, that PM post made it into Syn!
TimToady well, sure, why not? 19:52
gaal it now lives in Syn
dduncan Relation, in logic and philosophy, a property or predicate ranging over more than one argument.
19:52 fglock joined
dduncan in appearance in my language, it is like a set of Mapping 19:52
where every mapping has the same keys
sort of like a SQL table 19:53
a unary relation is like a table with one column
which for all intents and purposes is a set
that is, a plain set
a nullary key is a key over zero attributes/columns 19:54
that constrains a relation/set/table to at most one tuple/element/row 19:55
my language doesn't have undefined values since it keeps logic simpler in the general case
this thing about pretending to have undefined is basically a huffmanization
Limbic_Region OT - does anyone know of a utility that will pull data from a database into an LDAP directory and keep it syncronized lazily? 19:56
dduncan since that would be used less frequently, it is more verbose than one that can't be empty
20:02 rlb3_work joined 20:03 polettix joined 20:05 japhb joined 20:11 GeJ_ is now known as GeJ
gaal sorry, phone 20:11
hee, dons' cute code is. 20:16
> > take 10 $ Control.Monad.Fix.fix ((1:) . scanl (+) 1)
lambdabot Parse error
gaal > let fix y = y (fix y) in take 10 $ fix ((1:) . scanl (+) 1) 20:19
lambdabot [1,1,2,3,5,8,13,21,34,55]
svnbot6 r16556 | rhr++ | [unitsdat-grammar.pm] Associativity fixes. Misc fixes and cleanups. 20:22
20:23 elmex_ joined 20:27 thoughtpolice joined
daxim hey thoughtpolice 20:28
thoughtpolice yo :) 20:31
daxim I got some improvement suggestions for the blog entry
thoughtpolice shoot
daxim explain how the <> nee qw() operator works and why it's used, because that's not obvious from the code example
say it splits the inner stuff on any amount of whitespace
say it's used so a programmer can be lazy and does not need to quote strings with special characters like " or '
some paragraphs below you explain redo with an real world use case, but only with abstract words. back this up with a code snippet
thoughtpolice got it 20:32
Tene there's a blog entry? 20:34
daxim diveintoperl6.blogspot.com/
lambdabot Title: Dive into Perl 6
Tene So, who's going to write a Perl 6 compiler for lolcode.com/ ? 20:35
lambdabot Title: home Ā· LOLCODE
daxim damn, that one's all over relay chat space 20:36
gaal IM IN YR STRINGS / NTRPOLATING YR CLOSURZ
qmole heh
thoughtpolice sweet
gaal someone was asking how to spell currying there. INVISIBLE ARG, surely. 20:38
svnbot6 r16557 | fglock++ | kp6-Perl6-roadmap.txt - divided in "phases"; added past work
gaal z& 20:43
20:48 riffraff joined 20:53 SubStack joined
avar SV* yaml = newSVpvn("", 0); <= newSVpvs("") is cheaper for creating an empty SvPV 20:55
whoa, /me reading old scrollback accidentally 20:56
riffraff anyone has ide of how to define a class or role in Prelude.pm and have it available at the repl (having it bulitin) ? I tried is export is primitive is builtin and the permutations but I failed miserably
avar ingy: that was for you 20:57
fglock avar: svn.pugscode.org/pugs/v6/docs/kp6-P...oadmap.txt # work in progress 21:03
svnbot6 r16558 | fglock++ | kp6-Perl6-roadmap.txt - added "related work" for reference
fglock home &
japhb thoughtpolice: weren't there previously more entries than currently appear on the diveintoperl6 blog? 21:07
21:08 weinigLap is now known as weinig|bbl
thoughtpolice japhb: ? no. the ones I published are the ones up there 21:09
i had to test some earlier versions of articles out by quickly publishing them to see how they'd look with the layout, though
so if you for some unknown reason stumbled upon one, that might be the reason 21:10
japhb Weird, a few minutes ago "Perl 6: Round 1" wasn't there
avar fglock: awesome:)
thoughtpolice hm. 21:13
21:26 weinig|bbl is now known as weinigLap
svnbot6 r16559 | rhr++ | [unitsdat-grammar.pm] Fix linear interpolator. 21:39
21:41 Limbic_Region joined 21:50 drupek12 joined
riffraff wonder why Prelude hates him 21:51
21:55 buetow joined 21:56 nelhage left, xinming_ joined
meppl good night 22:06
thoughtpolice daxim: annotations complete. thanks :) 22:10
riffraff someone knows why Set.pm is not preloaded into the Prelude? 22:17
TimToady perhaps because the set operators are not part of standard perl 6? 22:18
at least, not the Unicode versions... 22:19
22:20 Southen joined
riffraff but the Set class is, isn't it? 22:20
TimToady yes, but unless the parser is taught about the various operators, they wouldn't be parsed in any particular lexical scope 22:21
it's possible they'll be in there eventually
but we're trying to keep Unicode operators hushhush for now, just to avoid scaring people too much
svnbot6 r16560 | Darren_Duncan++ | ext/QDRDBMS/ : in Language.pod, added new Maybe data type
TimToady anyway, at most they'll be a "use" away 22:22
moritz which is not far away if it's distributed as "core"
22:22 TreyHarr1s is now known as TreyHarris
TimToady certainly they'll be in the core, since otherwise people would reinvent them poorly 22:23
riffraff I see
TreyHarris anyone with a MBP 15" in front of them on right now? if so, please message me
moritz are they implemented non-poorly atm? 22:24
riffraff and what about the other containers such as Bag? all in ext ?
wolverian thoughtpolice, s/frusteration/frustration/ in perl6: round 1
thoughtpolice wolverian: :o 22:25
:x
my bad
dduncan I would expect for Set, Bag to be in Prelude et al, but just with ascii/text names for their operators
riffraff +1
dduncan and ext/ just declares unicode aliases for them
japhb moritz: even if they are implemented poorly now, we should be able to get them pretty nice by xmas
moritz japhb: I know ;) 22:26
dduncan: "use names utf8" ;-)
TimToady P6 distinguishes Set/Bag values which are immutable from containers for sets and bags that are defined in terms of the hash interface.
see S02:759 and following 22:27
moritz oh no, that was "set names utf8" ;) 22:28
TimToady so it would be illegal to say $set<foo>++ if $set were a Set, but not if it were a KeySet
dduncan moritz, in your case, you would want use/set names unicode
moritz I just wanted to paraphrase mysql syntax ;) 22:29
dduncan since encoding issues are abstracted away
wolverian TimToady, is there a difference between hashes and KeySets?
dduncan and so unicode is just a character set
TimToady and the difference between a KeySet and KeyBag is then just the type of the value in the KeyHash
dduncan or should I say, a repertoire
TimToady yes, in list context a hash returns pairs, while a keyset returns just the keys 22:30
just as a Set in list context returns a list of the elements 22:31
PerlJam TimToady: Do you try to focus on particular aspects of the Synopses or do you just flit from topic to topic as they occur to you? (Just curious about how you push through the work; organized or random)
TimToady both/neither. my work pattern is of fractal dimensionality 22:32
drives all my bosses nuts :) 22:33
PerlJam Even Gloria? :)
TimToady from time to time
but then, she's already nuts about me, so it's hard to tell the difference. :) 22:34
japhb awwww
PerlJam TimToady++ (lucky man) 22:35
My wife has put up with me for 12 years so far ... I'm hoping she goes the distance :-)
well, 12 years of marriage anyway
Caelum started compiling pugs 15 hours ago, and it still hasn't finished, also makes computer unbearably slow when compiling :( 22:37
Tene Caelum: what hardware?
moritz Caelum: how much memory does your maschine have?
Limbic_Region Caelum - less than a gig of ram?
moritz ;-)
Caelum it's a 64bit p4 with a gig of ram
I have 4 gigs of swap, which is probably a bad idea... 22:38
moritz that's unusual
Limbic_Region Caelum - extremely odd, even if you were compiling GHC from source it shouldn't take that long
Tene Huh. I can compile it in about an hour on a P3 with 1 gig.
moritz Caelum: that shouldn't be used
Caelum weird
japhb Caelum, is the swap being actively used?
moritz pugs build takes about 600MB on my maschine (which has only 512M or ram :()) 22:39
Caelum I probably have too much crap running (vmware and such) 22:40
japhb Caelum: Oh heck yeah, vmware will definitely do it,
thoughtpolice vmware++
:)
japhb as it grabs a big chunk of ram and holds on to it
Limbic_Region has found that 1GB is more than enough to compile pugs assuming it is available
wolverian Caelum, how much memory did you give to vmware?
moritz vmware-- # (eating RAM)
thoughtpolice i have 1gb running two virtual machines; pugs doesn't take too long to compile. 22:41
Caelum wolverian: 256mb
japhb Caelum: would you mind pasting a few lines of 'vmstat 5', please?
moritz Caelum: and are you compiling inside the vm? *g* 22:42
22:42 prism joined
Caelum japhb: while pugs is compiling? 22:42
japhb Caelum: yeah.
Caelum moritz: nah :)
22:42 Alchemy joined, prism joined 22:49 SubStack joined 22:52 prism joined
Aankhen`` moritz: Can't you set a memory limit for each virtual machine? 22:57
moritz Aankhen``: the problem (with all vms) is that you have to allocate the memory at startup time of that vm... 22:59
Aankhen`` Right.
moritz Aankhen``: which means that if you run linux inside the vm, it will use _all_ available memory
Aankhen`` Ah.
Caelum now it finished... for some reason it did "-Iinc runjs.pl --precompile-only --p6preludepc=blib/lib/Prelude.js --testpc=blib/lib/Test.js -e 1" and "-Iinc util/src_to_blib.pl" with a different perl than I ran Makefile.PL with
the perl that was in my path 23:00
oh I see it just calls perl, nm 23:01
23:03 mr_ank joined 23:13 shachaf joined 23:17 demq joined