pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
Blazeix Hi, I'm thinking about learning perl6, so I would like to make a few simple applications with it. Does perl6 have some useful libraries yet? 01:10
Blazeix I've downloaded pugs, and I've been messing with simple perl6 syntax 01:10
charlesmorgan Hi folks. 06:16
How many of you *love* income trusts?
Show of hands? 06:17
How about you sit there like a dead log if your IQ is less than 75.
It's always the MORONS who never say a word. They park their asses on IRC and go play with computer pornography. 06:20
rakudo_svn r26345 | duff++ | [rakudo] rough cut implementation of auto-{increment,decrement} for Perl6Str 06:39
rakudo_svn r26347 | duff++ | [rakudo] make Perl6Str increment() work on empty strings 12:34
pmurias mncharity: is something like that allowed in perl6? 13:24
moritz_ the server on which evalbot runs is currently down :( 16:22
I hope to get it running this weekend
pmurias ruoso: will it be possible to inherit from native/lowlevel classes? 16:37
ruoso from native you can only inherit by composition 16:39
you cannot change the representation
the lowlevel implementations won't be available in the namespace for that ;)
that's why the src-s1p implementations need to be written
pmurias thinking how should Array be implemented 16:40
ruoso S1P__Array?
pmurias yes
ruoso take a look at the autovivification notes in the wiki 16:41
the basic idea is that you're going to return containers or lazy lookup containers
the lazy lookup containers will autovivify to a real container
the important thing here is that you cannot change the representation of the object during the autovivification 16:42
it must be the same pointer
ruoso which means that you will always keep the proxy object when something was autovivified 16:44
at least when working with lowlevel objects
that won't happen for higher-level objects... 16:45
pmurias no?
ruoso because they all have the WHENCE
and they are representation-independent
pmurias how does binding to an array element work 16:47
in terms of low level operations
an array has a memory block of Scalars
ruoso that's when the lookup proxy object enters 16:48
pmurias explain please ;) 16:49
ruoso $a[1][2][3] works as:
1) you make a lookup on $a for the element 1
pmurias which returns a proxy object 16:50
ruoso 2) this lookup returns a proxy object that delegates to the cell value
that can be empty,
in the case that the element has not been autovivified yet
but this proxy object knows how to implement the Scalar, Array and Hash API 16:51
pmurias how does $a[1] := work
ruoso in theory, yes... 16:52
pmurias ? 16:53
ruoso ah...
I didn't see the "how" part
pmurias ;)
ruoso $a[1] will return the proxy object
the same way $a returns 16:54
and the bind will substitute the container inside $a[1]
the same way it substitutes the container inside $a
moritz_ so every variable has a container? 16:55
isn't that rather inefficient? 16:56
PerlJam moritz_: every var *is* a container
PerlJam moritz_: don't you know the rules of optimization? Working code first. :) 16:56
moritz_ PerlJam: allright, I'll be quiet ;-)
ruoso PerlJam, but every var *lookup* has a container 16:57
so binding can work
the same way that every hash lookup must *have* a container, and don't *be* a container 16:58
PerlJam ruoso: right, you get a container thingy so that you can use it for autovivification or to somehow morph it into the contianer that's already there. 16:59
ruoso or to bind it to somewhere else
or to get bound from somewhere else
PerlJam sure, depending on context.
ruoso in fact, the lookup can return a simple lazy lookup object 17:00
so the lookup doesn't really happen until you use it
PerlJam yeah, perl6 has proxies everywhere it seems. That's the price of laziness. 17:01
ruoso yeah...
and it's scary to think about lazy lookup + currying
to make something like
$a<b><c>[1]<d> turn into a sql statement 17:02
PerlJam I try not to think about how it all works as long as it just does :)
ruoso like $person{ name => 'John' }<contacts>{ name => 'Jane' } 17:04
this would make DBIx::Class in Perl 6 just awesome... 17:07
pmurias ruoso: have you thought about running the sm0p grammar on smop?
ruoso you mean compiling the sm0p grammar to sm0p? 17:08
pmurias i thought more about compiling to c 17:09
ruoso If anyone writes a conversor :)
pmurias how to revive a file removed from the repo if i know the path but don't rememeber the revision (with svk)? 17:13
kolibrie pmurias: svk revert path/to/file ? 17:15
pmurias find the revision first is the soultion ;) 17:19
[particle] pmurias: try grepping svn log -v 17:21
pmurias svk cat dosn't work on removed files
[particle]: vim searched for it 17:22
pugs_svnbot r20117 | pmurias++ | [kp6] a revival of Emit::TokenC with the intent of being used by smop 18:00
diff: dev.pugscode.org/changeset/20117
lambdabot Title: Changeset 20117 - Pugs - Trac
mncharity sigh. both rakudo (pbc and exe) and redsix are under 20 lines per second, just for parsing. that's just not usable. 23:18
meppl good night 23:43
zgold just wanted to drop a word of praise for pugs and perl 6.. im just learning haskell and what you guys have done is really, really cool :) 23:45
pugs_svnbot r20118 | putter++ | [STD_red] sync some unfinished work.
diff: dev.pugscode.org/changeset/20118
lambdabot Title: Changeset 20118 - Pugs - Trac