Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by autrijus on 13 July 2005. |
|||
rafl | 19:32 < autrijus> is that going to need ghc team's help on ghc 6.4.1, or is it strictly a ghc maintainer's issue in the debian side? | 02:23 | |
Amnesiac: I think the ghc team needs to support gcc-4.0 properly. | 02:24 | ||
Err. | |||
autrijus: I think the ghc team needs to support gcc-4.0 properly. | |||
mugwump still doesn't understand why MMD is a fundamentally different problem to SMD dispatch order | 02:30 | ||
svnbot6 | r5713, putter++ | Added Rule::pattern() to Prelude.pm | 02:58 | |
QtPlatypus | mugwump: MMD has a larger number of possable matches. | 03:00 | |
geoffb | OK, so now having caught up on a week of #perl6 backlog, I've got a question or two. | 03:03 | |
What is the origin of the 'moose' jokes? | |||
And does anyone know if there is a site (wiki, perhaps) that has lists of "recognized classic" books on various topics of computer science? | 03:04 | ||
Like Knuth's Art of Computer Programming for mathematical underpinnings, or Foley & van Dam for general computer graphics . . . . | 03:05 | ||
stevan | geoffb: I think "moose" is a private joke between nothingmuch and himself :) | 03:07 | |
geoffb | I keep seeing people mentioning various books in a way that suggests they are topic classics, but I've never heard of. Which made me think, where do people learn what is good reading, outside of just hearing someone mention them? | 03:08 | |
stevan, thx | |||
mugwump | QtPlatypus: sure, but SMD also can be ambiguous; in fact in Damian's example I don't see what difference it makes having the first invocant there or not | 03:09 | |
nor why changing the program structure in the way that he has, that the results are somehow meaningful | 03:10 | ||
stevan | geoffb: what are you looking for in particular? | ||
what subjects | |||
mugwump: have you ever read/heard about generics functions in CLOS? | 03:12 | ||
they looks quite interesting | 03:13 | ||
kind of a weird variant of MMD | |||
mugwump | is there enough metamodel there to being prototyping these schemes? | ||
dudley | geoffb: I've often asked the same question. If you find some, add them to READTHEM. | ||
geoffb | stevan, well let me put it this way -- the bookshelves in my office contain my college textbooks, a few shelves of books on graphics and Perl, and a few more on various technology topics, such as HTML, TCP/IP, 386 assembly, and so on. But really not much in the well rounded theory area. | ||
stevan | mugwump: you mean the MMD stuff? I have no been following the discussion | ||
mugwump | right. Well, let me try | 03:14 | |
Luke is primarily concerned about the empty subclass test. ie, deriving a class should not change which subs get called due to dispatch order weighting | |||
stevan | mugwump: please do it as an extension to the metamodel right now | ||
I am in the throws of a refactor | |||
mugwump | sure ... this is 10,000 mile stuff | ||
geoffb | Basically I'd like to be able to get a list of CS books that I could work through and have a pretty good grounding in most of CS, beyond just the stuff I *need* for work and hobbies. Type Theory for instance (though of course this is one that READTHEM probably already covers) | 03:15 | |
stevan | geoffb: what type of theory? | ||
geoffb: I used to buy old computer books off ebay | |||
got many "classics" for really cheap | |||
but it all depends on what you are interested in | |||
mugwump | Damian's position appears to be that this Manhattan distance metric, which weighs up the "best" one to call based on lots of factors, but this includes the number of specialisations | ||
stevan | geoffb: also, many of the classics are not as valid as they used to be | ||
mugwump | ... is the best of them. and he claims to have done his homework | 03:16 | |
geoffb | stevan, cost is always annoying with CS books, but the bigger issue is just knowing what's worth reading, and what's crap. | ||
stevan | for instance the "dragon" book on compiler design is a good book, but outdated | ||
geoffb: thats whats great about the ebay thing, I got some really good stuff for cheap and some real crap for just as cheap | 03:17 | ||
geoffb | stevan, point taken of course, but some books become "classics" the first year they are in print. A modern dragon book would be a wonderful thing. | ||
mugwump | however, including the number of specialisations as a metric sounds like it breaks the "empty subclass" test, but Damian is adamant that the alternatives do, too. I tried hard and don't follow it. | ||
End of summary. | |||
stevan | mugwump: I will read the thread if I get a chance | ||
geoffb | (And while I'm wishing, it would be good to know which books were better in older editions than new ones, which sadly applies to a few in my library) | 03:18 | |
Anyway, I can't imagine that this hasn't been asked and answered thousands of times already . . . it's just a matter of finding the site that recorded everyone's collective book wisdom. | 03:19 | ||
stevan | geoffb: a great cheap way to learn some of this stuff is to hunt down papers on the net | ||
geoffb: if you give me a topic list, I can try to compile something for you based on what I have and know | |||
it by no means comprehensive knowledge, but I can tell you what I know/like | 03:20 | ||
geoffb | I don't even know the topics I'm missing. :-) But how about this. I'll list the ones I have and consider classic, and you can do the same, and we'll compare and maybe feed to READTHEM. | 03:21 | |
stevan | ok | ||
geoffb | Compilers: The dragon book (yes, I know, dated): Aho, Sethi, Ullman: Compilers: Principles, Techniques, and Tools | 03:22 | |
Queueing Theory: Tanner: Practical Queueing Analysis | 03:23 | ||
Algorithm Implementation: Sedgewick: Algorithms in C (1st Ed.) | 03:24 | ||
Team/project management: McConnell: Rapid Development | |||
Cryptography: Schneier: Applied Cryptography | 03:25 | ||
stevan | Practical Cryptography is a good one too | ||
I think that is also schiener | |||
geoffb | Mathematical Basis of CS: Knuth: Art of Computer Programming | ||
Assembly Language Thinking: Abrash: Zen of Assembly Language and Zen of Code Optimization (details are dated, but concepts less so) | 03:26 | ||
stevan | yuk assmebly :P | 03:27 | |
geoffb | Graphics Intro: Foley, van Dam, Feiner, Hughes: Computer Graphics: Principles and Practice | ||
stevan | Concurrent Programming in Erlang # totally changed how I think of programming | ||
stevan is trying to recall from his head since he is upstairs and the books are down | 03:28 | ||
geoffb | Graphical Design: Tufte: The Visual Display of Quantitative Information | ||
:-) | |||
stevan | Tufte Rules :) | ||
geoffb | Game Design: Koster: A Theory of Fun for Game Design | 03:29 | |
stevan | The Pattern on the Stone : Daniel Hillis # not just CS, but really interesting stuff | ||
The Invisible Computer : Donald Norman | |||
geoffb | Computer Architecture: Hennessey and Patterson: Computer Architecture: A Quantitative Approach | ||
stevan | The Humane Interface : Jef Raskin # chages the way I think about UIs | 03:30 | |
ML for the Working Programmer : Paulson # I am still working my way through this book | |||
geoffb | Raw Unix Coding: Stevens: Advanced Programming in the UNIX Environment | 03:31 | |
stevan | The Pragmatic Programmer # a modern classic IMO | ||
geoffb | TCP/IP Fundamentals: Comer & Stevens: Internetworking with TCP/IP | ||
stevan | ANSI Common Lisp : Paul Graham | ||
geoffb: I was going to say that one too :) | |||
geoffb | TPP: agreed | ||
heh | |||
stevan | Smalltalk 80: Golberg and Robinson # a must have for understanding pure OO | 03:32 | |
jdv79 | you guys opening a library or something? | ||
stevan | :) | 03:33 | |
geoffb | Advanced C++: Meyers: Effective C++/More Effective C++ (these books actually are why I won't program in C++ :-) | ||
jdv79, see scrollback | |||
Pragmatism: Bentley: Programming Pearls and More Programming Pearls | 03:34 | ||
jdv79 | oh wow - put it on a wiki | ||
geoffb | Regex: Friedl: Mastering Regular Expressions | 03:35 | |
jdv79, READTHEM at a minimum, Wiki if someone knows a good place. :-) | |||
stevan | Reusable Software : The Base Object-Oriented Component Libraries : Bertrand Meyer # this book is really really really good book about writing good large scale APIs | ||
stevan has to take the dog out, bbiab | 03:36 | ||
geoffb | stevan, nod | 03:37 | |
mugwump | ?eval my @suggestions=<this that t'other>; {any($_)&all($_)}(@suggestions) | ||
evalbot6 | 't\'other' | ||
geoffb | Perl 5 & Networking: Stein: Network Programming with Perl | ||
It's sad how many books on my shelf I haven't actually read enough of to make a good recommendation | 03:38 | ||
Perl 5 Stretching: Dominus: Higher-Order Perl and Conway: Object Oriented Perl | 03:39 | ||
Numerical Analysis: Conte and De Boor: Elementary Numerical Analysis: An Algorithmic Approach | 03:41 | ||
stevan | The Art of the MetaObject Protocol # just came today, but I can already tell it will be a classic | ||
ok, thats as good as I can do for now, more later & | |||
geoffb | stevan++ # thanks for your input! | 03:42 | |
geoffb has more than a half dozen books on firewalls and internet security and can't remember which ones were any good . . . . | |||
#haskell has a few suggestions (perhaps already covered in READTHEM): | 03:49 | ||
Abelson, Sussman, Sussman: Structure and Interpretation of Computer Programs | |||
Pierce: Types and Programming Languages | 03:50 | ||
Fowler: Analysis Patterns | 03:51 | ||
"Richard P. Gabriel's writings for software engineering" | 03:53 | ||
Van Roy & Haridi: Concepts, Techniques, and Models of Computer Programming | 03:55 | ||
This is getting interesting . . . The shapr on #haskell has given me a number of places to look for lists . . . so now I'm chasing those . . . . | 04:16 | ||
Hmmm, I've now gone from a lack of info to an embarrasment of riches. | 04:23 | ||
What I need now is to categorize | 04:24 | ||
geoffb ruminates and masticates thoughtfully | 04:25 | ||
dudley | I was already complaining about the size of my books-to-read stack. This certainly isn't helping. | 04:33 | |
geoffb | heh. And it will get worse. | ||
All though I think categorization and some mild prioritization will help | |||
dudley considers growing an extra head | |||
geoffb | and believe me, I KNOW HOW YOU FEEL | ||
castaway | You need my virtuallibrary site.. ;) | 04:51 | |
geoffb | castaway, do tell | 04:53 | |
castaway | well its still in the making.. but the point is a site where you can list your own library, look at those of others, discuss books / categories of books, add notes to items, create your own categorisations, etc etc | 04:54 | |
see theorbtwo.perlmonk.org/kwiki/index.cgi?VBFAQ | 04:55 | ||
(and I'm looking for helpers, if you want another project to work on ,) | 04:58 | ||
geoffb | like I need a few more things to do . . . | ||
:-) | |||
castaway | heh | ||
geoffb | I'll think about it, but I've got too much on my plate as it is. | 04:59 | |
I am right now actively thinking about great book categorization, so that may be useful to you at some point | 05:00 | ||
(or not) | |||
castaway | cool | 05:02 | |
castaway needs more hours in the day to work on this ,) | 05:06 | ||
geoffb needs more hours in the day period | 05:07 | ||
castaway | indeedy | ||
geoffb is creating a mini-database of information about the "great CS books" he has on hand, to get a feel for categorization and such | 05:16 | ||
castaway | have fun ;) | 05:18 | |
geoffb | actually, it is. | ||
castaway nods | |||
geoffb | And a nice break from harder things. :-) | ||
castaway | I'm still squeezing the bugs out of my book importing mechanism :( | ||
its odd, the entire import code fails without telling me why, sticking bits in subs and calling them works fine *sigh* | 05:20 | ||
geoffb | bleah | ||
castaway | yeah, its beginning to really annoy me | ||
autrijus | greetings Ī» camels | 05:34 | |
geoffb | greetings, autrijus | ||
coral | autrijus: surviving the storm? | 05:35 | |
autrijus | yup. | 05:36 | |
geoffb | And there was much rejoicing. :-) | ||
autrijus | :) | ||
masak | autrijus: is the cyclone still... cycloning? | 06:00 | |
masak has no cyclones outside, just regular bad weather | 06:01 | ||
...ideal for programming | |||
autrijus | no... it fizzled now | 06:02 | |
which means I get to go outside for food | |||
bbiab | |||
masak | i think in everything one does one has the choice to err on the side of being correct or on the side of being pragmatic | 07:07 | |
what i like about perl is that the language doesn't make that choice for me | 07:08 | ||
geoffb | oh yes, definitely | ||
masak is programming java presently | |||
java makes that choice for me | |||
geoffb | painfully so | ||
masak | :( | ||
i can't sneeze in java without unintentionally defining ten classes | 07:09 | ||
and, oh, tracing the cause of a NullPointerException in the servlet logs is not as exciting as it may sound | 07:11 | ||
masak likes perl where the errors are mostly caused by bugs, not by language design | 07:12 | ||
geoffb | so agree with you there | ||
08:26
Aankh|Clone is now known as Aankhen``
|
|||
pasteling | Someone at 69.110.115.185 pasted "A concept for finding great" (75 lines, 1.3K) at sial.org/pbot/11869 | 09:14 | |
geoffb | dangit | 09:17 | |
castaway, ping | |||
masak | neat nopaste | 09:18 | |
geoffb | well, for anyone who's interested, here's the correct nopaste (that last one was premature): | ||
pasteling | "geoffb" at 69.110.115.185 pasted "A concept for finding great books to read" (82 lines, 1.5K) at sial.org/pbot/11870 | ||
geoffb | thanks, masak | 09:19 | |
castaway | pong? | ||
geoffb | Thought you might be interested in that paste, castaway | 09:20 | |
castaway looks | |||
pasteling | "geoffb" at 69.110.115.185 pasted "A concept for finding great books to read" (95 lines, 1.9K) at sial.org/pbot/11871 | 09:21 | |
geoffb | oh, forgot to include help text before, see most recent paste | ||
castaway | heh. and the code? | ||
geoffb | It's ~200 lines of perl 5. | 09:22 | |
I'll commit a p6 version hopefully tomorrow, if I'm awake enough. | |||
castaway | plus how you get the info in there in the first place :) | ||
geoffb | Right now, I'm pretty tired | ||
castaway | okiedokie | ||
geoffb | YAML. And manual entry. :-) | ||
Book suggestions came from this channel (stevan, mostly), #haskell (shapr), and the c2.com wiki book lists | 09:24 | ||
many still to be added to the YAML, of course -- I got quite a few suggestions | |||
castaway | nifty, anyhoo :) | 09:25 | |
geoffb | thx. | ||
And a fun few hours of hacking | |||
castaway | hopefully that'll be possible on the library when I'm done (sometime next century..) | ||
indeedy | |||
geoffb | heh | ||
OK, time to annoy wife by coming to bed at 2:30 AM | 09:28 | ||
castaway | oh, and add in a 'pick one at random' command .) | ||
g'night :) | |||
geoffb | castaway++ # good idea! | ||
g'night to you too | |||
09:29
Aragone is now known as Arathorn
|
|||
pasteling | "geoffb" at 69.110.115.185 pasted "The pick command (castaway++)" (42 lines, 808B) at sial.org/pbot/11872 | 09:36 | |
geoffb | Must . . . leave . . . keyboard | ||
castaway | heh, get to bed! | 09:38 | |
masak | geoffb++ # neat program | 09:51 | |
nothingmuch | this is fun:. | 11:55 | |
i have a test suite to run forth code | |||
with ingy's Test::Base | |||
i run it against gforth | |||
when it starts passing I know my tests are OK | 11:56 | ||
then I switch the backend to harrorth | |||
when they pass again I know harrorth is OK | |||
wilx | O_O | 11:57 | |
P6 Forth backend? | |||
nothingmuch | actually perl 5 forth | ||
but it's only an intermediate impl | |||
i'm really doing forth in haskell | |||
castaway | funky! | ||
nothingmuch | to learn haskell | ||
castaway | you're just crazy :) | ||
nothingmuch | and the perl5 one is supposed to help me define the minimal prelude | 11:58 | |
such that most of my forth machine is actually written in forth itself | |||
with 3 levels of bootstrapping: | |||
the primitives, which are provided by the system | |||
and then the words to get the ':' and ';' words | |||
they are compiled via a bootstrapper | |||
and then the rest of the prelude words are compiled using ':' and ';' | 11:59 | ||
castaway: actually I think this is very sane =) | |||
castaway | where do you get time to do all this? | 12:01 | |
nothingmuch | well, i'm babysitting compilations right now | 12:05 | |
as the day will progress I will become busier and busier | |||
castaway usually feels quite guilty about fiddling with toy projects at work, even if the work computer is busy.. | 12:07 | ||
nothingmuch | well, i really have nothing to do | ||
when everybody goes home at 20:00-21:00 (hard week), then I can really start working | |||
because they will need results for tomorrow | |||
based on their work today | |||
castaway | I see | 12:08 | |
stevan | morning nothingmuch, castaway :) | 12:09 | |
nothingmuch | hola stevan | ||
castaway | hey stevan | 12:10 | |
castaway nudges Limbic | 12:12 | ||
nothingmuch | wow, my forth backend is more complete than I thought =D | 12:13 | |
Arathorn wonders if he's got himself caught in a second-degree warnock on p6l | |||
wilx | warnock? | 12:14 | |
osfameron | that sounds like something out of the rules of Mornington Crescent.. | ||
Limbic_Region falls over at the nudging, hits the floor, and promptly falls back asleep in a more comfortable position | |||
Arathorn | en.wikipedia.org/wiki/Warnock | ||
osfameron pushes Limbic_Region down a treacle well | 12:15 | ||
Arathorn | treacle treacle treacle treacle... | ||
stevan | Arathorn: which post? | ||
castaway | Hrrmm | ||
Arathorn | the most recent one from [email@hidden.address] trying to grapple with Larry's commentary on :: | 12:16 | |
i'm just being impatient, tho' (or i'm worried that I wrote the mail too late last night for it to make any coherent sense at all ;D) | |||
the most amusing thing about playing Mornington Crescent is how deserted the station is irl... i can only assume that people tend to get caught out in Warnock Dilemmas and Register Alligators in the outer reaches... | 12:17 | ||
Arathorn waffles off | |||
nothingmuch | me reads mail after not having done so for about 24 hrs | 12:23 | |
Arathorn | nothingmuch: you're sending mails from 24 hours ago, fwiw | 12:29 | |
castaway | ,) | 12:30 | |
nothingmuch | ? | 12:31 | |
oh, right | |||
postfix died | |||
queue was full | |||
=) | |||
Arathorn | ah - fair enough | ||
nothingmuch | mutt hasn't finished opening | ||
Arathorn | was trying to piece together whether they were just old or misdated | ||
nothingmuch | they are old | 12:32 | |
i replied to luke, i think | |||
can't remember what else | |||
wilx | Huh. | 12:59 | |
Could somebody post somewhere some examples of P6 compiled into JS? | |||
I'd really like too see it but I do not have Pugs and I kinda am not able to build it on Windows. | 13:00 | ||
osfameron | tried PxPerl ? | 13:01 | |
autrijus posted link to m19s28.vlinux.de/iblech/stuff/not_p...sub.t.html on his journal | |||
Arathorn | wilx: m19s28.vlinux.de/iblech/stuff/not_p...el.p6.html | ||
wilx | Nope, what is it? | ||
osfameron | wilx: PxPerl is a windows binary of Pugs | 13:02 | |
FireFox-- # a script on this page is causing Mozilla to run slowly popup | |||
(which you can't cancel) | |||
wilx | Yup, same here. | ||
Arathorn | i can cancel it, fwiw - but i think iblech has breaking the main CPU-intensive loop into a background thread in his pipeline | 13:03 | |
osfameron | oh, actually, I can cancel it but then it asks me again | 13:04 | |
for fuck's sake, I told you to piss off already you stupid bag of shite | |||
osfameron considers going back to Opera | |||
castaway | tsktsk | ||
Opera++ | |||
(took 3min40 but didnt complain ,) | 13:05 | ||
osfameron | wilx: PxPerl is at www.pixigreg.com/ | ||
Arathorn | my opera was miles faster than firefox, weirdly | 13:06 | |
(under opera 8) | |||
must see how Safari 2 runs with its new JS engine... | |||
wilx | Hmm, it doesn't seem to work, the mandel example, under IE6. | ||
Arathorn | works fine for me | 13:07 | |
what does the javascript console say? | |||
bear in mind that it'll take a few minutes to draw ;) | 13:08 | ||
(and IE's buffering's a bit bashful) | |||
nothingmuch | omfg, quicksilver is absolutely insane | ||
svnbot6 | r5714, iblech++ | * PIL2JS: Renaming: Former PIL2JS.Box.Proxy is now PIL2JS.Box | ||
r5714, iblech++ | to better reflect their behaviours. | |||
r5714, iblech++ | * PIL2JS: Repaired/fully implemented &infix:<=:=>. | |||
r5714, iblech++ | * PIL2JS: my @a = (0, 1, 2); @a[1] = 42 works now (was dieing: | |||
r5714, iblech++ | "cannot modify constant"). | |||
r5714, iblech++ | * PIL2JS: Binding improved: | |||
r5714, iblech++ | * "3 := 4" is now a real error (and not a silent JavaScript error). | |||
r5714, iblech++ | * "my $a; my $b := $a; $a := $b" is an error now, too | |||
r5714, iblech++ | ("cannot create a bind cycle"). | |||
r5714, iblech++ | * Binding array and hash elems really work now. | |||
nothingmuch | if you type a URL, and you ask for it's subitems, it gets the page, takes it apart, and gives you the interesting bits | 13:09 | |
without ever opening the browser | |||
Arathorn | . o O ( wget -r ) | 13:11 | |
nothingmuch | o I hear perl6? lambda-the-ultimate.org/node/view/852 | ||
Arathorn: quicksilver is like a launchbar thing | |||
you hit a hot key | |||
type some text | |||
and it guesses what item you mean | |||
if it's a URL, you can open it | 13:12 | ||
or you can view it's subitems in it, by pressing the right arrow | |||
Arathorn | ah, cool | ||
nothingmuch | do you hav OSX? | 13:13 | |
quicksilver.blacktree.com/ | |||
Arathorn | i have a mac mini buried in my desk somewhere | ||
nothingmuch | install it then... it's lots of fun | ||
Arathorn will give it a whirl next time he's feeling fruity :) | |||
nothingmuch | i've mapped it to the fn key | ||
when I just press it it launches, if I press and hold it doesn't get in the way | 13:14 | ||
castaway | buried *in* your desk? | ||
osfameron | quicksilver and subethaedit are the 2 main reasons I wanted to try OSX | ||
Arathorn | yeah, i wanted it for subethaedit and omnigraffle | ||
nothingmuch | i tried it a while ago (qs), but it didn't support hebrew | ||
Arathorn | (and quartz composer) | ||
nothingmuch | now it does | ||
osfameron | though I found the rest of it annoying enough that I haven't really bothered | ||
castaway mutters something about SEE | |||
nothingmuch | Arathorn: omnigraffle isn't as good as visio (ack) IMHO | ||
not that i've used anything other than these two | |||
Arathorn | visio *still* can't do wretched dropshadows | ||
because it's stuck with 1996-vintage GDI | |||
nothingmuch | oh, the pretty factor | 13:15 | |
i don't know about the looks, i must admit i never really cared | |||
Arathorn | well, unfortunately the pretty factor is often quite important for public-facing diagrams | ||
osfameron | Visio also sometimes decides that though you explicitly moved smart connectors, it's now going to put them back to its default path-finder algorithm path | ||
Arathorn | omnigraffle 4 is a big improvement over 3, too | 13:16 | |
(although i don't dispute that visio has much better stencil libraries) | |||
nothingmuch doesn't use those programs often | 13:17 | ||
i'd rather sketch and scan | |||
svnbot6 | r5715, iblech++ | PIL2JS: New file runjs.pl (compiles Perl 6 to JavaScript and runs it): | 14:08 | |
r5715, iblech++ | perl5/PIL2JS/runjs.pl t/01/01-tap.t | |||
autrijus | iblech: I made runjs.pl happier to invoke | 14:25 | |
svnbot6 | r5716, autrijus++ | * runjs.pl - allow it to be invoked from any directory, | ||
r5716, autrijus++ | using FindBin.pm to find the location of prelude etc. | |||
r5716, autrijus++ | * Also, `--` is no longer mandatory -- this should Just Work: | |||
r5716, autrijus++ | % perl runjs.pl -e "say 'Hello, World'" | |||
cventers_ | ?eval say $?PUGS_VERSION | ||
evalbot6 | Perl6 User's Golfing System, version 6.2.8, July 13, 2005 (r5715) bool::true | ||
iblech | autrijus: Sure, thanks :) | ||
autrijus | iblech++ # idea==>iblech==>code | ||
iblech | autrijus: :pil.yaml my %hash = (a => 1) -- look at the context of &infix:<,>, it's TCxtVoid. That's a bug, right? | 14:26 | |
autrijus | must be a bug, yes | ||
I noticed it a while ago | |||
nothingmuch | perl runjs.pl | 14:27 | |
that's 3 languages in one system | |||
=D | |||
autrijus is still doing relatively uninteresting PDF::Template hackery for $work | 14:29 | ||
iblech (tries to) implement context in PIL2JS :) | 14:30 | ||
autrijus | in old parrot, Cxt is an extra implicitly-passed param to each sub | 14:31 | |
in new parrot, Cxt is deduced from the signature of the return continuation. | 14:32 | ||
the new parrot had not yet come to pass, though | |||
but there is a lot in favour of unifying Params and Cxt into the same struct | |||
nothingmuch | autrijus: darcs pull harrorth | ||
autrijus | Dan likes that, and I think lwall is happy too | ||
nothingmuch: god it | 14:33 | ||
s/god/got/ | |||
nothingmuch | autrijus: under mis is a new distribution like thing | 14:34 | |
if you feel like playing with Forth, write some tests ;-) | |||
Arathorn | morning autrijus: further to lwall's response to my post on p6l, i'm concluding that variables in the default namespace should be $*Main::foo (also can be written as $*::Main::foo and $::('*')::Main::foo - but not as $::Main::foo) - does that sound sane to you? | ||
autrijus | Arathorn: yes. | ||
Arathorn | woo | ||
autrijus | but I agree with lwall that this is very hard to explain ;) | 14:35 | |
I'd rather we had used three different symbols :) | |||
Arathorn nods. | |||
especially the assymetry of $::('*::Main')::foo being valid, but $::*::Main::foo being invalid | 14:36 | ||
and the latter not actually having any welldefined meaning currently | |||
autrijus | yeah. I think if you can think of a saner treatment, there's a good chance that it will be adopted | ||
the current situation is messy. | |||
Arathorn hopes that lwall will decree that $::foo is dead, or actually a way of deferencing a type-space object, or just equivalent to $::('foo') | |||
nothingmuch | do anonymous classes have a sigil? | 14:37 | |
Arathorn | having $::foo as an alias for $main::foo as in p5 would be utterly horrible. | ||
autrijus | nothingmuch: do anonymous closures have a sigil? | 14:38 | |
nothingmuch | i don't know | ||
autrijus | Arathorn: actually I wouldn't mind it meaning $*Main::foo... | ||
nothingmuch | they can either fit in a scalar ($foo) or a function name (my &moose = sub { }), right? | ||
autrijus | right. | ||
nothingmuch | and in $foo they are a code ref | 14:39 | |
autrijus | so you can have | ||
my $bar = class {} | |||
or | |||
my ::bar = class {} | |||
nothingmuch | and ::bar is a relative namespace, that exists (or rather, is findable) just for the duration of the current scope, right? | ||
autrijus | yes. | ||
Arathorn | autrijus: but wouldn't $::('foo') being so different to $::foo be *really* counterintuitive? | ||
nothingmuch | hmm | ||
autrijus | Arathorn: I think $::() is the horrible party. | 14:40 | |
nothingmuch | what's the clash between :: as a sigil and :: as a namespace separator? | ||
::::somepackage::class? | |||
autrijus | nothingmuch: no clash just messy | ||
Arathorn | well, the 'correct' way to do it would be to then have :: as a trailing sigil after the interpolation construct, no? | ||
autrijus | trailing sigil? | ||
Arathorn | i.e. $($foo)::bar (rather than $::($foo)::bar | 14:41 | |
nothingmuch ponders a horrible change: the # sigil | |||
Arathorn | if that wasn't then completely ambiguous | ||
nothingmuch | #class = ... | ||
# class = ... (this is a comment) | |||
doe | |||
s the opaque type have a sigil? | |||
autrijus | opaque type? | 14:42 | |
nothingmuch | yep, an object | ||
you can have a blessed hash ref in an object. | |||
or an opaque | |||
or ... | |||
i assume that $?SELF contains a reference | |||
what is opaque's sigil? | |||
or is it by design unsigillable? | |||
Arathorn | ?eval $foo="foo"; $($foo); | 14:43 | |
evalbot6 | Error: unexpected "(" expecting "::" | ||
autrijus | I think it is unsigilable. | ||
?eval $foo="foo"; $::($foo); | 14:44 | ||
evalbot6 | Error: Undeclared variable: "$foo" | ||
autrijus | ?eval my $foo="foo"; $::($foo); | ||
evalbot6 | \'foo' | ||
autrijus | there you go | ||
Arathorn nods | |||
autrijus | ?eval my $foo="foo"; say $::($foo); | ||
evalbot6 | foo bool::true | ||
nothingmuch | what about a unicode sigil? | ||
Arathorn | but, what ambiguities would be introduced by using $($foo):: instead? | ||
autrijus | nothingmuch: you need an ascii version for it anyway. | ||
nothingmuch goes to look at his pallette | |||
autrijus: $@!^ or something like that ;-) | |||
Arathorn | i.e. is $($something) a valid alternative syntax for $$something ? | 14:45 | |
autrijus | I don't think $@!^ would work. | ||
nothingmuch | autrijus: i was just bashing my keyboard, please don't try to parse it =) | ||
autrijus | nothingmuch: ah. please keep bad ideas like that to yourself :) | 14:46 | |
nothingmuch | hehe | ||
autrijus | Arathorn: I suspect it can work. at least that's one :: less | ||
nothingmuch | we have some unused parenthesis | 14:47 | |
Arathorn | thing is, that :: is still a prefix for disambiguating PackageNames, right? | ||
nothingmuch | ā© | ||
Arathorn | turning $::($foo) into $($foo):: and ::PackageName into PackageName:: just so that $::foo is free to be $*Main::foo again seems rather wrong :/ | ||
nothingmuch | ā° ā± =) | ||
those two look sigilized | |||
autrijus | Arathorn: the thing is that &Foo and ::Foo can both be referred to as Foo | 14:48 | |
Arathorn | sure | ||
autrijus | Arathorn: and as such each need one sigil | ||
also I think the proposal is to turn $::($foo) into $($foo) | |||
::PackageName would still exist as ::PackageName | |||
Arathorn | okay - but then you get the contradiction that ::PackageName is a disambiguated package name - but $::PackageName is actually $*Main::PackageName | 14:49 | |
which is counterintuitive too. | |||
autrijus | yes. now if we adopt the ^ sigil for packages | ||
^PackageName would mean the package | |||
and there is much less ambiguities | |||
Arathorn | and :: would only ever be a trailing separator/prefix for typespace | ||
s/prefix/suffix/ | |||
(gah) | |||
autrijus | ^Foo::Bar then is the Bar type in the Foo namespace | 14:50 | |
Arathorn | $client on phone - brb | ||
autrijus | I don't know, but this might be sane | ||
however it clashes with $^x ;) | |||
autrijus stops speculating about mere sytnax | 14:51 | ||
Arathorn fumes at $client | 14:55 | ||
i really like ^ (or something), fwiw | 14:56 | ||
$Foo="Foo"; ^($Foo)::Bar then makes a whole lot more sense | |||
as does $($Foo)::Bar | |||
and $::foo is free to be $*Main::foo (or perhaps $OUR::foo?) again | 14:57 | ||
chip | anybody around who's familiar with the parameter unpacking rules? | ||
Arathorn will try suggesting an alternative typespace sigil than :: to lwall if his p6l response gets dewarnocked | 14:58 | ||
chip | e.g. sub quicksort ( [ $pivot, *@data ], ?$reverse, ?$inplace ) {...} | ||
nothingmuch | what is ... defined as? | 14:59 | |
sub &nofix:<...> { die "yada yada" }; # ? | |||
hola chip... how's paypal coming along? | 15:00 | ||
Arathorn has no clue about parameter unpacking, sorry :/ | |||
nothingmuch | chip: slightly | ||
chip | nothingmuch: Something else to draw donations is pending. I'll give a hint: It's the most powerful force in the universe | ||
autrijus | nothingmuch: no, "fail" not "die" | ||
nothingmuch | are you going to nuke all your cash to create fusion-dough ? | 15:01 | |
autrijus: err, yep... but what about nofix: ? | |||
chip | nothingmuch: Is the full parameter semantic available inside the unpacking? sub foo ( [ $a, ?$b, +$c, *%x, *@y ], $foo ) | ||
autrijus | nothingmuch: it is just a nullary prefix, silly. | ||
nothingmuch | autrijus: so how do i write that? sub nullarry:<...> ? | ||
autrijus | no | ||
nothingmuch | chip: i would think that no | ||
autrijus | sub term:<...> {} | ||
see A12 | |||
nothingmuch | oh | ||
chip | nothingmuch: which is NOT to say I don't need the paypal contributions, by the way! | ||
nothingmuch | perhaps optionality | ||
but not namedness | 15:02 | ||
chip | nothingmuch: "Help Save The World" by spreading the word | ||
nothingmuch | brb, i need to save someone | ||
chip | nothingmuch: S6 only shows optionality, so I guess you're right | ||
autrijus | chip: unpacking hash gives positional bindings. | ||
err | |||
chip | autrijus: hello! | ||
autrijus | chip: unpacking an array gives positional bindings. | ||
unpacking a hash gives named bindings. | 15:03 | ||
I don't think you can have both | |||
chip: hey :) | |||
chip | autrijus: are the array and hash bindings required to work left-to-right in the overall function signature? | ||
autrijus: is this legal: sub foo ( [ $x ], ?$y = $x ) | |||
autrijus | I think it is. | ||
although if you have powerful arguments for disabling it | 15:04 | ||
then I think lwall will consider that :) | |||
chip | well, it's just that name binding is looking less and less like something I want to address. That's just putting a cap on it. | ||
i.e. get_params will probably never be aware of the lexical pad | 15:05 | ||
autrijus | sure. we can deal. | ||
iblech has perl 6 named bindings implemented in JavaScript of all things. ;) | |||
chip | autrijus: JS is the flavor of the month, isn't it? *sigh* | ||
autrijus | chip: until ctx5 is back to business, I'm afraid nothing much we can do on PIR targetting :) | 15:06 | |
Arathorn | it's actually kind of cool, though, as complementary to parrot stuff | ||
autrijus | "back to business" as in "usurps as the new trunk" | ||
chip | Does P6 (or Pugs) have any need to specify the specific PMC to be used for *@a or *%b? | ||
autrijus: I see. Well, I'll be reviewing the differences soon then. | |||
autrijus | chip: hm? the user can request a PMC. | ||
sub foo (FooBarArray *@a) {...} | 15:07 | ||
Arathorn | (unless you're planning to persuade macromedia to embed parrot in Flash Player rather than ECMAScript, or persuade M$ to replace JavaScript in IE with it...) | ||
chip | sub foo (MyArrayType *@a) ... ? | ||
autrijus | I suspect so | ||
I'm fine if you'd like to disallow that too | |||
I don't think it will be used often. | |||
chip | It's OK with me if the :slurpy PMC has to be pre-created, but leo's gonna have to change something | 15:08 | |
he likes to have the get_params be the very first opcode in the sub. Oops. | |||
autrijus | I'm fine with the PMC being dynamically created too. | ||
Khisanth | hmm p6 no longer has glob() ... I guess that does get rid of one problem | 15:14 | |
Arathorn | autrijus: were you surprised by lwall saying that $OUR::foo is the right way to do package MyPackage; $MyPackage::foo="foo"; say $OUR::foo # if you don't happen to know what namespace scope you're currently in | 15:17 | |
despite $foo not having been declared as a lexically-scoped global using 'our', but a package-variable style symbol table entry? | 15:18 | ||
autrijus | no, not at all. OUR:: is a hackathon addition. | ||
and it was designed to do that. | |||
Arathorn | ah, I was wondering why it wasn't in the AES's at all | 15:19 | |
isn't it really weird to put non-lexically-scoped variables in something called OUR::, though? :/ | |||
Arathorn was expecting PACKAGENAME:: or ::($?PACKAGENAME):: | 15:20 | ||
autrijus | sure you can also do that. | ||
Arathorn | right | ||
Arathorn has a cassandraesque vision of legions of future newbies all doing perl6 -e '{ $*Main::foo = "foo"; } say $OUR::foo' and getting suitably confused about OUR:: including non-lexicals, but 'our' defining lexicals only | 15:23 | ||
osfameron | me has a cassandraesque ision of doing the same thing himself | ||
autrijus purrs. | 15:24 | ||
osfameron strokes autrijus's ears | 15:25 | ||
Arathorn | . o O ( is that a catbert purr, or a right-now-it's-easier-to-be-feline purr? ) | ||
autrijus meows happily | |||
Arathorn: anyway, our's scope is lexical but the thing it points to is packagewide | 15:26 | ||
whilst my's scope is lexical but the thing it points to is lexical | |||
Arathorn | okay, i do understand it correctly then | ||
Arathorn will plaintively try asking that OUR:: gets called PACKAGENAME:: or something if it's going to contain packagewide variables rather than just lexical globals | 15:27 | ||
in a preemptive strike against the strife of newbies & not-so-newbies to come. | |||
chip | wtf is "*Main::" ? | 15:28 | |
autrijus | chip: it is the new name of main:: | ||
I have no idea why larry changed main to Main. | |||
the * indicates toplevelness, that's fine | |||
chip | * is toplevel _and_ global? | 15:29 | |
autrijus | the two are the same thing. | ||
Arathorn | *Main is a specialcase shorthard for *::Main | ||
chip | autrijus: / is Unix fs toplevel, but / isn't implicitly in everyone's $PATH | ||
Arathorn | if that makes it any clearer | ||
chip | toplevel isn't automatically global | ||
autrijus | chip: right. to clarify: in perl6 "/" is always the end of your $PATH. | 15:30 | |
better? | |||
chip | clear but disturbing. Grr. | ||
Arathorn | which allows most builtins to live in /, presumably | ||
autrijus | yes. | ||
which is I presume the idea. | |||
chip: in p5 it's called CORE if I'm not mistaken | 15:31 | ||
which is sort of like /bin/ | |||
chip | autrijus: for hysterical raisins, all of CORE::, CORE::GLOBAL::, and UNIVERSAL:: have aspects of * | 15:32 | |
autrijus | yes. | ||
Arathorn | i guess that's why it's been normalised, then.. | ||
autrijus | I'm aware of the hysterical raisins... that's why we are raised as hystericals... | ||
chip | "Why Be Normal" | ||
autrijus | "A B Normal" | ||
chip | SQL bumper sticker: "Why Be Normalized?" | 15:33 | |
Arathorn is a bit askeered of people going and using $Main::foo, and then getting royally shot in the foot if they happen to be enclosed in another namespace scope called Main | |||
chip | Arathorn: well, anybody who creates a namespace C<My::Own::Main> is just asking for trouble anyway. | 15:34 | |
Arathorn | true. | ||
peeps will prolly all go and use $Main::foo and forget about it, then - and it does make sense to ucfirst main, to fit in with all the other ucfirst typespace names | 15:35 | ||
Arathorn is perfectly normal... orthogonal, in fact :/ | 15:39 | ||
Arathorn sighs and returns to actionscript-infused $work :| | |||
integral | hmm, why Main and not MAIN? | 15:40 | |
autrijus | because p6 refuses to use ALLCAPS... | 15:41 | |
Arathorn | are there any uc'd typespace identifiers in p6? | ||
autrijus | not afaics | ||
integral | autrijus: except for MY, CALLER, OUR, etc I thought? | ||
Arathorn | Capitalised Nouns look more teutonic and reliable, whereas SHOUTING looks like COBOL.. | ||
oh, true. | |||
(but they're really-really-special-cases, whereas Main is just another normal package scope?) | 15:42 | ||
autrijus | integral: those are pseudopackages | ||
you can't enter them | 15:43 | ||
package MY; # boom | |||
integral | ah | ||
autrijus | package Main; # just fine | ||
integral | so it's not just a tied package? :-P | ||
autrijus | mmm tied package ;) | 15:46 | |
pasteling | "putter" at 66.30.119.55 pasted "[PATCH] parrot: creates t/p6rules/rx_grammar.t" (76 lines, 3.4K) at sial.org/pbot/11880 | 15:48 | |
autrijus | putter: ? | 15:49 | |
putter | Hi all. Could someone with parrot commit bits add sial.org/pbot/11880 ? Thanks. All PGE's tests are passing... can't have that... | ||
rx_grammar.t is a failing (as in segfault) test. | 15:50 | ||
It's an incomplete grammar for p6 regexps. Once it runs, PGE will give us a regexp parse tree in the form of a Match tree. | |||
Which can then be used to generate... whatever. | 15:51 | ||
Sound plausible? | 15:52 | ||
autrijus | yes. are you on irc.perl.org #parrot? | 15:54 | |
if not, try bringing it there to chip+leo and ask for a commit bit | |||
:) | |||
(chip is here in #perl6; leo isn't) | |||
putter | Not at the moment. Tried there last night, but (almost) noone around, and nothing seems to have happened. | ||
autrijus | oh. it's at this moment a very happening place :) | 15:55 | |
putter desperately trying to avoid having a parrot commit bit again. silly, I know. | |||
ok, will try there now. tnx. | 15:56 | ||
autrijus | np :) | 15:57 | |
Limbic_Region | moon.google.com/ # maximum magnification for a chuckle | 16:12 | |
putter | putter maligned PGE. fixed grammar works! :) backporting to rules... | 16:16 | |
autrijus | nice! | 16:21 | |
stevan | hola autrijus | 16:45 | |
question on the metamodel bootstrapping when you have a sec | 16:46 | ||
putter spoke too soon... (wasn't entering grammar at root) looks like there is still a pge issue... | 16:47 | ||
stevan | hey putter :) | ||
autrijus | sure... I'm chipping with chip in #parrot about the insanity of by-value Pair binding | 16:48 | |
you know, the one that makes for %h.pairs -> $_ { ... } broken | |||
stevan | fun | ||
autrijus | (my proposal on p6l (subj: Strange interaction between pairs and named binding) is that untyped Block params should be Any not Item) | 16:49 | |
supports welcome | |||
stevan | with Any it allows for Pair right? | 16:51 | |
in that case | |||
so, I was trying to represent ::Method and ::Attribute objects in the metamodel | 16:52 | ||
autrijus | yes. | ||
ok | |||
stevan | but this of course presents a metacircularity issue | 16:53 | |
autrijus | right | ||
stevan | but I am thinking maybe that doesnt make sense, maybe those should be pseudo-primatives anyway | ||
autrijus | I think the question boils down to how much datatypes you want out of your host | 16:54 | |
s/much/many/ | |||
and what their (static, never extended) methods are | |||
stevan | ok | 16:55 | |
because I have boiled Perl6::Object down to meta(), can(), isa() and AUTOLOAD | |||
meta to return the meta object | |||
can just dispatches to AUTOLOAD | |||
and so does isa | |||
autrijus | right. | 16:56 | |
stevan | and AUTOLOAD just catches method invocation | ||
autrijus | you need host to provide function calls with invocant | ||
for ::Method | |||
yup | |||
stevan | ok, well I think I will hold off on any more bootstrapping until I read more of book | 16:57 | |
autrijus | cool. nice to see you have timeslices for your work -- i.e. reading the book :) | 16:59 | |
stevan | yes, but $work is getting a little CPU starved ;) | ||
iblech | Hm... Test::is's signature is: (Str $got, Str $expected, Str +$desc, +$todo, +$depends) | 17:09 | |
But, according to S06, args which have a "+" in front of them (i.e. $desc) may *only* be passed by name | |||
autrijus | aye. | ||
so drop the + | 17:10 | ||
:) | |||
iblech | :) PIL2JS found a bug :) | ||
autrijus | good :) | ||
stevan | what is the current layout for sub types? Sub is Code is Block? | 17:12 | |
iblech | Both Block and Sub are Code, I think | 17:13 | |
But Sub is not a Block | |||
stevan | ok | ||
so Code is an executable chuck of expressions and statements | |||
and sub is a named version of that | 17:14 | ||
and Block is unnamed | |||
does that sound right? | |||
autrijus | no. | ||
iblech | No, subs can be unnamed to (sub ($foo) {...}) | ||
stevan | ah yes | ||
autrijus | you can't return from a Block. | ||
that's the primary difference :) | |||
stevan slaps forhead | |||
autrijus | everything else is secondary. | ||
stevan | ok | ||
iblech | Well you can't, but you'll return from the surrounding Sub, right? | ||
autrijus | yup. | ||
and the main program thing is Code | 17:15 | ||
but not Block nor Sub | |||
so you can't write | |||
pugs -e '&?BLOCK(...)' | |||
stevan | now what about parameters, does Sub has-a Parameters? | 17:16 | |
autrijus | no, Code has-a Params | ||
actually I think it's called Signature | 17:17 | ||
stevan | ah yes, parameterized blocks | ||
ok | |||
autrijus | even bare can be parameterised. | ||
$_ and $^x | |||
stevan | so the Signature is comprised of Params, Returns | 17:18 | |
anything else? | |||
autrijus | actually I'll say that | 17:19 | |
Code has-a two slots | |||
both of Signature type | |||
one is the Signature it accepts, $.params | |||
one is the Signature it returns, $.returns | |||
but if you unify them into a single Singature type I'm fine with that too. | 17:20 | ||
if so, then | |||
class Signature { has ($.params, $.returns) is Array of Param;} | 17:21 | ||
they are isomorphic so both is fine | |||
stevan | ok | 17:22 | |
I am going to rough this stuff out | |||
autrijus | woot | ||
stevan | nothingmuch: and I might work on MMD this weekend | ||
I am a virtual participant in the Tel-Aviv Hackathon :) | |||
all this MMD arguing and nobodys got any code to show | 17:23 | ||
wolverian | you _can_ return from a Block, it's just not called returning, right? | ||
stevan | I figure a prototype is in order | ||
autrijus | wolverian: right it's called leaving. | ||
iblech | wolverian: Yes. &leave returns from the innermost block | ||
wolverian | yay, for once I remembered something right :) | 17:24 | |
oh, I might have tuits today to code URI more | |||
putter | hey stevan :) | ||
stevan | ok, I am going to take my metamodel break from $work now thanks autrijus, iblech :) | 17:25 | |
hey putter | |||
autrijus | :) | 17:26 | |
iblech | What should happen if I return() inside a try block? -- sub foo { try { return }; say "still there" }; foo() -- Should "still there" be printed or not? | 17:28 | |
autrijus | nope, a return is a return. | ||
wolverian | no, that's a bare block. | ||
lightstep | some languages model returns as exceptions | 17:29 | |
iblech | Ok. Pugs has that wrong then | ||
lightstep: For example PIL2JS :) | |||
wolverian | is try { } a statement? | ||
autrijus | and PIL2PIR :) | ||
no, try is ordinary sub | 17:30 | ||
wolverian | oh. hm. why? since we have the neat do syntax now :) | ||
autrijus | because eval{} was expr. | ||
svnbot6 | r5717, iblech++ | * Test: Changed various +$foos in sub signatures to ?$foos. Tests now have an | ||
r5717, iblech++ | actual chance of passing. | |||
r5717, iblech++ | * PIL2JS: Beginning of context handling: | |||
r5717, iblech++ | * All subs take a PIL2JS.Context object as first parameter. | |||
r5717, iblech++ | * When calling native functions, the context object obviously has to be | |||
r5717, iblech++ | * excluded. | |||
r5717, iblech++ | * PIL2JS: Better error messages (thanks to new variable $CUR_SUBNAME), | |||
r5717, iblech++ | beginning of callchain support. | |||
autrijus | iblech: the thing is try{} should catch error exception not control exceptions | 17:31 | |
but pugs's try{} currently catches both. | |||
wolverian | autrijus, and I always hated it for being an expr. :) am I really the only one? | ||
iblech | autrijus: Right. | ||
rindolf | Hi all! | ||
autrijus | greetings rindolf. | ||
PerlJam | hello rindolf | ||
rindolf | autrijus: hi | ||
autrijus | wolverian: I don't hate it | ||
rindolf | perlbot: hi | ||
perlbot | hi rindolf | ||
rindolf | nothingmuch: here? | ||
PerlJam: hi. | |||
wolverian | autrijus, it just feels inconsistent, both in perl5 and 6. | 17:32 | |
I know you're not who I should be complaining to :) | |||
autrijus nods and points to the implementation monkey hat | |||
wolverian | has this been specced and put in stone yet? | 17:33 | |
autrijus | yes and yes :) | ||
putter tries to picture the implementation monkey hat... | |||
autrijus | but stones have half life of 7 days on p6l. | ||
Khisanth | putter: it's very ugly :) | 17:34 | |
putter | :) | ||
wolverian | autrijus, was it on p6l? I just want to read the thread :) | ||
autrijus | wolverian: no, i mean in syn | ||
wolverian | ah. thanks. reading now. | ||
autrijus | not sure about p6l. | ||
autrijus posts a strange patch on p6c ;) | 17:40 | ||
PerlJam | indeed. | 17:41 | |
autrijus | it is, however, I think neccessary. | ||
PerlJam | don't want to answer that question? | ||
or denying that it's frequently asked? | |||
autrijus | I don't think it's answerable by me | ||
if @Larry has an updated answer, that's cool | 17:42 | ||
wolverian | hmm. I decided it's probably not an issue, since all blocks can have CATCH, and it's just consistent with do { } | ||
autrijus | but the current answer is bad :) | ||
PerlJam | Well, what was there was a pretty good guess (maybe). But someone should post the real answer. | ||
autrijus | as in, actively bad. | ||
huh, Q3 2005 release a good guess, based on the incoherent 2004 synopses? | |||
that's probably not a good guess :) | |||
it might be, not anymore. | 17:43 | ||
PerlJam | autrijus: sure it was. p6 devel has come a long way making the Q3 2005 seem even more likely | ||
(the key word is "seem" ;-) | |||
autrijus | Q3 2005 is in 2 months away :) | 17:44 | |
and pugs was never based on the 2004 synopses :) | |||
PerlJam | Look mister miracle worker, don't tell me you don't believe in miracles ;) | ||
autrijus | nah. it says the 6.0.0 production compiler | ||
which is beyond my control anyway, and I don't think pugs can make it in 2 months. | 17:45 | ||
PerlJam | Pm has told me several times that he's still targetting a Q3 2005 release for the first alpha perl6 compiler. (I keep telling him that he's crazy though) | ||
autrijus | (neither was that the goal.) | ||
Pm's compiler can't yet parse nested expressions. | |||
so, not likely :) | |||
PerlJam | Well, next time I ask him. I'll be sure to remind him of the insanity again ;) | 17:46 | |
autrijus | (I'm talking about the expression parser that is yet to be finished) | ||
integral | pm has a compiler? | ||
PerlJam | Pm's problem is another one of those N > 1 masters again. | ||
autrijus | integral: well, a plan for one, based on PGE and a shift/reduce bottom-up parser. | 17:47 | |
languages/punie/ is a prototype compiler based on that approach | |||
integral | ah, I thought you meant he was beyond that :-) | ||
oh, punie uses that stuff? neato :-) | |||
PerlJam | autrijus: he has an actual implementation that does ... stuff (I'm not sure as he hasn't shown it to me beyond the first baby steps a while ago) | ||
autrijus | yeah. except the s/r parser isn't available | ||
so it can't handle 1+2+3 yet. | 17:48 | ||
PerlJam: right, I saw that in hackathon, but at that time it can't handle parens. | |||
so maybe 1+2+3 but not 1+(2+3). | |||
PerlJam | heh | ||
autrijus | in any case... to go from that to full production 6.0.0 compiler in 2 months time is. well. er. | ||
PerlJam | well, I'll continue to prod Pm and be optimistic anyway :) | ||
autrijus | :) | 17:49 | |
anyway, I don't think it's fair to put the Q3 time pressure on pm. | |||
PerlJam | pm built a full fledged pascal compiler with optimizations in about 4 days when he was a grad student. | ||
autrijus | which is part of the reason why I submitted that patch. | ||
not using parrot tools :) | 17:50 | ||
PerlJam | granted. | ||
autrijus | and my position was always that that was the critical bottleneck. | ||
PerlJam | If we could just nail down that parrot flux, we'd be good | ||
autrijus | but anyway... that's neither here or there. | ||
PerlJam hatches a plan to prod chip now ;-) | 17:51 | ||
autrijus | the thing is that promising the 2004 snapshot is actively harmful :) | ||
and Q3 2005 is equally actively harmful. | |||
PerlJam | yeah, I agree with you. I'm just being ornery | ||
autrijus | :) | ||
lightstep | why not always promise to deliver in the next quarter? like todo_ in pugs | 17:52 | |
autrijus | todo_ in pugs never carries a time promise... | 17:53 | |
PerlJam | lightstep: why not promise to deliver it by some future unspecified christmas? | ||
autrijus | right. | ||
"Perl 6 will be announced by Christmas." | |||
"we reserve the right of deciding which Christ." | |||
Arathorn | lol | 17:54 | |
PerlJam | I like Simon's likening the "by christmas" release to the second coming | 17:57 | |
(though a tad depressing when you think about it) | |||
autrijus suppresses an inappropriate multiorgasmic joke. | |||
PerlJam | heh | 17:58 | |
so *that's* what they were talking about wrt MMD! | |||
;-) | |||
chip | well, I *do* experience a little death whenever I read the Perl 6 documents | 17:59 | |
Arathorn rushes an answer to p6l about wretched namespace hierarchis and sprints to frisbee | 18:00 | ||
18:00
Arathorn is now known as Aragone
|
|||
stevan suppresses equally inappropriate crucifixion jokes | 18:00 | ||
autrijus | sigh, need to wake up early for $work tomorrow too | 18:32 | |
autrijus skips journal for tonight and sleeps | 18:33 | ||
autrijus waves & | |||
putter | & | ||
mj41 | Synopsis 2 : for *$handle :prompt('$ ') { say $_ + 1 } .. is it correct? or =$handle ? | 18:38 | |
putter | ? | 18:49 | |
stevan | putter, iblech: care to take a look at my first draft of Code/Sub objects? | 18:50 | |
putter | sure... | 18:52 | |
svnbot6 | r5718, Stevan++ | Perl6::MetaModel - first rough cut at Sub/Code/Block, Signature objects | ||
stevan | perl5/Perl6-MetaModel/t/80_Code.t | 18:53 | |
putter keeps forgetting how breathtakingly _large_ the regexp language has become... | |||
stevan: it looks vaguely plausible to me. I'm sure others could give better feedback - I haven't looked closely at p6 call semantics (except to worridly note that it seems to be one corner where p6 is not following the policy "be powerful enough to subsume everything anyone else is doing"). | 19:05 | ||
progress! | 19:06 | ||
stevan | putter: ok | 19:07 | |
it does not need to be the "true" version, but just enough to prototype some MMD stuff | |||
putter | k | ||
stevan | so vaguely plausible is good :) | 19:08 | |
putter | :) | ||
it will be sooooo nice to have objects. | 19:09 | ||
mmm, mmd prototype... stevan++ | 19:12 | ||
iblech | stevan: re. Looks sane :) Questions: | 19:17 | |
In the introduction, you speak of $.params and $.returns, but in the actual code there's only one signature | 19:18 | ||
And you'll need an own &return later (i.e. not Perl 5's one), right? | 19:19 | ||
And BTW, the code is very readable :) | 19:21 | ||
stevan | iblech: $.returns is :todo :) | 19:24 | |
not entirely sure how to procede with that | |||
my thought is to capture the return value, check it's container_type against wantarray maybe | 19:25 | ||
iblech: yes, I think in some ways I need to own return | 19:26 | ||
but I am blurring over those details for now ;) | |||
kolibrie | um, should $canidate be spelled $candidate? | 19:28 | |
stevan | kolibrie: it is a special case of candidate :) | 19:29 | |
kolibrie | :) | ||
just nit-picking, like iblech says, your code is very readable | |||
stevan | thanks | 19:30 | |
yeah, my spelling is pretty bad, I blame it on Phonics :) | |||
is svn.openfoundry.org/pugs/src/Pugs/Types/Code.hs relevant? | 19:31 | ||
or is something else used? | |||
19:49
shantanoo is now known as dhoomketu
|
|||
cventers_ | ?eval class bob { }; | 19:52 | |
evalbot6 | undef | ||
cventers_ | odd | ||
pugs> class bob { }; | 19:53 | ||
'Perl6 User\'s Golfing System, version 6.2.8, July 13, 2005 (r5718)' | |||
20:00
dhoomketu is now known as shantanoo
|
|||
svnbot6 | r5719, putter++ | Another cm of progress on the Perl6::Rx grammar. Quite a way to go. Failing PGE test submitted to parrot. | 20:06 | |
putter | & | 20:08 | |
Aankhen`` goes to sleep. | 20:29 | ||
G'night. | |||
svnbot6 | r5720, Stevan++ | Perl6::Sub - more tests and refactoring | ||
chip | Anybody know if the AES docs are state of the art on colons and MMD? | ||
geoffb | chip, I don't know, but I find it highly unlikely they are, since there have been discussions here over the past days about both, | 20:32 | |
and I gather that has leaked to p6l (though I don't sub to the lists yet) | |||
iblech | stevan: re. Ok then :) /me looks forward of integrating Perl6-MetaModel into PIL2JS :) | 20:34 | |
svnbot6 | r5721, iblech++ | * Usual svn properties. | 20:35 | |
r5721, iblech++ | * "sub foo { try { return }; say 42 }" should return from &foo and not print | |||
r5721, iblech++ | 42, added a test for this bug to t/builtins/control_flow/try.t (FWIW, PIL2JS | |||
r5721, iblech++ | behaves correctly :)). | |||
r5721, iblech++ | * Pugs.Compile -- Emit &prefix:<*> for Syn "*" so I can implement *(...) in PIL2JS. | |||
r5721, iblech++ | * PIL2JS: Fixed &die (but it's actually a bug in Pugs' Parser, will write a | |||
r5721, iblech++ | test tomorrow). | 20:36 | ||
r5721, iblech++ | * PIL2JS: New builtins: &Code::arity, &Array::push, &Array::shift, &try, | |||
r5721, iblech++ | &statement_control:<for> (works with n-ary subs) | |||
r5721, iblech++ | * Updated PIL2JS/README and added PIL2JS to pugs::hack. | |||
iblech | Night all :) | ||
23:02
frodo72 is now known as poletti
|