-Ofun: xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 Set by apple-gunkies on 11 November 2005. |
|||
dduncan | ?eval "hello"~0 | 00:08 | |
evalbot_8274 | "hello0" | ||
dduncan | mlh_, I think that's what you wanted? | ||
a + casts its operands as numbers, while a ~ casts as strings | 00:09 | ||
mlh_ | oh | 00:14 | |
does eval do p6 only or p5? | 00:15 | ||
is it possible to force it to give a typeerror for "hello" + 0 ? | |||
00:34
ntgrl is now known as integral
|
|||
dduncan | ?eval does perl 6 only, I believe | 00:34 | |
evalbot_8274 | Error: unexpected "o" expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or end of input | ||
dduncan | but perl 5's + always cast its arguments as numbers too, so that's the same as the perl 6 one | 00:35 | |
the only difference is that perl 6 uses ~ instead of . for string concatenation, but they both cast as strings | |||
obra | seen audreyt | ||
dduncan | the + has never been a string op in perl | 00:36 | |
maybe you're thinking of some badly designed languages like javascript where you never know what you're going to get if you say "foo + bar" | |||
eg, in javascript "'5' + '4'" is 54, and "5 + 4" is 9 | 00:37 | ||
nasty piece of work, that | |||
?eval 'hello' + 'world'; | 00:51 | ||
evalbot_8274 | 0.0 | ||
dduncan | ?eval 'hello' ~ 'world'; | ||
evalbot_8274 | "helloworld" | ||
dduncan | ?eval 'hello' ~ ''; | ||
evalbot_8274 | "hello" | ||
dduncan | ?eval 'hello' ~ undef; | ||
evalbot_8274 | "hello" | ||
gaal | arr! I can't seem to extract values from a VList without calls to fromVal and the like! | 00:58 | |
I *know* this VList is really [Exp], but how do I convince the type checker this is the case? | 01:01 | ||
patmaching doesn't work: (VList bindings) | 01:02 | ||
and neither does tricksy annotation: bindings :: [Exp] | |||
tomorrow then... night & | 01:03 | ||
audreyt | gaal: VList can't contain [Exp]... Exp is not a Val | 02:10 | |
gaal: you can fake it with VOpaque | |||
gaal: if you show me the code/patch I can fix | |||
lunch now... bbiab | 02:11 | ||
obra | 'morning, audreyt | ||
audreyt | yo obra. | 02:12 | |
stevan | hey audreyt | ||
audreyt | stevan: hey | ||
stevan | Bootstrap.pil :) | 02:13 | |
audreyt | yes? :) | ||
stevan | just puts a smile on my face,.. thats all | ||
I am about to commit some additions to it | |||
audreyt | ahh :) | ||
cool | |||
maybe you can practice some haskell by writing linearize? :D | |||
stevan | I have been reading Algorithms | 02:14 | |
audreyt | (it's a pretty good first cut for haskell practicing) | ||
stevan | we shall see :) | ||
audreyt | cool | ||
my duct-tape-held-together laptop case is about to break | |||
so I need to go out repairing it + lunch... will be back in 2~3hr | |||
stevan | I am off to watch a movie myself,.. | 02:18 | |
svnbot6 | r8275 | stevan++ | PIL.Native.Bootstrap.pil | ||
r8275 | stevan++ | - implemented ::Class.subclasses & ::Class.add_subclasses | |||
r8275 | stevan++ | - cleaned up ::Module.version & ::Module.authority | |||
r8275 | stevan++ | - ::Module.identifier now works properly (although some edge cases | |||
r8275 | stevan++ | will likely still mess it up). | |||
r8275 | stevan++ | - Create slots in instances of ::Class, ::Object, ::Module & ::Package | |||
r8275 | stevan++ | which are missing (no auto-vivification in the mini-lang :) | |||
stevan & | |||
dduncan | message away ... to p6l that is | 02:19 | |
second topic started in almost as many days | 02:20 | ||
audreyt | cool :) | ||
dduncan | hopefully something will get done about those nasty undefs! | ||
is that PIL stuff not supposed to be used yet? | 02:24 | ||
I notice that, despite being in src/, make doesn't do anything with them | |||
audreyt | dduncan: "make pil" does | 02:25 | |
dduncan | I refer to the last few commits | ||
okay | |||
audreyt | and the goal is to treat it as a vm like "parrot" | ||
and compile "pugs" programs to it | |||
to get roles and metaclasses and unboxed types working | |||
the current haskell runtime can't quite support these things | |||
so we are rearchitecting the bottomost layer | |||
dduncan | I mistakenly thought that 'make' did all the versions, and it was at test time that you picked one to invoke | ||
audreyt | that is correct | 02:26 | |
once the pil native vm can hook into the current pil compiler | |||
we will make that so | |||
dduncan | okay | ||
audreyt | it's currently still not there yet -- missing container types | ||
SamB | yay for rearchitecturing bottommost layers! | ||
audreyt | yay for modularity-thru-separate-data-representation-across-layers! | ||
yay for OSI! | 02:27 | ||
(ok, maybe that's too silly) | |||
SamB | OSI isn't written in Haskell, silly | 02:30 | |
audreyt | I hear galois (or someone else) had the data layer and up written in haskell for provability | 02:31 | |
SamB | provability of what? | 02:32 | |
audreyt | system properties | ||
SamB thought the OSI was written in hot air | |||
what does it do? | |||
audreyt | en.wikipedia.org/wiki/Internet_protocol_suite | ||
SamB | is it useful? | ||
I thought it was just used to compare real things with | 02:33 | ||
audreyt | as a Sockets/TCP/IP/Ethernet layer... I imagine they may be useful for things they are useful for | ||
er, right. in the proper sense it's just hot air | |||
SamB | wow... hot air written in Haskell... | 02:34 | |
audreyt | considering the use of category theory, maybe it's not that surprising... | ||
(but I was confused; I referred to specific implementations of protocols in different layers as a stack in haskell, i.e. actual code that does stuff) | 02:35 | ||
SamB | whatever you do, don't tell those guys in #twisted about this! | ||
audreyt | mm, category theory is known as "generalized abstract nonsense" | ||
SamB | ah | ||
hehe | |||
audreyt | considerably hotter than hot air | ||
SamB | hmm, is that anything like Dr. Suess? | 02:36 | |
I probably misspelled his name... | |||
heh: Physical e.g. wire, radio, fiber optic, Carrier pigeon | 02:38 | ||
hehe... avian carriers... | |||
hmm, they don't mention HTCPCP | 02:43 | ||
do winsock and BSD sockets really belong at the same layer as SSH? | 02:45 | ||
neither winsock nor BSD sockets is a protocol... | |||
meppl | gute nacht | 03:01 | |
xinming | what's wrong with freenode? Is it being attack? or under maintaince? :-/ | 07:33 | |
I can't get here since yesterday. :-( | |||
luqui | freenode.net/news.shtml | 07:38 | |
audreyt | yo | 07:43 | |
xinming | nuisancebot | ||
what does this mean? | |||
the nuisancebot | |||
luqui | spambot | 07:44 | |
audreyt | bots that causes people annoyance? | ||
xinming | the bot that sexy advertisers use which seduces people :-) | ||
audreyt | mm sexy advertisers | 07:46 | |
xinming | I ever remembered that there always private message which send you the url to the adult site. So I say sexy advertiser. :-P | ||
audreyt | *nod* | 07:47 | |
luqui ponders lazy construction of the match object | |||
does that buy us anything... | |||
avar | xinming: did you get my message about pugs fibonacci the other day? | 07:48 | |
xinming | avar: yes, You killed it after 500m. :-) | 07:49 | |
avar | hoh;) | ||
audreyt | luqui: it buys us something if we don't use all of he match objs | ||
xinming | I just watch back the log, and only see that line. | ||
avar | .java with GCJ is just as fast as .c with GCC for that probram, suprising | ||
audreyt | luqui: which could be useful for normal text match patterns -- kinda like XML::Twig | ||
pugs fibbonacci? god forbid anyone benchmarking the current core | 07:50 | ||
it's using linked lists of 4-byte-per-characters for strings and BigInts for math | |||
luqui | audreyt, how hard is it to implement automatic tailcall in the current core? | ||
if "fairly easy" is the answer, can you point me in the right direction? | 07:51 | ||
audreyt | luqui: huh, we already do that on pil compilation. | ||
luqui | oh, pil | ||
audreyt | luqui: oh, you mean the parse tree evaluator | ||
luqui | is pil fairly full-featured? | ||
audreyt | sure, seeing how js runs 90% of tests | ||
luqui | is that the canonical pil evaluator these days? | ||
audreyt | but it's lacking proper support for OO metamodel | ||
yes, it is, until the minilang hooks into pil2 | |||
even afterwards I think js will remain first tier | 07:52 | ||
luqui | okay, I'll try testing with that | ||
audreyt | it's just so very valuable :) | ||
luqui | it gives an interesting political angle to perl 6 for sure | ||
audreyt | you mean, PR angle :) | 07:53 | |
luqui | uh, yeah | ||
politics, public relations, anything that's not code, it's all the same | |||
audreyt | ...unless it's solid documentation, which is something else | 07:54 | |
luqui | true | ||
audreyt | luqui: so, do you grok PGE's design? | 07:55 | |
both the OPTable parser and the matching engine | |||
not the code, but the algorithms | |||
xinming | audreyt: Will you plan to make pugs support compiling into haskell and run top of parrot? :-P | ||
luqui | audreyt, oh yeah, I grokked those before pm wrote them | ||
audreyt | xinming: we already do (./pugs -CPugs) and we already do. (./pugs -CParrot) | ||
xinming | audreyt: How about compile haskell to parrot? :-/ | 07:56 | |
audreyt | luqui: can you write them down as either p6 pseudocode or hs pseudocode -- preferably as annotations to pge but also okay as a standalone -- so we can merge 6.28 with 6.281? | ||
xinming: I think the JHC person is the one to talk to | |||
JohnMeacham | |||
luqui | why is that a precondition to merging 6.28 with 6.281? | ||
audreyt | just need a PIR emitter for the JHC grin code | ||
luqui: because it's fuzzy to me how the rule engine is to work with the underlying metamodel | 07:57 | ||
luqui: you know, the "rules are methods and grammars are classes and matching is multi/role/whatever" stuff | |||
luqui | ahh, that stuff | ||
audreyt | as we are doing metamodeling, it makes sense to give PGE match objects first class status | ||
it's curretly just a crude pesudohash in Pugs | |||
where you can deref with [] and {} but not much else | 07:58 | ||
luqui | okay, I'll look through the PGE source to find out the details and write them up | ||
audreyt | eg. it's impossible to implement your own match method or extend the match class | ||
luqui: excellent, that will really really help -- not so much as a p6 port of PGE but rather the API of such a thing if it is to exist | |||
we can still bridge to the underlying PIR objects | |||
(API as in "internal API" not as in the "toplevel match API") | 07:59 | ||
luqui | well, I'm happily porting PGE to perl 6 | ||
and it's turning out to be quite simple really | |||
audreyt | that's even better! | ||
commit commit :) | |||
ext/Rules/ | |||
luqui | Parse::Rule | ||
already there | |||
audreyt | oh wow | ||
luqui | it's just skeleton at this point though | 08:00 | |
audreyt | and just a day old | ||
excellent... just go ahead then. I'll ping you if I have questions/problems in its integration | |||
luqui++ | |||
luqui | mmkay | ||
audreyt | luqui: oh, a lang q | 08:02 | |
luqui | ? | ||
audreyt | "opaque" is not hash; it must provide setattr and getattr | ||
according to s12 | |||
must it support enumerate_keys? | 08:03 | ||
is it possible to have an object with infinite number of attrs? | |||
luqui | let me look at that part of s12 | ||
audreyt | an object that's just a function, that is | ||
luqui | can you point me at a line number in s12? | ||
audreyt | reason I ask is something is not easily enumerable -- and some objects can respond to getattr requests | ||
grep for PyDict | 08:04 | ||
the thing they have in common is get/set; not sure if enumeration is part of the deal or not | |||
certainl not dynamic extensibility (Cstruct can't) | 08:05 | ||
luqui | I don't think enumerate_keys is necessary for this interface | ||
the only reason you'd need it is for reflection | |||
but that is going to have to dig into the implementation type anyway | 08:06 | ||
audreyt | yeah | ||
I seem to recall in A12 there's a %$obj form | |||
where the underlying opaque emulates a hash | |||
but something doesn't make sense, like | |||
%$obj = (); | |||
so I wasn't sure how far the emulation has to go | |||
get/set makes sense as the language has | 08:07 | ||
$!foo = 'bar'; | |||
but I don't see a %! | |||
luqui | %! on its own, as in, "all private attributes"? | ||
audreyt | yeah | ||
if you don't recall a demand to support it in the language level for all objects, I'll remove it from the object interface as it makes implementation easier | |||
luqui | I don't recall anything of the sort | ||
audreyt | (because when bridgeing an unboxed type or foreign type I don't have to implement the full hash interface) | 08:08 | |
excellent, thanks! | |||
luqui | plus, such a thing can allow partial GC of object | ||
audreyt | verily | ||
which another reason | |||
and also for lazily instantiated objects | |||
luqui | hmmm... was there a recent doctrine on messing with %MY? | ||
audreyt | which is a huge win in Hs runcore -- not sure if applies elsewhere | ||
I think you can't introduce new keys to it | |||
not sure what else | |||
luqui | hmm | ||
audreyt | I think it's just a proxy and translates into corresponding prims | 08:09 | |
luqui | because I really want pads to be able to clean up per-variable as in p5 | ||
audreyt | explain? | ||
(I mean need to run in 10mins) | |||
luqui | sub { my $x = 42; '$x is cleaned up here'; stuff that doesn't use $x } | ||
I think that's important for the memory efficiency of a language that uses closures heavily | 08:10 | ||
audreyt | oh... you need some sort of reachability analysis | ||
JHC does that natively -- they even clean up types | |||
so all types are passed in along with values | |||
luqui | (which parrot won't do) | 08:11 | |
audreyt | but if they are not used they are erased | ||
so multis and GADT can be implemented very efficiently | |||
luqui doesn't know much about implementation of those guys | |||
anyway, that little nicety is what perl5's L::AG uses to be memory efficient | 08:12 | ||
audreyt | cool | 08:13 | |
also I use Perl6::Subs at $job | |||
will probably submit some patches | |||
luqui | and I was bummed when I found out that perl6 would require a different technique | ||
because it keeps all lexicals around as a whole | |||
audreyt | and implement readonly of args properly with INTERNALS::SvREADONLY and Devel::LexAlias | ||
huh? lexicals attach to closure because we do hoisting | 08:14 | ||
luqui | hoisting? | ||
audreyt | { ... my $x; ... } | ||
$x is hoisted to top of {} | |||
before ... | |||
luqui | no, I mean that no lexicals are cleaned up until they all are | ||
audreyt | I don't see that in spec. | ||
luqui | it is implied from %MY fiddling | ||
audreyt | not so... the presence of %MY indicates a proxy object | 08:15 | |
which is bound to each lex items and thus keeping them alive | |||
without presence we can freely ignore it | |||
luqui | and CALLER? | ||
audreyt | and if you want to eval"", a snapshot is there anyway | ||
CALLER only attaches to "env $x" vars | |||
luqui | that was the doctrine I was thinking of! | ||
audreyt | so has no power over my $x vars | ||
env$x vars are passed implicitly | |||
luqui | okay good | ||
audreyt | they are like (?x) implicit parameters in GHC | 08:16 | |
cool then, glad we agree :) | |||
ok, I gotta run -- keep up the P6GE work :D | |||
audreyt waves & | |||
oh also -- I wonder if @*ARGS acan become @+ARGS. | 08:17 | ||
luqui | what is $+ again? | ||
audreyt | much easier reachability analysis | ||
env | |||
CALLER | |||
luqui | right | ||
luqui has fallen behind on those parts of the spec | |||
audreyt | it's good to have division of labour :) | 08:18 | |
hi PJF, bye PJF. :)) *wave* & | 08:19 | ||
PJF | Hi Audrey! I hope you've recovered from all your busy travels. Bye Audrey. ;) | 08:21 | |
gaal | awww, moosed again. | 08:22 | |
hi all :) | |||
pasteling | "gaal" at 192.115.25.249 pasted "Extract an Exp from a VList" (3 lines, 212B) at sial.org/pbot/15013 | 08:24 | |
PJF | Hi Gaal. Moosed? | 08:25 | |
gaal | hey PJF. We both narrowly moosed audreyt :) | 08:27 | |
PJF laughs, "I've never encountered that use of the word before." | 08:29 | ||
gaal | forum2.org/moose/ | ||
gaal makes coffee | |||
PJF | Gaal: I've noticed you have a docs/articles/tpr.pod. Has that been published yet? | 08:30 | |
gaal | PJF: no, it's on hold for a while. | 08:34 | |
PJF | gaal: Okay. I was reading through it during a car-trip today. I think it's very good. (Although I did submit a 2 character patch) | 08:37 | |
gaal | thank you! was it useful to you before you knew much about writing p6 programs? | 08:42 | |
PJF | Gaal: Very. I still haven't done very much p6 programming, and what I have done has looked identical to p5. | 08:43 | |
gaal | PJF: I ask because the editor felt the text wasn't very newcomer-friendly, but I didn't really know how that ought to be improved (except to try for more concrete examples and fewer abstract language discussions). | 08:47 | |
...which is kinda hard in something that's an article, not a book. | 08:49 | ||
anymoose, thanks for encouraging me to revisit this :) | |||
and for the patch :) | 08:50 | ||
PJF | gaal: I agree that fewer abstract discussions would probably help. They tend to excite designers, but can easily miss (and bore) the regular readers. | ||
gaal: Since I was in a noisy car at the time I read over the article in a rather haphazard way. I can re-review it with a more critical eye if you'd like. | 08:52 | ||
gaal: Provided you don't mind me using it as inspiration for a Perl-tip ( perltraining.com.au/tips/ ) later on. ;) | 08:53 | ||
gaal | hey, reading it in difficult conditions is a stress-test on its own :-) | ||
PJF: you are welcome to make as much use of it as you like. :-) | |||
it's under CC for that purpose too. | 08:54 | ||
Whee, those look really nice! | |||
like FMTYWTK except not really FM for the regualr interested reader. | 08:55 | ||
PJF | gaal: We need to redo the perl-tips page because we have so many now. They're *mostly* aimed at entry level programmers, as they make up a great deal of our readership. | 08:56 | |
gaal | BTW: in perltraining.com.au/tips/2005-04-22.html, it is claimed that | ||
# print "This is a simple static string"; | |||
# print 'This is a simple static string'; | 08:57 | ||
are equally fast. they are, to run. I think the second one parses infinitismally faster though. | |||
which is a very poor excuse to prefer it, I know. :-) | |||
PJF | gaal: It almost certainly does, because Perl doesn't need to look for interpolation. But once it's been parsed, they're the same. ;) | 08:58 | |
gaal | of course. | ||
PJF: As for the arrangement problem: yeah, there's a deep problem of aggregating knowledge :-( | 08:59 | ||
PJF | gaal: However, it's worth preferring it because it's easier for humans to parse, too, and that can take much longer. Every time I see double-quotes I need to go looking to see if interpolation will happen. Although I prefer q{...} over '...' , as I find it easier to find matching braces than quotes. | ||
gaal | just make sure everything is usefully searchable. | ||
PJF: well, p6 will make this better in the typical case at least, because introducing general interpolated values is so easy, ie, | 09:00 | ||
@{[ blah ]} ==> { yay } | 09:01 | ||
of course, it comes at the cost of you having to take note of all the adverbs to q{}. | |||
PJF | gaal: That's one of my most favourite features. You have no idea how often the 'expression interpolation' question comes up in classes. | 09:02 | |
gaal | of course, and it does because people are really happy they have interpolation in the first place! (unlike most other languages) | ||
The fact that it's nuanced by modifiers is both a pro and a con; I believe it weighs far to the positive side because the nuances are regular and well-documented. | 09:03 | ||
adverbial modifiers in general are wonderful. | |||
I should stop preaching to the choir though :-) | 09:04 | ||
PJF | gaal: I should re-read the sheet music. Despite me having grabbed pugs to play more with p6, I've mostly spent my time in p5 build-system land. Right now I'm seeing if I can compile a ghc for cygwin. | 09:05 | |
gaal | that would be grand. among other things that would buy us p5 embedding. | 09:06 | |
PJF | gaal: As far as I can tell ghc used to be built against the cygwin library for Windows. I can understand they moved away from that so there could be a stand-alone ghc for win32, but I'm surprised not to parallel win32 and cygwin distributions. Looks like I'll soon find out if there's a good reason why. | 09:08 | |
gaal | PJF: I never looked into it very deeply, but I think it may have to do with ABI changes necessitating frequent ghc upgrades and your run-of-the-mill dependency hell. But then, I think cygwin has stabilized muchly since say five years ago, so this may have become much better. | 09:15 | |
PJF | ABI changes? | 09:16 | |
gaal | binary structs change size, you suddenly can't just relink against something that worked, that kind of stuff. | 09:17 | |
I'm just guessing though: maybe it's because people already had the MSYS version working, which was faster and "good enough". | 09:18 | ||
PJF | gaal: Well, it seems to be happily compiling now. The make process took a very long time, though. | ||
s/make/configure/ | |||
gaal | yes, ghc is known to take ages to build. if you run into problems, you know about #haskell right? | 09:19 | |
PJF | gaal: Not yet. ;) | ||
q{ghc.exe: unknown package: unix} ... Hmm... | 09:20 | ||
gaal | looks like configure made a mistake. but I can't say more than that :-/ | 09:25 | |
09:38
_fallen- is now known as fallenstorm
|
|||
PJF | gaal: Looks a bit like a chicken-and-egg problem. GHC needs at least a posix/unix package to build for a unix-like system. However the Win32 GHC (which I'm using to try and build the cygwin system) doesn't come with such a package. | 09:43 | |
gaal | ouch :( though I don't understand why it would need a binary version of that package. | 09:50 | |
maybe to get some constants? too bad, I'd have hoped configuration could take care of that. | 09:51 | ||
PJF | gaal: So would I. Cygwin builds are 'unsupported', it would appear. I haven't done much digging beyond that, just testing if it would work out of the box. | ||
gaal | in pugs we rely on perl5's Configure to have done that hard work for us. Of course one day we'll have to take our heads out of the sand and do it ourselves, but that day is a while away. :) | 09:52 | |
dduncan | seen svnbot | 10:39 | |
svnbot needs to be be told where #perl6 moved to | 10:40 | ||
clkao | audreyt: you around? i found an interesting thing. pugs is trying to 'use' by grepping it from column 1. so if i have a multi-line eval with a use in it, like unspecced/p5/array.t, it fails early | 14:10 | |
araujo | The less i was expecting to find at Main.hs was a spanish poem :-] | 15:06 | |
avar | ?eval *("x") | 15:15 | |
evalbot, where art thou? | |||
xinming | avar: He is in trance :-) | 15:19 | |
avar: since the freenode is changed temporarily, the evalbot hadn't been changed yet. | 15:21 | ||
audreyt | how had it changed? | 15:22 | |
oh, chat. | 15:23 | ||
clkao | audreyt: what's the use problem? i want to hook use perl5:blah into pil2js | ||
audreyt | clkao: use() is handled in Pugs.Parser | ||
look at how JSAN use is handled for some clues | 15:24 | ||
clkao | uhm, it's using another function iirc | ||
audreyt | both my laptop and my ipod is broken... so can't chat for long. fortunately by tomorrow noon I should have a working laptop back | ||
clkao | dude | ||
wolverian | ow | ||
clkao | it's end of 2005. how many laptops did you break this year? | 15:25 | |
audreyt | yeah, so maybe hack in use jsperl5:DBI | ||
first, a dude I am not. second, there was only one, mmkay? | |||
gaal | hey audreyt | ||
audreyt | clkao: anyway, try making jsperl5:DBI work, I'll reconcile (or gaal may) | ||
clkao | but it should be perl5: ! | 15:26 | |
audreyt | which is what I mean by "reconcile" | ||
depending on the current -C setting | |||
generate different code | |||
clkao | *nod* | ||
audreyt | gaal: hey... what's up? | ||
gaal | hey. I didn't get a chance to follow up on trying VOpaque. let me find the ol' paste... | 15:27 | |
xinming | audreyt: I mean the freenode server address is changed. :-/ | ||
audreyt | cool... I'll be back in ~10min | ||
xinming | I don't know if irc.freenode.net still works | 15:28 | |
gaal | oh! too bad about the laptop and ipod :-) | ||
s/)/(/ | |||
audreyt | heh :) | ||
clkao | XD | ||
gaal | I guess my fingers are, uh, smiley-happy. | 15:29 | |
sial.org/pbot/15013 | |||
clkao + audreyt: I don't see an obvious reason for the ^use problem in the parser. | 15:32 | ||
xinming | audreyt: how do you translate monadic action into Chinese? | 15:33 | |
gaal | also, this does work: | 15:34 | |
./pugs -e 'eval qq{ \n use Ex; say "ho"}; say "hi"' => "hi\nho", which is correct | |||
(where Ex is some module that happens to load OK and do nothing) | 15:35 | ||
audreyt: ok, I don't see how VOpaque can help at all. | 15:36 | ||
audreyt | xinming: just "action: -- ignore Monad | 15:38 | |
gaal: unsafeEvalExp yields Val not Exp iirc | 15:39 | ||
oh wait | 15:40 | ||
sorry it yields Expm just patmatch it | |||
now you have as list of values that's exported? | |||
(map Val bindings) give you raw vals | 15:41 | ||
as Val :: Val -> Exp | |||
but won't you need the names as well? | |||
avar | why does @a Ā»++ give me a can't modify constant error in a subroutine that has sub f(@a is rw) .. | ||
audreyt | avar: hm... commit a test? | 15:42 | |
(do you have a committer bit?) | |||
also try "is copy" and see if they differ | |||
gaal | whoops, sorry, let me nopate the whole patch again (the list contains bindings, supposedly complete) | 15:43 | |
avar | is copy gives me the same error | 15:44 | |
pasteling | "gaal" at 192.115.25.249 pasted "export patch wip" (88 lines, 4.2K) at sial.org/pbot/15014 | ||
avar | hang on, I'll upload a testcase | ||
audreyt | avar: a bug then. write a t/pugsbugs/ | ||
gaal | audreyt: the idea is I keep "mkExp name"s around. | 15:45 | |
(hoping it works.) | |||
avar | avar.lir.dk/tmp/calc.p6 | ||
(and I don't have commit rights) | |||
;) | |||
gaal | avar: email? :) | 15:46 | |
audreyt | gaal: that will fully eval mkExp name | ||
in part of earlier unsafeEvalExp | |||
instead of keeping it around | |||
avar | email you the testcase? | ||
audreyt | avar: no, so that gaal can give you the committer bit | 15:47 | |
gaal | avar: no, what is your email, so we can give you a commit bit | ||
avar | hah | ||
gaal | you can /msg if you like. | ||
avar | [email@hidden.address] | ||
;) | |||
audreyt | gaal: can you post the patch somewhere in (say) src/Pugs/Parser.hs.export.patch or something in the repo, and invite avar to openfoundry? | ||
I'll check back in ~9hrs when I have my own laptop back... can't do much coding in this one :/ | 15:48 | ||
avar | nah it's just that projects usually don't give out commit rights so easily;) | ||
gaal | avar: invitation sent. welcome aboard! | ||
audreyt | gaal++ avar++ | ||
avar | but yeah, I already have the repository checked out, I'll make a testcase & commit it | ||
for is rw and is copy | |||
audreyt | gaal: if you want to keep whole Exp around as a Val, you may have to ship it around in a VOpaque (or better -- just use name/value in the hash to encode the exp) | 15:49 | |
gaal: but I don't have srctree in front of me... so if you can committ the (patched or just the patch) Parser.hs it'd help me a lot tomorrow | |||
g'nite :) | |||
gaal | sure. i'll see what progress i make, and at the end of the day i'll post. | 15:50 | |
audreyt | danke! | ||
gaal++ | |||
gaal | good luck laptophunting tomorrow! | ||
audreyt | and sorry about not been of much help... laptopping-- | ||
& | |||
gaal | night :) | ||
philstar | got one question about perl6: will there be an index variable (in whatever replaces foreach () {} )? | 16:18 | |
xinming | philstar: do you mean the $_ ? | 16:19 | |
there won't be foreach in perl 6 | |||
philstar | xinming: no, I mean the number of the array element called | ||
I'm asking this because I seem to be writing for(my $i=0;$i<@array;$i++) {} an awful lot and getting tired of it | |||
but usually I need to use $i, so I can't use foreach in those cases | 16:20 | ||
xinming | philstar: why not use for (@array) {bla..bla.. $i ++? } | 16:21 | |
my $i = 0; for (@a) { bla..bla.. $i ++ } | |||
philstar: and by the way, for and foreach are equal in most case. | |||
philstar | xinming: thanks for pointing that out... I must be stupid... | 16:22 | |
xinming | and in perl 6, there won't be foreach | ||
philstar | that's cool then | ||
xinming | philstar: does that resolve your problem? | ||
philstar | yes, thanks | ||
xinming | :-) | 16:23 | |
philstar: by the way, this works for perl 5, | |||
philstar | hmm... on second thought, all I save are three characters | ||
$i< | 16:24 | ||
so it's actually almost as verbose as before! | |||
xinming | hmm, maybe you mean the iterator. | ||
hold on please | |||
philstar | sure | 16:25 | |
brb | 16:26 | ||
gaal | ?eval for <a b c d e>.kv -> $i, $v { say "$i/$v" } | 16:28 | |
xinming | gaal: do you know if there is a iterator or iter function which will return the current value of the iterator? | 16:29 | |
gaal | xinming: not afaik | 16:30 | |
the above code doesn't work, btw: if you do it with an array, though, it does. | |||
I think that's a bug? | |||
ie this does work: | |||
?eval my @l = <a b c d e>; for @l.kv -> $i, $v { say "$i/$v" } | 16:31 | ||
(where's evalbot?) | |||
philstar | gaal: this is perl6, I take it? | ||
gaal | philstar: yes. | 16:32 | |
philstar | thanks | ||
gaal | $i will start at 0, btw. | 16:33 | |
xinming | philstar: sorry, I can't understand your question, But you can ask here later if anyone comes. | ||
philstar | xinming: no, you were right: it's the iterator value I'm looking for | ||
avar | .kv ? | ||
gaal | avar: "k"ey-"v"alue | ||
avar | ah, of course;) | 16:34 | |
gaal | used for hashes, it yields %h.keys Y %h.values | ||
with lists, it gives 0 .. Inf Y @list | |||
and with a pair, it just gives ($p.key, $p.value) | 16:35 | ||
clkao | nothingmuch: so what's the tool to diff two test result yml? | ||
gaal | (Y is the zip operator.) | ||
clkao: what's wrong with diff? :-) | |||
grep -v time measurements first though. | 16:36 | ||
they are already in the same order - or should be. | |||
avar | gaal: rt.openfoundry.org/Foundry/User/?User=78788 | 16:41 | |
woot | |||
xinming | avar: add yourself to AUTHOR first. :-P | 16:42 | |
avar | I can claim to be co-author for the AUTHOR file then | 16:43 | |
gaal | avar: :-) | 16:44 | |
avar | how do I check out the repository under my username so I can commit stuff? | 16:45 | |
xinming | I think you can | ||
avar | svn co [some svn schema]://[avar]...@svn.openfoundry.org/pugs ... | ||
gaal | you'll be prompted for login on your first checkin. | ||
xinming | yes. | ||
gaal | your currently anonymous co will be upgraded when you do that. | ||
avar | ah of course | 16:46 | |
I've usually worked with svn repositories though svn+ssh | |||
I know what I'm going to write, example scripts which demonstrate every language feature;) | 16:49 | ||
is there something like that already? | |||
is that list ordered by en_US.utf8 ? | 16:51 | ||
(AUTHORS) | |||
because then I'm at the top;) | |||
xinming | avar: the first letter must be upper cased. ;-) | 16:52 | |
avar | uh, apperently not.. | 16:53 | |
I'm between Ad and Al | |||
Ae and Af rather | 16:54 | ||
gaal | avar: look in examples/ - and check out pugs::hack (hack.pod) | 17:00 | |
stevan | hey gaal | 17:05 | |
gaal | yo stevan | 17:07 | |
what up? | |||
stevan | not much... and you? | 17:09 | |
just trying to test the Bootstrap.pil | |||
however my dog thinks this is a horrible idea, so it is going kinda slow :) | 17:10 | ||
gaal | just testing the tensility of the parser and the runtime | ||
stevan | only as a side effect of testing the model itself :) | 17:11 | |
gaal | incidentally I rented Cool Hand Luke. But, er, not on the chanell :) | ||
oh, i meant that was what *I* was up to | 17:12 | ||
stevan | ah | ||
excellent :) | |||
gaal | moving stuff from Exp to Eval. Carefully. :) | ||
stevan | TDD++ :) | ||
gaal | oh yeah | 17:13 | |
nothingmuch | clkao: head revision of Test::TAP::Harness | 17:17 | |
err | |||
HTMLMatrix | |||
nothingmuch.woobling.org/Test-TAP-HTMLMatrix/ | |||
nothingmuch.woobling.org/Test-TAP-Model/ | |||
see example.pl in TTH | |||
gaal | nothingmuch: ping | 17:18 | |
nothingmuch | pong on IOCQ | 17:19 | |
webmind | ey Smari | 17:23 | |
Smari | Eyy webmind! | ||
clkao | nothingmuch: i basically want to compare js run and jsperl5 run, ignoring those failing haskell one | 17:24 | |
webmind | Smari, looking into perl6 eh? | 17:25 | |
nothingmuch | clkao: from the smoke server, or from yml? | ||
avar | gaal: Am I supposed to transliterate non-ascii characters in the first field in authors? | ||
gaal | avar: it's utf-8 | 17:26 | |
nothingmuch | from yml: unserialize, and copy paste the example.pl file in T::T::H, and just put the data instead of runs | ||
nothingmuch.woobling.org/Test-TAP-H...example.pl | |||
avar | yeah but people have stuff like Amir "lightstep" Livine Bar-On ×¢×××Ø ×××× × ××Ø-××× | ||
and Andras Barthazi AndrƔs BƔrthƔzi | |||
gaal | that's utf-8 :-) | ||
avar | there | ||
Smari | webmind: I have for ages, just not very actively. Got updated yesterday to what's important.. and I'm impressed. | ||
clkao | nothingmuch: either | ||
nothingmuch | clkao: 'my $model_ok'...'my $model_failing' - replace with loads | 17:27 | |
but for smoke server - too late | |||
webmind | Smari, ah k :) | ||
nothingmuch | it uploads the HTML instead of the YML | ||
we need a smoke server that's: | |||
a. yml friendly | |||
b. easier to maintain | |||
c. not a .cgi | |||
(or at least not necessarily a CGI) | |||
d. caching (to make a. easier) | 17:28 | ||
not just yml friendly - storable friendly is also important | |||
svnbot6 | r8282 | avar++ | * I'm one of the authors of this hack, apperently;) | ||
rafl | Maybe someone should rewrite it using catalyst.. | ||
Actually I have some free time. Can you tell me what it needs to do exactly? I think I'll rewrite it. | 17:30 | ||
But unfortunately I don't know much about the smoke process. | |||
nothingmuch | rafl: basically, test harness runs | 17:32 | |
Test::TAP::Model collects the run data | |||
into a thing that can be serialized | |||
this should be storabled, and posted to the app | |||
which should save the file in some model (file, or DB, i guess) | |||
list view can display by date, platform, yadda yadda | 17:33 | ||
(should be multiproject friendly... we in pugsland like backends, parrot needs runcores and platforms) | |||
(catalyst would like perl/module versions) | |||
C::P::Cache can be used to save rendered HTML for each yml | |||
or storable | |||
compression support for uploads should be available too | 17:34 | ||
the layout of the current thing is pretty nice, and i guess that saves time too | |||
but it should be more comprehensive | |||
lastly, a compare feature would be nice - check N results, and it makes a consolidated display (like in the example.pl i linked to) | |||
rafl | OK, I'll do that. | 17:36 | |
nothingmuch | rafl++! | ||
you get a beer | |||
i'll post a reward on the catalyst wiki | |||
rafl | I'm not sure about how the data should be stored on the server. Would sqlite be sufficient? | 17:37 | |
nothingmuch | dev.catalyst.perl.org/wiki/BeerRewards | ||
yes, i think it will | |||
storable in blobs | |||
(texts, really) | 17:38 | ||
but some people might prefer a dir of files | |||
go with what you think is easier | |||
rafl | beer++ | 17:39 | |
nothingmuch | oh, repository snapshot vs release also sucks | ||
the way i think it should work: | |||
you have "dimensions" that describe the smoke result | |||
like in OLAP | 17:40 | ||
version, branch, platform, etc etc | |||
rafl | Well, with sql comparisons, sorting, etc would be easier. | ||
nothingmuch | the "default" dimension is used to sort them initially | ||
like, sort by branch, then platform, then version yields pugs smoke page | |||
err, sorry | |||
branch, platform, smoke date | |||
then people can create cross sections | 17:41 | ||
rafl | Sounds reasonable. | 17:42 | |
nothingmuch | it's also more maintainable than the current way it | ||
's hacked in | |||
basically the model should just be pluggable | |||
clkao grins | 17:43 | ||
perl5/PIL2JS/runjs.pl --run=jspm --perl5 -e 'use jsperl5:Digest::MD5 <md5_hex>; say md5_hex("test")' | |||
nothingmuch | in the config there's a list of dimension relationship/columns | ||
clkao | this now works | ||
nothingmuch | spidermonkey runtime embedded in perl 5 running perl 5 modules and perl 6 code? | ||
this runtime prefix thing should be much more generalized | 17:44 | ||
the interface is the same on perl5: and jsperl5:, so there should be a way to just say "use this interface, and to hell with the backend type" | |||
clkao | nothingmuch: yes | 17:45 | |
i know, it needs to be perl5: | |||
nothingmuch | nevermind, it's just a hack now | ||
but it should be p6l'ed | |||
clkao | autrijus said she can fsck it tomorrow | ||
p6l? | |||
nothingmuch | perl6-languaged | ||
the interface for using this should be posted for discussion | |||
rafl: please mention that you are up for the task on the wiki | 17:47 | ||
rafl | nothingmuch: Done. | 17:49 | |
clkao | i don't understand this. if you put 'use jsperl5:Digest::MD5 <md5_hex>' in a file it won't work unless it's at the beginning | 17:50 | |
nothingmuch | rafl: great | 17:57 | |
svnbot6 | r8283 | stevan++ | - created Test::PIL::Boostrap for testing Bootstrap.pil specifically | 18:13 | |
r8283 | stevan++ | - temp files are now cleaned up by Test::PIL | |||
r8283 | stevan++ | PIL.Native.Bootstrap.pil | |||
r8283 | stevan++ | - added set_* for name, version & authority | |||
r8283 | stevan++ | - set defaults for version & authority for Class, Object, Module & Package | |||
r8283 | stevan++ | t/pil/bootstrap.t | |||
r8283 | stevan++ | - added 52 tests (11 failing ones) to test the integrity of the meta-model | |||
avar | my @nums = 1..5; | 18:24 | |
@nums Ā»++; | |||
fails | |||
is it supposed to? | |||
svnbot6 | r8284 | avar++ | * A hyper operator testcase that fails | 18:40 | |
r8285 | clkao++ | perl5/PIL2JS/runjs.pl --run=jspm --perl5 -e | 18:56 | ||
r8285 | clkao++ | 'use jsperl5:Digest::MD5 <md5_hex>; say md5_hex("test")' | |||
r8285 | clkao++ | now works. | |||
xinming | anyone here can tell me how to run the compiled Javascript code? :-/ | 19:01 | |
clkao | spidermonkey? | 19:03 | |
or you use my JavaScript.pm and that runjs line you saw above | |||
araujo | Is it perl6 too much different from perl5? | 19:04 | |
xinming | open2: exec of js failed at pugs/perl5/PIL2JS/lib/PIL2JS.pm line 162 | 19:06 | |
:-S | 19:07 | ||
clkao | you have js ? | 19:08 | |
xinming | No >_< | 19:09 | |
by the way, Is the runnable code which can be run in browser? :-/ | |||
clkao | see README | 19:10 | |
pil2js.pl can create html files for you | |||
xinming | It's really a crazy man who thought compile perl 6 into JavaScript. :-/ | 19:11 | |
clkao: I will check it | |||
clkao | is it even crazier now the compiled javascript can actually use perl5? | 19:16 | |
Khisanth | hehe | ||
avar | araujo: what do you consider too much?;) | 19:17 | |
Khisanth | well there are lots of changes but it's still largely the same | ||
xinming | In fact, I ever think, If we can compile parrot into JavaScript :-) | 19:18 | |
araujo | avar, well.. so much like we probably think about perl6 like a new language :-P | ||
we could* | 19:19 | ||
Odin-LAP | araujo: The differences are substantial. | ||
Substantial enough that perl5 thinking may not apply to perl6 programming. Which, I guess, makes it a new language. | 19:20 | ||
But that doesn't mean it's "too different"! :p | |||
araujo | Interesting, thanks | ||
I think you have answered my question ;-) | |||
Khisanth | Odin-LAP: only because you no longer need to rely on tricks to get certain things working (well hopefully) | ||
avar | I'd say it's a new language, given all the differences | 19:22 | |
Odin-LAP | Khisanth: Well ... yes. But that's usually the difference between languages, isn't it? Having to use tricks in more or fewer places. :) | ||
Or sometimes even just different... | |||
leo | clkao: still about? | 19:35 | |
clkao | yes | 19:39 | |
leo | at #parrot: 20:34 < ^conner_> I think clkao needs to beat me with a clue stick | 19:46 | |
you got a minute for him? | |||
avar | multi sub circumfix:<Ā” Ā”> ($n) { abs $n } <- shouldn't this work? | 19:48 | |
I'm unable to get any circumfix stuff working | 19:51 | ||
how do I get a hash key from a value? | 20:11 | ||
(first match) | |||
xinming | reverse? | 20:16 | |
wolverian | theoretically, %hash.reverse<$foo> | 20:17 | |
svnbot6 | r8286 | avar++ | Replaced: | 20:51 | |
r8286 | avar++ | -multi sub sum (*$x, *@xs) returns Int { $x + sum(@xs) } | |||
r8286 | avar++ | +multi sub sum (Array *@x) returns Int { [+] @x } | |||
wolverian | isn't the 'sub' there redundant? | 20:53 | |
rafl | afaik yes. | 20:54 | |
clkao | doh, the example is not demostrating functional anymore | 20:55 | |
rafl | avar: Would you please revert your last change? | 20:58 | |
avar | bah, I was just going through stuff and changing it,) | ||
aiight | |||
rafl | avar: This was an example for functional programing and it's not functional anymore. | ||
svnbot6 | r8287 | avar++ | Ooops, wrong directory | 21:02 | |
rafl | (descriptive commit messages)++ | 21:03 | |
wolverian | heh. | 21:04 | |
Smari | Hmm. Is there a karmabot here? | 21:30 | |
Juerd | Smari: Does that matter? | 21:34 | |
Smari | Juerd: long time no see. | ||
No, it doesn't. | |||
Juerd | The only reason I'm responding is because I recognised your nick :) | 21:35 | |
How are things? | |||
Smari | But it would explain all the mad incrementing of terms.. | ||
Juerd | karma foo | ||
Smari | Things are good.. not been IRCing much for a while. | ||
Juerd | Why are you interested in Perl 6? | 21:36 | |
Smari | How can I not be? | ||
Juerd | The question wasn't "how" :) | ||
revdiablo | perlbot: karma avar | ||
perlbot | Karma for avar: 1 | ||
Juerd | perlbot: karma foo | ||
perlbot | foo doesn't have any karma | ||
Juerd | foo++ | ||
perlbot: karma foo | |||
perlbot | Karma for foo: 1 | ||
revdiablo | perlbot: karma autrijus | ||
perlbot | Karma for autrijus: 90 | ||
Juerd | Wowie. | ||
perlbot: karma audreyt | |||
perlbot | Karma for audreyt: 8 | ||
Juerd | Can it alias? :) | ||
i.e. symlink | |||
revdiablo | Sure it could, but I don't think it does. =) | 21:37 | |
Smari | Haha. Okay.. let me rephrase my answer: I'm a programmer, and a student of mathematics and linguistics. Perl, and particularly Perl 6, is... | ||
Juerd | Uh oh. | ||
Maths and linguistics. | |||
Smari | It's a good mix, no matter what people say. | ||
Juerd | Get out of here before discovering that everything you learn in school is only partly true :P | 21:38 | |
Of course it's a good mix. | |||
See Perl :) | |||
Smari | Juerd: Hah. Do you think I don't know that already? :P | ||
Juerd: Exactly. | |||
I don't know if Perl was a motivation to get into the math/langs mix, probably not though.. | |||
Juerd | What can your role in Perl 6 be? | 21:39 | |
Smari | Ahh. My role? User, probably. | ||
I'd like to develop it, but I have not the time. | |||
Juerd | Right, so why are you here years early then? :P | ||
Not that I mind - I'm just curious | |||
Smari | Because I'm never anything but a power user. :) | ||
Juerd | And you want to add pioneer to that? | ||
Smari | Besides, I've got my fingers in way too many things already... | ||
Haha. Exactly. | 21:40 | ||
Juerd | It'd be great if you could just start using Perl 6 now, and report bugs in the form of test scripts. | ||
Smari | Working on getting Pugs up. | 21:41 | |
Debian is being a bitch though. | |||
Juerd | Huh? It works perlfectly in Debian | ||
Smari | I didn't say it didn't. | 21:42 | |
But Debian itsself is being a bitch. Pugs won't compile without Haskel, and Haskel won't install without something that seems to be missing from the repository. | |||
My fault for using unstable I guess, but hey.. | |||
Juerd | Hm, feather runs sid, and I haven't noticed issues yet | 21:43 | |
Let's try to fuck things up, and upgrade | |||
Smari | Probably just rhnet.is | ||
gaal | Smari: apt-get install ghc6, not ghc-cvs. | 21:44 | |
Smari | gaal: Done that already. It all stops on e2fsprogs, which is ... well: | 21:45 | |
gaal | Juerd: I've been running unstable for years with very few problems. Not no a server though. :) | ||
Smari | E: This installation run will require temporarily removing the essential package e2fsprogs due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option. | ||
E: Internal Error, Could not early remove e2fsprogs | |||
Any ideas? | |||
Juerd | gaal: I run it on at least a dozen different servers. | 21:46 | |
gaal | that doesn't look directly related to ghc, but if you aren't afraid of powerouts, do what it suggests. | ||
Smari | I'd use APT::Force-LoopBreak if I knew where to put it... | ||
gaal | on the command line. | ||
Juerd | gaal: And have, for years, without problems that couldn't be fixed in less time than I'd have spent compiling new stuff myself. | ||
gaal | Juerd: except for once, the gtk2 pic2<->3 trouble that took a week to sort out. | 21:47 | |
Smari: I don't rembember the exact syntax, but the apt man page has it, I think. | |||
Smari | Ahh, thanks. | ||
Juerd | Smari: Oh, that stuff has been terribly broken in sid for a while. The solution is to upgrade more frequently :) | ||
Smari | -o of course. | ||
Juerd | Smari: Though you can't go back in time. | ||
gaal | but you can slow it down! | ||
the technique I know for it doesn't give you longevity though. | 21:48 | ||
Smari | Whee. | ||
gaal | (go to lots of meetings) | ||
Smari | Juerd: Ahh, of course. I haven't upgraded for ages. | ||
Now.. should I be doing this or studying for my analysis exam? | 21:49 | ||
Juerd | Smari: In any case, make sure you run a 2.4 kernel or newer, or things will break so bad you'll be sorry to have *ever* upgraded. | ||
Do you know enough for the exam? Are you confident? | |||
Smari | I am not. | 21:51 | |
Juerd: 2.6.3 here.. which is old, but not *that* old. | |||
Juerd | Then study. | ||
Smari | Aye. | 21:52 | |
Pugs shall compile first. | |||
:) | |||
(I'm reading on Wikipedia ...) | |||
clkao | is the bootstrapping plan somehow docuemnted somewhere? | 21:55 | |
avar | Smari: still trying to compile it? | 21:58 | |
xinming | hmm, anyone here tell me how to customize the output of pod2html? | 22:02 | |
If I use pod2html, I can't generate the synopsis which is same as the site. | |||
Smari | avar: Still fixing apt. | 22:16 | |
Juerd | 14Smari, go study! | 22:22 | |
stevan_ | clkao: ping | 22:27 | |
clkao | stevan_: hi | ||
Smari | Juerd: Yes sir. :) | ||
stevan_ | clkao: you were asking about a bootstrapping plan? | ||
clkao | ya | ||
stevan_ | for the metamodel? objectspace? or p6-on-p6? | 22:28 | |
clkao | p6-p6 | ||
stevan_ | I dont think there is any clearly laid out plan anywhere | ||
clkao | ok, because i was playing around and implemented hyperop stuff in p6 | ||
stevan_ | luqui said something the other day about having "claimed" it among the p6 cabal | 22:29 | |
obra | clkao++ # hacking | ||
clkao | was thinking i shall ask to see where this can fit in | ||
obra | clkao: <unicode hotsprings>.org isn't taken | ||
clkao | is it a valid domain name? | ||
obra | yes. | ||
using punycode. | |||
stevan_ | clkao: you might want to take a look at the p6 prelude | 22:30 | |
clkao | yes | ||
obra | (\u2668). | ||
stevan_ | however, I am not familiar with it, so I can't help any more than that | ||
clkao | that's fine. but what's the metameta bootstrap plan then? | 22:31 | |
obra | (xn--j6h.org) | 22:32 | |
stevan_ | clkao: currently it is centered on the Object Space | ||
gaal | whew, package A; use Moose; package B; use Moose works at last (but not lexically) | 22:33 | |
stevan_ | the basic idea is that we have defined a minimal language with minimal features and are using that to implement the metamodel | ||
gaal | stevan! lucille! | ||
stevan_ | the hope is that this will make things much more portable, since diff runtimes will only need to implement this mini-language | 22:34 | |
hey gaal | |||
clkao: and this mini-lang will eventually morph into PIL2 | 22:35 | ||
svnbot6 | r8288 | gaal++ | * Pugs.Parser: Perform symbol importation at use time, not parse time. | 22:45 | |
r8288 | gaal++ | This means that the second of two packages that use an exported function | |||
r8288 | gaal++ | sees it, like it should. | |||
r8288 | gaal++ | TODO: make this import lexically scoped by default; and honor importation | |||
r8288 | gaal++ | requests on the C<use> line. Oh, and add tests, too! | |||
gaal | audreyt: not quite sure how to do the lexical import; hackage most welcome. | 23:02 | |
gaal sleeps | |||
& |