Think twice before running "make install" for Pugs | moritz.faui2k3.org/irclog/ | pugscode.org | sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse (show (scanl (*) 1 [1..] !! 4)) | "Perl 6 Today" video from YAPC::Asia: xrl.us/v6op
Set by agentzh on 6 May 2007.
dduncan fyi, I made a p6l post proposing an alteration to how the @ and % sigils are used ... feedback there is appreciated 00:45
Juerd Didn't like it, because much of the present day expressive power for sigils is in signatures 00:49
And I expect signatures to play a big role.
dduncan my impression was that the current use of @foo and %bar was rather limited situations, and that @$foo or %$foo are a fine or superior alternative 00:51
in the same places
dduncan so then, @$foo would just be the new spelling for @foo in places where the distinction matters ... while that is longer, the @ isn't used everywhere the variable name is, just in the minority of places where it has something to say 00:55
you lose nothing
obra timtoady++ # Language design is hard. Let's go shopping! :-) 01:34
perlDreamer in t/TASKS there's a task for removing all the :todo marks and marking the tests as failing or using todo subs. 03:09
If I wanted to use the subs, which version should they marked as to be done?
azawawi ?eval say "hello!"; 04:18
evalbot_r16296 OUTPUT[hello!␤] Bool::True
azawawi ?eval say "Perl is cool!";
evalbot_r16296 OUTPUT[Perl is cool!␤] Bool::True
svnbot6 r16297 | agentz++ | [t/TASKS] 05:52
r16297 | agentz++ | - removed the "todo" sub task since we're moving to
r16297 | agentz++ | jerry's smart comments like "### todo: pugs 6.28.0"
r16297 | agentz++ | or something like that. thanks perlDreamer++ for
r16297 | agentz++ | pointing that out.
rhr if I say something like $s = \x[1234] what controls the encoding? something like use utf8? is utf8 always the default if no encoding is specified? 05:57
and how would you specify a different encoding for one string without changing the default? 05:58
svnbot6 r16298 | agentz++ | [t/TASKS]
r16298 | agentz++ | * added a new task for implementing Jerry's TODO smart
r16298 | agentz++ | comments in the test harness. some examples are
r16298 | agentz++ | also added.
rhr Str.chars doesn't appear in S02, should it? I'm assuming it should mean whichever of .bytes/.codes/.graphs/.langs is selected by use bytes/codes/etc., and that the default is .graphs 06:14
in pugs, .codes, .graphs, and .chars all mean .codes at present 06:15
?eval my $u = "\x[0041,0300]"; say $u; $u.graphs 06:16
evalbot_r16297 OUTPUT[A􏿽xCC􏿽x80􏿽xE2􏿽x90􏿽xA4] 2 06:16
rhr also, how do you specify unicode normalization forms?
Aankhen`` rhr: From S02, "In the abstract, Perl is written in Unicode, and has consistent Unicode semantics regardless of the underlying text representations.", so I guess it works out to `use utf8` on steroids. :-) 06:20
lambdabot Aankhen``: You have 1 new message. '/msg lambdabot @messages' to read it.
Aankhen`` @messages
lambdabot agentzh said 16h 48m 33s ago: could you take a look at that load event handler when you have the tuits? it's indeed running 10+ or even 20+ times during a single loading. (location.hash = '...' is
not the cause)
rhr Aankhen``: that's fine until you do IO :) 06:23
Str.bytes doesn't make any sense if no encoding is specified 06:25
Aankhen`` @tell agentzh I'm not seeing the load handler run more than once on Firefox; a profiling session shows that it runs once, calling addEvent 83 times (or more, or less, depending on the number of smartlink snippets). Which browser did you see this behaviour under?
lambdabot Consider it noted.
svnbot6 r16299 | rhr++ | misc unicode tests, add smartlinks 06:46
ingy seen gaal 06:52
seen gaal?
japhb @seen gaal
lambdabot gaal is in #haskell and #perl6. I don't know when gaal last spoke.
japhb ETOOMANYBOTSYNTAXES
Aankhen`` LOL.
Aankhen`` Heh. 07:06
Un-heh, I just realized what I thought was funny really wasn't. :-(
japhb :-) 07:07
Aankhen`` Don't laugh at me!
Man, Perl 6 regexes look like a parsing nightmare. 07:09
japhb Not when you can use them to parse themselves. ;-) 07:13
Aankhen`` Fair enough.
I'd hate to be the one bootstrapping them, though. :-P
Aankhen`` I wonder how it'll work if and when Perl 6 regexes are used in other languages. I guess every language would have to specify its own parser for { ... }? 07:14
Or rather, re-use its parser.
japhb In fact, I'd say that STD itself is a fair test of the rubber-to-the-road value of the grammar design, exercising a lot of the features that make grammars more useful than mere regexen
Aankhen`` Such as? 07:15
japhb I'm basing that comment on the fact that $Larry has updated the grammar design several times to make STD cleaner. 07:16
Aankhen`` Ahh.
Aankhen`` I don't understand the bit about multi regexes. 07:22
proto token sigil; multi token sigil:sym<$> { <sym> } # what is the "sym" there?
I mean… what does `sigil:sym<$>` break down to?
japhb I believe it allows him to use a single rule body for multiple possible symbols ($ @ % and so on, in this case). I'm not looking at STD at the moment, so I'm not sure that's correct, but I seem to recall that reasoning 07:24
Aankhen`` Right, but I don't understand the long name. :-S 07:25
Aankhen`` cries.
(I'm reading S05, BTW.)
Aankhen`` wonders if the greatly increased expressive power of Perl 6 regexes will lead to a lot of mixing of logic, not unlike mixing presentational logic with business logic. 07:34
I know that you can use (?{...}) and (??{...}) in Perl 5 today—however limited they might be—but it seems to be much easier to do that sort of stuff (squared) in P6. 07:35
rhr Aankhen``: look at regex cmd in examples/password-manager.p6 for an example of that 07:38
Aankhen`` Heh, I see that. 07:39
That doesn't work, does it? 07:40
rhr Aankhen``: the sym thing has something to so with wanting to distinguish the symbol being parsed from the name of the rule that parses it, but I don't understand the details...
rhr no, it doesn't work with pugs yet 07:40
Aankhen`` I see.
Yeh, I figured the $<...> at the very least would break it. 07:41
rhr I don't even really know what does and doesn't work in regexes in pugs
Aankhen`` subset NumberBase of Int where /^ (\d+) { 2 <= $0 <= 64 || fail } $/; 07:43
Er.
I suppose that was a bad example, since numbers aren't the best thing to run regexes on.
Regardless, I'm trying to figure out whether something like that is a fair use of regexes, or something that will come back to haunt me. 07:44
rhr subset Identifier of Str where /^ <ident> $/ 07:45
Aankhen`` Well, that seems like a basic, logical subtype.
What about this? subset User of Str where /^ <ident> { check_database_for_user($<ident>) or fail } $/ 07:46
That's on the other extreme, isn't it?
rhr could be useful 07:47
Aankhen`` Well, it seems like it would give you more useful error info if that sort of logic weren't within the regex.
sub foo (User $bar) { ... } vs. sub foo (Str $bar) { check_database_for_user($bar) || fail "User does not exist"; } 07:48
rhr I think you can do ... or fail "No such user"
Aankhen`` First case, you just get an error saying $bar must satisfy the User type constraint. Second case, you get a message explicitly saying the user does not exist.
Yeah, you could. Maybe I'm just reaching. 07:49
rhr but that probably doesn't print the error for you
and you may not want to print it anyway 07:50
Aankhen`` True.
Eh, you could possibly write your entire program within one giant rule, much beyond password-manager.p6 =) 07:53
Oh, I actually wanted this earlier: /^ (\d+) <?{ 2 <= $0 <= 64 }> $/; 07:54
rhr well, regex cmd is already 99% of the main loop :) 07:56
Aankhen`` True, but the full program has too much non-regex stuff in it. <G> 07:57
regex unescaped_slash { <!after <~~>> \\ } # does this look right? 07:59
rhr slash or backslash? 08:03
Aankhen`` Well, backslash. 08:04
rhr what does ~~ have to do with backslash?
Aankhen`` "A leading ~~ indicates a recursive call back into some or all of the current rule." 08:05
<~~> # call myself recursively
rhr oh, didn't know that
Aankhen`` regex unescaped_backslash { <!after <~~>> \\ }; regex unescaped_string (Str $str) { <!after unescaped_backslash> $str }; # don't I have imaginative names? :-D 08:07
All this stuff about controlling backtracking makes my head hurt. 08:10
One second it all makes sense, the next I'm left reeling again.
rhr I've had that feeling. Need to write some code, but too much doesn't work yet... 08:11
Aankhen`` Heh. 08:12
svnbot6 r16300 | rhr++ | Lots of failing unicode bytes/codes/chars tests 08:59
riffraff hi 09:10
moritz hi riffraff ;)
riffraff it seem I found a wonderful heisenbug related to returning junctions from routines and depending on the want'ed type 09:13
from time to time $foo =some_routine_returning_jun().values will end up with "()" but if I assign to a @array everything alays work fine 09:14
moritz ?eval ((1,2,3) Z (5,4,3)).map(&infix:<+>) 09:28
evalbot_r16300 (4.0, 2.0) 09:28
moritz not what I expected ;) 09:29
but propably it works how it should
riffraff really unexpected :)
moritz ?eval ((1,2,3) Z (5,4,3)).map([+] $_) 09:30
evalbot_r16300 Error: Cannot cast from VList [VUndef] to Pugs.AST.Internals.VCode (VCode)
moritz or do I have to use some kind of @$_?
riffraff ?eval [[1,2]].map(&infix:<+>) 09:32
evalbot_r16300 (2.0,)
riffraff mh 09:33
?eval &infix:<+>(1,2)
evalbot_r16300 3
riffraff ?eval &infix:<+>([1,2]) 09:34
evalbot_r16300 Error: No compatible multi variant found: &infix:+
spinclad ?eval ((1,2,3) Z (5,4,3)).map({[+] $_}) 11:00
evalbot_r16300 (6, 6, 6)
svnbot6 r16301 | rhr++ | [t/builtins/strings/unicode.t] Readability improvements to substr tests 11:21
Tene ?eval (1,2,3) Z (4,5,6) 11:37
evalbot_r16300 ((1, 4), (2, 5), (3, 6))
Tene ?eval map (1,2,3) Z (4,5,6), {[+] $^a} 11:38
evalbot_r16300 Error: Cannot cast from VList [] to Pugs.AST.Internals.VCode (VCode) 11:39
Tene ?eval map {[+] $^a}, (1,2,3) Z (4,5,6)
evalbot_r16300 ((1, 4), (2, 5), (3, 6))
Tene ?eval ((1,2,3) Z (4,5,6)).map: {.say}
evalbot_r16300 OUTPUT[14␤25␤36␤] (Bool::True, Bool::True, Bool::True) 11:40
Tene ?eval ((1,2,3) Z (4,5,6)).map: {[+] $^a}
evalbot_r16300 (5, 7, 9)
pasteling "rhr" at 65.94.38.10 pasted "pugs syntax error I don't understand" (63 lines, 2.9K) at sial.org/pbot/24890 12:37
kolibrie that's weird that it works in the interactive shell but not on the command-line 12:41
rhr yes, it is
moritz does it work if you remove the Int before @combining? 12:44
rhr nope
moritz weird 12:45
rhr I'm a magnet for weird pugs bugs, apparently
moritz I can't spot either a syntax error nor a particularly sophisticated syntax
rhr hmm, deleting most of the numbers in the array gets rid of the error 12:48
rhr nevermind, there's a missing comma 12:51
Tene Heh.
rhr not sure how it went missing, that was all generated by a perl script 12:53
moritz and perl scripts are bug free[tm] 12:56
rhr actually, I probably hit x in vim or something by mistake 12:58
lumi But the useless error is sil la bug, right? 13:03
svnbot6 r16302 | rhr++ | [Prelude.pm] add Str.graphs, make Str.chars return Str.graphs
lumi s/sil la/still a/ 13:04
rhr yeah, that was a pretty confusing error message
zzzz ?eval print "Hello World" 13:45
evalbot_r16302 OUTPUT[Hello World] Bool::True 13:45
zzzz ?eval print "Hello World" . (1+1);
evalbot_r16302 Error: ␤Unexpected "."␤expecting operator, ":" or ","
zzzz ?eval print "Hello World" . (1+1)
evalbot_r16302 Error: ␤Unexpected "."␤expecting operator, ":" or ","
zzzz ?eval print "Hello World" + (1+1) 13:46
evalbot_r16302 OUTPUT[2] Bool::True 13:46
diakopter ?eval print "Hello World" ~ (1+1)
evalbot_r16302 OUTPUT[Hello World2] Bool::True
Teratogen is Perl 6 just gonna end up another flavor of Lisp? 14:20
blaze-x is man "just" going to be another flavor of ape? 14:24
:)
Teratogen man is going away, it's all gonna be "info" now 14:26
can we expect Perl 6 by Christmas 14:28
make it, like, a big Christmas present to the world
before we blow ourselves up or get hit by an asteroid or global warming runs rampant 14:29
I mean, you know, we could all go before you get this thing done
did you know that there are huge whirlpools of discarded plastic (the size of Texas) in our oceans? That could kill the oceans? 14:30
[particle] PHEAR.
Teratogen and that honeybee colonies are dieing off in record numbers?
you gotta get a move-on or there'll be nobody to use Perl 6!
kolibrie we're in this for the fun
Teratogen oh well that's a totally different story then 14:31
have fun =)
let the world crumble around you
the yellowstone caldera could erupt! 14:32
it will be neat though 14:35
I assume Perl 6 will be an interpreter AND a compiler?
compile to native code?
Juerd It will compile to Parrot native code, probably. 14:36
Juerd Something else can, if needed, take care of compiling parrot bytecode to system native code, but I doubt it's very useful. 14:36
[particle] we call that JIT 14:37
Teratogen right 14:38
hi Juerd =)
I'm trolling this morning
[particle] i see that 14:39
Teratogen about to take my medz, eat some food, and crash.
Juerd [particle]: Not everything is jit'ed, I thought
Teratogen am bored.
[particle] i'm sure perl 6 (the product) will be fun someday. perl 6 (the journey) is fun now.
Teratogen the only thing I don't like is sigil invariance
it isn't Perlish!
[particle] i disagree 14:40
Teratogen the way sigils work in Perl 5 make a Perlish kind of sense 14:40
[particle] juerd: not everything *yet* (if ever)
Teratogen and how do you do a slice now? 14:41
(in Perl 6)
[particle] teratogen: don't get so hung up on syntax. perl 6 expresses a much wider set of semantics in a much friendlier way
Teratogen ok 14:42
[particle] so, the syntax changed a bit--that doesn't make it less perlish
gnuvince Teratogen: my @slice = %hash<foo bar baz>;
[particle] it might make it less perl 5-ish
jisom not everything needs to be jitted, optimization isn't always guaranteed, plus do you really expect to jit "add_parent" for a class? 14:43
jisom goes back to his amd64 jit attempt
[particle] jisom: how's that going, btw? 14:44
blaze-x in relation to that, whould it somehow be possible to use . on a string for concatination (I only know perl5, but assuming that maybe the string object protoype could be overridden somehow?)
[particle] blaze-x: syntax that looks something like "foo".concat("bar") ?
blaze-x although that would probably make it "foo".("bar")? I'm not up to speed with perl6 development
jisom eh, no longer working 58 hours a week at work, so now have time.......got a decent collection of whitepapers from AMD about it all......so now it's actually coding 14:45
[particle] jisom: i noticed you've been quiet. glad to see it's a good quiet :)
blaze-x [particle]: well, no, that would be too php'ish for my taste, but then again, I'm so used to . for concat, I might get used to ',' , but '~' ... hmm.. I though about ways around it as I had read it :p 14:46
jisom well, we can always use a perl5 compiler 14:47
[particle] blaze-x: yes, i'm sure there will be something like that. maybe like "foo".~("bar", "baz")
blaze-x also, although those ~ probably look quite nice on mac, I'm using a dos font from waaay back, I'm addicted to it, my consoles look like back in the bbs days, with ~ on the topline very high
[particle] i'd have to read the SYN to know for sure though
ole! 14:48
Juerd blaze-x: Why do you want . for concatenation?
blaze-x Juerd: third-finger-going to . brainwash?
Juerd blaze-x: Takes just a week to get used to the new operators
[particle] oh, you mean just '.'. i thought you meant a method form of concat
Juerd Andthat's a very broad guess. 14:49
estimation
blaze-x [particle]: no, indeed
Juerd It took me two days.
Really, brainwashing isn't a big problem.
blaze-x hmmm, you could be right, I'm not there yet, bu-ut (being on qwerty), concatination is done with one hand ([",\.']), if you include ~ using both is required 14:50
although whilest typing, I must say that I probably will get used to it :) 14:51
Juerd Switch to dvorak
Where "', is on the left side :)
As is ~`
blaze-x hehe, myes, that's on my todo list for like soo long :)
jisom then go to work and type, people will call you crazy
Juerd blaze-x: How much spare time do you have next two weeks?
blaze-x: Could you make room for one hour per day? I have a great dvorak course for you 14:52
I'll buy you a beer at a Perl event if you don't manage to touch type dvorak within those two weeks, with practicing only one hour a day.
blaze-x Juerd: have a few projects which need to finish (they are on the laptop) once I switch to my desktop pc, I'm willing to give it a go 14:53
Juerd blaze-x: Contact me by that time then :)
blaze-x oh and btw, I'm probably the only hacker who doesn't drink beer (being from belgium and al, that's unusual :))
Juerd I don't drink any myself. It's an expression
"Favourite not too expensive beverage."
kolibrie doesn't drink beer, but he does type dvorak 14:54
blaze-x sure, just thought it was curious, but seems i'm not alone :)
Juerd kolibrie++
blaze-x: Where in .be do you live?
blaze-x Juerd: flemisch brabant
Juerd Oh, that's not far from where I live
blaze-x like 20mins from the capital
Juerd I live a few km from the Dutch (N-)Brabant border, in Zuid-Holland. 14:55
blaze-x ah, I see, cool.
wasn't there an upcoming YAPC in europe>
Juerd Yes, in August
In Vienna
blaze-x darn, /me hates traveling (don't ask why :)) 14:56
but since my gf has been nagging like crazy to go on holiday, this might be a perfect opportunity
she's a geek too (well math geek actually) so she might even like the meetings
btw, I'm interested in the possible uses of perl6 conversion to other languages, esp javascript. could someone enlighten me about the implications of this, 15:00
Juerd It's compilation, not conversion
blaze-x ie: will we see some kind of CGI which can reform itself into a hybrid client/server model, pushing to the client what it wants and keeping serverside what it wants 15:01
Juerd It's theoretically possible to compile any language to any other language, if external features like I/O are either sufficiently supported, or not used.
Compiling C to ELF isn't much different from compiling Perl 6 to Javascript, from an extremely high level view. 15:02
But don't think it's translation, because it's not.
blaze-x ok, compilation, my bad.
but I'm wondering about the impact of this, will this create new opportunities for the web? 15:03
Juerd 1 + 5 may wind up as enoaenuth(notehuoe(1), notehuoe(5)), or something even much more complex.
Not unless Javascript gets MUCH faster soon.
obra Juerd: see the new VM adobe's contributeed to the mozilla project 15:04
Juerd Compiling to javascript is a few steps backwards in execution speed.
obra: Ooh, interesting. I think I might look up some reading material on that tonight.
obra tamarind.
Juerd noted
obra though the work ms has done with the DLR (not clr) is interesting for many of the same reasons.
blaze-x Juerd: unless you distribute the payload over the clients, and reading about @[1,2,3] ~ @[a,b,c] (syn?) being split up in 3 separate concats... 15:05
Juerd I don't know what @[] is.
blaze-x probably the wrong syntax, sorry
but I meant that it is done in 3 independant calls, so you execute them parralell, no? 15:06
I'm probably using bad terminology, need to do some more reading...
[particle] you mean hyper operators 15:10
blaze-x yes, (or I think so :) 15:11
[particle] S03? 15:12
rats, i was hoping somebody made that specbot i've been talking about
blaze-x indeed, a hyper operator 15:15
Juerd [particle]: Specbot? 15:16
[particle] i'd like a bot that can recite the spec 15:17
Juerd That's way too much data for irc
[particle] a query like "S03?" would give you a link to the spec
Juerd Ah
I use tnx.nl/S03
[particle] one like "S03:1127-29" would give you those lines 15:18
Juerd Erh
[particle] and maybe it'd be limited to 10 or 15 lines, so as not to drive folks mad
Juerd The specs don't have line numbers. It has floated paragraphs.
[particle] the pod is canon 15:19
Juerd Bah
Nah, I don't like that idea
[particle] well, there could be "S03/Hyper Operators" queries, too, if you like
TimToady and others (me included) use line numbers 15:20
until each verse (like the bible) is numbered, that's the best way to be clear and succinct so far
Juerd Sure, but reciting on irc is a bad idea. 15:21
[particle] well, i think otherwise :)
would you prefer nopaste?
Juerd I'd prefer a link to the entire document, properly #'ed 15:22
[particle] the html is generated. i want quick and easy access to the source. 15:23
Juerd Then the source needs to be htmlified <pre> with <a id>
[particle] but, i'm unlikely to write it
Juerd Or something like that, but not lines on irc
[particle] what's wrong with irc?
Juerd Nothing's wrong with irc as long as such bots aren't written ;) 15:24
Multiline stuff on irc is problematic because it disturbs normal conversations.
IRC is line based
It's not even *possible* to flood 15 lines at once, so you need a delay. During the delay, people will talk, and it'll be a mess. 15:25
[particle] i can write
more than one line at once
Yaakov You need a separate channel, moderated, for the output. 15:26
[particle] oh, heh, that's a client thing.
Juerd You can't output 15 lines in one go, pasteling
eh, [particle]
example... 1
example... 2
example... 3
example... 4
example... 5
example... 6
example... 7
example... 8
example... 9
example... 10 15:27
example... 11
example... 12
example... 13
example... 14
example... 15
That was: /exec -o perl -le'print "example... $_" for 1..15'
You'll notice how the first few lines were floodod at once, while the others are delayed a second each, by my client, to prevent that I'm killed by the server (excess flood)
[particle] what i'm after is a mechanism for sharing information when discussing the spec 15:28
so everyone in the channel can be a part of it without having a copy of the spec on their machine for reference 15:29
Juerd I think URLs are great for that.
[particle] if the response from the bot is nopasted, fine.
Juerd Why nopaste it if you can have static documents online? 15:30
It's a piece of cake to wrap some html around the literal pod
[particle] if we have line-numbered pod documents online, that's fine too
Juerd Yea
I think that's much easier AND much better than such a bot.
The line numbers should be links to the lines 15:31
[particle] still be nice to get a link made up for you
Juerd So you can easily copy/paste that.
You shouldn't have to manually type in line numbers.
I'll see if I can build something like this today.
[particle] juerd++ 15:32
Juerd Probably less than 30 minutes work
jerrylee any good tutorials on teaching Haskell? 15:35
Juerd jerrylee: svn.perl.org/perl6/pugs/trunk/docs/...view.html, under "Where can I learn more about Haskell?" 15:36
lambdabot Title: Pugs Apocryphon 1
jerrylee Juerd: thanks :D 15:37
Juerd The pleasure of googling is all mine. 15:38
svnbot6 r16303 | rhr++ | [Prelude.pm] in Str.graphs, comment the future need for units in substr 16:16
rhr what kind of object is 1.as(Codes) (S02:620) supposed to be?
Tene ?eval 1.as(Codes) 16:18
evalbot_r16302 Error: No such method in class Int: &as
rhr I remember from way back there was conjecture that arbitrary units for Nums would be supported via something like 42`mm + 23`furlongs
[particle] ?eval 1.returns(Codes) 16:18
veritos hello 16:19
evalbot_r16302 Error: No such method in class Int: &returns
Tene That's an interesting suggestion
rhr might 1.as(Codes) fit into the same scheme? that would be cool
zperl hi 16:22
Tene zperl: Hi!
xinming_ lwall++ I finally realized what the powfulness roles have. perl6 rocks really. :-) >_< 16:23
TimToady xinming_: please blame chromatic for introducing roles to Perl 6 16:28
Codes(1)
jerrylee bye guys 16:31
fglock hi
TimToady howdy
xinming_ It's fun to get the new understanding of a technoligy... >_< 16:32
japhb fglock: refreshed from time off?
xinming_ how to spell technoledgy correctly? >_<
TimToady probably tired out... :)
japhb "I need a vacation from that vacation!"
TimToady xinming_: whatever communicates is fine
fglock I've been taking a look at history of computer languages - interesting read 16:33
mostly smalltalk & lisp
gnuvince smalltalk++
rindolf Hi fglock, TimToady, xinming_, gnuvince 16:34
fglock rindolf: hi
rindolf gnuvince: my problem with Smalltalk is that Squeak is so much different from anything I'm used to.
fglock: what's up?
gnuvince rindolf: Squeak isn't the only Smalltalk. 16:35
rindolf gnuvince: yes.
gnuvince: is there anything better?
japhb Well, Squeak is the one to be installed on many millions of OLPC laptops, so it will be the de facto main one in the not too distant future, methinks. 16:36
gnuvince Depends on what you mean by better; you have Cincom Smalltalk, VisualAge Smalltalk, Dolphin Smalltalk, Abrai Smalltalk
rindolf gnuvince: and GNU Smalltalk...
TimToady rhr: yes, Str.bytes would fail unless the object in question had a visible encoding mixed in or delegated.
fglock rindolf: just trying to see Perl 6 from a different angle; perhaps from an evolutional POV
gnuvince Cincom Smalltalk is probably the most widespread
rhr TimToady: ok, so it's $str does utf8 16:37
japhb You know, I wonder if it's doable to get Parrot released in time to go on OLPC 2 (2009 or later, I think ...)
rhr is there a 'use utf8' to make that a default? 16:38
zperl ?eval $z=1+2
evalbot_r16303 \3 16:38
zperl $eval $z
?eval $z
[particle] japhb: join us!
evalbot_r16303 \undef
fglock isn't Parrot usable right now?
TimToady you can't really force a string to be utf-8 if it doesn't want to be 16:39
in general it should be the generator of the string deciding whether to supply the bytes abstraction layer.
xinming_ rindolf: hi 16:40
rhr ok, good enough
fglock re Parrot: my point is that Perl 6 implements it's own object system, and it works fine without threads
TimToady pragmas can really only set defaults for the generators in the current scope
japhb fglock: I mean, released so that the OLPC guys would consider replacing CPython, so that the kids would have more than just Python and Squeak available.
rindolf I personally think OLPC is stupid.
japhb blinks 16:41
I've heard OLPC called a lot of things. "Stupid" is a new one.
rhr TimToady: what did you mean by Codes(1)? Are Codes/Graphs/etc. roles also?
TimToady @tell Aankhen`` I'd just write "subset NumberBase of Int where 2..64"
lambdabot Consider it noted.
TimToady most of the built-in types are really roles punning with classes of the same name 16:42
And Codes(1) would be a control-A 16:43
xinming_ BTW, what is the difference between these 2 situations in perl 5 and perl 6? one is using a role (perl 6 way).... another is make a class without new in perl 5. and when we want the Mixin, we just use 'use base qw/Pkg1 Pkg2 Pkg3/;' to "act" as mixin?
rindolf japhb: it's a computer that's not quite a computer, running a very unorthodox GUI, and incredibly crippled.
japhb: interesting idea. Very bad execution.
TimToady Codes(32) is a space regardless of the current encoding of the script
rhr TimToady: control-A? I don't understand
TimToady "consistent Unicode semantics"
codepoint 1 in Unicode is a ^A 16:44
rhr how does that jive with S02:620?
xinming_ hmm, May I ask here or I should ask in #perl? >_<
japhb unorthodox GUI -- true. Crippled -- less so now that they are running the Geode LX instead of Geode GX. Also, they have some parts that are considerably more advanced than any other laptop available. Not quite a computer -- not so. It's a fully functional Fedora. In fact, Red Hat is doing a "95% shared" version that runs using the standard Gnome desktop instead, for sale in developing countries. 16:45
TimToady okay, Code(1) is ^A, not Codes(1). sorry 16:46
rindolf japhb: next time please adress me. 16:46
japhb rindolf: basically a few months ago, the various purchasing nations got together and decided to dump OLPC 1 in favor of just starting immediately with OLPC 1.5, paying the price delta and accepting a couple months delay. And it's now a WAY more functional box 16:47
rindolf japhb: rin[tab]
japhb: oh.
TimToady but I think people usually just use Char(1) to get it in the current abstraction level.
japhb rindolf: I generally use ri[tab]. :-) But that was forgetfullness, not ignorance.
rindolf japhb: OK.
TimToady 'course, now I'm contradicting the types in S26, sigh... 16:48
rhr TimToady: isn't that all just "\x[...]"? How exactly is Code($n) different from Graph($n)?
TimToady so maybe I should say Uni(1)
\x is always hex 16:49
rhr ok, so Uni($n) === "\d[$n]"
TimToady er, only if you eval the right side 16:50
rhr huh?
TimToady \d wants literal digits
rhr oh, right
TimToady interpolation isn't two pass.
you'd have to double the \ too before the eval 16:51
rhr but back to 1.as(Codes) :)
TimToady and 2.54`cm and all that
rhr did that idea die? 16:52
TimToady the ` is currently reserved for user use, but I think a lot of users might opt to say "use units". :)
rhr but should 1.as(Codes) be part of that? 16:53
1`Code
TimToady well, it's a dimensional constant, it's just not a linear dimension necessarily. 16:54
rhr GNU units does nonlinear units :)
like tempF 16:55
not exactly the same thing
TimToady well, I'd call those linear, but not commensurable
or something like that
have different 0 origin, so can't just multiply
but the basic idea is that you can take a number and mix in a preferred interpretation of that number somehow 16:56
rhr yup
[particle] $Feb.days.as(Months)
rhr heh
TimToady and then hopefully the type logic can sort things out, or at least know when it can't
and some conversions can happen either eagerly or lazily 16:57
rhr nod
TimToady all the length units might just convert immediately to meters internally 16:58
rhr that's what units(1) does, I believe
TimToady or maybe they would prefer to do it lazily, much like we say that / could pretend to be a Num but really store a Rat until the value is needed.
xinming_ hopes people not ignores him. :'(
fglock [particle]: is perl6-language the right place to discuss Perl 6 in Parrot? 17:00
TimToady xinming_: I don't understand your question. I'm not an expert on how Perl 6 types map to Perl 5...
Yaakov Hello, TimToady.
[particle] perl6-compilers, i'd say
rhr afk a few mins 17:01
fglock [particle]: ok 17:03
I'd really prefer online chat
[particle] fglock: we can chat online 17:05
it's likely pmichaud will be around in ~1-2hrs
fglock oh, nice
[particle] parrot team has weekly status tuesday @ 1830gmt
usually we're all around at that time 17:06
TimToady moritz: the Z operator (and operators like it) do not currently respect @ vs @@ context according to spec.
moritz TimToady: ok, thanks
b_jonas I wonder what Z will be renamed to next. perhaps \/\/\/
TimToady moritz: and arguably defaulting all of them to @ is wrong
TimToady hmm, I wonder if there's a Unicode that looks like that... :) 17:07
[particle] fglock: pmichaud is on #parrot now
fglock [particle]: trying to find out how to connect to irc.perl.org from irssi :) 17:08
veritos fglock: only 1 server at a time i think. open another screen. 17:09
fglock veritos: thanks
moritz fglock: just type /connect irc.perl.org 17:10
fglock: and then join -perl #parrot
b_jonas I don't know why we need an operator for it. could we just have that functionality built in map like in scheme? (I think foreach can already do multiple lists paralelly)
veritos ooh--nice.
moritz irssi is perfectly capable of handling many servers at once
fglock moritz: that worked - thanks
b_jonas though of course there's the problem of how to distinguish between the many things iterating on many lists can mean 17:11
xinming_ TimToady: hmm, what is the difference between role composition and multi inheritance. I think this is what I mean in my previous question.
moritz b_jonas: this beeing perl we want to implement _every_ convenient method ;)
b_jonas sure, implement zip, but why an operator with a silly name?
btw, I quite like standard ml's list and listpair library 17:12
b_jonas oh well 17:12
I would like to have a large standard library too 17:13
large standard libraries rock 17:14
rhr so would there be something like role furlongs does meters {...}? obviously role Codes doesn't do Bytes, they'd each be fundamental units 17:16
hmm, Code already means somethng else
xinming_ hmm, thanks, I think I got it. :-) 17:21
gaal ingy: moose! I later realized why my suggestion was bogus :) 18:43
svnbot6 r16304 | rhr++ | [t/builtins/strings/unicode.t] use utf8 -> does utf8 etc. 18:59
TimToady xinming_: role composition resolves method collisions at compile time, and has no trouble with diamond inheritance. multiple inheritance can't make such guarantees.
svnbot6 r16305 | rhr++ | [t/builtins/strings/unicode.t] most of these are :todo 19:20
xinming_ TimToady: The best answer I ever got is from you. :-) Check google, and found many articles. But none touched my itchy points 19:34
Sleep for now, bye all.
Just googled the answer, and now, I can sleep well. :-)
thanks all
ingy gaal? 20:27
what suggestion
<- too lazy to read back
lichtkind moritz: now has time? 21:25
moritz lichtkind: yes 21:29
lichtkind moritz fine
moritz lichtkind: would you care to join an irc server where we can /msg ?
lichtkind moritz good but how?
moritz lichtkind: /connect irc.perl.org 21:30
lichtkind moritz: good moment reconnecing 21:31
lichtkind moritz: it was /server irc.perl.org 21:32
moritz lichtkind: depends on your client ;) 21:33
fax hello 21:55
I just watched video.google.com/videoplay?docid=-3...6103839772
lambdabot Title: Audrey Tang - Perl 6 Today - Google Video
fax looks really amazing!
very excited about perl6 :D 21:57
moritz fax: that's because perl6 _is_ cool ;)
Tene Hello, fax! 21:58
PerlJam You mean "Perl 6" don't you moritz? ;)
Today, the role of chromatic will be played by PerlJam on #perl6.
moritz PerlJam: I do, ;)
fax I wish I was a master haskell programmer so I could help :p
PerlJam fax: you don't need to be a master haskell programmer to help! 21:59
fax is it likley that perl 6 will always be in haskell?
PerlJam: oh? 22:00
stevan__ PerlJam: quick hyperoperator question
PerlJam There's lots of non-haskell work that needs doing.
stevan__ [++] @minions
does that ++ all my minions
or do some kind of reduction
stevan__ hasnt looked at the hyperoperator spec in a while
PerlJam stevan__: if it works, it should do a reduction and ++ all of your minions 22:01
moritz stevan__: I think you'd need @minions>>.++ or something
PerlJam :-)
I'm not sure [++] is what you want.
what moritz said
stevan__ cool
I knew I had it wrong :)
moritz I think [...] expect a binary operator
stevan__ thanks
ah
stevan__ so [] is more akin to fold, then map 22:02
moritz right
erm, reduce
at least in p6 reduce is roughly equivalent to reduce 22:03
PerlJam foldl
PerlJam foldr would be weird. 22:03
stevan__ PerlJam: yes,.. agreed :)
PerlJam or do I have those backwards again?
stevan__ no,.. fold_left is the normal one :)
stevan__ is speaking in Ocaml sorry,.. foldl 22:04
Tene stevan__: spec says @minions»++ 22:05
?eval @m = 1..3; @m>>++ 22:06
evalbot_r16305 (*** Can't modify constant item: VInt 1␤ at <eval> line 1, column 12 - line 2, column 1, *** Can't modify constant item: VInt 2␤ at <eval> line 1, column 12 - line 2, column 1, *** Can't modify constant item: VInt 3␤ at <eval> line 1, column 12 - line 2, column 1) 22:06
fax will perl6 always be implemented in haskell? 22:09
Tene fax: no
fax :(
why?
stevan__ fax: nope, it will be implemented in Perl 6
fax ahh thats ok then :D
Tene fax: well, there will likely always *be* a Perl 6 implementation in haskell
diakopter wonders how to de-implement pugs
Limbic_Region diakopter - bootstrapping of course 22:09
fax so the plan is to write in haskell then write it in perl 6?
PerlJam fax: There are multiple Perl 6 implementations. 22:10
Tene the most "official" implementation will be in Perl 6, yes.
fax so it will be a perl 6 compiler as well as an interpreter?
Tene Sure.
fax wow
moritz fax: it will have multiple backends, propably
PerlJam fax: As soon as we get the right amount of perl 6 implemented (in any language) such that we can write perl 6 in perl 6, we're good to go.
fax sounds fantastic 22:11
moritz fax: and because of BEGIN {...} blocks you can't write a pure compiler
PerlJam fax: and I think we'll reach that point some time this year.
moritz fax: because it can change syntax at compile time
fax moritz: what do you mean? I heard about BEGIN in the video but what problem does it cause?
whats wrong with that though?
moritz fax: if you do something like BEGIN { sub infix:<*> {...} }
fax: you change the meaning of the operator "*"
before the rest is compiled 22:12
fax hm maybe I dont understand what you mean by a pure compiler
moritz which means that the BEGIN {...} part must be _executed_ at compile time...
fax oh I understand
PerlJam moritz: that doesn't mean you can't make a pure compiler, just that you have to ship it as part of your executable ;-) 22:15
moritz PerlJam: but if code is executed at compile time, that's normally called "interpreted" ;) 22:16
TimToady sub infix:<*> changes the language even if you don't use BEGIN 22:21
moritz right
TimToady BEGIN is just the final safety valve, like eval, only the opposite 22:22
diakopter TimToady: I don't see a SoTO listed at conferences.oreillynet.com/pub/w/58...sions.html 22:23
lambdabot Title: O'Reilly Open Source Convention 2007 &#8226; July 23-27, 2007 &#8226; Portland, ...
TimToady just as we try to make it unnecessary to use eval, we also try to make it unnecessary to use BEGIN
diakopter: it's not usually considered part of the sessions
it's normally been part of the Tuesday night bash 22:24
diakopter TimToady: oh! okay
TimToady not sure where it's tucked this year though
diakopter a couple of the tutorials I had preferred are already full. :( 22:25
diakopter looks for an evening bash (anywhere) 22:26
oh, I see. Opening night last year. 22:29
perlDreamer TimToady or other enlightened folk: in t/TASKS it says to update the closure tests w.r.t changes in S04. Which changes does that refer to? 22:49
TimToady not sure 22:52
perlDreamer TimToady: I'll try to narrow down when the task was added. Would that help? 22:53
TimToady probably double check all the named blocks at S04:853 since some of them got renamed along the way
START used to be FIRST, for instance
(though I think I changed that one at the time) 22:54
perlDreamer The task was added 8/18/06. I'll try to cross reference with S04 now.
oh, and from what I've seen the block renaming was done. 22:55