pugscode.org | Beware of `make install` and Pugs, it will do bad things to your system Set by Aankhen`` on 22 May 2007. |
|||
00:05
guinex joined
|
|||
Aankhen`` | Hmm... "It's worth noting if you do not define parameters with the read-write trait explicitly, they will be copies, not references." # aren't they readonly aliases to the variables passed in by default? | 00:06 | |
Er, to the values passed in. | |||
moritz | ?eval sub f($x){$x=3} f(2) | 00:08 | |
evalbot_r16576 | Error: Can't modify constant item: VInt 2 | ||
moritz | ?eval sub f($x){$x=3} my $y=2; f($y) | ||
evalbot_r16576 | Error: Can't modify constant item: VRef <Scalar:0xb67902f8> | 00:09 | |
thoughtpolice | Aankhen``: i'll change it in a sec. | 00:12 | |
Aankhen`` | Kewlies. | ||
00:12
mr_ank joined
|
|||
Aankhen`` | Also, "You can also explicitly make your parameters have a name, by prefixing it with :" # this isn't really very clear. You might want to say something like: "You can force certain parameters to always be passed by name rather than positionally, by prefixing them with :." | 00:13 | |
The original version makes it seem as if all you're doing in :$foo is explicitly marking that parameter as having the name "foo". | 00:14 | ||
thoughtpolice++ though, nice article again. :-) | |||
thoughtpolice | thanks :) | 00:15 | |
i have two in draft, the round 3 and an interlude | |||
Aankhen`` | I wait with bated breath. | ||
What's the interlude? | |||
thoughtpolice | but the interlude will probably come a bit later after I've collected more thoughts | ||
coming from a haskell background I like functional programming. so the article is about functional[-esque] programming in perl 6. | 00:16 | ||
Aankhen`` | Ah. | ||
00:17
weinigLap_ joined,
prism joined
|
|||
thoughtpolice | so far I've gotten a section on higher order functions, and as I work with it more I'll find more parts of the language that relate to functional programming. | 00:18 | |
Aankhen``: I made the changes, though. | |||
Aankhen`` | That's cool, thoughtpolice++ :-) | 00:19 | |
thoughtpolice | :) | ||
higher order functions are the bomb. i got really close to them because of haskell. | |||
Aankhen`` | Heh. | ||
thoughtpolice | and now I don't think I can go back to passing function pointers 'n stuff. | ||
Aankhen`` | (languages without higher-order functions)-- | ||
thoughtpolice | agreed. | 00:20 | |
Aankhen`` tries to think of some modern dynamic languages without HOFs | |||
. | |||
I wonder if PHP qualifies. | 00:21 | ||
IIRC, you can pass functions as values and create anonymous functions, but there's some weird syntax for it. | |||
thoughtpolice | i wouldn't know off the top of my head; i 'quit' php a while back. | ||
Aankhen`` | I never did PHP, just picked up some stuff from being exposed to way too much. | 00:22 | |
Tene highly recommends the book 'higher order perl' | |||
thoughtpolice | i met this girl called rails and a friend called seaside, and shortly thereafter me and php broke up. :( | ||
Aankhen`` | LMAO. | ||
Nice way to put it. | |||
thoughtpolice | i thought so too. | ||
we agreed (or, at least, I stated) it was better for both of us. | 00:23 | ||
Aankhen`` | I thought PHP was neat when I first heard about it. Then I started reading about it, and I couldn't stand it. | ||
thoughtpolice | i just kind of started like, you know, hating it. | 00:24 | |
Aankhen`` | Hehe. | ||
Okay, I'mma go back to Lisp now. | |||
thoughtpolice | it felt messy and bloated (one namespace? :/), and once I saw how much more abstractly I could accomplish things in say, Rails, with a nice design pattern to boot, there wasn't a question in my mind. | 00:25 | |
then again I'm not much of a web developer these days, but when I have to, I try to do rails or at least use a framework of some sort. | 00:26 | ||
Aankhen`` | Have you seen Catalyst? | ||
00:26
knewt joined
|
|||
thoughtpolice | that perl framework? Yeah, I haven't investigated it too much | 00:27 | |
Aankhen`` | It's really very useful. | ||
thoughtpolice | saw something on reddit a while back, Catalyst vs. Rails or something I think. | ||
i haven't heard much of it though in discussion, however. just from the jist of the article though I got interested to a degree. | 00:28 | ||
Aankhen`` | You should check it out if you're doing any Web development. :-) | ||
thoughtpolice | note this is really befeore I got into perl 6 and whatnot, so I have an excuse :P | ||
Aankhen`` | Hehehe. | ||
thoughtpolice | 'cause until I started with perl 6 | ||
I'd say I hadn't done perl in like, 3 years. | |||
00:28
rashakil joined
|
|||
Aankhen`` | Owa. | 00:29 | |
thoughtpolice | some trivial apps and whatnot; when I saw pugs and perl 6 my feeling for the language was fairly revived as I'm sure you can tell. | ||
Aankhen`` | Perl 6 has that effect. ;-) | ||
thoughtpolice | one of them got used by a commercial company, though | ||
some old port scanning code I wrote. | |||
Aankhen`` | Fun. | 00:30 | |
thoughtpolice | it was unbearably slow but the person who emailed me said they liked it because A) it was simple. B) they didn't have to write it. C) speed was of little importance since the thing only had to be run once every so often or somesuch. | ||
but I was about 14 at the time | |||
so I was pretty proud | |||
00:30
nipotaway is now known as nipotan
00:35
nekokak joined
|
|||
thoughtpolice | wow, thanks apple software update! you totally killed my terminal sessions and for some reason made my system unresponsive! way to go. | 00:35 | |
dduncan | really? its never done that to me | 00:36 | |
thoughtpolice | yeah, my cpu usage shot to like 100% in an instant and half my stuff became totally unresponsive. luckily I have screen + ssh though so I didn't really lose anything. | ||
what was weird is it didn't do it until like, 75% way through the update. | |||
oh well, no harm no foul. | 00:38 | ||
00:39
rlb3 joined
00:45
knewt joined
01:14
SubStack joined
01:16
dolmans joined
01:24
zamolxes joined
01:36
[particle] joined
01:53
[particle1 joined,
rlb3 left
|
|||
ingy | hola | 01:54 | |
02:04
weinigLap joined
|
|||
offby1 | buenas dĆas | 02:06 | |
ingy | hola | 02:08 | |
gaal: Syck is annoying me | |||
its emitter seems to like to put trailing spaces on certain lines | 02:09 | ||
which is legal but annoying | |||
and hard to write tests for that work against saner implementations | |||
so I want to complain to you gaal | 02:10 | ||
:) | |||
TimToady | didn't you help write the spec? | 02:22 | |
dduncan | come now, people are allowed to complain about their own work | 02:24 | |
TimToady | heh | ||
02:37
mako132_ joined
|
|||
dduncan | ?eval my $v1 = s1($v2); | 02:42 | |
evalbot_r16576 | Error: No such subroutine: &s1 | ||
dduncan | my $v1 = s1(:a1($v2)); | ||
?eval my $v1 = s1(:a1($v2)); | 02:43 | ||
evalbot_r16576 | Error: No such subroutine: &s1 | ||
dduncan | how come no compile time errors? | ||
anyway, what I wanted to demonstrate was that the second example gave different compile time errors than the first | 02:44 | ||
the first example complained that $v2 was not declared | |||
but the second was a lot more cryptic, simply saying Unexpected "$v1" ... | |||
the $v2 not being declared was the problem, but it took me awhile to figure out why I got the other error, since things looked syntactically correct | 02:45 | ||
(and the not being declared was due to a misspelling) | |||
so it seems invoking a positional arg gives the better error, but a named arg the worse error | |||
evalbot doesn't show it, but you can try entering the snippets I quoted at the pugs command line | 02:46 | ||
02:56
japhb joined
04:01
baest joined
04:05
LCamel_ joined,
scw joined
04:09
beppu joined,
ofer joined,
GeJ joined,
idiotmax joined,
spinclad joined
04:10
beppu_ joined
04:11
idiotmax_ joined
04:13
ahmadz joined
|
|||
ahmadz | good morning ;-) | 04:13 | |
04:14
grick12345 joined
|
|||
offby1 | mrgn stnly | 04:16 | |
04:16
ofer joined,
GeJ joined,
spinclad joined
04:21
GeJ joined
04:35
nipotan is now known as nipotaway
04:38
ofer joined,
spinclad joined
04:45
ofer joined,
spinclad joined
04:50
rindolf joined
04:51
ofer joined,
spinclad joined
05:06
BooK joined
|
|||
cj | Zelda Mae Adams-Collier was born on 2007/05/28T1038 | 05:16 | |
05:20
jisom joined
|
|||
buu | cj: Zelda?! | 05:27 | |
cj | buu: yar | 05:28 | |
buu | Wowch. | ||
cj | yes, like "doo doo doo, doo doo doo doo doo doo doo doo" | ||
buu | =[ | ||
There was a zelda in one of the thin man movies. | |||
cj | I mean o/~ doo doo doo, doo doo doo doo doo doo doo doo o/~ | ||
thin man movies? | 05:29 | ||
you don't like the name? | |||
buu | Well.. | ||
I just think it could have gone better with a "Destroyer of Worlds" in there someplace. | |||
cj | ah, yes. probably | 05:30 | |
05:42
devogon joined
|
|||
gaal | he's Syck of it. okay that was probably the worst pun in the entire universe, sorry. | 05:47 | |
ingy: I hadn't noticed it was doing that... but it's got its own tests, how do they handle it? | 05:48 | ||
I hope not with s{is <something>}{like <something> <ws>*} | 05:49 | ||
ingy | gaal: the tests expect various unneeded whitespace | 05:54 | |
explicitly | |||
gaal | lose, lose :( | 05:55 | |
wow, I wish "did you know" | |||
style tips weren't so dumb | 05:56 | ||
like, "You just upgraded firefox! did you know there are add-ons you can install?" | |||
Yes, and I have like 5923 of them already! | |||
ingy | I'm writing multiple expectations in my tests, and making them pass if one yaml matches | ||
gaal | well, if the amount of randomly appended whitespace isn't predictable, that'd be a lot of yamls :) | 05:57 | |
05:58
franck__ joined
|
|||
ingy | gaal: | 05:58 | |
> perl -MYAML::Syck -e '$_ = Dump([1..2]); s/ /+/g; print' | |||
---+ | |||
-+1 | |||
-+2 | |||
lambdabot | Parse error | ||
ingy | it dumps "--- " on all docs for instance | 05:59 | |
amnesiac | ingy, does that generats brainfuck? :P | ||
ingy | > perl -MYAML::Syck -e '$_ = Dump(\42); s/ /+/g; print' | 06:00 | |
---+!!perl/ref+ | |||
=:+42 | |||
lambdabot | Parse error | ||
ingy | there's another | ||
gaal | yaml doesn't spec a canonical form, does it? | ||
ingy | amnesiac: :P | ||
gaal: it does, and it's being reworked currently | 06:01 | ||
but it looks more like json | |||
it's not a default form | |||
not human friendly | |||
but very useful | |||
gaal | well, since loading and dumping are roughly as hard, i suppose you need to roundtrip in your tests more? :/ | 06:02 | |
why do you depend on yaml::tiny in t/, btw? | 06:03 | ||
(didn't look at the source yet, just got errors for missing it) | |||
06:06
araujo joined
06:25
Averell joined
06:34
franck___ joined
06:35
weinigLap joined
06:39
buetow joined
|
|||
meppl | good mornig | 06:45 | |
rindolf | meppl: guten tag! | 07:14 | |
Hi gaal , ingy | |||
07:16
renormalist joined
|
|||
ingy | hi rindolf | 07:20 | |
rindolf | ingy: yo. | ||
07:31
buu joined
07:36
toshinori_ joined
07:48
weinigLap joined
07:53
elmex joined
08:02
weinigLap joined
08:03
ahmadz joined
|
|||
meppl | good morning rindolf | 08:11 | |
rindolf | meppl: what's up? | ||
meppl: are you new here? | |||
meppl | :-P | ||
not really | |||
but im unproductive | |||
08:12
obvio171 joined,
thoughtp1lice joined
|
|||
svnbot6 | r16577 | renormalist++ | - cperl-mode.el: is reparsed trait + minor comment fixes | 08:16 | |
08:16
obvio171 joined
08:19
weinigLap_ joined
|
|||
Tene | moritz: using your irclog stuff for #reprap. Thanks. | 08:27 | |
svnbot6 | r16578 | Darren_Duncan++ | ext/QDRDBMS/ : added part 2/2 of a test block (resembling actual user code) to Validator.pm ... as soon as the Example Engine can execute that correctly, QDRDBMS will be ready for its version 0.0.0 release | 08:46 | |
Aankhen`` | Yay, v0.0.0! | 08:47 | |
dduncan | well, the Perl 5 version will go out right then | 08:50 | |
the Perl 6 version, whenever Pugs does | |||
possibly at a later version number by that time | 08:51 | ||
Tene | dduncan: very nice | 08:52 | |
dduncan | fyi, anyone who would end up using QDRDBMS would probably be writing code like in the current Validator.pm, which doubles as a SYNOPSIS of sorts, or more likely they would use a bunch of wrapper functions to make it more terse as appropriate to their needs | 08:58 | |
writing in ASTs tends to be verbose | 08:59 | ||
moritz | Tene: does it work? *g* | ||
Tene | moritz: mostly. couple of glitches had to be smoothed over, but mostly it works great. :) | ||
dduncan | fyi, this example basically illustrates performing a 3-data-table join plus a search | 09:01 | |
it also illustrates loading said tables, in a roundabout way, roundabout being that, in this case, the tables are lexical variables | |||
in fact, this code is directly derived from a p6l post I made 1-2 months ago | 09:02 | ||
the one that requested some relational operators in Perl 6 | |||
relational meaning for databases in this context | |||
that post included a use case example of why a relational join is useful, and had examples about farmers | 09:03 | ||
Tene | I remember reading that post. I thought you were just a madly-raving nutjob at the time. ;) | 09:04 | |
I'm quite impressed now, though. | |||
dduncan | good to hear | 09:05 | |
09:09
andara joined
09:25
thoughtp1lice is now known as thoughtpolice
|
|||
svnbot6 | r16579 | moritz++ | t/builtins/list/zip.t: updated test to current spec regarding lists with | 09:31 | |
r16579 | moritz++ | different length | |||
09:49
chris2 joined
09:52
revdiablo joined
|
|||
svnbot6 | r16580 | moritz++ | ext/DateTime/t/basic.t: | 09:52 | |
r16580 | moritz++ | * fixed unbalanced parenthesis | |||
r16580 | moritz++ | * used string instead of code inside eval() | |||
09:58
iblechbot joined
10:00
rhizo joined
10:18
cernd joined
10:24
penk joined
10:25
dduncan left
|
|||
svnbot6 | r16581 | moritz++ | Tree::Visitor::FindByPath: changed subs to methods | 10:31 | |
10:35
riffraff joined
|
|||
riffraff | hi | 10:35 | |
10:35
riffraff left,
riffraff joined
|
|||
moritz | hi riffraff ;) | 10:36 | |
riffraff | sorry for being a little skizoid in joining :) | 10:37 | |
moritz ignores joins and timeouts and quits ;) | |||
I just haven't figured out how to ignore leaves | 10:38 | ||
riffraff | eh | 10:40 | |
svnbot6 | r16582 | gabriele++ | tests for sigil behaving as Positional,Associative,Abstraction,Object roles. | ||
r16582 | gabriele++ | Everything fails because these roles don't exist yet. | |||
riffraff | still can't figure out how to define classes/roles in Prelude that are visible outside of it | 10:44 | |
this is disappointing :/ | |||
moritz | who hacks the prelude? | 10:48 | |
I mean normally ;) | 10:49 | ||
audreyt, rhr, TimToady and putter mostly it seems | 10:50 | ||
10:55
Co2 joined
|
|||
lumi | moritz: irssi? | 11:03 | |
moritz | lumi: yes | ||
is there another irc client? *g* | 11:04 | ||
lumi | moritz: "leaves" are calles "PARTS" | 11:05 | |
moritz | lumi: thanks a lot | ||
lumi | (/help levels and /help ignore are your friends) | 11:06 | |
moritz | lumi: I read the /help to ignore, I didn't know about levels | 11:08 | |
lunch& | 11:10 | ||
11:26
fglock joined
11:29
fglock_ joined
|
|||
riffraff | moritz, well, yes but I have the feeling that nobody ever noticed that.. i.,e. class Carp is defined there but I wonder who can access it | 11:31 | |
masak | @users | 11:47 | |
lambdabot | Maximum users seen in #perl6: 173, currently: 152 (87.9%), active: 9 (5.9%) | ||
11:49
Jmax- joined
11:50
fglock__1 joined,
fglock__2 joined,
Jmax- is now known as Jmax
12:06
fglock__1 left,
fglock joined
12:10
ajs_home joined,
ajs_home left
12:19
mjk joined
12:34
rindolf joined
12:37
cozwei joined
12:41
[particle] joined
|
|||
obra | win 5 | 12:42 | |
fglock | obra: thanks for the notes - I'll work on it | 12:48 | |
obra | fglock: excellent. shoot me another draft and I'll try to hack at it | 12:51 | |
I'll be offline for the next 9 or so hours, then online for an hour at an airport, then offline for more hours | |||
fglock | obra: ok! | 12:55 | |
13:01
moritz_ joined
13:25
kanru joined
13:32
daxim joined
13:34
iblechbot joined
13:50
jerrylee joined
14:36
chaoslawful joined
14:44
Grrrr joined
14:57
obvio171_ joined
15:04
penk joined
15:10
fglock joined
15:16
amoe joined
15:30
ruoso joined
15:47
the_dormant joined
16:03
silug joined
16:08
offby1 joined
16:21
justatheory joined
16:22
weinigLap joined
|
|||
moritz | YaY, my sudoku solver in Perl 6 seems to work ;) | 16:23 | |
I'll do a few more tests, and if they pass I'll add it to ext/, that should make problem97.t trivial ;) | 16:24 | ||
16:26
Limbic_Region joined
|
|||
lumi | I think Perl 6 should have a sudoku solver in core! | 16:26 | |
moritz | ;) | ||
hey, it's not Prolog ;) | |||
Limbic_Region | lumi - it does, it is called junctions | ||
lumi | emacs comes with a psychologist | 16:27 | |
moritz | I haven't used junctions at all | ||
how well are they implemented atm? | |||
Limbic_Region | anyone know why the recent changes on pugscode.org is b0rk? | ||
moritz | Limbic_Region: what are you refering to? | 16:28 | |
Limbic_Region | or rather, not so recent - it has said trac has been turned off for some time | ||
dev.pugscode.org/timeline?changeset...ate=Update | |||
sorry about the echos, this client sucks | |||
moritz | I think that's the feather load issue again | ||
Limbic_Region | eval? my $foo = any(1..5); say $foo.pick; | 16:29 | |
er | |||
moritz | ?eval any(1..5).pick(1) | ||
evalbot_r16582 | Error: pick not defined: VJunc any(VInt 1,VInt 2,VInt 3,VInt 4,VInt 5) | ||
Limbic_Region | ?eval my $foo = any(1..5); say $foo.pick; | 16:30 | |
evalbot_r16582 | OUTPUT[2ā¤] Bool::True | ||
moritz | my input had the wrong precedence I guess | ||
Limbic_Region | ?eval say 'foo' eq any('bar', 'blah', 'asdf', 'foo'); | 16:31 | |
evalbot_r16582 | OUTPUT[any(VBool False,VBool True)ā¤] Bool::True | ||
Limbic_Region | junctions are really neat | 16:33 | |
16:33
audreyt joined
16:34
sunnavy joined
|
|||
Limbic_Region | hey audreyt! | 16:34 | |
TimToady | ?eval say ('foo' eq any <bar blah asdf foo>) == Bool::False | ||
evalbot_r16582 | OUTPUT[any(VBool False,VBool True)ā¤] Bool::True | 16:35 | |
TimToady | that is bogus | ||
Limbic_Region | it appears that the web interface to the change tracking of the pugs repo has been disabled (for sometime now) | ||
Limbic_Region gives up on this client | |||
TimToady | I think 'foo' eq any <bar blah asdf foo> should just return True | 16:36 | |
not a junction: | |||
?eval 'foo' eq any <bar blah asdf foo> | |||
evalbot_r16582 | (Bool::False | Bool::True) | ||
16:41
jisom joined
16:42
bernhard joined
16:43
franck__ joined
|
|||
svnbot6 | r16583 | moritz++ | implemented problem96.t with regexes | 16:45 | |
moritz | I don't think that problem was intended to be solved with regexes, but I don't know if prolog has them anyway ;) | 16:46 | |
16:51
jisom_ joined
16:56
andara left
17:11
amnesiac joined
17:20
amoe left
17:39
Psyche^ joined
17:40
theorbtwo joined
17:43
weinigLap_ joined
17:46
weinigLap_ joined
17:49
buetow joined
17:54
andara joined
17:56
Psyche^ is now known as Patterner
17:57
awwaiid joined,
weinigLap_ joined
18:02
obvio171_ is now known as obvio171
18:04
weinigLap_ is now known as weinigLap
18:13
the_dormant joined
|
|||
lumi | gaal: ping | 18:21 | |
18:21
araujo joined
18:25
andara_ joined
|
|||
gaal | lumi: moose | 18:26 | |
lumi | gaal: I'm trying to write Pugs.Meta.List, can you clue me any? | 18:29 | |
I somehow got the idea that you know this machinery | 18:30 | ||
svnbot6 | r16584 | lwall++ | Test that ('c' eq any <a b c>) returns True, not (True|False) | ||
18:32
demq is now known as dmq
|
|||
moritz | TimToady: could take a look at t/magicals/dollar_underscore.t? it looks like it should end in a compile time error, but I don't know enough about try {...}'s semantics to be sure | 18:34 | |
japhb | moritz++ # cage cleaning | 18:37 | |
moritz | I thought only parrot needed a cage ;-) | ||
japhb | Well, there are dog cages too .... :-) | ||
lumi | Pugses live in handbags, I think | ||
gaal | moose! what methods are in List? | 18:38 | |
lumi | A whole bunch (zip, cross, pick, etc) | ||
Does PureClass mean it can't do IO? | 18:39 | ||
gaal | cool, all right. I wonder if vv(<a b c>) creates a new list though... hmm | 18:40 | |
yes | |||
lumi | pick requires IO | ||
gaal | ?eval vv(<a b c>) | ||
evalbot_r16583 | *** No such method in class Array: &ITEMā¤ at -e line 16, column 7-60 | ||
lumi | Is that a yes or a no? | ||
gaal | I think that's a no :/ | ||
lumi | Hmm | 18:41 | |
gaal | pick requires IO, indeed | ||
or at least, it isn't pure | |||
?eval vv([<a b c>]) | |||
evalbot_r16583 | *** No such method in class Array: &ITEMā¤ at -e line 16, column 7-64 | 18:42 | |
18:42
rindolf joined
|
|||
lumi | So it needs more infrastructure first | 18:42 | |
gaal | this means there's the practical development problem of constructing these values to play around with them, exactly | ||
lumi | :\ What's already in newval? | 18:43 | |
18:43
theorb joined
|
|||
lumi | Where do I find this? | 18:43 | |
gaal | see Pugs.Val | ||
don't let the commented-out stuff confuse you | |||
18:44
silug joined
18:46
kunwon1 joined
|
|||
gaal | hmm, line 71 goes | 18:46 | |
to suggest lists ought to be represented by Seq | |||
lumi | Do we have a Seq? | 18:47 | |
xinming | Oh, I get an interesting feeling. That Perl 7 will move forward functional language and keep itself purely. :-) | ||
functional programming language. | |||
gaal | a haskell Data.Seq, that is | ||
moritz | xinming: you mean it will be even more lisp than perl 6 is? | ||
lumi | gaal: Oh, that makes sense | 18:48 | |
gaal: I haven't used those yet | |||
18:48
cozwei joined
|
|||
moritz wonders how hard it is to implement haskell in terms of lisp macros ;) | 18:48 | ||
xinming | moritz: No, I mean, maybe, the next version of perl will get more support on functional programming style. and keep perl 6 itself intaint. though, grammer might change, But not much. | ||
though, that's too far, | |||
As I just read synopsis. And I finally find, there are too many functional programming stuff. | 18:49 | ||
gaal | Data.Sequence, that is | ||
xinming | reduction curry lazy list etc.. | ||
moritz | xinming: why "too many"? if you don't want to use them, don't use them ;) | 18:50 | |
lumi | moritz: Semantics? I'm not sure how you'd transform all expressions into lazy ones, apply static typing and type inference, etc, with macros | ||
xinming | But currently larry might not be able to think in haskell very well, so he can't steal lots. :-) | ||
moritz | lumi: yes, especially the lazyness might behard;) | ||
xinming | moritz: No, I like these. It's really an amazing thing to see that a language has all power in other language, and keep the syntax really understandable. | 18:51 | |
gaal | lumi: I'd say let it be [Var] for now | ||
lumi | moritz: But maybe you can just make a (module) macro that will take the rest of your program, and transform every expression inside it | ||
gaal: What do I need to do to plug it into newval then? a Boxable instance? | 18:52 | ||
18:53
dmq is now known as demq
|
|||
gaal | an empty instance should do, i think | 18:53 | |
"instance Boxable PureList" | |||
lumi | Looking at Meta.Str, it defines a Boxable instance with its class in | 18:54 | |
So it belongs in Meta.List, I guess | |||
So I'm doing the right thing :) | |||
gaal | oh, right; that's where you wire a method table etc. to the hs type | 18:55 | |
18:56
demq is now known as dmq_
|
|||
lumi | Maybe I'll just try the tiniest possible class and see if it works | 18:56 | |
gaal | also on your todo list are making "vv" work for lists, and ensuring the instances (Pugs.Class:72 and on) are suitable for the particular methods you need | 18:57 | |
18:58
dmq_ is now known as dmq
|
|||
gaal | the tiniest possible class doesn't have any methods you define; you just do vv(<a b>).methods and hope it works :) | 18:58 | |
the Pugs.Class stuff is pretty magical | |||
lumi | I'm not sure I understand these instances | ||
Yes, looks magic | |||
moritz | let's hope the magic works for us ;) | 18:59 | |
gaal | they're what you need to get calls of various arities get dispatched | ||
lumi | vvToVal is kinda evil-looking | 19:00 | |
gaal | the [: :] stuff, btw, is "parr", a fast datastructure very similar to hs lists | ||
lumi | I thought it was an array? | 19:01 | |
gaal | you need -fparr for it to work, and then you can even patmatch against it IIRC | ||
yeah. it's similar to lists in usage. :) | |||
vvToVaal isn't evil, it's just a bunch of thunks | 19:02 | ||
(not in the closure sense, in the API bridge sense) | 19:03 | ||
19:03
buetow joined
|
|||
lumi | Its pattern matching is evil | 19:03 | |
gaal | you mean the lhs being repeated like that? well, thats generics+type inferece for you :) | 19:04 | |
lumi | Also it's not vv() | ||
gaal | you need fromVV in VList's Value instance, I tihnk | 19:07 | |
lumi | Where's that? | 19:08 | |
gaal | P.AST.Internals, 663 | ||
moritz | I couldn't live without grep ;) | 19:09 | |
gaal | hmm maybe not; there is a method there | ||
I need to reremember this stuff :( | 19:10 | ||
19:10
BooK joined
|
|||
daxim | cpan P/PE/PETDANCE/ack-1.62.tar.gz | 19:10 | |
lumi | ?eval vv(<a b c>).WHAT | 19:11 | |
evalbot_r16584 | Error: No such method in class Array: &ITEM | 19:12 | |
gaal | ok you may also need to tweak the Prim.hs table | ||
to say rw!Any instead of Any | |||
so that the vv prim sees the container | |||
lumi | Where? | ||
gaal | 2195 | ||
lumi | Which Any am I changing? | 19:13 | |
gaal | anyone know how to cure screen breaking copy-paste on xterm? | ||
oh the parenthesized one | |||
add no new spaces | |||
19:14
dmq joined
|
|||
gaal | eg the TEMP on 2140 | 19:14 | |
at least playing with Prim doesn't take ages to rebuild | 19:15 | ||
lumi | Is this Pugs.Prim ? | ||
gaal | I hope that doesn't break the other vv() things though | ||
yes | |||
lumi | I don't see a TEMP on 2140 | ||
19:15
rodi joined
|
|||
gaal | o rly? what do you see? | 19:16 | |
lumi | O, I guess I'm not up to date? | ||
Pulling | |||
But I see TEMP now | 19:17 | ||
(It's just on another line) | |||
gaal | ok, it was just an example anyway | ||
lumi | Why does it need to see the container? | ||
gaal | you want to do stuff on the list, no? | 19:19 | |
lumi | Oh duh | ||
rw failed to clue me, somehow | |||
Is this really right, and won't this break all the old vv stuff? | 19:20 | ||
gaal | i don't know :) | ||
moritz | lumi: that's why we use subversion - if everything brakes, we can roll back ;) | ||
lumi | moritz: True, and also why we have tests | 19:21 | |
lumi wonders whether there are tests for what's working in vv atm | |||
gaal | ./pugs -e 'say vv("moose").reverse' is enough of regression test for this change :) | ||
vv is just a transitory kludge | 19:22 | ||
in a makeshifts-last-longest kinda way. | |||
lumi | I gotta go, I'll pick this up tomorrow | 19:25 | |
gaal | moose moose | ||
lumi | Moose | ||
moritz | ?eval 'moose' x 3 | 19:26 | |
evalbot_r16584 | "moosemoosemoose" | ||
19:37
the_dormant joined
19:42
weinigLap joined
19:43
weinigLap joined
19:48
fglock joined
|
|||
svnbot6 | r16585 | fglock++ | kp6-Perl6-roadmap.txt - (work in progress) added obra++ comments and an introduction text | 19:52 | |
19:53
dduncan joined
20:02
ruz joined
20:05
polettix joined
|
|||
fglock | TimToady: this means that any( True | False ) returns True, right? | 20:08 | |
because: 'foo' eq any <bar blah asdf foo> is the same as: any( 'foo' eq 'bar' | 'foo' eq 'blah' | 'foo' eq 'asdf' | 'foo' eq 'foo' ) | 20:10 | ||
20:16
mj41 joined
|
|||
fglock | ?eval ?( 'foo' eq any <bar blah asdf foo> ) | 20:17 | |
evalbot_r16585 | Bool::True | ||
fglock | ?eval ?( 'foo' eq all <bar blah asdf foo> ) | ||
evalbot_r16585 | Bool::False | ||
fglock | it's just a matter of coercion | 20:18 | |
moritz | ?eval ?(Bool::False == ('foo' eq any <foo bar>)) | 20:20 | |
evalbot_r16585 | Error: No compatible multi variant found: &Bool::False | ||
moritz | ?eval ?(False == ('foo' eq any <foo bar>)) | ||
evalbot_r16585 | Bool::True | 20:21 | |
moritz | fglock: that's not just coercion IMHO | ||
fglock | good point :) | 20:23 | |
20:23
riffraff joined
|
|||
riffraff | szia | 20:24 | |
20:26
andara joined
20:28
isaacd joined
|
|||
rhr | fglock: I think eq == etc. are supposed to never return junctions (i.e. junctions don't distribute over them) | 20:40 | |
so False === ('foo' eq any <foo bar>) should be false, but False === (True | False) should be true | 20:42 | ||
20:43
rff joined,
rff is now known as riffraff
|
|||
rhr | that was my interpretation anyway, I can't find anything about that in S03 though | 20:45 | |
TimToady | rhr: yes, that's how I think of it. I think we're getting eq and friends returning (True|False) to mean "true", and the boolean tests just all happen to test against the True part rather the False part, so it always looks true in boolean context, unless you actually ask whether it is also === False, in which case you get a bogus result | 20:46 | |
and that's what my test is testing for | 20:48 | ||
20:50
SubStack joined
20:53
rff joined
21:02
wilx` joined
21:08
silug joined
21:11
wilx` joined
21:13
sahadev left
21:14
weinigLap joined
21:34
jhorwitz joined
21:55
prism joined
|
|||
dduncan | so the 4th discussion draft of the GPLv3 has been released today ... and it continues to get better | 22:00 | |
it is also now compatible with the Apache license v2 | |||
moritz | cool ;) | 22:01 | |
dduncan | that is, I just read the delta, and the changes I understood looked like improvements | ||
22:01
buetow joined
|
|||
dduncan | fyi, I will be using the GPL v3 after June 29th, most likely | 22:01 | |
when it is final | |||
PerlJam | Has pugs kept up with recent parrot chagnes? | 22:02 | |
er, changes? | |||
moritz | PerlJam: the parrot backend is bit rotten :( | ||
PerlJam | That's what I thought | 22:03 | |
PerlJam wishes he had more time and inclination to *do* something to make Perl 6 more of a reality | 22:05 | ||
22:06
rodi left
22:08
cognominal_ joined
|
|||
moritz started to learn haskell to help with pugs ;) | 22:08 | ||
but haskell is... different ;) | 22:09 | ||
svnbot6 | r16586 | moritz++ | [irclog] added google search link, added date to the <title> | 22:13 | |
meppl | good night | 22:15 | |
moritz | good night ;) | 22:16 | |
meppl | ;) | 22:17 | |
prism | PerlJam, as long as perl6 manages to make a base and the documentation for people to make their own modules | 22:19 | |
it will be a success | |||
and it is on the way to doing that now :) | |||
moritz | speaking of Modules... I create a folder $module_name in ext/, with subfolders lib/ and t/ and lib/$modulename.pm as a file... | 22:24 | |
and then I did "perl Makefile.PL" in the hope that it would create a Makefile for me, but it did not... | 22:25 | ||
any ideas what I can do about that? | |||
22:27
thoughtpolice joined
|
|||
moritz | ah, I have to create an Makefile.PL myself | 22:29 | |
dduncan | yes | 22:36 | |
but its easy ... just modified clone another one | |||
you can use my QDRDBMS one if you want | |||
moritz | I used Net::IRC | 22:37 | |
but I guess they are all nearly identical ;) | |||
lazyness++ | |||
perlbot: karma lazyness | 22:38 | ||
jabbot | moritz: lazyness has karma of 1 | ||
perlbot | Karma for lazyness: 1 | ||
moritz | it seems jabbot has a hardcoded trigger on "perlbot" ;) | ||
prism | perlbot, karma prism | 22:39 | |
perlbot | Karma for prism: 3 | ||
jabbot | prism: prism has neutral karma | ||
prism | hmm | ||
22:40
weinigLap joined
|
|||
moritz | perlbot is longer in #perl6 than jabbot it seems | 22:40 | |
@karma moritz | |||
lambdabot | You have a karma of 110 | ||
moritz | wow, we have at least three different bots that track our karma | ||
prism | lots of karma bots | ||
moritz | how much karma do you need to get a halo? *g* | 22:41 | |
thoughtpolice | @karma thoughtpolice | 22:55 | |
lambdabot | You have a karma of 8 | ||
thoughtpolice | hah :) | ||
TimToady | @karma lambdabot | ||
lambdabot | lambdabot has a karma of 50 | ||
moritz | ?eval my @a = [1,2], [3,4]; map zip, @a | 22:58 | |
evalbot_r16586 | Error: Cannot cast from VList [VList [VInt 1,VInt 2],VList [VInt 3,VInt 4]] to Pugs.AST.Internals.VCode (VCode) | ||
moritz | not quite what I wanted ;) | 22:59 | |
how do I best turn [1,2],[3,4] into "1324"? | 23:00 | ||
for arbitrary sizes, of course ;) | |||
23:03
Limbic_Region joined
|
|||
Aankhen`` wonders if learning Lisp is of any use in the Pugs context. | 23:10 | ||
svnbot6 | r16587 | moritz++ | added ext/Sudoku/, a very simple Sudoku solver | ||
rhr | ?eval my @a = [1,2],[3,4]; [Z] @a | ||
evalbot_r16586 | ((1, 3), (2, 4)) | ||
moritz | rhr: thanks, exactly what I wanted ;) | 23:12 | |
rhr | should be the same as map zip, @a | 23:13 | |
svnbot6 | r16588 | moritz++ | ext/Sudoku: written out() more perlish, rhr++ | ||
moritz | rhr: no, it shouldn't | 23:14 | |
rhr | oh, right | ||
moritz | rhr: consider [+] @a versus map {+} @a | ||
PerlJam | prism: I've been writing articles on Perl 6 as if it will exist. Ergo, it *will* exist :-) | 23:15 | |
s:2nd/will/shall/ also :) | |||
moritz | "Perl 6 shall overcome some day" ;) | 23:16 | |
prism | PerlJam, it must exist | ||
perl HAS to evolve at some point | |||
like windows freebsd linux whatever | |||
moritz | hey, it exists now | ||
23:16
demq joined
|
|||
prism | the versions keep going up | 23:16 | |
PerlJam | prism: yeah, but there's a strong camp of Perl 5 people who are happy with snail's pace evolution. | ||
Aankhen`` | Hmm. | ||
?evalmy @a = [1,2],[3,4]; ([Z] @a).join(' ') | |||
?eval my @a = [1,2],[3,4]; ([Z] @a).join(' ') | |||
moritz | and in parallel blead incorporates cool p6 features | 23:17 | |
evalbot_r16586 | "1 3 2 4" | ||
prism | PerlJam, eventually perl6 will HAVE to come around though | ||
Aankhen`` | ?eval my @a = [1,2],[3,4]; ([Z] @a).join('') | ||
prism | my point is it doesnt matter if there are 5 billion perl5 users | ||
and 10 perl6 | |||
evalbot_r16586 | "1 32 4" | ||
prism | sooner or later perl5 will reach its EOL | ||
where it cant go any further | |||
Aankhen`` | Why are there spaces in between the numbers when I specify '' as the delimiter? | ||
Oh, er. | |||
PerlJam | prism: COBOL was end-of-lifed long ago, yet it's still around. | ||
moritz | Aankhen``: with one more map and join | ||
Aankhen`` | Yeh, I was misunderstanding it. | 23:18 | |
Not to change the topic or anything, but... how do you exit from Pugs under Linux? | |||
moritz | ?eval my @a = [1,2],[3,4]; (map {.join("")}, [Z] @a).join("") | ||
Aankhen`` | ^Z works on Windows but here it suspends the process. | ||
PerlJam | Aankhen``: :q | ||
Aankhen`` | Ah, thanks. | ||
evalbot_r16586 | "1324" | ||
Aankhen`` | Heh, force of habit beats :h every time. | 23:19 | |
Aankhen`` grins sheepishly. | |||
moritz | Aankhen``: or Ctrl+D (which is EOF) | ||
Aankhen`` | Oh, thanks. | ||
prism | PerlJam, yes but COBOL's following isnt as big or as important as perls, not forgetting perl5 is base in freebsd and many other os's depend on it as a dep too. What will people say when those basis are shifted to python ruby etc... for speed reasons or other. Perl5 will have to be abandoned in search of a better solution, | ||
Aankhen`` | (^Z is EOF on Windows, in case it's still unclear. :-) | ||
PerlJam | prism: then perl will die and python or ruby will be "perl 6" | 23:20 | |
prism | PerlJam, personally I think perl6 was based on the wrong language to start off with (but thats another matter) :) | ||
PerlJam, unlkely, perl has to mayn followers | |||
perlbot, also notice this channel probably started with 10 users, its now at 150 and ptrobably growing slowly | |||
Aankhen`` | Interesting coincidence... I was reading some Paul Graham stuff today, in particular an article where he wrote about how it's extremely hard to get people to use new languages because it's not new technology so much as a new way of thinking. Or something to that effect. | ||
prism | PerlJam, take that into consideration as public awareness + development increase | 23:21 | |
moritz | @users | ||
lambdabot | Maximum users seen in #perl6: 173, currently: 150 (86.7%), active: 17 (11.3%) | ||
PerlJam | prism: I intend on using perl until the day I die. So it's got to stick around for my lifetime at least (and I plan on living a long long time) | ||
Aankhen``: recent article? | |||
prism | PerlJam, it will be also your grand kids :) | ||
Aankhen`` | PerlJam: No, I don't think so. I just headed to the Lisp section and started reading. | ||
PerlJam | perhaps. | ||
23:22
dmq joined
|
|||
Aankhen`` | PerlJam: www.paulgraham.com/avg.html | 23:22 | |
PerlJam | prism: The thing about programming languages is that they tie us to certain interfaces that I believe will go away at some point (WIMP) | ||
lambdabot | Title: Beating the Averages | ||
Aankhen`` | PerlJam: April 2001, rev. April 2003 | 23:23 | |
prism | PerlJam, hmm perhaps, but perl is generally pretty flexible in that respect | ||
PerlJam | oh, I've read that one. | ||
Aankhen`` | Yeh. | ||
I had only read a couple of his Lisp articles before. | |||
PerlJam | prism: tell me how to generate guillemets without a keyboard. | 23:24 | |
moritz | IMHO both lisp and haskell have that "different things look too similar" problem | ||
lisp more than haskell, though | |||
Aankhen`` | moritz: How's that (Lisp)? | ||
PerlJam | prism: Tell me what we'll use in their place when there aren't keyboards anymore | ||
TimToady | prism: which language do you think perl 6 wasn't based on? :) | ||
prism | TimToady, I wanted it on an erlang base :) | ||
moritz | Aankhen``: too many (parentheses) | 23:25 | |
Aankhen`` | Yech. | ||
I tried learning Erlang, and it was really boring. :-( | |||
prism | Aankhen``, i think its pretty fun | ||
Aankhen`` | moritz: That's because everything is a list, after all. | ||
prism | PerlJam, voice to camel :) | ||
Aankhen`` | prism: Well, I didn't give it much of a chance. | ||
moritz comes from a town called "Erlangen" ;) | |||
PerlJam | prism: I think we've all seen how well that (doesn't) work. | ||
prism | moritz, is it a distributed town :) | ||
Aankhen`` | prism: I started following along with some tutorial and didn't even complete it because the language just seemed so unappealing. | 23:26 | |
prism | perlbot, langauges will evolve alongside technology | ||
PerlJam | I know nothing about erlang. What does it bring to the conceptual table? | ||
moritz | prism: at least it distributed me to Scotland ;) | ||
prism | Aankhen``, use it enough it will seem great | ||
moritz, hehe :P | |||
PerlJam | (lua doesn't seem to bring much though there are people who like it) | ||
prism | PerlJam, its a fully OO easily distributed language | ||
moritz | PerlJam: it has no "use strict;" afaict | ||
Aankhen`` | PerlJam: Erlang is all about distributed, fault-tolerant computing. It's basically built around message-passing concurrency. Or at least that's my understanding of the language. | ||
prism | used in phone networks and satalites | ||
can handle 2000+ conns with ms responce times to all | |||
on common hardware | |||
PerlJam | gotcha. | 23:27 | |
prism | derived roughly from LISP | ||
Aankhen`` | Really? o_O | ||
I don't see any similarities. O_o | |||
PerlJam | now you're making me not like it. | ||
prism | Aankhen``, but the book lol | ||
Aankhen`` | Oh, I never touched any Erlang book. | ||
prism | s/but/buy/ | ||
Aankhen`` | I'll give it another try some time. | ||
But not any time soon. | |||
PerlJam | Well, if it's derived from lisp but doesn't look like lisp, it's probably okay :) | ||
prism | Aankhen``, its a necesity the first part is free on the website | ||
Aankhen`` | I'm too busy with Lisp. :-) | ||
i luvs teh lisp | |||
prism | PerlJam, the website says it was sort of derived from lisp but lots of other languages got spots in the light too | 23:28 | |
PerlJam, so its kind of a hybrid between quite a feqw | |||
TimToady | P6 will have erlangish semantics in its underlayer, see www.seas.upenn.edu/~lipeng/homepage/unify.html | ||
lambdabot | Title: Unifying events and threads | ||
prism | s/feqw/few/ | ||
TimToady | but P6 will also have better transactional support on top | ||
PerlJam *really* looks forward to the day when we stop talking about perl 6 in the future tense. | 23:29 | ||
prism | PerlJam, hmm maybe sooner than you think | ||
Aankhen`` | "Apocalypse Now" ~~ s/Apocalypse/Perl 6/ | ||
TimToady | okay, P6 has better transactional support on top *cough* | ||
moritz wants threaded IRC | |||
prism wants IRC where /slap really works | 23:30 | ||
PerlJam | prism: How soon do you think I think? ;) | ||
Aankhen`` | moritz: Threaded as in threaded conversations? | ||
prism | PerlJam, next week on thursday | ||
moritz | Aankhen``: yes | ||
PerlJam | TimToady: :-P | ||
Aankhen`` | moritz: Heh. | ||
prism | btw | 23:31 | |
whats the topic bout | |||
about* | |||
Aankhen`` | If you run `make install`, the Perl 6 modules will overwrite your Perl 5 modules. | ||
PerlJam | TimToady: Are you willing to give odds on another major semantic change to Perl 6 Regex? :) | ||
prism | Aankhen``, ah lol | ||
Aankhen``, let me find a production server I dont like 8) | |||
Aankhen`` | LOL. | 23:32 | |
moritz | prism: you can circumvent that by building debian packages first ;) | ||
Aankhen`` | moritz: People like me are the reason why IRC could never have threaded conversations. :-P | ||
prism | moritz, all the servers I have root on are freebsd | ||
except one which is netbsd ;p | |||
moritz | Aankhen``: It's worth a thought | ||
PerlJam | Aankhen``: we have threaded conversations all the time! | ||
Aankhen`` | Possibly. | ||
PerlJam | (they just aren't marked) | ||
Aankhen`` | PerlJam: Pfft. | ||
PerlJam: BTW, I like chicken. | |||
TimToady | yes | 23:33 | |
Aankhen`` | PerlJam: Hey, have you seen the newest PotC movie? | ||
PerlJam | Aankhen``: aye! | ||
prism | hmm I tell you what is really needed for perl6 when it is released | ||
a gui version of cpan [perl5] | |||
Aankhen`` | PerlJam: How'd you like it? | ||
dmq | prism, so write one | ||
prism | dmq, I have enough writing this dumb website I started | 23:34 | |
Aankhen`` | prism: Go fix CPANPLUS::Shell::Tk. ;-) | ||
svnbot6 | r16589 | Darren_Duncan++ | ext/QDRDBMS/ : renamed the AST node types Lit(Bool|Text|Blob|Int) to make the Lit a suffix ; made a few other small changes | ||
prism | Aankhen``, ill look into it :) | ||
PerlJam | Aankhen``: I liked it. It was good. | ||
Aankhen`` | prism: Have fun! Though if you're serious, I'd prefer ::Curses to work. ^_^ | 23:35 | |
Tene | prism: how would that even work? You mean something other than search.cpan.org/ ? | ||
lambdabot | Title: The CPAN Search Site - search.cpan.org | ||
Aankhen`` | PerlJam: Ah, that's good. Apparently I'm going to be watching it on Saturday. | ||
PerlJam | prism: Yeah, but which should you do? Something *important* or your website? | ||
Tene | prism: what would it do? | ||
prism | Tene, yeah a nice little plugin for XFCE perl6-cpan quick installer :) | ||
Aankhen`` | Tene: I believe prism is referring to the CPAN shell. | ||
Tene | Oh. | ||
moritz wants cpan6 | |||
any news on that? | |||
prism | hmm everything is a damn 6 | 23:36 | |
Aankhen`` | LOL, I should try out INTERCAL. | ||
PerlJam | TimToady: Should I wait with bated breath or ask for the odds? ;-) | ||
Aankhen`` | From the manual: "Caution! Under no circumstances confuse the mesh with the interleave operator, except under confusing circumstances!" | ||
TimToady | yes | ||
prism | I run FreeBSD 6, IPv6 and im in #perl6 | ||
666? yes please | |||
Aankhen`` runs off. | |||
prism | :P | ||
PerlJam thinks TimToady has been replaced by Tron's bit | |||
moritz | d'oh, even Perl 6 will come out before Debian 6 does ;) | 23:37 | |
TimToady | I'm downloading Fedora 7... | ||
PerlJam | (which btw, as far as techno-movies go, I think *still* stands up well in light of the last 25 years of changes) | ||
moritz | sleep++ & | 23:40 | |
PerlJam | Well, it's time for me to go to tae kwon do. See you guys later! | ||
TimToady: good luck with FC7 :) | |||
PerlJam & | |||
TimToady | s/C// | ||
23:42
silug joined
23:52
theorbtwo joined
|
|||
spinclad | gaal: re copy-paste in screening xterm: try <Shift>-<Left,Middle,Right> (haven't tried it myself with screen but it works with other mousing apps) | 23:58 |