Pugs 6.2.6 uploaded by cpan-upload.p6! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste at sial.org/pbot/perl6 Set by integral on 2 June 2005. |
|||
mrborisguy | i have an implimentation question for the masses: does 'is copy' in a sub definition mean that the entire thing is a copy? | 00:31 | |
take this code: | |||
?eval my @aoa = ([1]); sub modify( @in is copy ) { @in[0][0] = 7; } modify( @aoa ); @aoa; | |||
evalbot6 | [[7]] | ||
mrborisguy | is that the expected result, or is [[1]] the expected result? | ||
someone earlier said there was a post about this on p6l... i dug it up: groups-beta.google.com/group/perl.p...&hl=en | 00:32 | ||
but they seem to veer off subject quite quickly and never answer this question | |||
does anybody have any thoughts on which way is correct? | 00:35 | ||
Enveigler1 | On the basis that "unless otherwise stated P6 is the same as p5", and @a = ([1]); @b=@a; $b[0][0]=7; print $a[0][0]' => 7, I'd assume that [[7]] is correct until someone says otherwise. Maybe they'll need to be a "is deepcopy" trait also? | 00:42 | |
meppl | gute nacht - good night | 00:43 | |
mrborisguy | ?eval my @aoa = ([1]); sub modify( @in ) { my @copy = @in; @copy[0][0] = 7; } modify( @aoa ); @aoa; | ||
evalbot6 | [[7]] | ||
mrborisguy | yeah... i was just looking into that as you said it | 00:44 | |
since you'd almost think my @copy = @in is the same as @in is copy, i'm going to go with [[7]] is the right answer | |||
(although i really would love a 'is deepcopy' for what i'm trying to do) | |||
meppl | does there still forks or threads work with perl6? | ||
kelan | ?eval chars( "Ā»" ); | 00:45 | |
evalbot6 | *** unexpected ( or "(" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input at -e line 4, column 4 | ||
kelan | ?eval chars( ">>" ); | ||
evalbot6 | 2 | ||
mrborisguy | now that can't be right | 00:46 | |
kelan | which? | ||
mrborisguy | your example | ||
kelan | the first or second? | ||
mrborisguy | i would say the first | ||
kelan | yeah its been that way for a while. i think its either just a parse bug or an evalbot bug | 00:47 | |
probably an evalbot bug | |||
wolverian | works fine on feather | 00:49 | |
kelan | "it works fine" as in "theres an evalbot on feather that can eval it" or as in "pugs can eval it"? | 00:50 | |
wolverian | pugs. | ||
kelan | it could be what i'm sending, too | ||
i don't know if i have this unicode stuff set up right | |||
wolverian | it looks fine here, but let me see. | 00:51 | |
?eval "Ā»".chars | |||
evalbot6 | *** unexpected ( or "(" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input at -e line 4, column 4 | ||
wolverian | right. | ||
kelan | ?eval chars( "Ć¼" ); | 01:14 | |
evalbot6 | *** unexpected ( or "(" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input at -e line 4, column 4 | ||
mugwump | hey autrijus are you still looking for an example of a DSL? | 01:25 | |
vcv- | ?eval "test".chars | 02:30 | |
evalbot6 | 4 | ||
vcv- | ?eval ?"test".chars | ||
evalbot6 | bool::true | ||
02:41
batdog|gone is now known as batdog
03:05
batdog is now known as batdog|gone
|
|||
smoofra | what's up perl6ers? | 03:13 | |
hrmm | 03:17 | ||
arcady | we're not dead, we're just resting! | 03:18 | |
smoofra | i was wondering if you knew something about parrot | 03:20 | |
whether it has continuations? | 03:21 | ||
arcady | yes, it does | 03:24 | |
in fact, it uses them all the time | |||
for returning from function calls, for example | |||
smoofra | w00t | ||
and you can access them from perl6? | 03:25 | ||
arcady | that I'm not so sure on | ||
smoofra | oh man i hope you can | ||
arcady | you might be able to eventually, when there's a perl6 that compiles to parrot | 03:26 | |
smoofra | i heard perl6 is gonna have coroutines | ||
and i thought maybe they were implemented in terms of continuations | |||
arcady | yes, that's probably how they're implemented | ||
mugwump | smoofra, there are already passing tests in pugs for coros | 03:27 | |
smoofra | wow | ||
crysflame | pugs++ | 03:28 | |
smoofra | i haven't really paid any attention to perl6 untill today. | ||
i read all those apocalpses and i have been drooling for hours | 03:29 | ||
mugwump | checkout and build pugs, then look at examples/nested_loops/coroutine.p6 and t/unspecced/cont.t | ||
smoofra | it has macros, it has multimethods, it has coros and it has SYNTAX | ||
ahhhhh | |||
mugwump | macros aren't functional yet AFAIK | ||
smoofra | that'd make sense if the pugs parser is written in haskell instead of perl | 03:30 | |
it'd be pretty hard to see how they'd do macros that way | |||
mugwump | it should be possible to implement in any language. but pugs was designed largely to flesh out the corner cases for the language, and produce an environment that a bootstrapping perl 6 compiler can spring from.. macros are "nice to have" | 03:31 | |
IMHO anyway. a LISPer probably thinks different :) | 03:32 | ||
obra | well, macros are "not yet". They're on the roadmap | 03:35 | |
03:36
khisanth_ is now known as Khisanth
|
|||
smoofra | I wonder how "regular" the parse trees will be | 03:38 | |
like, how easy will it be to go through them and do something at each node | |||
mugwump | If you have specific ideas about what the interface should look like, the pugs tests and examples suites are a good place to put them.. | 03:46 | |
smoofra | i've got a few ideas. | 03:48 | |
mugwump | ideally with research to previous discussion from p6l and/or sections from Apocalypse and Synopsis documents, but anything is better than nothing | ||
smoofra | you want macro1( macro2(blabla), ..) to work | ||
assumeing macro1 evauates it's first arg | |||
so you need macroexpand | 03:49 | ||
except you can't really do that, because macro2 might parse in a non-standard way | |||
so really you need "macroparse" | |||
some easy way to parse and macroexpand all at once | |||
mugwump | sticky stuff isn't it | 03:52 | |
personally I think that source expansion macros are easily as evil as source filters | |||
smoofra | yea. in lisp-language it's like you have reader-macros and regular macros | ||
but actually they are the same thing | |||
they are when it comes to editors | 03:53 | ||
but you can write a little macro that'd be a huge source filter | 03:54 | ||
because you allready have the whole parser at your disposal | |||
autrijus | Greetings from Wien! | 05:27 | |
gaal | hey autrijus! | ||
autrijus | :)) | ||
gaal | i was just leaving actually :) | ||
good luck with everything! | 05:28 | ||
autrijus | thank you! | ||
gaal is off to $work. & | |||
f0rth | make clean doesn't work properly on win32, expanded command line too long | 05:41 | |
Aankhen`` | What is the first line of output? | ||
f0rth | irc.csie.org:8888/100 | 05:45 | |
is that enough? | |||
Aankhen`` | Yep. | 05:46 | |
You need to download an updated version of nmake. | |||
Your version is 1.50, the latest is 7.10.xxxx. | |||
f0rth | so the auto-downloaded is not the latest... | 05:50 | |
autrijus | it's the only free version. | 05:51 | |
so maybe the clean targets need fixing | |||
patches welcome :) | |||
Aankhen`` goes to shower, BBIAF. | |||
svnbot6 | r4455, Aankhen++ | * updated ext/libwww-perl/Makefile.PL | 05:57 | |
Enveigler1 | The latest nmake I've seen comes with the .NETSDK > Microsoft (R) Program Maintenance Utility Version 8.00.40607.16 | 06:02 | |
06:04
cornelius is now known as ank
|
|||
nothingmuch | good morning | 06:47 | |
arcady | good evening : ) | 06:48 | |
nothingmuch | autrijus: how was your flight? | 06:50 | |
if you like i can have my grandmother hook you up with some cookies | 06:51 | ||
autrijus | nothingmuch: uh, thanks, but probably not :) | 07:07 | |
the flight is fine. your journal is a nice read. | |||
nothingmuch | <voice="mobster">just so you know, I have connections in vienna...</voice> | ||
is it accurate? | |||
autrijus | however (Reader Interp Interp) means a Reader computation that maintains a Interp and yields a Interp | ||
nothingmuch | yup | ||
autrijus | also there's one place where you wrote | ||
nothingmuch | did I say it isn't? | 07:08 | |
autrijus | Eval Interp -> Interp | ||
where it should be | |||
Eval (Interp -> Interp) | |||
nothingmuch: | |||
What do you get? A `Reader Interp Interp`, or a in english a `Reader` of an an | |||
`Interp` and another `Interp`: | |||
and: | |||
doExp :: Exp -> Reader Interp -> Interp | |||
nothingmuch | ah | 07:09 | |
got a line number for Eval Interp -> Interp? | |||
autrijus | no, it was Reader,sorry | ||
doExp should be | 07:10 | ||
doExp :: Exp -> Reader (Interp -> Interp) | |||
no? | |||
nothingmuch | ah yes | ||
wait | |||
isn't Reader (Interp -> Interp) == Reader Interp Interp? | |||
or is it Reader Interp (Interp -> Interp)? | |||
i'm not awake yet | 07:11 | ||
autrijus | er, well. that's hte problem with having the smae name for TyCon and Ty | ||
for clarity's sake, let's call the type Reader | |||
and the constructor MkReader | |||
"MkReader Interp Interp" is of type "Reader Interp" | 07:12 | ||
er wait. | |||
try again | |||
"MkReader" is of type "(Interp -> Interp) -> Reader Interp Interp" | |||
doExp is my patch is of type "Eval (Interp->Interp)" | 07:13 | ||
which means something that evaluates in the eval monad and yield a function of type I->I | |||
now suppose we define the Eval monad as: | |||
type Eval a = Reader Interp a | |||
then Eval (Interp->Interp) would become | |||
Reader Interp (Interp->Interp) | |||
end of explanation. | |||
nothingmuch | yup | 07:14 | |
`doExp`'s signature is | |||
doExp :: Exp -> Reader Interp (Interp -> Interp) | |||
autrijus | that'd be right. | ||
your journal got it wrong. | |||
nothingmuch | fair enough? | 07:15 | |
autrijus | also this: | ||
type Eval a = (MonadReader Interp m, MonadWriter Stack m) => m a | |||
Which combines two other monads, a `Reader` for the `Interp`, and a `Writer` | |||
for the `IO`. | |||
yeah, fair enough | |||
nothingmuch | okay, first fix is in | ||
autrijus | if you say the Reader is for Interp | ||
then the Writer is for STack | |||
IO doesn't enter the picture | |||
neither does ReaderT | |||
nothingmuch | hmm, good point | 07:16 | |
but I don't understand the details of that yet, so I couldn't really explain it | |||
autrijus | that's fine :) | ||
nothingmuch | i think i'll stick with 'writer for the IO', it's clearer why it's there | 07:17 | |
unless you have an idea for a technically correct explanation, that is not confusing | 07:18 | ||
(huh? why does the stack need a writer?) | |||
the way I saw it, Eval is a sort of unification, where Reader is Reader, and Writer bridges to IO | |||
autrijus | Reader bridges to ReaderT | 07:19 | |
Writer bridgers to IO | |||
that'd be right. | |||
saying Reader bridges to Interp and Writer to IO | |||
would be mixing metaphors. | |||
nothingmuch | hmm, OK | 07:20 | |
autrijus | you can alternatedly say Reader bridges to Interp and Writer bridges to Stack | ||
that'd be using another idea of "bridge" | |||
nothingmuch | is WriterT or Writer being used? | 07:21 | |
autrijus | neither. | 07:22 | |
nothingmuch | oh | ||
autrijus | there are three concepts involved. | ||
nothingmuch | we're creating a sort of StackWriter monad? | ||
autrijus | "MonadWriter" is something that can write things. | ||
it's a type class. | 07:23 | ||
"Writer" is a type that is an instance of the said type class | |||
that represent pure writers | |||
nothingmuch | right | ||
autrijus | "WriterT" is another type | ||
that modifies another monad type | |||
into an instance of the said type class, MonadWriter. | |||
what I did though | |||
is to declare "IO" type | |||
as an instance of MonadWriter too. | |||
by providing an implementation of "tell". | 07:24 | ||
look for the line "instance MonadWriter" | |||
nothingmuch | uhuh | 07:25 | |
oh, I think I get it | |||
since dumpInterp is an IO | |||
then the instance of IO in MonadWriter is used for the Eval monad | |||
autrijus | right. | 07:26 | |
the Eval monad is a polymorphic type synonym | |||
nothingmuch | m inside `type Eval` is `IO`? | ||
autrijus | it is a synonym to any type that satisfies the two type class | ||
nothingmuch | (in this case) | ||
autrijus | no, m inside `type Eval` is | ||
ReaderT Interp IO | |||
nothingmuch | oh | ||
so ReaderT Interp IO also does MonadWriter on IO since it's both a Reader and an IO? | 07:27 | ||
domm | autrijus: So I assume you arrived at the hotel and everything is ok? | ||
autrijus | hey domm-san | ||
yes, I'm just fine. network is a bit slow and a bit expensive, but I'll live :) | |||
domm | I'll come by the hotel in about half an hour. Maybe we can find a cheaper/faster place for you :-) | 07:28 | |
nothingmuch | so wait, when is ReaderT involved? when dumpInterp is of type IO and it uses runReaderT runReaderT inside the IO eval has a polymorphic type's variable filled with IO? | 07:29 | |
autrijus: in austra now is the season to go to a Hoiriger (spelling anyone?) type pub thingamabob | 07:30 | ||
and drink partially fermented wine | |||
domm | nothingmuch: Heuriger | ||
nothingmuch | domm++ # thanks | ||
autrijus | domm: that'd be cool... checkin is 2pm so I still got time to kill | ||
jet lag is kicking in, so I'm very underclocked right now | 07:31 | ||
domm | nothingmuch: I think you're talking about 'Sturm', which (unfortunatly) only will be available in autum | ||
chromatic | Howdy. | ||
nothingmuch | domm: hmm... possibly | ||
mom is going there for her sister's birthday party in a few days | |||
and they are going to celebrate in a Heuriger, so I just assumed that the good stuff is there | |||
chromatic | Anyone besides the jetlagged one understand line 250 of Pugs.Bind? | 07:32 | |
I know what `zip` does, but I'm not sure why it's here. | |||
domm | nothingmuch: well, they've got very young wine ('heuriger' means 'of this year') but then I don't know much about wine.. | 07:33 | |
autrijus | chromatic: say you have positional args $x $y $z and passes 1,2,3,4,5 | ||
chromatic: that `zip` will bind 123 to xyz and leave 45 to *@_ if it's there. | |||
integral | chromatic: looks like it's making a mapping from args (like $x, $y) to values 1, 2, eg $x => 1, $y => 2 | ||
autrijus | i.e. in ($x, $y, $z, *@_). | ||
chromatic | Yep, I understand that part. | ||
Suppose I have a positional argument with a default value and no parameter. | 07:34 | ||
Does it consume the argument and never consider that it has a default value? | |||
autrijus | that is the basic idea. | ||
I think. | |||
because the default value only kicks in when a optional pos arg is unbound. | 07:35 | ||
unboundOptPrms | |||
chromatic | Which bit of code handles assigning unbound default values? | ||
autrijus | finalizeBindings | ||
line 220 on | |||
chromatic | Ugh, that one drove me nuts. Let me trace unboundOptPrms then. | ||
autrijus | sorry. Bind and Context are among the oldest code in pugs | 07:36 | |
that had not been refactored | |||
chromatic | Yes, it's pretty dense. | ||
autrijus | it's also when I had no idea what I'm doing and when I thought pugs only exists to test junctions and mmd in p6 ;) | 07:37 | |
chromatic | I can see it being good at both. | ||
nothingmuch | okay | 07:38 | |
clarified Eval monad a bit | |||
chromatic | Hm, the right stuff is in boundDefOpts at the end of finalizeBindings. | ||
That's not the problem. Darnit. | |||
autrijus | nothingmuch: to answer your question, yes, ReaderT enters the picture when you runReaderT. | ||
(for reasons I hope that are obvious) | 07:39 | ||
pasteling | "nothingmuch" at 212.143.92.226 pasted "eval monad splain diff" (52 lines, 2.5K) at sial.org/pbot/10839 | ||
autrijus | nothingmuch: | 07:40 | |
Plain `Reader` knows to do the former | |||
that is true but not relevant | |||
you want to say | |||
Plain `ReaderT` knows to do the former | |||
nothingmuch | so wait, ReaderT is not a combination of Reader and some IO type | 07:41 | |
but rather a polymorphic MonadWriter that takes another monad? | |||
autrijus | nono | ||
ReaderT modifies a monad type to imbue it with MonadReader powers | |||
it does not use the Reader type at all. | |||
it is also not specific to IO. | |||
nothingmuch | okay | ||
right | 07:42 | ||
autrijus | it's like in perl 5 when you overload an array reference with %{} | ||
it doesn't mean it becomes a hash | |||
it doesn't mean there's a plain hash underneath | |||
all it means is it can now pretend to be a hash. | |||
nothingmuch | right | 07:43 | |
autrijus | so the T works a bit like that. | ||
pasteling | "nothingmuch" at 212.143.92.226 pasted "second try" (8 lines, 433B) at sial.org/pbot/10840 | 07:45 | |
chromatic | Grr, everything takes me back to applyExp. | 07:46 | |
autrijus | chromatic: I thought we concluded the problem was in applyExp | 07:47 | |
pasteling | "nothingmuch" at 212.143.92.226 pasted "new darcs w" (59 lines, 2.8K) at sial.org/pbot/10841 | 07:48 | |
chromatic | I just wanted to make sure. :) | ||
autrijus | nothingmuch: that's perfectly good. | ||
07:48
scw_ is now known as scw
|
|||
pasteling | "chromatic" at 63.105.17.30 pasted "Problem Matrix" (17 lines, 632B) at sial.org/pbot/10842 | 07:49 | |
nothingmuch | the last hunk is at the very bottom | ||
i hate debugging gui apps | 07:50 | ||
autrijus | chromatic: did you try removing all punctuations? | ||
chromatic | Yes I did. | ||
autrijus | alright. | ||
chromatic | That's the third one in the matrix. | ||
autrijus | domm: still @home? | ||
Boogie | autrijus: will you come to the pre workshop meeting (@ Wien)? | ||
autrijus | Boogie: when and where is that again? | 07:51 | |
I wonder if I can borrow a pcmcia 802.11b card from someone here. | |||
Boogie | autrijus: it will be in a cafƩ, somewhere in the city | ||
autrijus | the ndis centrino thing is hating the network here. | ||
Boogie: sure, I'd like to go | |||
Boogie | autrjius: it' in awp status report #6: "Early arrivals on wednesday can meet at the 5uper.net MedienKunstCafe." | 07:53 | |
lathos | autrijus: Did you check out buscador? | 07:54 | |
autrijus | Boogie: I'll talk with domm and see what the arrangement would be | ||
lathos: yes. it looks nifty. I also remember seeing it before. | |||
Boogie | autrijus: OK, domm knows the place. | ||
lathos | It's now reading p6i, p6l, p6c and p5p. | 07:55 | |
nothingmuch wonders why apple is changing to intel based CPUs, when for years they have claimed that PPCs process certain things much better, like adobe photoshop benchmark, but the adobe reps still say it's a good switch | |||
i can understand why it can be good | |||
autrijus | nothingmuch: the Acceloraptor beat the Velociraptor. | ||
nothingmuch | but why couldn't adobe run faster on wintels if it was already good? | ||
Boogie | autrijus: I think I'll be there about 16.30, (my train arrives at 15.50), but don't know if I'll stay there, or look around in the museum. I'm sure, that I'll be there about 18.00. Just to know when you don't want to come. ;) | 07:56 | |
chromatic | autrijus, stripping out the punctuation means that :bar(7) doesn't set $.bar in the parameter list. | ||
nothingmuch | autrijus: no further objections to the Eval interpretation? | 07:57 | |
autrijus | chromatic: huh? shouldn't both strip to "bar"? | ||
chromatic | They do. | ||
This is the part that confuses me. | |||
autrijus | chromatic: I could help more once I found a pcmcia card and don't have to use win32 :-/ | ||
nothingmuch: nope. you did well | |||
nothingmuch | okay, darcs pushing | 07:58 | |
chromatic | With no passed-in value, $.bar keeps the default value just fine. | ||
With a passed-in value, it still keeps the default value iff we strip the punctuation. | |||
If we don't strip the punctuation (or just strip the sigil), it takes the passed-in value. | 07:59 | ||
lightstep | nothingmuch, ping | 08:00 | |
nothingmuch | lightstep: pong | 08:01 | |
autrijus: lightstep thinks that import RWS is not needed | 08:09 | ||
please fight to the death, and whoever is sexier in a bikini - that's whose opinion I will listen to | |||
let me just whip up the MudPit monad | |||
which accepts two parameters, but only one can ever come out! BUAHAHAHA | |||
lightstep | join #touch-my-monads | 08:11 | |
nothingmuch | oops, finally finished darcs push | 08:12 | |
lightstep | bye, i have to go learning some | 08:15 | |
nothingmuch | ciao | 08:16 | |
why is the google logo different today? | 08:26 | ||
osfameron | frank lloyd wright apparently | 08:28 | |
nothingmuch | is it his brithday anneversary? like, 100 years or something? | 08:29 | |
lightstep | the hell with dirichlet's problem; programming is much better | 08:40 | |
nothingmuch | hola lightstep | 08:41 | |
so what does touch-my-monads serve? | |||
what purpose | |||
and why are all the haskell people sex maniacs? | |||
lightstep | i can't find the logs now. there was a monogamy/sex discussion in #haskell two days ago (i think), and they created #touch-my-monads to move the discussion there. it didn't help | 08:44 | |
they kept offtopicing in #haskell | |||
QtPlatypus | ?eval "/match" ~~ m{^/ {say "Match"}} | 08:53 | |
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
QtPlatypus | Ok that definitily doesn't work. | ||
lightstep | 3 days ago, from 11:37:38 to 13:12:11 utc | 08:54 | |
QtPlatypus looks confused at lightstep | |||
lightstep | the discussion that led to #touch-my-monads | 08:57 | |
drbean | Are nested braces not allowed? | 08:58 | |
arcady | QtPlatypus people have been saying that evalbot has problems with ^ and quoting | 08:59 | |
QtPlatypus | I don't think its eval bot. I think its including code inside the rule | 09:00 | |
arcady | ?eval "/match" ~~ m{/ {say "Match" } } | ||
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
arcady | it's both | ||
QtPlatypus | Is that feature even implemented yet? | ||
drbean | ?eval "/match" ~~ m[^/ {say "Match"}] | 09:01 | |
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
arcady | it's also that evalbot doesn't allow "say" | ||
or any side-effectful things | |||
drbean | Uh? It was OK on my machine! | ||
arcady | for me it says "MkMatch {matchOk = False, matchFrom = 0, matchTo = 0, matchStr = "", matchSubPos = [], matchSubNamed = {}}" | 09:02 | |
QtPlatypus | arcady: Are you using embedded parrot? | ||
drbean | I get an unexpected "}" error. | 09:03 | |
arcady | yes | ||
other regexpy things work fine | 09:04 | ||
?eval "foo" ~~ /foo/ | |||
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
arcady | evalbot doesn't like regexps | ||
it needs to be rebuilt, I think | |||
QtPlatypus wonders if my first experement killed it | 09:05 | ||
?eval my $x=1 | 09:23 | ||
evalbot6 | \1 | ||
QtPlatypus | Ok the bot isn't dead. | ||
domm | fyi: the wireless at autrijus hotel stoped working. | 09:27 | |
he's now on the way to a cafe with (hopefully) working (and free) wireless | |||
QtPlatypus | Thanks domm | 09:28 | |
nothingmuch makes bubbley sounds as he metaphorically drowns in ld's stderr output | 10:23 | ||
kungfuftr | anyone recommend japanese fonts for use with vim/gvim (specifically sjis encodings) | 10:26 | |
? | |||
nothingmuch | japanese perl 6? | ||
arcady | hey, p6 is the only language that supports arbitrary unicode as identifiers | 10:27 | |
lathos | Doesn't Java? | ||
Or, indeed, Perl 5. | |||
arcady | nope | ||
osfameron_ | VBScript might, bizarrely | 10:29 | |
lathos | Depends how you're defining "arbitrary unicode". You still need a \p{word} as the first character of an identifier in p5. | ||
osfameron_ | [ .o( I am a valid VBScript identifier, oh yes!) ] | 10:30 | |
jabbot | osfameron_: 1 ę„ęÆęęäø | ||
arcady | java complains loudly | ||
and I've tried all of p5, python, ruby | 10:31 | ||
lathos | I've used Unicode identifiers in Perl 5. | ||
arcady | and only pugs lets me have a $ŠæŠµŃŠµŠ¼ŠµŠ½Š½Š°Ń | ||
lathos | Hell, I might even have implemented them. | ||
jabbot | lathos: 1 ę„ęÆęęäø | ||
autrijus_ | woot. feather is much faster | 10:32 | |
QtPlatypus | Hi autrijus_ | 10:33 | |
autrijus_ | hi QtPlatypus | ||
lathos | perldoc utf8: "One can have Unicode in identifier names, but not in package/class or subroutine names." | 10:34 | |
arcady | ah, you have to use utf8 first | 10:37 | |
svnbot6 | r4456, autrijus++ | * hw2005.txt - Allison's reviews. | ||
lathos | At the moment, yes. | ||
Also, why is telling me about something period three? | 10:39 | ||
s//jabbot/ | |||
autrijus | lathos: it is telling you that the first day of this month is wednesday | 10:42 | |
(star period three) == "wednesday". go figure | |||
and why it goes berserk is anyone's guess... but blaming gugod is always the right thing to do | |||
gugod: why does jabbot go berserk? | 10:43 | ||
lathos | Funny, I assumed Chinese would use the elementals, like Japanese. | ||
Wednesday is wood-day. | 10:44 | ||
autrijus_ | nah. that's a .jp thing. | 10:45 | |
in chinese it's either "star period three" | 10:46 | ||
or "mass day plus three" | |||
both forms are recognised | |||
although in .cn it's simply known as "weekday three". | 10:47 | ||
(which is also recognised in .tw.) | |||
...actually if you write "wood-day" .tw people will also recognise it. multiculturalism and all. | |||
integral | chinese and japanese use the same characters for these things? | 10:48 | |
lathos | Sort of. | ||
autrijus_ | integral: yes. it's an abstract layer over spoken languages. | ||
think DBI | |||
lathos | I can read a bit of Chinese, but I can't pronounce it. | ||
integral | heh, same interface, but different SQL | ||
autrijus_ | ditto for me and Japanese. | ||
right. a sort of metalanguage thing. | |||
lathos | Also Chinese uses characters for everything, but Japanese has a separate grammar layer, so my Chinese grammar is always a bit hazy. | 10:49 | |
autrijus_ | you can use Han characters to encode languages of wildly different grammar and phonetics etc. | ||
lathos: Mandarin also has a separate grammar layer... | |||
Cantonese also. Holok, Hakka also | |||
lathos | But it's still expressed in Han? | ||
autrijus_ | lathos: the grammar layer is separate from ideoglyphs. | ||
ideographs, even | |||
lathos | Yes, but it's still kanji. So I can't easily tell the difference. | ||
lumi | It's a positional grammar? | 10:50 | |
autrijus_ | lumi: largely yes. | ||
lathos | I mean inflections and things like that. | ||
autrijus_ | but I can only speak about Mandarin here. other "chinese" languages has different grammar. | ||
needs some brain metaprogramming to get those morphology functors encoded. | 10:52 | ||
lathos | It always confuses the Chinese guys here when I can read their books and notes and things, especially if I can only follow the gist, not the full meaning. | ||
autrijus_ | lathos: it further dilutes things because .tw's younger generation imports nouns and verbs en masse from japanese. | ||
(their kanji forms that is) | |||
so valid japanese kanji fragments became valid -- but pronounced in mandarin | 10:53 | ||
arcady | then there are the japanese words that mean something different in chinese, and vice versa | 10:54 | |
and then there's the traditional vs. simplified issue... | 10:56 | ||
lathos | Yeah, someone told me about the .hk people inventing a few kanji of their own that the .tw people can't read, and vice versa. ("woman" with a stroke the middle of the body, for instance.) | 10:58 | |
arcady | that's because cantonese is primarily a spoken language | 10:59 | |
and the written form is basically the same as written mandarin | |||
but then online chat comes in and messes everything up... | 11:00 | ||
nothingmuch needs a nap | 11:39 | ||
autrijus: hw2005 says "We use the builting Haskell parser" - extra g | 11:51 | ||
nothingmuch goes home | 13:20 | ||
svnbot6 | r4457, iblech++ | * Pugs.Eval -- Silenced a warning about an unused parameter. | 13:28 | |
r4457, iblech++ | * Pugs.Parser -- Extremely minor cosmetical fix. | |||
r4457, iblech++ | * READTHEM -- Added my favourite Monad tutorial :) | |||
mj41 | ?eval { my $a; eval 'aaaa'; ( $! ) ?? say 1 :: $a = ' '; } | 13:37 | |
evalbot6 | Error: No compatible subroutine found: "&say" | ||
mj41 | ?eval { my $a; eval 'aaaa'; ( $! ) ?? 1 :: $a = ' '; } | ||
evalbot6 | Error: Can't modify constant item: VInt 1 | 13:38 | |
theorbtwo | mj41: You can't say things from evalbot, only return things. | 13:40 | |
QtPlatypus | theorbtwo: About evalbot, ether its regex support is broken, or I broke its regex engion. | 13:41 | |
theorbtwo | Have you tried doing whatever it is you're doing under a real pugs? | 13:42 | |
QtPlatypus | Yes | ||
?eval "foo" ~~ /foo/ | 13:43 | ||
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
mrborisguy | random question: is there any method for classes that is similar to java's .tostring() ? | 13:47 | |
gaal|work | .perl | ||
mrborisguy | so i can use 'say $class' and it'll print out $class.?tostring() | 13:48 | |
can i override .perl? | |||
gaal|work | not sure, let's see :) | ||
wolverian | pugs doesn't have anonymous classes yet apparently | 13:49 | |
theorbtwo | mrborisguy: You should be able to write multi sub prefix:<~>(MyClass $x), but it's not there yet. | ||
gaal|work | ?eval class O {sub perl(){return "oooo"}}my $o = O.new; $o.perl | 13:50 | |
evalbot6 | 'oooo' | ||
gaal|work | however: | ||
theorbtwo | Ah, not the error I thought you were talking about, Qt. | ||
gaal|work | class O {sub perl(){return "oooo"}}my $o = O.new;\ ($o,1,2).perl | ||
?eval class O {sub perl(){return "oooo"}}my $o = O.new; ($o,1,2).perl | 13:51 | ||
evalbot6 | '(\\{obj:O}, 1, 2)' | ||
mrborisguy | theorbtwo: yeah, that's what I had in mind. thanks for the info | ||
gaal|work | so this doesn't work yet | ||
theorbtwo | ?eval class O {method perl(O $x){return "oooo"}}my $o = O.new; ($o,1,2).perl | 13:52 | |
evalbot6 | '(\\{obj:O}, 1, 2)' | ||
theorbtwo | Nope. | ||
gaal|work | nor with 'multi method' | ||
mrborisguy | i'm thinking more like say $o; yields the text i want, not say $o.perl; | 13:53 | |
i think | |||
QtPlatypus | ?eval class O {method perl(O $x:){return "oooo"}}my $o = O.new; ($o,1,2).perl | 13:55 | |
evalbot6 | '(\\{obj:O}, 1, 2)' | ||
QtPlatypus | Interesting. | ||
14:05
batdog|gone is now known as batdog
|
|||
mrborisguy | what's the point of 'roles' | 14:07 | |
i guess i don't understand them... | 14:08 | ||
i'm reading through the syn, but it doesn't really make sense to me what they're used for | |||
Limbic_Region | gaal|work - it turns out the want tests that I was going to write (or most of them anyway) have already been written and marked "to do" | 14:09 | |
QtPlatypus would also apprechate a explination of Roles. | 14:10 | ||
gaal|work | for caller? really? cool, where are they? | ||
or for %*SIG? also cool :) | |||
arcady | roles are like interfaces | 14:12 | |
only with code in them | |||
mrborisguy | oh | 14:13 | |
aren't superclasses like interfaces with code in them? | |||
arcady | so a role provides some methods for your class | ||
and in turn uses methods from your class | |||
so if you have a class that implements [] | |||
and does the ListFunctions role | |||
then it gets map and grep and such | |||
wolverian | mrborisguy: here's the original traits (roles in perl6) paper: www.cse.ogi.edu/~black/publications...02-012.pdf | 14:14 | |
it explains the motivations for roles pretty well | |||
mrborisguy | i'll probably read that sometime today | 14:15 | |
thanks | |||
wolverian | you're welcome | ||
mrborisguy | for me... this is a lot of stuff to absorb... you guys are always a big help | 14:16 | |
lumi | Roles are like traits but with sate in them, no? | ||
mrborisguy | (most of the stuff i read, i never really fully understand until i have a reason to use it) | ||
lumi | State | ||
wolverian | lumi: if you mean the traits in that paper, yes | 14:17 | |
perl6 traits have nothing to do with roles or the traits in the original traits paper, really :) | |||
which is all a bit confusing! | |||
lumi | I meant like in Smalltalk | ||
wolverian | yes, probably. | ||
(I'm not familiar with smalltalk.) | |||
lumi | Well, not like in Smalltalk, but like Smalltalk with traits | ||
mrborisguy | so the traits in that paper are like the roles in p6, correct? | ||
(so i have some context when i read the paper) | 14:18 | ||
wolverian | mrborisguy: except they don't carry state | ||
mrborisguy | carry state meaning what? | ||
arcady | meaning instance-variables | ||
mrborisguy | okay | ||
eric256_ | hello | ||
mrborisguy | hey | 14:19 | |
eric256_ | any ideas what happened to the journal? | ||
used to be everyday....now twice a week, i think i am suffereing withdrawls | 14:20 | ||
;) | |||
QtPlatypus suspects that autrijus_ hasn'y been able to update it while they was flying around | 14:22 | ||
mrborisguy | could be | ||
eric256_ | ahh flying. that would explain it | ||
gaal|work | i just read the other day that one of the large airlines got approval to install wireless lan equipment on a plance from the FAA. | 14:25 | |
mrborisguy | that'd be sweet! | 14:26 | |
eric256_ | multiple levels of inheritances seems broken | ||
theorbtwo | gaal -- Lufthanza has been flying transatlantic flights with 802.11 for a while. | 14:27 | |
arcady | I think the DHS claims that in flight wireless will help terrorists | ||
or was that in-flight cellphones? | 14:28 | ||
eric256_ | ?eval class A { method test { 1 }; } class B is A { method test2 (2) }; my $x = B.new; $x.does(A); | ||
evalbot6 | Error: unexpected "{" expecting trait, ";" or end of input | ||
mrborisguy | i think the HUAC claimed everybody was a communist, too | ||
eric256_ | ?eval class A { method test { 1 }; } class B is A { method test2 () {2} }; my $x = B.new; $x.does(A); | ||
evalbot6 | bool::false | ||
eric256_ | ?eval class A { method test { 1 }; } class B is A { method test2 () {2} }; my $x = B.new; $x.isa(A); | ||
evalbot6 | bool::false | ||
eric256_ | am i missing something here? | 14:29 | |
theorbtwo donno. | |||
mrborisguy | i would think it wouldn't do A, but it should return true for isa(A) | 14:30 | |
(in my foggy opinion) | |||
wolverian | both should return true | ||
eric256_ | ?eval class A { has $.testing is rw; method test { 1 }; } class B is A { method test2 () {2} }; my $x = B.new; $x.testing = 5; | 14:31 | |
evalbot6 | \5 | ||
mrborisguy | i guess maybe it's time to write a test? | ||
eric256_ | ?eval class A { method test { 1 }; } class B is A { method test2 () {2} } class C is B { method test3 () {3} }; my $x = C.new; $x.testing = 5; | 14:32 | |
evalbot6 | Error: No compatible subroutine found: "&testing" | ||
eric256_ | there is the bug i was running into...just had to get the right combination of stuff. | ||
arg. or not. | |||
?eval class A { has $.testing is rw; method test { 1 }; } class B is A { method test2 () {2} } class C is B { method test3 () {3} }; my $x = C.new; $x.testing = 5; | |||
evalbot6 | \5 | ||
eric256_ | thats odd. i've got something very much like that, but i get the no compatible subroutine error. | ||
drbean | read acme's inflight use.perl post: use.perl.org/~acme/journal/24067 | 14:34 | |
eric256_ | i just commited a new units.p6 to examples. could someone run it...the accessor doesn't seem to be avialbe all the time. but i have no idea why not. i'm hoping i've just done something stupid in the code because the simple case above works. | ||
?eval class A { has $.testing is rw; method test { 1 }; } class B is A { method test2 () {2} } class C is B { method test3 () {3} }; sub tester (C $x) {$x.testing}; my $x = C.new; tester($x); | 14:35 | ||
evalbot6 | \undef | ||
eric256_ | ?eval class A { has $.testing is rw; method test { 1 }; } class B is A { method test2 () {2} } class C is B { method test3 () {3} }; sub tester (C $x) {$x.testing}; my $x = C.new; $x.testing = 5; tester($x); | ||
evalbot6 | \5 | ||
QtPlatypus | eric256_: Where do you get your units infomation from? I'm working on a units system that uses the same database as units(1) | ||
eric256_ | could it be only in an overloaded opertor? that doesn't make any sence. | 14:36 | |
wolverian | sense. | ||
eric256_ | just playing with the basic overloading QtPlatypus i do'nt have any source of conversion data | ||
thanks wolverian *sense | |||
QtPlatypus | eric256_: Nods | 14:37 | |
eric256_ | lol. i found it! i'm so happy. it is the method chaining that is dieing. $a.to($b).test() test() is getting called on something else. it would realy be handy if the error message coudl state the long name of the sub it was looking for. not sure thats possible. but undefined subroutine test<X, Y> might have been immensly helpful here | 14:42 | |
svnbot6 | r4458, eric256++ | units.pm - Testing some stuff with overloaded operators. | ||
Limbic_Region | gaal and or gaal|work t/builtins/want.t | 14:44 | |
not sure if they cover any/all of what you were interested in, but it does for me | 14:45 | ||
gaal|work | oh, L~R, thanks, but i was looking for caller, not want. | 14:46 | |
currently it works a little like p5's, not like S06 says it should | 14:47 | ||
Limbic_Region | I was thinking you were thinking I was I had a few more tuits then I actually had | ||
theorbtwo | I'm going to fix a few nitpicky details in units. | ||
This really wants meta-model stuff to read a units.dat and dynamicly create the approps bits. | |||
pdcawley does the dance of someone who's worked out how to write call/cc in perl 6. Assuming always that p6 doesn't use escape continuations to return through. | 14:48 | ||
Limbic_Region | gaal|work but A06 has this to say | ||
eric256_ | hang on. i'm about to recommit an actual working copy | ||
Limbic_Region | "The want function is really just the caller function in disguise." | ||
eric256_ | ;) | ||
gaal|work | izzit? :) | ||
i'll read about that then. | |||
Limbic_Region | that's why I wasn't sure how much of what I wanted to do blead over into your focus point | 14:49 | |
eric256_ | some of the nit picky stuff might be hacks around bugs theorbtwo ... i ran into some odd obstacles i'm going to try to docment them in it, then make sure there are already tests in place for those. feel free to hack at it though | ||
pdcawley | How evil is this: sub call_cc (Code $code) { $code(-> $r { return $r }) } | ||
lathos | Ouch. | 14:50 | |
theorbtwo | Oh. I was just going to change some of the odd abreviations to standard ones, and fix postfix:<~> to prefix:<~>. | ||
pdcawley grins. "I love that it's so easy" | 14:51 | ||
theorbtwo | I'll wait until you check in your doc patches. | ||
Limbic_Region | pdcawley - I am not sure I get it. You start out with some code ref, you pass it to call_cc which executes the code ref and passes it a pointy sub that returns itself? | 14:52 | |
svnbot6 | r4459, eric256++ | units.p6 - it actualy works!. Well for a limited set of feet and meters | ||
pdcawley | The pointy sub returns to the place that call_cc returns. | 14:53 | |
gaal|work | L~R, thanks for that, the Apo has lots of stuff the Syn neglets to mention. | ||
pdcawley | So, your supplied coderef gets passed a subroutine that returns to the point at which call_cc was called. | ||
Which is equivalent to a continuation. | 14:54 | ||
mrborisguy | is that not the same as 'return $code'? | ||
pdcawley | No. | ||
mrborisguy | return $code() i mean | ||
pdcawley | No. | ||
Because you can capture the continuation and take it multiple times. | 14:55 | ||
Limbic_Region | pdcawley - is there anything special about $code? | ||
mrborisguy | way over my head i think... ;) | ||
pdcawley | It's a chunk of code that takes a continuation as an argument. Can do whatever you like. | ||
Limbic_Region | the reason I ask is this - the pointy sub being passed as an argument by itself doesn't do anything unless $code acts on it right? | ||
pdcawley | Yes. | ||
Limbic_Region | ok | ||
now I get it | |||
In order to fully grasp the evilness of it though, I would need to see a more in depth example | 14:56 | ||
eric256_ | theorbtwo go ahead and make your changes.... ~ is prefix not postfix? no wonder that part never worked ;) | ||
i thought i took that straigh from an example too | |||
pdcawley | my $continuation; Do stuff, somewhere deep in a loop: call_cc { $continuation = $^cc } | 14:57 | |
theorbtwo | eric256_: It's prefix. OTOH, it still won't work -- it's unimplemented, because it makes for bad circular dependencies. | ||
eric256_ | lol | ||
pdcawley | One neat use of continuations is nondeterministic programming, but this channel is a little narrow for a demonstration. | 14:58 | |
Limbic_Region | and to resume - $continuation(); right? | ||
pdcawley | Yes. | ||
Limbic_Region | brilliant - does it work? | ||
pdcawley | The fun begins when you implement things like 'try'. | ||
I dunno if it works in pugs -- can't get it compiled on Tiger. | |||
Limbic_Region | you haven't requested a feather account yet? | ||
theorbtwo | Oh, blast. | 14:59 | |
pdcawley | And I don't know if it's supposed to work in perl 6 anyway. I'm not sure whether larry's ruled on what sort of continuations are used by a return from a pointy sub. | ||
I really hope it uses full continuations and not escape (one shot) continuations. | |||
Limbic_Region | well - AES17 hasn't been written yet | 15:00 | |
theorbtwo | Can't make a sub m; it tries to do a match. | ||
pdcawley | LR: Not yet. | ||
theorbtwo | Or, at least, can't call a sub m parenlessly. | ||
pdcawley | Ah, but the semantics of -> ... { return } were described in a very early apocalypse. | ||
Limbic_Region | unfortunately - when decisions are rendered on p6l they are not immediately annotated in the appropriate docs | ||
so I have no idea either | |||
pdcawley | But they didn't say whtehr you can return multiple times. | ||
Limbic_Region really would love to see AES17 | |||
theorbtwo checks what 17 is. | 15:01 | ||
pdcawley | Remind me: 17? | ||
theorbtwo | Threads. | ||
Limbic_Region | coroutines | ||
continuations | |||
osfameron_ | p6bible doesn't have stubs for unwritten AESs? | ||
theorbtwo | Subchapters in 3rd ed: "The Process Model", "The Thread Model". | ||
No, osfameron. | |||
Limbic_Region | lots of good stuff | 15:02 | |
pdcawley | Remind me who I ask for a feather account? | ||
Limbic_Region is pulling up the link to p6 timeline by A | |||
Juerd | |||
pdcawley | feather.perl.nl right? | ||
theorbtwo | Juerd, by email. | ||
feather.perl6.nl, I think. | |||
pdcawley | Of course, if someone can work out how to build ghc under Tiger... | 15:03 | |
Limbic_Region | ahh, here we go - perlmonks.org/index.pl?node_id=332117 | ||
theorbtwo | pdcawley: It's in the readme of pugs, I think. | ||
Limbic_Region | pdcawley - gcc 4.0 is a known problem | ||
I think merlyn is/was in the same boat | |||
pdcawley | Hmm... I shall go look. | ||
pdcawley did gcc_select 3.3 and it still broke. | 15:04 | ||
theorbtwo | Have you tried asking #haskell? | ||
sri_ | pdcawley: use darwinports | ||
pdcawley | sri_ I *am* using darwinports. | ||
sri_ | works perfectly here | ||
pdcawley | Up to date and everything. | ||
At least, I thought it was up to date... | 15:05 | ||
sri_ | took 5 hours to compile but no problems | ||
Limbic_Region | merlyn had a linking issue | ||
pdcawley | I didn't get as far as a linking issue. Complained about out of spec code or something. | ||
Limbic_Region | theorbtwo - WRT stubs for unwritten stuff in Perl6::Bible ( see perlmonks.org/index.pl?node_id=332117 ) | 15:06 | |
I had mentioned to Luke I would find stuff in the existing Ss that was missing information per that timeline but haven't found the tuits | 15:08 | ||
theorbtwo | pdcawley: Can you put up the error messages? | 15:09 | |
perbot nopaste | |||
Limbic_Region | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
pdcawley | theorbtwo: I think I managed to get a slightly confuzzled darwinports. | ||
Limbic_Region hands theorbtwo an inline speel checker | |||
pdcawley | Trying again. | ||
pdcawley can't remember, is there a p6evalbot on here? | 15:10 | ||
Limbic_Region | ?eval 'foo' | ||
evalbot6 | 'foo' | ||
theorbtwo | ?eval ?eval 'can I eval' | ||
evalbot6 | bool::false | ||
theorbtwo | Sorry, it's not here. | ||
pdcawley | Dang. | 15:11 | |
Wanted to check that return behaviour. | |||
Limbic_Region | TIAS | ||
pdcawley | TIAS? | ||
Limbic_Region | perlbot TIAS | ||
perlbot | Try It And See: the best way to learn if something works. | ||
Limbic_Region | the evalbot is in safemode | 15:12 | |
not sure what theorbtwo was talking about | |||
pdcawley grins. Well, if darwinports succeeds. | |||
mrborisguy | questionable method if you're talking about a growing language, i'd say | ||
theorbtwo | ?eval '"Is pdcawley joking? " ~ [<no yes>].[rand 2]; | ||
evalbot6 | Error: unexpected end of input expecting "'", "\\", "$!", "$/" or "$" | ||
theorbtwo | ?eval "Is pdcawley joking? " ~ [<no yes>].[rand 2]; | ||
evalbot6 | 'Is pdcawley joking? no' | ||
eric256_ | ?eval "Is pdcawley joking? " ~ [<no yes>].pick; | ||
evalbot6 | 'Is pdcawley joking? yes' | ||
mrborisguy | ?eval "Is pdcawley joking? " ~ <no yes>.pick; | ||
evalbot6 | 'Is pdcawley joking? no' | ||
pdcawley | ?eval $f = sub { return -> { 42 } }; say 'Boo'; $f() | 15:13 | |
evalbot6 | Error: Undeclared variable: "$f" | ||
pdcawley | ?eval my $f = sub { return -> { 42 } }; say 'Boo'; $f() | ||
evalbot6 | Error: No compatible subroutine found: "&say" | ||
eric256_ | you can't say on the bot. counts as IO | ||
pdcawley | Ah. | ||
?eval my@ary; my $f = sub { return -> { 42 } }; @ary[-1]='Boo'; $f(); @ary | 15:14 | ||
evalbot6 | Error: Modification of non-creatable array value attempted: -1 | ||
Limbic_Region | ?eval my $f = sub { return -> { 42 } }; my $foo = 'asdf'; $f() ~ $foo; | ||
evalbot6 | '<SubPointy(<anon>)>asdf' | ||
Limbic_Region | interesting | ||
pdcawley | ?eval my@ary; my $f = sub { return -> { 42 } }; push @ary='Boo'; $f(); @ary | 15:15 | |
evalbot6 | ['Boo'] | ||
pdcawley | Hmm... that's *very* weird. | ||
?eval my@ary; my $f = sub { return -> { 42 } }; push @ary='Boo'; $f.(); @ary | |||
evalbot6 | ['Boo'] | ||
pdcawley | ?eval my@ary; my $f = sub { return -> { 42 } }; push @ary='Boo'; &$f(); @ary | ||
evalbot6 | ['Boo'] | ||
eric256_ | whats weird about it? | 15:16 | |
pdcawley | Ah. I wrote it wrong. | ||
Limbic_Region | ?eval my@ary; my $f = sub { return sub { return 42; }; }; push @ary='Boo'; $f(); @ary; | ||
evalbot6 | ['Boo'] | ||
eric256_ | ?eval 1;return 2; 3; | ||
evalbot6 | Error: cannot return() outside a subroutine | ||
theorbtwo | ?eval {1; return 2; 3} | 15:17 | |
evalbot6 | Error: cannot return() outside a subroutine | ||
theorbtwo | Hey! I thought bare blocks were supposed to count! | ||
15:17
khisanth_ is now known as Khisanth
|
|||
theorbtwo | ?eval -> {1; return 2; 3} | 15:17 | |
evalbot6 | Error: cannot return() outside a subroutine | ||
theorbtwo | ?eval (sub {1; return 2; 3}).() | ||
evalbot6 | 2 | ||
pdcawley | ?eval my @ary; sub foo { return -> {return 42}}; my $f = foo(); push @ary, 'Boo'; $f(); @ary | ||
evalbot6 | Error: cannot return() outside a subroutine | ||
pdcawley | Bugger. | ||
theorbtwo | OK, pdc, that's certianly a bug. | 15:18 | |
Both those returns are in subs. | |||
pdcawley | Actually, they're in blocks, which aren't Subs. | ||
Limbic_Region | pugs bug not necessarily a p6 bug | ||
;-) | |||
lumi | ?eval my@ary; my $cc=sub { return ->{return 42} }; my $f = $cc(); push @ary, 'Boo'; $f(); @ary | ||
evalbot6 | Error: cannot return() outside a subroutine | ||
pdcawley | A block returns to the same point that the sub in which it was created would return to. | 15:19 | |
lumi | ?eval my@ary; sub cc { return ->{return 42} }; my $f = cc(); push @ary, 'Boo'; $f(); @ary | ||
evalbot6 | Error: cannot return() outside a subroutine | ||
lumi | :/ | ||
QtPlatypus | and an eval bot bug may not be a pugs error. | ||
theorbtwo | ?$*PUGS_VERSION | ||
?eval $*PUGS_VERSION | |||
evalbot6 | Error: Undeclared variable: "$*PUGS_VERSION" | ||
lumi | No beautiful CCs for the wicked | ||
?$?PUGS_VERSION | |||
Limbic_Region | forgot eval | 15:20 | |
lumi | Rite | ||
?eval $?PUGS_VERSION | |||
Limbic_Region | ?eval $?PUGS_VERSION | ||
evalbot6 | \'Perl6 User\'s Golfing System, version 6.2.6, June 2, 2005 (r4459)' | ||
pdcawley | utils/PrimPacked.lhs:244:0: | ||
Warning: foreign declaration uses deprecated non-standard syntax | |||
utils/PrimPacked.lhs:248:0: | |||
Warning: foreign declaration uses deprecated non-standard syntax | |||
?eval sub foo { return -> { 42 } } ; sub bar ($f) { $f(); 84}; bar(foo()) | 15:21 | ||
evalbot6 | 84 | ||
pdcawley | Now that's definitely a bug. | 15:22 | |
?eval sub foo { return -> { 42 } } ; sub bar ($f) { -> {return 42}; 84}; bar(foo()) | 15:23 | ||
evalbot6 | 42 | ||
mrborisguy | that returns out to the original without getting to the 84 then? | ||
pdcawley | ?eval sub foo { return -> { 42 } } ; sub bar ($f) { [-> {return 42}, 84]}; bar(foo()) | 15:24 | |
evalbot6 | [sub {...}, 84] | ||
pdcawley | ?eval sub foo { return -> { 42 } } ; sub bar ($f) { [$f(), 84]}; bar(foo()) | ||
evalbot6 | [42, 84] | ||
pdcawley | ?eval sub foo { return -> { 42 } } ; sub bar ($f) { [$f(), $f, 84]}; bar(foo()) | 15:25 | |
evalbot6 | [42, sub {...}, 84] | ||
pdcawley | That should be crashing somewhere. | ||
pdcawley realises that IRC isn't a whiteboard, and he should be writing the summary. | 15:26 | ||
Will talk later. | |||
theorbtwo looks forward to the summary. | |||
QtPlatypus reads over the units.p6 "Interesting approch" | 15:27 | ||
eric256_ | hehe. yea. its just a playground right now | ||
theorbtwo | Yeah. | ||
eric256_ | trying to feel out what might work and might not. hacking it together. | 15:28 | |
i always seem to see projects as OO ;) | |||
just the way my head is weird i guess | |||
theorbtwo | I just wish 42`m could work. | ||
Sadly, that interfears with the m// op. | |||
eric256_ | oh instaed of capital M? | 15:29 | |
theorbtwo | Right. | ||
QtPlatypus | theorbtwo: Should it work? They should have diffrent signatures. | ||
eric256_ | is should eventualy. if m is a sub then its signarture shouldn't be () so it wont be a problem | ||
it* | |||
theorbtwo | The match operator isn't a sub, though, or even a normal operator. | 15:30 | |
It's a macro, conceptually. Not so conceptually, it has special handling by the parser. | |||
eric256_ | they should force it to be. do we realy need m anymore anyway? | 15:31 | |
PerlJam | eric256_: yes! | ||
eric256_: how else would you do m:e/foo/ | |||
? | |||
eric256_ | multi sub *postfix:<`m> (Int $value) { Meter.new(:q($value)) }; | 15:32 | |
15:32
davidra is now known as autark-jp
|
|||
theorbtwo | That's a good idea, eric256. Does it work? | 15:32 | |
?eval multi sub *postfix:<`m> (Num $value) { 'yes: '~$value }; 4.2`m | 15:33 | ||
evalbot6 | 'yes: 4.2' | ||
eric256_ | ;) | 15:36 | |
that fixs the precedence issue too (i know i can't spell, don't rub it in ;) ) | 15:42 | ||
alanl | hello? | 15:47 | |
QtPlatypus | Hi | 15:48 | |
alanl | Is Pugs the main effort to get perl6 happening...? If so, would there be interest for more tutorials on haskell? | ||
I have lots of half written material on haskell which I'm happy to polish and post if theres sufficient demand for it | 15:49 | ||
QtPlatypus | Yes and Yes. | ||
osfameron_ | and Yes | ||
integral | it's the main effort in that it's the thing moving quickest | ||
Technically the "official" effort is pmichaud and parrot... | |||
osfameron_ | Pugs is kinda official now, no? | 15:50 | |
SamB | who cares about official? | ||
Khisanth | well the official one still has to be written in perl6 :) | ||
alanl | okay....now even though I'm a big haskell fan myself, I'm somewhat surprised that Haskell was the chosen language....any reasons on why Autrijus chose Haskell? | ||
Khisanth | but what does being official matter if it is the ONLY one? | ||
integral | the official one has to be portable, just like parrot and perl5, and haskell just isn't, yet. | ||
mrborisguy | pmichaud? i've never even heard of that | ||
integral | alanl: Haskell is very good at abstract data types | 15:51 | |
QtPlatypus | Khisanth: But most likely that perl6 will be compiled by pugs. | ||
integral | alanl: which is *very* useful for parsing and evaluating. | ||
Khisanth | QtPlatypus: at some point | ||
integral | There's also very good libraries for parsing, and for interesting stuff like subcontinuations, metaprogramming, etc | ||
PerlJam | mrborisguy: pmichaud is the guy in charge of making sure that there's a perl6 compiler. | ||
mrborisguy | ah | ||
eric256_ | hmmm this class scale up very well for unit conversions | ||
SamB | can't Pugs be the official bootstrapping implementation? (the one that is bootstrapped from) | 15:52 | |
mrborisguy | has anybody started writing p6 in p6? | ||
eric256_ | what is the normaly way of storing all this conversion info? /me wonders off to find a p5 implementation | ||
PerlJam | mrborisguy: He's currently writing a shift-reduce parser in PIR to be used as the basis for the perl6 compiler. (this is a parallel effort to pugs) | ||
SamB: it can. | |||
integral | mrborisguy: there's Prelude.pm in parrot which implements "primitives" in perl6 | ||
alanl | well, one of the problems in Haskell is that since it is a "academic" language, documentation and tutorials for haskell is scant and very dry...now one of the projects thats has been on the backburner for me has been to write everything that I know about Haskell... | 15:54 | |
integral | they are? | ||
hmm, there's plenty of books | |||
Khisanth | hard to grep books :) | 15:55 | |
integral | not HOP! (it's got a online search) | ||
alanl | yes, but they assume a lot from the reader, and as someone who have read them *all*, its not easy for the beginner | ||
Khisanth | any of the haskell books have that? | ||
integral | "beginner" as in can't program at all? | 15:56 | |
alanl | as in someone who is not familiar with the functional programming paradigm | 15:57 | |
the hardest concept to wrap your head around is referential transparency | |||
and theres the whole issue of monads | 15:58 | ||
everything that I've read so far about monads is downright scary | |||
eric256_ scans Math::Units and wonders if perhaps he is perfectly happy with exploration he has performed with units.p6 so far... | |||
integral | hmm? What's the hard bit with referential transparency? I haven't heard anyone point that out before | ||
q[acme] | i still don't understand monads | ||
integral | hmm, there was a nice paper for scheme which started with a recdescent parser, and showed how it could be monadic | 15:59 | |
Khisanth | hrm referential transparency doesn't seem too bad but ... | ||
alanl | referential transparency basically implies that you can't change variables once you create them (and strictly speaking, variables don't exist in haskell) | ||
QtPlatypus | The only functional exposure I've had with scheme. Hascal makes my eyes go crosseyed. | ||
integral | hmm? You don't "create" variables though | ||
eric256_ | if you can't change a variable then wouldn't it be better refered to as a constant? since it can't vary | 16:00 | |
integral | a variable, x, in haskell doesn't really exist the same way a "auto int x;" exists in C | ||
lumi | It's not really a constant, because there's no time for it not to vary in... | 16:01 | |
alanl | uh huh....and this causes immense headaches for people who are used to doing things in procedural paradigms | ||
integral | hmm! | ||
QtPlatypus | Are they like verables in lambda calculis? | ||
Khisanth | alanl: know any online thing that has actual explanation on what a particular symbol means? | ||
integral | QtPlatypus: it basically is the lambda calculus (typed, lazy) | 16:02 | |
hmm, does this mean that people are going to find := hard in perl6? | |||
It's basically the same as binding in Haskell | |||
Boogie | hi from Vienna... :) | ||
alanl | and lazy evaluation is another whopper concept for people to understand | ||
Khisanth | integral: they could probably do without it :) | ||
QtPlatypus | integral: Probly not, they will just think of it as an easy way to do glob manipulation. | 16:03 | |
integral | eww, it's such a good optimisation though | ||
Khisanth | integral: I thought := was the p6 way of doing *foo = *bar; ? | ||
integral | Khisanth: yep | ||
alanl | khisanth, do you want to know about the standard haskell functions? | ||
Khisanth | integral: it does that and more? :) | ||
alanl: that would be good enough for now | 16:04 | ||
integral | a haskell variable is more like a glob than a scalar in some ways. In that it points (bound) to something, rather than holding the value | ||
alanl | what would be the 5 topics that you most desperately want in a haskell tutorial? | 16:06 | |
theorbtwo | The big thing I want is how to deal sanely with stateful operation. | 16:07 | |
integral | ST's not too scary for a tutorial? | ||
theorbtwo | Most haskell tutorials I'v seen somehow skip that, and the examples and exercises are well-chosen so you don't notice that it's being skipped. | ||
integral | maybe a tutorial that taught something other than Haskell first? | 16:08 | |
alanl | do you know if autrijus comes on here? | 16:11 | |
eric256_ | he does | ||
theorbtwo | Autrijus is on here often. | 16:13 | |
q[acme] | that's how pugs development is so fast | ||
theorbtwo | However, he is currently in the air between Taipei and Vienna, AFAIK. | ||
integral | he's in Vienna now, or at least he was earlier ;-) | 16:14 | |
theorbtwo | Oh, I sit corrected. | ||
alanl | oh, the reason I ask it will be easier for me to convince my supervisor at school if I can get some emails stating that there would be real demand for a haskell tutorial | 16:15 | |
currently my school teaches haskell to first year programming students, but theres talk of getting rid of it and changing to c :-( | |||
I want to write down everything I know about haskell before I forget about it from lack of use | 16:16 | ||
Khisanth doesn't blame theme | 16:17 | ||
s/e$// | |||
I think education has been badly shaped by the past :) | |||
theorbtwo | Chaning to C wouldn't be a horrid idea... but they should teach both. | 16:18 | |
arcady | I wonder whether C or haskell is actually harder to teach | ||
C is a pretty awful language to teach though | |||
theorbtwo | arcady: When starting from scratch, I suspect C. | ||
arcady | I wouldn't be so sure... | ||
theorbtwo | However, a good portion of your students should already know some C, or something that looks vaugely like it. | ||
Khisanth | theorbtwo: Haskell probably | 16:19 | |
alanl | we do | ||
arcady | from personal experience, for example, linux is easier than windows, if you are teaching someone who knows nothing at all | ||
integral | it depends what you're teaching I suppose. Try subcontinuations, and higher order functions with C | ||
alanl | but we teach haskell first then C | ||
Khisanth | from scrath that is | ||
alanl | well people think C is easier because the compiler let pretty much anything through...its when you get run time errors and segfaults is when its gets fun | ||
the haskell compiler is a bi*ch, but once it compiles, runtime errors are basically nonexistant | 16:20 | ||
lumi | It's programming that provably doesn't suck | 16:21 | |
arcady | yeah, segfaults and memory leaks | ||
theorbtwo | Memory leaks especially. | ||
integral | haskell is a whole league above C for memory leaks... | ||
arcady | and no decent standard library | ||
QtPlatypus | And buffer overruns. | ||
arcady | even java is better than C | 16:22 | |
osfameron_ | but pointers are cool | ||
QtPlatypus | arcady: I wouldn't say that. Java is needlessly verbose. | ||
C is good in its niche. | 16:23 | ||
arcady | yes, but at least it has things like variable-length arrays and linked lists and a stadard windowing API | ||
C is good for when you actually need pointers and such | |||
alanl | well haskell can interface with C | ||
and vice versa | |||
arcady | C is good for writing unix | ||
seeing as that was what it was made for, mainly | |||
QtPlatypus nods "C is good as a portable asmbeler" | 16:24 | ||
alanl | so who else apart from autrijus is actively involved with pugs? | ||
obra | alanl: I'd recommend reading commit logs | ||
QtPlatypus | I think they have almost 100 people commiting now. | 16:25 | |
eric256_ | isn't pugs written in haskell which is written in c? (isn't that what GHC is or did i misinterpret the C part.) | ||
eric256_ thinks on second thought he mistook the C | |||
QtPlatypus | I think C is for compiler. | ||
eric256_ | yea i only realized that for the first time as i typed it, until now i thouth it was some C variety. but that doesn't realy make any sense | 16:26 | |
sorje | eric256_, parts of ghc are written in haskell | ||
arcady | that would make sense | ||
haskell is good for writing compilers | |||
QtPlatypus | Like parts of pugs are written in perl6 | 16:27 | |
integral | GHC is mostly Perl and Haskell | ||
alanl | another thing that I'm surprised about that perl6 is going to be strongly typed? | ||
mrborisguy | is there a way i can modify a classes 'new' operator slightly, but then still let it use the default 'new' for the rest? | ||
integral | mrborisguy: maybe you want to modify BUILD instead? | 16:28 | |
PerlJam | alanl: why is that surprising? perl5 is strongly typed. | ||
mrborisguy | can i get the rest of the "slurpy flags" from BUILD? | 16:29 | |
integral | and "strongly typed" get's interesting with implicit coercions and context dependencies | ||
alanl | well "strong typing" in the haskell world is a lot stricter than perl | 16:30 | |
theorbtwo | Learning C is good because it forces you to realize what the computer is really like. | ||
alanl | for example, theres no implicit coercion in haskell | ||
integral | it's not so much the typing, but the lack of implicit coercions | ||
theorbtwo | I wouldn't recommend actually programming in it, expect in strange cases. | 16:31 | |
arcady | theorbtwo but it doesn't really get through to you the idea of what the computer is for | ||
because it makes you do a lot of boring tedious things | |||
integral | rather than inserting a coercion the compiler complains, to me that's not really a change to the typing system, but to the compiler | ||
cjeris | "why do you bang on the keyboard so hard?" "haskell is a strongly typed language" | ||
arcady | which computers are way better at doing | ||
alanl | amen. C locks you into the current limitations of computers | 16:32 | |
integral | theorbtwo: and it obscures the fact it doesn't have to be programmed that way. You don't need to use a stack for your activation frames, for example | ||
QtPlatypus | ?eval my int $a = 3.124;$a | ||
evalbot6 | \3.124 | ||
QtPlatypus | Unfortunitly Pugs hasn't implemented perl6's type checking yet. | 16:33 | |
s/Pugs/pugs/ s/perl6/Perl6/ | |||
integral | hmm, that's more like adding type to the context though. a bit like fromInteger is "context" sensitive in having it's return type unified with the type of $a | 16:34 | |
QtPlatypus | Well thats what you get when you combine dynamic typing with strong typing. You get that in some lisp dialects. | 16:35 | |
alanl | err....last time I checked haskell is statically typed | 16:37 | |
or am I misunderstanding what you're saying? | |||
QtPlatypus | Sorry I'm misunderstood what I was saying. | ||
I should be asleep, Goodnight all. | 16:38 | ||
I thought integral was talking about perl6 though. | 16:39 | ||
integral | I was talking about perl6, but pretending it was Haskell and saying what Haskell would do... confusing | ||
sproingie has a hard time calling perl5 strongly typed what with its "scalars" | 16:42 | ||
QtPlatypus | Befor I do goto sleep, does anyone know if perl6 is specked to optimize tail recursion? | ||
alanl | uh huh | ||
this is a nice paper on typing research.microsoft.com/Users/luca/P...ing.A4.pdf | |||
quite readable for typing theory | |||
sproingie | i should imagine perl6 does tail recursion elimination | ||
tailcall elimination that is | 16:43 | ||
no idea if that's actually the case | |||
QtPlatypus | Thanks & # Sleep perchance to dream | 16:44 | |
sproingie | ooh, been looking for introductory type theory stuff | 16:45 | |
alanl: know of any that cover category theory? | |||
alanl | nop. but are you interested in it? my supervisor is a *guru* at it | ||
(category theory that is) | |||
sproingie | i just want to understand it. need "category theory for dummies" | 16:46 | |
alanl | well, you can do me a huge favour if you write me a few paragraphs in an email stating that | ||
sproingie | i saw one "intro" paper (powerpoint slides actually) on LtU .. and it descended into unintelligible notation within 4 slides | ||
alanl | my email address is alanl (at) cse.unsw.edu.au | ||
yes monads can be scary | 16:47 | ||
but it is a necessary evil seeing that you need monads to do parsing | |||
cjeris | sproingie: how much math background do you have? i can suggest places to start but they're only good for math students | 16:50 | |
sproingie | introductory discrete math is as far as i go | 16:51 | |
any greek more complicated than sigma sorta baffles me | |||
Khisanth | heh hard to keep track of one blank from another :P | 16:53 | |
dha | question: is a new version of Pugs imminent? | 16:54 | |
sproingie | basic set notation i can do, of course | ||
dha just built parrot 0.2.1 and figured he should rebuild pugs, but wondered if he should wait a bit | 16:55 | ||
sproingie | actually the "category theory for dummies" slides aren't actually that scary, taking a second look | 16:57 | |
they're just such a gloss tho, i can't really get what points they're trying to make | |||
alanl | well category theory is the most abstract branch of abstract maths! | 16:58 | |
sproingie | something on the level of wadler's style is about my speed | ||
wadler made monads pretty understandable ... now if he could just do the same for arrows :) | |||
gaal | dha, a new version of pugs is rarely imminent for much longer than a week. | 17:01 | |
dha | good point. Maybe I'll wait. :-) | 17:03 | |
gaal | Autrijus mentioned he wanted to put out a release during his stay in Viennna. | 17:04 | |
dha tries to remember when that is | 17:07 | ||
gaal | now :) | ||
dha | oh. :-) | ||
eric256_ | doesn't realy matter if you wait though, just use the cutting edge svn version ;) | 17:08 | |
dha | You know, I write the .pm news column for tpr and then it just flies out of my brain. :-) | ||
eric - I'm not that brave or needy :-) | |||
gaal | are you compiling or looking for a cooked binary? | ||
current HEAD is okay ttbomk | 17:09 | ||
alanl | so what factors have slowed parrot down? | 17:10 | |
dha | Frankly, I'm not really using it all that much. so it's kind of a moot point. I just like to keep up. :-) | 17:11 | |
in any case, thanks for the timescale... | 17:12 | ||
theorbtwo | I think he wanted to put one out while he was giving his talk. | 17:14 | |
14:20 CEST tomorrow. | 17:16 | ||
gaal | cest = gmt +? | ||
mrborisguy | cest? central eastern time? ;) | ||
gaal | eurotime? | ||
theorbtwo | Central European Summer Time. | 17:17 | |
gaal | gmt+2? | ||
Khisanth | Summer? do they do that silly 1 hour shift too? | ||
theorbtwo | Yes, Khisanth, we do. | 17:18 | |
GMT+2 indeed. | |||
gaal | in any case, i won't be around for the fun unfortunately. | ||
mrborisguy | that's just confusing for me because near me there is CST and EST | 17:19 | |
gaal | now that smokes take half an hour on fast machines.. i wonder what the release is like. | ||
(for just the tests) | 17:20 | ||
used to be half that for clean build + tests | |||
theorbtwo | mrborisguy: It was mildly confusing when I first moved here. | ||
gaal | but then, we have three trillion tests now. | ||
theorbtwo | ESP because "S" is "summer" in europe, and "standard" in the US. | 17:21 | |
mrborisguy just uses feather... somehow new pugs get built, but it doesn't worry mrborisguy how | |||
yep, "Standard" time and "Daylight" time, but I can never remember which is which | |||
gaal | that's a constant contribution of one smoke data point. | ||
brb | 17:22 | ||
sproingie | feather? | 17:23 | |
gaal | i need some spec help. can y'all please look at L<A06/'The "caller" function'> | 17:24 | |
and tell me what you think this means? | |||
mrborisguy | yeah, Juerd (I think it is) has set up a Perl6 server for people to play with p6 on. | ||
gaal | "where to stop when scanning up the call stack" | ||
mrborisguy | sproingie: he calls it 'feather' | ||
i think stemming from 'parrot' | 17:25 | ||
sproingie | ah | ||
gaal | hmmmm | ||
also this is in contradiction to s06 | |||
i think i need to p6-l this question. | |||
sproingie | now that pugs can import perl5 modules, i might start porting some real production code to it | 17:26 | |
nothing that needs to run automatically, so if it breaks, i just go back to the old version | |||
lots of textfile parsing and munging tho. could give PGE a workout | 17:27 | ||
geoffb | guten tag, folks | 17:40 | |
vel | hi, all. how while (<DATA>){chomp;} looks like in pugs? | 17:41 | |
mj41 | ?eval { my %a; if ( not %a<aaa> ) || ( %a<aaa> ne 'b' ) { 1; } } | 17:45 | |
evalbot6 | Error: unexpected "i" expecting ";", statements or "}" reserved word | ||
vcv- | @DATA>>.chomp; ? | 17:46 | |
17:48
lampus_ is now known as lampus
|
|||
geoffb | Hmmm, I'm guessing one of imbibing or jet-lagged sleeping is happening, given the silence from Vienna | 18:45 | |
Khisanth | or hacking :) | 18:46 | |
theorbtwo | I think he'd make a quick stop in if so. | ||
OTOH, Leo is on ISDN, so possibly not. | 18:47 | ||
gaal | he did, to2. | ||
around this morning. | |||
gaal reads broquaint's disconnection message as "Connection reset by beer" | 18:48 | ||
geoffb | That may well be the case many times. :-) | ||
gaal happens to be sipping some fine, fine whiskey atm | 18:49 | ||
stevan | gaal: oooh what kind? | ||
gaal | Laphroaig | ||
stevan | never heard of it | ||
I am a fan of the 12 year old Jameson myself :) | |||
gaal | islay malt. | ||
very peaty. | 18:50 | ||
geoffb remembers the first time a shopkeeper explained the organization of whiskey on his shelves. | 18:53 | ||
I boggled. | |||
stevan remebers the first time he had "real" whiskey, as opposed to watered down well "whiskey" | |||
theorbtwo | geoffb: How are they arranged? | 18:56 | |
stevan | *sigh* - I miss pugs :) | ||
gaal | if you have a spare -gulp- 900 pounds, this should be nice. www.laphroaig.com/shop/show_item.as...hop.whisky | 18:57 | |
stevan | ouch | 18:58 | |
geoffb | theorbtwo, it's been a while, but I remember he had three floor-to-ceiling racks, each with maybe 6-12 shelves, each labeled with a region. So far I was fine, it was kindof like wine, just not paying attention to various grapes. | ||
Aankhen`` | :-D | ||
stevan | down from 1000 lbs :) | ||
Aankhen`` is now running on a P4 630 with 1 GB of dual channel RAM and a GeForce 6600 GT 256 MB (PCI Express) graphics card. | 18:59 | ||
:-D | |||
geoffb | theorbtwo, then he explained a mapping from a sort of taste space to geographical space to shelving. | ||
stevan | so gaal which one are you drinking | ||
gaal | all the complexities of book indexing in a liquor shop :) | 19:00 | |
geoffb | Like "peatiness increases as you move this way across Scotland, and therefore this way along the shelving" | ||
gaal | i'm drinking the "original cask strength" one. | ||
geoffb | Theoretically, if you knew any of shelving, flavor, or distillery, you had the others as a quick gonculation | ||
gaal | usually i water it down a bit, it's strong stuff | 19:01 | |
stevan | gaal: have you ever had the 12yr old Jameson? | ||
gaal | i mean more than 100 proof strong | ||
stevan | gaal: wimp :P | ||
geoffb is jealous of Aankhen``'s rig -- sigh | |||
gaal | drinking it neat right now | ||
Aankhen`` repeats: :-D | |||
gaal | but that's because i'm only having one shot | ||
after that you don't really *know* what you're tasting :-) | |||
Aankhen`` | It finally materialised! Woo hoo! | 19:02 | |
gaal | stevan, i have not | ||
Aankhen`` | I just wish I hadn't had to reinstall Windows. :-\ | ||
gaal | a.*, what's the clock speed? | ||
Aankhen`` | But ah well, I was due for a reinstall anyway. | ||
gaal >> 3.0 GHz., 32/64-bit ready, 2 MB cache. | |||
stevan | gaal: hmmm, oh well I guess i will have to taste compare on my own :) | ||
Aankhen`` | Need more marketing mumbo jumbo? ;-) | ||
gaal | :) | 19:03 | |
Aankhen`` dances! | |||
stevan | Aankhen``: but does it run OS X :P | ||
Aankhen`` | stevan >> Thankfully not. =) | ||
stevan | soon it will | ||
geoffb | stevan, it will soon, I'll bet. :-) | ||
Aankhen`` | Yeah. | ||
gaal | no, not really | ||
apple will not run on any intel rig | 19:04 | ||
stevan | true | ||
gaal | they make money by selling computers. | ||
they will continue to do so, with slightly different computers. | |||
stevan | true | ||
theorbtwo | gaal, the developer machine being shipped out is very close to some random intel rig. | ||
www.xlr8yourmac.com/ | 19:05 | ||
stevan | although I would assume Apple might still make it possible for you to install OSX on a other machine | ||
geoffb | stevan, they claim not -- but I personally think that's a load of BS. Marketroid for "Lessee how many people try to hack it", as Ars Technica pointed out | 19:06 | |
theorbtwo | They run Windows fine. All the chipset is standard Intel stuff, so you can download drivers and run XP on the box. | ||
q[pdcawley] | You'll probably need openfirmware (at least). | ||
gaal | stevan, when we meet, we'll buy each other drinks and compare. | ||
theorbtwo wonders what the q[...] is for. | |||
stevan | gaal++ # I am applying your utf8 DBD-Mysql fix right now | ||
gaal: surely :) | |||
gaal | ha! | ||
glad people use it! :) | |||
Aankhen`` goes to install Doom 3 and check the FPS. | 19:07 | ||
stevan | nothingmuch hooked me up with it | ||
it is very useful | |||
gaal | pity it didn't, like, MAKE IT TO THE DISTRO ALREADY hello it's 2005 | ||
stevan | my latest project has to be French canadian as well as english | ||
geoffb | Aankhen``, give trislam a try, if you've got a chance . . . you'll need SDL_perl for Win32 1.20.5 and the trislam benchmark itself off my site (www.broadwell.org) | 19:09 | |
Aankhen`` | Remind me about it in a few days, would you? | 19:10 | |
geoffb | Aankhen``, the output is in an "early state" *cough*, but I'm curious what trislam posts for max pixels and triangles per second on that rig | ||
Aankhen``, sure | |||
stevan | q[pdcawley]: according to theorbtwo's url "The machines do not have Open Firmware. They use a Phoenix BIOS. " | ||
Aankhen`` | Thanks. :-) | ||
Aankhen`` tries to recall how to disable AutoPlay. | |||
q[pdcawley] | Oh. Fairynuff. | ||
q[pdcawley] racks his brain. Of course, NeXTSTEP/86 ran on reasonably vanilla hardware (with a rather small compatibility list of hardware). | 19:11 | ||
Aankhen`` | Oh, it might be in the 'AutoPlay' tab in the CD drive properties... | ||
:-P | |||
gaal | a.*, install TweakUI | ||
stevan | q[pdcawley]: I am sure *someone* will hack it | ||
Aankhen`` | Hmm, apparently not. | 19:12 | |
stevan | after all, they had IRC on the PSP in like a day | ||
gaal | then go to my computer > autoplay there | ||
Aankhen`` | gaal >> Wha? | ||
gaal | microsoft have a "power toys" tool | ||
it includes "tweak ui" | |||
get that, it's nice | |||
theorbtwo | Consider that opendarwin runs fine on a rather small set of normal x86 rigs. | 19:13 | |
(IIRC, only those with intel chipsets.) | |||
geoffb considers whether he *really* wants to do `apt-get dist-upgrade` on his old mail server (which went through the previous stable transition the same way) | 19:16 | ||
Something to do while waiting for pugs to compile . . . . | |||
eric256_ wishes that sony would let the PSP run all that software instead of putting more secure firmware on it | 19:21 | ||
Darren_Duncan | I'm feeling bad that I may not be able to attend OSCON 2005 despite previous intentions to do so, for financial reasons | ||
gaal | give a talk? or is that too late? | 19:22 | |
gaal prefers the low-cost confs anyway | |||
q[pdcawley] | It's too late to give a talk at EuroOSCON. Bound to be too late for the US one. | ||
gaal | though i was never at a fancy *perl* conf... | 19:23 | |
q[pdcawley] | Is Thomas Sandlaōæ½xDF on this channel? | ||
geoffb | eric256_, Sony could never be accused of enlightened behavior WRT open devices | 19:25 | |
gaal | yay, larry replied. | ||
theorbtwo | Not as far as I'm aware, q[pdcawley], but that doesn't mean terribly much. | ||
geoffb | gaal, my recollection is that OSCON was worth going to at least once . . . but then I did it on the company dime, and I've never done a YAPC . . . . | 19:26 | |
q[pdcawley] | Heh. | ||
I'm trying to work out which of us has grasped the wrong end of the Perl 6 stick. | |||
geoffb | The one with the hand on fire? | 19:27 | |
q[pdcawley] | Heh. | ||
geoffb | afk for a bit | ||
gaal | why does caller have to be insanely fast anyway? | 19:30 | |
q[pdcawley] would argue that it should in fact be insanely slow. | |||
gaal | 3rd(caller(Sub)) works, if somewhat inefficiently | 19:31 | |
Juerd | q[pdcawley]: Account is created | ||
q[pdcawley] | Juerd: Ta. | ||
gaal | modulo implementation of 3rd | ||
q[pdcawley] | feather.?? I forgot. | ||
gaal | perl6.nl | ||
or: perlcabal.org | |||
or a few other things :) | |||
Juerd | Yeah, it's feather.perl6.nl and whatever people point there :) | ||
q[pdcawley] | remind me and it can be perl6.bofh.org.uk if you like. | 19:32 | |
Juerd | q[pdcawley]: I neither like nor dislike it. If you wish to create it, let me know and I'll announce it in ~juerd/README | ||
I'm completely apathetic wrt extra hostnames | 19:33 | ||
q[pdcawley] | Heh. Sensible lad. | ||
Aankhen`` | [00:42:10] <gaal> then go to my computer > autoplay there | 19:35 | |
[00:42:22] <Aankhen``> gaal >> Wha? | |||
- | |||
gaal | Aankhen``: 04[22:14] gaal: 01microsoft have a "power toys" tool / 04 01it includes "tweak ui" / get that, it's nice | 19:36 | |
sorry about the red | |||
Aankhen`` | Ah, I'm saving that for a while later. | ||
Red? | |||
gaal | my client it all beautifooool. | ||
Aankhen`` | There was red in that? | ||
gaal | it paints things | ||
yes. | |||
Aankhen`` | Ah. | 19:37 | |
I'm glad my client strips colours. :-) | |||
gaal | :) | ||
theorbtwo can't see a bit of that, because everything after the gaal: is black-on-black. | |||
Juerd | My client paints things too, which I like | ||
But it would be BAD if it used that colouring when pasting. | |||
gaal | i like it too, Juerd, except that .... exactly :) | ||
Juerd | s/pasting/copying/ | ||
gaal | exactlier :)) | ||
Juerd | gaal: Is it mirc? | ||
gaal | no! | 19:38 | |
Juerd | :) | ||
gaal | good heavens | ||
trillian | |||
Juerd | There are more than one clients that do this stupid thing? | ||
Oh, trillian | |||
EVEN WORSE | |||
gaal | it's actually a very nice multi-IM client | ||
Juerd | Yes, that it is | ||
gaal | though its irc caps are a little basic. | ||
Juerd | But it's an exceedingly stupid IRC client, more so than mirc, if you ask me. | ||
theorbtwo | Hm, the last time I used trillian, it had all the bad points of gaim, but few of the good points. | 19:39 | |
gaal | eg., it wont' wake me up in the middle of the night because #perl6 talks about me. :-) | ||
theorbtwo | For one thing, it was ugly and took up lots of screen space for uselessness. | ||
Juerd | Neither will irssi | ||
gaal: Do you know irssi? | |||
gaal: If so, why don't you love it? | |||
gaal | nope | ||
Juerd | Then get to know it :) | ||
gaal | i'm required to love it? :) | ||
Juerd | To a certain extent | ||
gaal | ok, will do my best :) | ||
Juerd | You're not required to love its lack of documentation, inconsistent commands and sometimes very weird Perl interface, but you are to love all the basic features and simplicity. | 19:40 | |
Feel free to use feather - some others do already. (As long as it's mainly Perl 6 chatter) | |||
gaal | juerd, for better or worse, my main desktop boxen are windows these days. | 19:41 | |
Juerd | That's why I suggested using feather | ||
gaal | and i prefer chat to be based on my local machine | ||
Juerd | Why? | ||
Juerd sees no advantage | |||
Except perhaps dcc - but who dcc's anyway? | |||
gaal | just a pref. responsiveness, notification on messages. | 19:42 | |
Juerd never uses irssi on a local machine if he can reach his irssi box :) | |||
*beep* not good enough for you? ;) | |||
And responsiveness I guess depends on your line | |||
gaal | *shrug* i'm not really interested in The Ultimate in IRC Experience | ||
Juerd | The lines I use are generally fast, including mobile phone lines. | ||
gaal | juerd, it also has to do with the speed of light :) | ||
Juerd | How is the speed of light involved? | 19:43 | |
gaal | latencey | ||
prolly acceptable feather <-> tel-aviv | |||
Juerd | I notice no latency using DSL or cable lines :) | ||
But I have no idea what kind of line you're using | |||
gaal | but e.g. tel-aviv <-> canada can be 200ms or more | 19:44 | |
or lots more on a bad day | |||
Juerd | 200 ms is too much indeed | ||
webmind | gaal, sattelite links? | ||
Juerd | 100 ms is barely noticeable. | ||
webmind | satelite | ||
gaal | you need to do a round trip, and it's transatlantic. | ||
Juerd | webmind: No, satellite gives you much more than that, except when you have two dishes. | ||
gaal | i'm getting 222ms rtt to feather now | 19:45 | |
Juerd | That's awful | ||
gaal | that's geography for you. | ||
webmind | Juerd, yes | ||
Juerd | But, tbh, most connections to .il suck | ||
gaal: Not necessarily. | |||
wolverian | I get 40ms :) | 19:46 | |
gaal | .il is not especially wonderfully connected, true, but it's not *atrociously* wired either. | ||
12 hops. | |||
heh heh, lambdanet. | |||
Juerd | The *number* of hops isn't terribly important | ||
Oh, you're routed over lambdanet? That explains everything. | 19:47 | ||
Lambdanet is the single most crappy transit connection the network feather is on has | |||
wolverian | what is lambdanet? | ||
Juerd | wolverian: Nowadays called Cogent | ||
wolverian | right. | ||
gaal | the number of hops is a factor, because more devices = more chance of a slow switch. | ||
Juerd | gaal: That's true | 19:48 | |
But a single hop can introduce as little as 0.3 ms | |||
So 12 hops doesn't directly relate to the >200 ms | |||
gaal | oh i forgot, you're in nl actually, your standards are very high. compared to what you're used to .il is very badly connected indeed :) | ||
Juerd | I keep hearing that from foreigners | 19:49 | |
But I think our internet connectivity rather sucks. | |||
wolverian | funet. <3 | ||
gaal | that's in fi! | ||
Juerd | Especially when it comes to our internet exchanges, that are surprisingly badly "secured" | ||
wolverian | gaal: well, yes. :) | ||
Juerd | wolverian: Funet has lovely ping times always :) | ||
gaal | but, yeah, that is well wired. | ||
hella well. | 19:50 | ||
anyway,i'd better moose off now | |||
sleep well, folks, release tomorrow :) | |||
Juerd | --- ftp.funet.fi ping statistics --- | ||
275 packets transmitted, 273 received, 0% packet loss, time 4016ms | |||
rtt min/avg/max/mdev = 32.486/33.210/42.468/1.149 ms, pipe 4, ipg/ewma 14.659/32.853 ms | |||
That's very nice for a flood ping. | |||
Bye, gaal | 19:51 | ||
gaal | bye :) & | ||
integral | Juerd: can I get an account on feather? Do I need to email or privmsg you? | ||
Juerd | |||
Include your real name and requested username | |||
integral | just your address off the mailing lists? | ||
Juerd | Or any other of my addresses | 19:52 | |
[email@hidden.address] should work too :) | |||
integral | ok, thanks :-) | ||
oooh, 14ms from here, nice | |||
wolverian tests his ttl to mirrors.playboy.com/CPAN | 19:53 | ||
s,ttl,rtt, | |||
lathos | My local CPAN mirror is always 127.0.0.1 :) | ||
Juerd uses no CPAN mirrors anymore | |||
The only box on which it'd be useful is my laptop | 19:54 | ||
wolverian | I use the debian/ubuntu "mirrors". | ||
Juerd | And that one isn't always on, so it can't easily update via a cron job. | ||
wolverian | (that is, apt repositories.) | ||
svnbot6 | r4460, autrijus++ | * some more work on hw2005.txt | 19:59 | |
r4461, autrijus++ | * draft of tomorrow's talk | |||
r4462, autrijus++ | * Scalar::as. | |||
r4463, autrijus++ | * cosmetic fixes to code to agree with the slides. ;) | |||
wolverian | draft? WHERE | ||
oh, there. | |||
autrijus++ | |||
heh. can I make spelling fixes to it? :) | 20:02 | ||
Aankhen`` | W00t! | 20:09 | |
A steady 60 FPS in Doom 3, at High Quality! | 20:10 | ||
autrijus | wolverian: please commit ahead! | ||
wolverian | autrijus: ok! | 20:11 | |
my pugs is about a thousand iterations behind, so this will take a sec :) | 20:12 | ||
Juerd | wolverian: What, you forgot to update for a whole week? :) | 20:15 | |
wolverian | Juerd: I usually just use feather. | 20:16 | |
(it was two weeks, maybe. :) | |||
integral | Juerd: oops, sorry for the run around with my email | 20:19 | |
ninereasons | what's the right way to type the utf8 characters that we use in perl 6? in vim, for example? | 20:24 | |
autrijus | ninereasons: docs/quickref/unicode | 20:25 | |
ninereasons | autrijus, I'll look there, thank you | ||
autrijus | :) | 20:26 | |
the network can timeout any time | |||
so see you tomorrow from APW! | |||
q[pdcawley] wonders if anyone's registered cp6an.org yet... | 20:27 | ||
ninereasons | autrijus, docs/quickref/unicode is full of helpful things. thanks again. | 20:29 | |
Juerd | integral: I'll reset your password to what was mailed to you | 20:32 | |
integral | Juerd: thanks :-) | ||
Juerd | Done | ||
Now chang eit | |||
integral is just cleaning up that mailbox | |||
Juerd | s/ eit/e it/ | ||
wolverian | Juerd: when learning dvorak, how could you stand being on IRC and not being able to type fast? | 20:33 | |
Juerd | wolverian: I initially learned it during camp, where we had no internet connection. | 20:34 | |
integral | Juerd: done | ||
wolverian | Juerd: right. I think I need to do something similar. | ||
Aankhen`` | G'night. | ||
Juerd | wolverian: Connectionless? That can be arranged. | ||
wolverian | (I have the home row keys mapped out now pretty well, but I'm still awkward.) | ||
(using dvorak.nl++) | |||
Juerd | Another option is to use both qwerty and dvorak | 20:35 | |
But that hinders learning | |||
Still better than not learning dvorak at all | |||
wolverian | yeah. I now have things set up that way - I have a persistent vim session open that's in dvorak, other programs are in qwerty. | ||
Juerd usually suggests learning dvorak for 1 hour per day, until the entire alphabet is mastered. | |||
That's awful. | |||
q[pdcawley] | The only alternative mapping I used was the Maltron one (homerow ANIS THOR, with E on the right thumb) and it was easy to switch back and forth because flat keyboards were qwerty and shaped ones weren't. | 20:36 | |
Juerd | Keyboard layout switching should be global and global only. | ||
q[pdcawley] | Problem arose whenever I used a split microsoft keyboard -- muscles thought it was a Maltron. | ||
Juerd | Haha | ||
q[pdcawley] | I kept wondering why I was typing spaces. | ||
Juerd | q[pdcawley]: If you type much, and you do, I really do recommend dvorak. | ||
q[pdcawley] | I should really dig out the maltron and get it working with USB and the mac tbh. Very nice layout. | 20:37 | |
Fingers hardly seem to move if that makes sense. | |||
Juerd | I use a shaped keyboard (kinesis contoured) with dvorak | ||
Same thing there - fingers hardly move. | |||
q[pdcawley] | Ah. Maltron is what Kinesis ripped off. | ||
Juerd | Yes. | ||
q[pdcawley] | E on the thumb is just lovely. | 20:38 | |
Juerd | I know. I prefer something a little bit compatible with other keyboards that I use :) | ||
q[pdcawley] | As I say, the contoured/flat switch solved that. | ||
Juerd | Oh, but the kinesis can be remapped | ||
I just don't think e is nicer than space for the thumb. | |||
q[pdcawley] | The pain arose if I tried to use the the maltron in qwerty mode. | ||
space on the other thumb. | |||
Juerd | But the other thumb is backspace! | ||
Which also rocks | 20:39 | ||
q[pdcawley] | Well, there's nine 7 buttons per thumb. Can't remember the exact layout, but space, backspace, E and enter were all beneath the thumbs. | ||
Juerd | It's a key I learned to use very naturally, even though its position is very radically different from other keyboards I used. | ||
q[pdcawley] | s/nine// | ||
Juerd | 7 per thumb. Whoa. | ||
Hm | 20:40 | ||
q[pdcawley] | Some of them are oversized. | ||
Juerd | Now that I think of it - there are 7 on the kinesis things too | ||
q[pdcawley]: Why don't you use that Maltron anymore? | 20:41 | ||
q[pdcawley] | I've not got it working with USB - it's old 5 pin DIN attachement. | 20:42 | |
Juerd | ah | 20:43 | |
q[pdcawley] | I really shoudl get in touch and sort out an upgrade. | ||
Juerd has convertors in stock :) | |||
Ough - maltrons use cherry switches? | |||
I *hate* that lack of feelback | |||
Although Kinesis' keys are almost feedbackless too, at least they installed a clicking speaker ::) | 20:44 | ||
svnbot6 | r4464, wolverian++ | r1068@chronoa: wolverian | 2005-06-08 23:41:20 +0300 | ||
r4464, wolverian++ | Trivial spelling fixes. | |||
Juerd | s/::/:/ | ||
q[pdcawley] | I never found it an issue. If it's flat, then I want IBM buckling spring and damn the torpedoes. If it's as well contoured as the Maltron it doesn't seem to matter. | 20:45 | |
Juerd | apple-- # NO, I DO NOT WANT THAT SOFTWARE UPDATE THINGY TO STEAL FOCUS | ||
And now I hit escape to get rid of it | |||
So no updates this week. | |||
Effect missed. | |||
q[pdcawley]: I see | |||
wolverian | hm, I forgot the --verbatim again :) | 20:46 | |
should svnbot6 list the affected files, by the way= | |||
s,=,?, | |||
PerlJam | wolverian: no. | ||
It's already too verbose IMHO | 20:47 | ||
(perhaps if that info were available on request to those that care, that would be fine) | |||
wolverian | PerlJam: right. maybe it could just add '(Affected: foo.pl)', or '(Affected: multiple files)'? that's not _too_ verbose, I think | 20:48 | |
PerlJam | wolverian: sure as long as it's not another line just for that :) | ||
Khisanth | wolverian: that seems not too useful 'Some files were affected' :) | 20:49 | |
Juerd | The word "affected" would be bloat. | ||
As is anything that is repeated with every message. | |||
Like the initial 'r', the ',', the '++', and the '| ' | 20:50 | ||
wolverian | Juerd: heh. | ||
Juerd: I agree with the 'affected' thing though. | |||
Juerd | 22:44 < svnbot6> r4464, wolverian++ | Trivial spelling fixes. | ||
"4464-wolverian-Trivial spelling fixes." | 20:51 | ||
More than enough. | |||
PerlJam | aesthetically, I prefer to see the "r" in "r4464" | ||
Juerd | Aesthetics are overrated in irc bots. | ||
They should be practical, not cute or pretty. | 20:52 | ||
(Unless AI-ish) | |||
PerlJam | Juerd: if it's going to spout something automatically, it should at least look nice | ||
Juerd | PerlJam: Nah | ||
wolverian | Khisanth: '5 new files', '2 files changed', that is a bit more helpful, but still not very, I guess. | ||
Juerd | PerlJam: In fact, I'd prefer automated messages to have ^C14 in front :) | ||
PerlJam | wolverian: less is more | ||
Juerd | "144464-wolverian-Trivial spelling fixes." | ||
wolverian | I agree with Juerd, except I like the ++ :) | ||
Juerd | wolverian: "+5", "*2" | 20:53 | |
wolverian: No words where not necessary. | |||
wolverian: I don't. I think it is a rather silly thing. | |||
wolverian | Juerd: that might be getting too cute. | ||
I would prefer that format, but I'm not sure if everyone here would. | |||
mugwump | I liked it when the bot's messages looked pink because they were special bot messages. What happened to that? | ||
PerlJam partitions the karma into *real* karma and bot-karma | |||
mugwump is still an irc n00b | |||
Juerd | mugwump: They were never pink. | ||
mugwump: They were notices, though, which your client could colour pink. | 20:54 | ||
mugwump | ok MAGENTA in default irssi config :) | ||
notices, ok | |||
Juerd | mugwump: However, notices add lots of information in many clients (like the channel name), and sometimes end up in status windows. | ||
PerlJam | I liked it when the bot was silent. :) | ||
Juerd | PerlJam: Then ignore it. | ||
wolverian | is the bot in pugs rep? | 20:55 | |
PerlJam | nah, it doesn't bother me that much. If it did, I'd have ignored it long ago. | ||
wolverian | svnbot.p6, right. | 20:56 | |
heh. this is still using the hash-oo hack. :) | 20:57 | ||
PerlJam | wolverian: I was going to say "patches welcome" to you, but I guess it's more like 'reimplementation to take advantage of newer features welcome!' | ||
wolverian | hehe. :) | 20:58 | |
ihb | hash-oo hack? | 21:01 | |
wolverian | ihb: $bot<method> | 21:02 | |
hmm. Net/IRC-OO.pm has 2-space indentation, and vim doesn't like to reindent for me sanely, due to the lack of a perl6 indent expr. | |||
maybe I should just fix that first. | |||
Shillo | Hullo, all! | ||
ihb | wolverian: where does &new_bot come from? | 21:03 | |
putter | Has anyone written ArrayX, HashX wrappers to work around current array and hash brokenness? | ||
eric256_ | how are arrays and hashes "broken"? | 21:04 | |
wilx | What's APW? | ||
putter | eric256_: they explode in listish contexts. | 21:05 | |
eric256_: Array also has multi sub dispatch problems. | |||
The hash/array explodes in list has been known for a while now. I'm unclear if there is an explicit "defer fix until ...", or it simply hasn't been gotten to. | 21:07 | ||
The Array displatch is new... multi sub f(Array $o){...} multi sub f($o){ if(ref($o) eq 'Array'){#try again;my $a=$o; f($a); #works!?!; else die "unk type"} | 21:08 | ||
PerlJam | putter: Just point him at the test cases that illustrate the brokenness | 21:09 | |
putter | last two test in t/data_types/mixed_multi_dimensional.t | 21:11 | |
basically, anytime an array or hash ref hits a list context (literal array, argument list, etc) it's survival depends what's nearby. | 21:14 | ||
ok, no known wrappers. ah well. ;) Thanks. | 21:23 | ||
theorbtwo | wolverian: there's a vim indent thingy in util (but don't ask me for details -- I don't know vim). | 21:37 | |
geoffb | What's the best behavior for a test script when failure of a test indicates that any further testing will just explode? Should it die, or skip_rest perhaps? | 21:49 | |
theorbtwo | Depends on what you mean by explode. | 21:56 | |
If you mean the rest of the tests in the file are certian to fail, use fail_rest (which may or may not exist). | |||
If you mean that the things the rest of the file is testing for may or may not work, but you can't run the tests anway, then skip_rest. | 21:57 | ||
skip_rest was written for t/unspecced/eval_haskell. | |||
geoffb | Doesn't look like fail_rest exists | ||
theorbtwo | The tests are not applicable in the no hs-plugins case. | 21:58 | |
Write it if you need it. | |||
geoffb | Yeah, was thinking that very things | ||
thing even | |||
I'm guessing pugs' Test.pm is very limited compared to P5 Test and Test.pm | 21:59 | ||
? | |||
theorbtwo | Not terribly, but somewhat. | ||
Well, not really. | |||
It has everything from Test, and some things from Test::More. | |||
But not everything from Test::More, and certianly not everything from Test::*. | 22:00 | ||
geoffb | Juerd, how long does 'make test' take on feather? I'm nervous to go mucking with the testing infrastructure given that my machine is too slow to reasonably do a full 'make test' . . . so may need an account on a faster machine | ||
theorbtwo, sounds like a good way to get myself up to speed in the Test::* heirarchy. ;-) | 22:01 | ||
I'm way out of practice using text-oriented testing tools because portable automated testing of OpenGL code is very difficult. :-) | 22:02 | ||
theorbtwo | I can certianly see why. | 22:03 | |
geoffb | Juerd.ping | ||
webmind | huh ? | 22:04 | |
shouldn't that me ping(juerd); | |||
? | |||
geoffb | It depends. I was sending him a message to ping himself. :-) | ||
webmind | ah ok | 22:05 | |
that makes sense :) | |||
eric256_ | juerd.pong might be better. ;) | 22:09 | |
geoffb | eric256_, well yes, but I was being silly. | 22:10 | |
Juerd.say_something(<anything>) | 22:11 | ||
:-) | |||
geoffb is clearly punchy | |||
theorbtwo | Juerd.say('pong') | ||
Oh, wait | |||
Hm. | |||
I can't decide if I want to Jured.say('pong') ("Make Jured say pong"), or Jured.say('ping') ("Say ping to Jured"). | 22:12 | ||
geoffb | Juerd.enqueue(<ping>) | ||
delta spelling, sigh | |||
?eval Juerd.perl | 22:13 | ||
evalbot6 | Error: unexpected "p" expecting block construct, term, ":", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
geoffb | Not a bot then, I guess. :-) | ||
Limbic_Region | anyone with a handle on named parameters mind looking at something to see if there is a potential bug? | 22:17 | |
Juerd | geoffb: I have no idea. | 22:18 | |
theorbtwo: I'm Juerd, not Jured. | |||
Limbic_Region | perlmonks.org/?node_id=464502 | ||
Limbic_Region can't decipher what Larry's response meant | 22:19 | ||
tall_man was right but the test was flawed | |||
tall_man's test to expose the bug was spot on | |||
tall_man's reasoning was wrong | |||
etc | |||
Juerd | Larry likes to play oracle, I think :) | 22:20 | |
mj41 | mirror/pugs/docs/talks/Apocalypse_Now.spork | 22:21 | |
- rule unreserved { rule { <[A-Za-z0-9]+<mark>> }; | |||
+ rule unreserved { <[A-Za-z0-9]+<mark>> }; | |||
??? | |||
Limbic_Region | oh - provide an answer but not give enough information to figure out a concrete answer | ||
theorbtwo | If that is legal / that is not legal. | ||
I found this astonishing code in the test case / the test case is wrong. | |||
That's how I'd interpret it. | |||
mj41: That looks right. | 22:22 | ||
mugwump | I think the thing is that most functions that take $_ usually accept it as an argument | ||
so plain oob() would suck $_ into $x, but not with arguments | 22:23 | ||
geoffb | Limbic_Region, I'm sorry I'm lost here . . . where is Larry's response? Or is one of the guys responding to that node actually named Larry? | 22:24 | |
Limbic_Region | TimToady = Larry | 22:26 | |
Limbic_Region thought that would have been obvious | |||
;-) | |||
geoffb | I am WAY too tired for that to be obvious | 22:27 | |
wolverian | do we have a slurp-as-array builtin? | 22:31 | |
svnbot6 | r4465, rootmj++ | grammar URI typo | 22:32 | |
r4465, rootmj++ | - rule unreserved { rule { <[A-Za-z0-9]+<mark>> }; | |||
r4465, rootmj++ | + rule unreserved { <[A-Za-z0-9]+<mark>> }; | |||
wolverian | (I want to do a slurp.pick) | ||
theorbtwo | geoffb: Not just named Larry, named Larry Wall. | 22:34 | |
wolverian | hmm. open("foo").slurp.split(/\n/).pick doesn't work very well, but assigning what slurp returns to a temp Str works | 22:35 | |
mugwump | theorbtwo: and definitely not Tim. | ||
Limbic_Region | I love it when someone asks a question at the Monastery where I have already solved the problem in p6 and don't have to come up with a new answer | ||
mugwump | purl, jerk it | ||
oops, wrong channel, sorry :) | |||
Limbic_Region | a week after posting the second p6 challenge - some anonymous monk comes along and asks how to do arbitrarily nested loops | 22:36 | |
wolverian | pugs> open("asdf.p6").slurp.split(/\n/) # ('<Rule>') | ||
which is not a line in the file :) | |||
wolverian looks for tests | |||
geoffb | theorbtwo, I guessed as much, after Limbic_Region teased me. :-) Though I wonder why he decided to mildly disguise himself -- to try to limit the assumption that his responses were golden? (apparently without effect) | 22:37 | |
theorbtwo | geoffb: Shrug. | ||
The culture of the monestary has a slight preference for handles over realnames. | |||
geoffb | Well, I blew that one clearly. :-) | 22:38 | |
theorbtwo shrugs. | |||
Quite slight. | |||
geoffb | Mmmm, album shuffle just picked a good one. | 22:39 | |
Dammit, I wish cast errors would report the location of the cast failure | |||
Juerd | Don't you like puzzles? ;) | 22:40 | |
wolverian | okay, I see the bug now | ||
slurp("foo").split(/RE/) returns the RE | |||
geoffb | Juerd, oh sure I do -- when I can find the pieces. :-) | ||
Limbic_Region just read two responses from $larry and agrees with Juerd's earlier musing | |||
wolverian | which is bizarre, since my $foo = slurp "foo"; $foo.split(/RE/) works fine | ||
theorbtwo | Somebody give me the text of a cast error, please? | ||
Juerd | Limbic_Region: :) | 22:41 | |
geoffb | pugs: cannot cast from VStr "use File::Basename--perl5 <>" to Pugs.AST.Internals.VCode | ||
Gee, guess what I'm trying to write tests for | |||
theorbtwo | Thanks. | ||
Juerd | heh | ||
theorbtwo | (Pugs.AST.Internals, line 209.) | ||
Oh, sorry, 216. | 22:42 | ||
And code that gives it? | |||
wolverian | okay, it happens with all chained .splits | ||
is there a test file for chained method calls, or should I just put this in split.t? | 22:43 | ||
geoffb | theorbtwo, the problem at the moment is that I'm not sure -- I test it various ways. Like so: | ||
lives_ok("$use <>", '$use <> succeeds'); | |||
eval("$use <>; 1") or do {skip_rest; exit}; | |||
for example | |||
hmm, wrong quoting in that first one, oops | 22:44 | ||
It's the first one. Zagnuts. OK, time for spelunking | 22:46 | ||
theorbtwo | Hm, I don't immediately see a clean fix. | 22:48 | |
The problem is that that error comes from doCast, which does not run inside of an Eval monad. | |||
That keeps it from throwing errors via the normal, catchable, mechinisim. | |||
(That is to say, fail.) | 22:49 | ||
geoffb | Is doCast one of those ancient blocks of code autrijus was referring to earlier? | ||
theorbtwo | fromVal is what is normally called, which does run in an Eval, and then dispatches to doCast. | ||
Possibly... can you quote him? | |||
I don't see every line autrijus utters. | |||
geoffb | gimme a sec | ||
Juerd | 1 | 22:50 | |
geoffb | Juerd, :-P | 22:51 | |
colabti.de/irclogger/irclogger_log/...l=164#l333 | 22:53 | ||
and following | |||
theorbtwo, clearly you're falling down on the job | |||
:-) | |||
theorbtwo | No, but possibly close. | ||
Falling down on the job? | 22:54 | ||
I do that a lot, but what makes you think I am in this instance? | 22:55 | ||
geoffb | theorbtwo: I don't see every line autrijus utters. | ||
theorbtwo | Ah. | ||
geoffb | brb | 22:56 | |
bak | 23:03 | ||
Hmmm, this seems buggy: | 23:05 | ||
pugs> use File::Basename--perl5 | |||
{obj-perl5} | |||
pugs> {use File::Basename--perl5}.() | |||
pugs: *** Can't locate File/Basename.pm in @INC (@INC contains: /usr/lib/perl6/5.8 /usr/share/perl6/5.8 /usr/local/lib/perl6 /usr/local/share/perl6 .). | |||
at <interactive> line 1, column 1 | |||
It appears that I may have to get way more fundamental in my testing here. | 23:06 | ||
theorbtwo | That's... um... strange. | ||
kelan | would anyone mind helping me understand a portion of the harrorth 6th chapter? :) | 23:07 | |
geoffb | Mmmm, tutorial recursion . . . | ||
theorbtwo | Harroth has a 6th chapter? | 23:08 | |
I should read that... | |||
kelan | yes | ||
i got most of it | |||
except the important part, of course | |||
geoffb | Just reading the scrollbacks, it looks like the latest chapters are always the fuzziest, until autrijus posts his corrections. | ||
kelan | well the actual detail i don't understand is quite small but it makes everything work, so its probably important | 23:09 | |
geoffb chuckles | |||
I think that belief is partly why harrorth exists at all -- because of the author's frustration at not groking the magic that makes everything work. | 23:10 | ||
So you've got the right attitude. | |||
kelan | it is rather frustrating | 23:11 | |
i was getting the hang of everything! | |||
then this one inconsistency | |||
geoffb | nopaste? | 23:21 | |
perlbot nopaste | |||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
kelan | perlbot yespaste | 23:22 | |
because i love you | |||
pasteling | "geoffb" at 69.110.115.185 pasted "use ...--perl5 wierdness" (16 lines, 318B) at sial.org/pbot/10865 | ||
geoffb | OK the above paste is just ODD | 23:23 | |
kelan | maybe it thinks the {} is hash? | 23:25 | |
wolverian | dammit, perl6 has seriously impacted my willingness for coding perl5. :( | 23:27 | |
Limbic_Region | wolverian - me too | 23:31 | |
unfortunately I still think in p5 | |||
wolverian | heh. | 23:34 | |
it's hard to decide which is more annoying - perl5 because it's so crufty, or pugs because it doesn't support everything I need yet ) | 23:35 | ||
at least I can help fixing the latter! | |||
Limbic_Region is still working on that | 23:37 | ||
Haskell is very foreign to me | 23:38 | ||
and there are never enough tuits | |||
I need to get back to harroth to see if it helps more now | |||
plus all the other ways I envisioned of helping | |||
Limbic_Region really needs to go through the Ss and annotate what is missing according to what is supposed to be there | |||
clkao | what's "5 < $a < 10" type of condition called? | 23:39 | |
geoffb | kelan, I might bite on that, except the difference between normal and --perl5 behavior | ||
wolverian, with perl5 I find myself constantly writing source filters to get Perl6-ish syntax | 23:40 | ||
clkao, n-ary comparison? | |||
wolverian | geoffb: doesn't that waste a lot of time? :) | 23:41 | |
or chained comparison? | |||
(the < in question is a listop, I think) | |||
geoffb | wolverian, the part that wastes time is different projects having different code ownership. :-( I *hate* having to rewrite old stuff because I'm stuck working on some license-incompatible chunk of code. | 23:42 | |
Otherwise, I'd just write the filters once, and apply everywhere. | |||
clkao | chained comparison it seems. | ||
wolverian | geoffb: right. that sucks. :/ | ||
Limbic_Region | clkao - chained comparison is correct | 23:43 | |
and p6 promises to only evaluate each term once | |||
good stuff | |||
clkao | how is it short circuited | ||
Limbic_Region | dunno | ||
I am reading hw2005 ATM | 23:44 | ||
good stuff | |||
theorbtwo | Bah. | 23:45 | |
So close to getting rid of doCast. | 23:46 | ||
kelan | theorbtwo: did you read chapter 6?? | ||
oh | |||
theorbtwo | instance Value [Word8] is kicking my ass. | ||
geoffb | You know, I think the thing that may finally get pugs rewritten in Perl6 is that eventually there will be a non-lambda person with Hubris strong enough think that the Lazy way to understand pugs is to rewrite rather than learning Haskell | ||
kelan | ha | 23:47 | |
theorbtwo | geoffb: I'm not so sure. | 23:48 | |
kelan | i thought what would happen is that once they get the bootstrapping process worked out, they'd just compile the haskell to perl6 and call it a day | ||
theorbtwo | Larry will be at the pugs hackathon at the end of the month, and I bet he'll be learning some Haskell while he's there. | ||
Limbic_Region | I bet too theorbtwo | 23:49 | |
geoffb | theorbtwo, yes, but I've noticed Larry is most decidedly not coding the compiler this time around. He seems fixated on the P5->P6 tools | ||
Limbic_Region | I think it would be a lot easier if I had someone side by side that could put things in a way that I would understand | 23:50 | |
geoffb | (and not incidently, code he already understands -- perl5's core) | ||
Limbic_Region | larry understands the necessity of good translation to get stubborn crufty people off p6 is to provide a useable automatic tool | 23:51 | |
s/off p6/off p5 to p6/ | |||
theorbtwo | Limbic_Region: Not surprsing. | ||
geoffb | Limbic_Region, Oh, I don't disagree . . . I'm just doubting he'll be contributing directly to pugs/perl6 *the compiler*. | ||
theorbtwo | He delayed the release of perl 1 years until he had sed2perl and awk2perl written. | 23:52 | |
Hopefully, this time around, it won't take years. | |||
Limbic_Region | grrr - /me notes the time | ||
geoffb | At work later than intended, Limbic_Region ? | 23:53 | |
Limbic_Region | oh no, I am at home | 23:54 | |
theorbtwo is awake somewhat later then intended. | |||
Limbic_Region 's SO puts up with me in the basement but only so much | |||
geoffb chuckles knowingly | |||
theorbtwo | Limbic's SO is possibly wiser then mine. | 23:56 | |
(On this matter, anyway.) | |||
Limbic_Region | your SO is a fellow geek | ||
she understands the compulsion | |||
theorbtwo | This is quite true. | ||
Limbic_Region | to Jean - I am "playing" | ||
which really isn't that far from the truth | |||
theorbtwo | However, giving in to the compulsion isn't neccessarly a good thing. | 23:57 | |
Limbic_Region: It can and it can't. | |||
If you're helping people, then you aren't just playing. |