00:00 Limbic_Region joined 00:09 diakopter joined 00:13 offby1 joined
offby1 clears his throat 00:35
Limbic_Region heh
avar eek! 00:36
offby1 loosens his collar with his index finger
Ziggy6 i'm curios, what does moose mea? 00:40
mean*
tene Ziggy6: it's a large mammal with antlers.
Ziggy6 ok, but that's not the meaning used here in #perl6 00:41
or is it? :)
diotalevi It's also a totem animal for an english folk dance team in Minnesota.
tene Often it's just a silly random mostly meaningless word.
Ziggy6 you moose each other quite often
tene Sometimes it's used to refer to the perl5 OO module named 'Moose'
Limbic_Region Ziggy6 - have you seen Moose.pm on CPAN? 00:42
Ziggy6 Limbic_Region: i'm looking at it now
00:44 Schwern joined
Ziggy6 wow, if i ever do OO in p5 again i'll definitely use moose 00:45
00:54 Ziggy6 left 00:57 mako132_ joined 01:04 bsb joined
masak it says this in E02: 01:12
%node<VALUE> = $val but Found(0);
(actually it said "is" but with a comment that "is" should be "but" nowadays)
my question: is this current perl 6?
what is Found(0) ? it's not a sub in the E02 example 01:13
tene it's not currently implemented.
masak but it's correct as it stands?
tene Yes. 01:14
masak hm
masak ponders the best compromise between leaving E02 as it is and making it work in Pugs now
I'm about to commit a translation of E02, but it would feel better if it at least compiled first 01:15
TimToady properties must be predeclared these days
masak oh
TimToady they're just mixins, really
masak how do I predeclare them? 01:16
example and/or reference to synopsis works
TimToady with a role or enum declaration
S12 discusses this
masak I'll have a look
(wow, hanging out on #perl6 writing perl 6 sure beats sleeping)
so is Found(0) a constructor call or something? 01:17
TimToady which copy of E2 were you working from? the svn copy has Update sections that give some of the differences.
masak I'm working from dev.perl.org/perl6/doc/design/exe/E02.html 01:19
lambdabot Title: Exegesis 2: Bits and Pieces - perl6:
masak it seems to have updates
01:19 diakopter2 joined
masak though perhaps not always completely up-to-date updates, I don't know 01:19
ok, so I ended up writing this at the top of the file: 01:22
role Found { submethod BUILD ($.times) {} }
hm, maybe I should declare $.times as well... 01:23
but it didn't seem to help, because pugs still complains about not finding the subroutine &Found
is it at least theoretically correct?
TimToady Found(0) is likelier to be viewed as a type coercion. Not sure what pugs supports as a declaration of that currently, but whatever it is is probably wrong. :) 01:25
masak :) 01:26
TimToady since I recently changed the spec to make method &.() the coercion syntax
but in general one should be using enums for these kinds of things anyway.
masak seems unlikely I will be able to make the code compile without removing its dependence on attributes, in other words 01:27
TimToady um, attributes means something else in P6
masak I see
what I mean is "those things after 'does' or 'but'" 01:28
TimToady properties
masak right
TimToady though declarative properties we usually call "traits"
masak ...without removing its dependence on properties, in other words
TimToady I don't know what pugs does with "but" currently. 01:29
the assumption has been that if we get mixins working properly, the properties will fall out of that. 01:30
masak ?eval my $a = 1 but { "hi" }
evalbot_r15386 \1
masak seems it takes a block and ignores it at present 01:31
TimToady ?eval say "hi" if 0 but True;
audreyt I think it implements the monkey-but construct
evalbot_r15386 Error: Cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
audreyt which is not the same as mixins
01:31 fglock joined
fglock I've got a cool idea while driving home :) 01:34
mp6 now has a pugs backend
and I'll make a p6-parrot backend 01:35
so all my code is now reusable
and mp6->parrot is straightforward 01:36
also mp6->haskell :)
01:42 miyagawa joined
fglock audreyt: I'm not sure if it is specced, but I use $/.to(3) in mp6 (it's an error in pugs, so I wrote a workaround) 01:43
TimToady what is it supposed to mean? 01:45
fglock change $/.to to 3 01:46
TimToady 3 what?
fglock 3rd char in the matched string
TimToady bet it's not
at least, I'll bet some platforms would make it bytes instead of chars 01:47
are you using it to set the final position back from where it ended up or forward?
audreyt fglock: we did that because MP6 has no assignment... 01:48
also, relative positioning (and reuse unit) makes more sense
oops, TimToady already said that.
fglock: I wonder if $/.to_char(3) makes sense...
$/.set_to_char(3) # heh 01:49
TimToady $/.set_current_to_position_to_char_number(3) :)
but why are we moving the position around in the first place? Looking for the use case. 01:50
fglock TimToady: inside a regex, it builds an empty Match and then set .to
TimToady ah 01:51
fglock as the match continues, .to keeps incrementing
TimToady what I've been calling .pos, actually 01:52
but that's probably confusing the matcher with the matchee 01:53
01:55 weinig|away is now known as weinig
TimToady $_.pos presumably gets set to $/.to at certain points when the user might ask for .pos, I suppose. 01:55
fglock actually, I'm using an object called $MATCH, which is then copied to $/
I probably need some sleep before looking at this 01:59
mp6-on-pugs is currently using it's own $MATCH instead of pugs internal $/ 02:00
so this can be fixed later 02:01
it's probably better to make mp6 and pugs just understand each other, so that no translation is needed - but 'cheat' was so inspiring :) 02:02
the code for mp6 token is very very short - it should be easily fixable once I understand all the problems: svn.pugscode.org/pugs/v6/v6-MiniPer...r/Token.pm 02:06
lambdabot tinyurl.com/27c24d
fglock see you tomorrow! - sleep & 02:07
02:07 diakopter joined
fglock audreyt: by relative positioning (and reuse unit) - do you mean '.to++' ? 02:09
02:11 fglock left
audreyt @tell fglock yes I mean .to += 10 02:15
lambdabot Consider it noted.
02:16 amnesiac joined 02:18 dmq joined, theorbtwo joined 02:28 REPLeffect_ joined 02:31 TimToady_ joined 02:47 araujo joined 03:04 lisppaste3 joined 03:09 weinig is now known as weinig|away 03:29 offby1 joined 03:52 REPLeffect_ joined 03:57 mako132_ joined 04:05 b00t joined 04:23 Yappo joined 04:24 drupek12212157 joined, baest joined 04:27 REPLeffect_ joined 05:47 GabrielVieira2 joined 06:06 Khisanth joined 06:13 BooK joined 06:23 guest1234 joined
guest1234 has anyone used a symbolic reference with an API routine? 06:31
06:32 |mjk| joined 06:46 forsaken joined 06:51 the_dormant joined 06:52 UWC joined 06:57 TimToady joined
svnbot6 r15387 | lwall++ | Major overhaul of symbol declaration and longnames for multi rules following 07:05
r15387 | lwall++ | a suggestion by putter++ to allow adverbial tags. Removes need for #+ too.
07:20 rfordinal_athome joined 07:28 amnesiac joined 07:31 iblechbot joined 07:39 UWC joined 07:41 aukjan|gone is now known as aukjan 07:44 the_dormant joined 07:53 penk joined 07:55 theorbtwo joined 08:03 bsb left, guest1234 left
svnbot6 r15388 | lwall++ | New version of cheat to go with new symbol notation. 08:05
08:08 drbean joined 08:19 drrho joined 08:30 aukjan is now known as aukjan|gone, aukjan|gone is now known as aukjan
svnbot6 r15389 | lwall++ | just formatting the comments to line up 08:42
08:51 dduncan left 08:52 yts joined 09:05 elmex joined 09:09 DHGE joined 09:14 UWC_ joined 09:15 mr_ank joined 09:34 andara joined 09:39 SCalimlim joined 09:47 Khisanth joined, drupek12212157 joined 09:48 c9s joined 09:58 buetow joined, GabrielVieira joined 10:05 aukjan joined 10:13 ofer1 joined 10:17 the_dormant joined 10:20 ruoso joined 11:01 ruoso joined 11:12 fglock joined 11:16 iblechbot joined 11:17 cmarcelo joined 11:21 GabrielVieira2 joined 11:25 kanru joined 11:27 fglock joined
svnbot6 r15390 | fglock++ | mp6 - added 'Pugs' backend; needs some work on parameter lists and Match object 11:27
cmarcelo moose. anyone with sudo @ feather could make this happen? => dev.pugscode.org/ticket/19 11:58
lambdabot Title: #19 (Replace current logo with a correctly scaled version) - Pugs - Trac
12:00 rindolf joined 12:01 chris2 joined
audreyt cmarcelo: done! 12:02
devbot6 dev: Ticket #19 (task closed): Replace current logo with a correctly scaled version <dev.pugscode.org/ticket/19#comment:2>
cmarcelo :) 12:04
audreyt: what's this "^Str vs. Str" thing? 12:06
12:06 jiing joined
audreyt cmarcelo: well in Perl 5 12:10
you have
'DBI'->isa('DBI')
right?
that is, the string 'DBI' can be used as a "prototypical" DBI object 12:11
from which you can create concrete instances
it is an Invocant with an Empty layout
i.e. no attributes
so far so good?
it uses the same ResponderInterface as any other instances
but it has no attributes
so you can only call methods on it that makes no use of attributes.
in Perl 6, if you look at an object, say 12:12
"hello world"
you can similarily ask for its prototype
via
"hello world".WHAT 12:13
which returns the prototypical Str
written as ::Str
cmarcelo (right..)
audreyt but if it's in scope, can also be written as Str
however
Str.isa(Class)
is _false_
unlike in other languages
to repeat: Str.isa(Str), but not Str.isa(Class) 12:14
however, how do we get a list of methods of the Str class?
we cannot say
Str.methods
because there is no &Str::methods method
rather, to get the list of methods we rely on the &Class::methods API
how do we get the class instance that backs up the Str object? 12:15
we use
"hello world".HOW
or
Str.HOW # same thing
it returns a Class instance
because of that, Str.HOW.new constructs another Class instance, not a Str instance
in any case, Str.HOW is abbreviated as ^Str
and stringifies as such 12:16
so you can say
^Str.methods
to get the list of methods of the Str class
or you can use the meta method quantifier:
Str.^methods
which is sugar for the same thing.
end of explanation
:)
cmarcelo nice. thanks. So: Str.^methods == Str.HOW.methods == ^Str.methods 12:18
audreyt correct.
cmarcelo and: "hello world".^methods too, right? (if works for Str) 12:21
audreyt right. 12:24
but ^"hello world" does not do that
rather it's shorthand for
""..^"hello world"
audreyt searches for a suitable poem for Pugs.Meta 12:54
12:56 elmex joined
svnbot6 r15391 | audreyt++ | * Pugs.Meta, a new modulespace to hold all builtin Class/Role 12:57
r15391 | audreyt++ | meta-objects and their methods. (In contrast, Pugs.Val would
r15391 | audreyt++ | define the Haskell-land primitive structs.)
r15391 | audreyt++ | > And though I oft have passed them by,
r15391 | audreyt++ | > A day will come at last when I
r15391 | audreyt++ | > Shall take the hidden paths that run
r15391 | audreyt++ | > West of the Moon, East of the Sun.
12:57 Limbic_Region joined 13:04 xern_ joined 13:05 the_dormant joined 13:08 drupek12212157 joined, theorb joined
gaal moose! 13:12
13:13 diakopter joined
cmarcelo moo 13:17
shay muu (spanish version) 13:18
13:25 aukjan is now known as aukjan|gone 13:26 aukjan|gone is now known as aukjan 13:33 andara joined
audreyt I really should blog about MO, Std, YARE, KP6 etc 13:46
but then I really should sleep too :-/
oh well, maybe tomorrow :)
audreyt commits and sleeps
svnbot6 r15392 | audreyt++ | * src/Pugs/MOP.hs needs no DrIFTing. 13:48
r15393 | audreyt++ | * Refactor ^Str and ^Class into their own modules. 13:51
14:07 drupek12212157 joined 14:23 aukjan is now known as aukjan|gone 14:29 aukjan|gone joined 14:30 fglock joined, aukjan|gone is now known as aukjan 14:32 yanto joined 14:42 bonesss joined, yanto is now known as yanto_
yanto_ /msg nickserv link yanto holland 14:43
args you should change your password now. 14:44
yanto_ oops 14:45
moritz ;))
yanto_ now I have to work out how to change it :'( 14:46
moritz maybe I'm faster ;))
yanto_ haha
14:48 forsaken joined 14:51 vel joined 14:52 yanto_ is now known as yanto
svnbot6 r15394 | fglock++ | PCR - added '||' and '&&' to the grammar; but the semantics for '|' is still procedural 14:55
15:07 GabrielVieira joined 15:13 REPLeffect_ joined 15:24 IllvilJa joined 15:37 REPLeffect_ joined, thepler joined 15:44 skyde joined
skyde hellp 15:44
hello
svnbot6 r15395 | audreyt++ | * Pugs.Val: Remove -boot circularity by restructing
r15395 | audreyt++ | the "Val" class into .Base.
moritz hi skyde ;)
15:44 kanru joined
moritz audreyt: today seems to be your big cleanup day ;) 15:46
svnbot6 r15396 | audreyt++ | * Pugs.AST.Internals - Remove circularity to Pugs.Meta
r15396 | audreyt++ | by moving toVV into Pugs.Prim. This means Pugs.Meta.*
r15396 | audreyt++ | edits won't trigger lengthy recompilation again.
audreyt :) 15:47
svnbot6 r15397 | audreyt++ | * Pugs.Meta: Avoid warnings and start to lay groundwork
r15397 | audreyt++ | for further Pugs.Meta.* calls.
audreyt stevan++ # once Moose 0.18 is released Pugs can get seamless MOP with Perl5 objects
i.e.
use perl5:DBI; DBI.connect(...).HOW.methods; # should transparently work 15:48
(and yes, we'll either bundle or depend on Moose.pm, since That Was The Plan All Along (tm))
and perl6-land defined classes will be visible from perl5-land as Moose-constructed classes 15:49
[particle] how will perl6-land classes be loaded in perl5-land? 15:50
15:52 penk joined
audreyt [particle]: redeclared via Moose.pm 15:53
[particle]: i.e. the p6-land "class Point { has $.x }"
generates both Haskell-side Point
and Perl5-side Point
since we can already ship closures bothways 15:54
if you define methods in p6-land
then the p5-land symtable entries simply point to the p6-land method bodies
but no matter which land you introspect from (i.e. @ISA, etc) 15:55
it will remain consistent
moritz wow ;)
audreyt ThatWasThePlanAllAlong(tm) :)
15:56 amnesiac joined, nusgnaf joined 15:57 fglock joined 15:58 rashakil joined
[particle] moose! 15:59
stevan_ mooooossseee!!!!!!!!! :) 16:03
w00se!
stevan_ runs off to wake up nothingmuch and tell him the news :P
16:07 aukjan is now known as aukjan|gone 16:10 the_dormant joined, cdpruden joined
fglock ¡¡¡əsooow 16:12
lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
TimToady I moosed be in the wrong channel... 16:14
TimToady goes off to feed a ruby to a python to see if it makes smalltalk 16:15
ingy thinks TimToady ada too much java 16:18
svnbot6 r15398 | audreyt++ | * Remove unused imports to avoid some more warnings in "make ghci". 16:20
16:29 Lorn joined
TimToady goes off to feed a ruby to a python to see if it makes smalltalk with a lisp 16:29
[particle] C#.Net you later 16:30
diakopter TimToady: basic smalltalk perhaps? 16:31
[particle] feeds an apl to ocaml 16:34
16:40 lisppaste3 joined
fglock audreyt: re poem - shreyasg.wordpress.com/2007/02/01/w...-sing-now/ 16:45
lambdabot Title: Who will sing now? 􏿽xAB Pulp Non-Fiction
16:47 fglock left
audreyt @tell fglock cool - but for hysterical reasons Pugs.* poems has to come from JRR Tolkien :) 16:48
lambdabot Consider it noted.
16:50 ruoso joined 17:07 buetow joined 17:12 thepler joined, GabrielVieira2 joined 17:14 nipra joined
gaal is there a wrong channel for moosing? 17:20
hehe, "OmegaGB is an emulator for the Nintendo Game Boy, written in pure haskell."
moritz yes, #elk ;)
gaal caribou, wapiti... 17:21
17:24 sahadev joined
TimToady I think #boris and #natasha don't like squirreling either. 17:30
moritz do pythons moose? 17:31
gaal no doubt
stevan_ moritz: that is how they make baby pythons, so of course they moose 17:33
gaal esteban! 17:34
moritz gaal: no worry, /me is over 21 ;) 17:35
TimToady I don't think chocolate mooses reproduce that that though... 17:36
s/that/like
gaal today we see how to make the chocolate moose
take the chocolate...
take the moose...
put the chocolate on the moose
moose moose
stevan_ stir until throroughly combined
[particle] bork bork bork! 17:37
gaal hurdy hurdy hur
@google swedish chef chocolate moose 17:38
lambdabot www.youtube.com/watch?v=CAsYwW7pt7o
stevan_ ponders a set of Cocoa bindings using Moose :) 17:39
17:39 justatheory joined, gnuvince joined
gaal :) 17:39
17:40 andara left 17:42 weinig|away is now known as weinig
gaal lambdabot obviously needs a @moose command 17:44
17:44 drupek12212157 joined
TimToady @moosages 17:45
lambdabot You don't have any new messages.
gaal @massages -- either 17:46
lambdabot You don't have any new messages.
TimToady @messagessessessess 17:47
lambdabot Unknown command, try @list
TimToady I guess it's not using soundex. :)
@mesejiz 17:48
lambdabot Unknown command, try @list
gaal looks at the source 17:49
17:50 bernhard joined 17:52 fglock joined
allbery_b no, it's levenschtein distance IIRC 17:52
audreyt gaal: HOW.methods support only took 1 line :D 17:59
svnbot6 r15399 | audreyt++ | * Support for Class.methods:
r15399 | audreyt++ | pugs> vv('str').HOW.methods
r15399 | audreyt++ | ["HOW","WHICH","bless","reverse"]
audreyt + , "methods" ... (map methodName . all_methods)
(in the PureClass table)
gaal you can derive Monad? how? and what >>= etc. do you get?
ooh! (commits shorter than the log)++ :) 18:00
audreyt you can only derive it for newtype
the powerful thing about ... is that you can return any Typeable stuff
and once you supply a Boxable instance for it (in Pugs.Meta) then it automagically becomes first-class Perl6 object
so for example 18:01
+instance Boxable Eval a => Boxable Eval [a] where
takes care of parametric Lists
i.e. we are no longer constrained to double box and use [Val]
now [ID] is just as first-class as [(Val, Val)]
using the same p6-land "list" method table
this makes most method body oneliners :D 18:02
gaal very cool
*very* cool :)
18:02 macli joined
audreyt and the UnboxedStrictStruct support geoffb++ wants jsut follows from this 18:03
aka PDL
gaal oh?
audreyt consider
[: Word16 :]
which is a fixed sized densely packed GPU-friendly vector aligned in 16-bits boundary 18:04
sicne we can derive
instance Boxable Eval a => Boxable Eval [: a :]
gaal is [: :] a 6.6 thing?
audreyt I think so 18:05
might be earlier not sure
gaal can you explain the difference between (...) and (!!!)?
audreyt need to say -fparr
sure. ... contains a pure method
!!! allows you to write in the Eval monad
devbot6 audreyt: Error: "!!" is not a valid command.
audreyt "aliased_method" !!! (./ "another_method") 18:06
is canonical example
so the idea is this: eventually they will used to be type the methods 18:07
method bodies carries effect types
pure/mutable/external
not values
values are always just values
this is closer to the actual desire
zgh anyone here going to the London.pm heretics meeting tonight? 18:08
audreyt of effect typing
so maybe ??? can be used for methods in STM
gaal @google effect typing
lambdabot cyberg.wits.ac.za/cyberg/sessiondoc.../hand1.htm
Title: The effect of touch typing skill on discomfort and performance in office workers
gaal er, no :/
@google haskell "effect typing
lambdabot homepages.inf.ed.ac.uk/wadler/topics/monads.html
Title: Wadler: Monads
audreyt @google marriage effects monads 18:09
18:09 penk left
lambdabot citeseer.ist.psu.edu/536524.html 18:09
Title: The Marriage of Effects and Monads - Wadler (ResearchIndex)
gaal interesting, that's the second time I'm hitting Wadler's page today :)
(reading Comprehending Monads for first time. Illuminating.)
zgh no london.pm heretics? oh well hope to see some of you there... 18:10
gaal zgh: ask on #perl maybe?
18:11 drupek12212157 joined
zgh hehe about to, but I'm more interested in this crowd ;-) 18:11
gaal from the abstract, effect typing sounds similar to what newVal was up to all along, no? 18:12
TimToady but we're heretical. oh, wait...
gaal we're neither here nor tical.
18:13 GabrielVieira2 is now known as GabrielVieira
zgh I'm tickled. 18:13
gaal that paper's a bit whoa. 18:22
devbot6 planet6: Audrey Tang: MO bridge landing! <pugs.blogs.com/pugs/2007/03/mo_brid...1.html>
18:23 wilx joined
audreyt @google Comprehending “Comprehending Monads" 18:23
lambdabot citeseer.ist.psu.edu/wadler92comprehending.html
Title: Comprehending Monads - Wadler (ResearchIndex)
audreyt hm, 2:30am. I need to at least get some sleep because there's a liver-damage-level bloodcheck in <8 hours... 18:24
sanity check on the latest blogpost welcome 18:25
*wave* &
gaal very clear and mooseful to my eyes 18:27
audreyt moose!
gaal though I'd love some discussion of what work is to be done in haskell and what in Moose.pm?
good night! 18:28
audreyt well you can _write_ that actually :)
but till tomorrow :) &
fglock I wonder if I can use yapp to find the longest token of a '|' in PCR
lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
gaal can't write it _yet_ :) 18:29
18:30 revdiablo joined 18:31 Maddingue joined, args joined 18:40 neonse joined 19:02 Macae joined 19:09 phiker joined 19:10 dduncan joined 19:15 rodi joined
Macae Good afternoon in Christ and Perl, Exists some documentation of the Pugs/Perl6 in Brazilian Portuguese? 19:21
PerlJam Macae: not to my knowledge.
There was some attempts at german though. Dont' know what happened with it. 19:22
Macae Ok ;)
19:26 jisom joined
Macae PerlJam: Thanks! :) 19:27
19:27 Macae left 19:40 weinig is now known as weinig|bbl
bernhard German docs are still alive: faq.perl-community.de/bin/view/Wiss...l6Tutorial 19:41
lambdabot Title: PerlCommunityWiki 􏿽xBB Wissensbasis 􏿽xBB Perl6Tutorial
PerlJam bernhard++ 19:43
fglock mm - Parse::Flex in cpan
maybe it can be plugged together with PCR token 19:44
TimToady fglock: cheat now de-multifies the multi rules 19:46