Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-08-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 hlen has joined #perl6
00:10 * luqui just finished a tic tac toe AI in haskell :-)
00:10 luqui It seems I'm learning
00:21 larsen has quit IRC ("later")
00:59 landover has joined #perl6
00:59 landover hey all
01:04 stevan has quit IRC (Read error: 110 (Connection timed out))
01:04 justatheory has quit IRC ()
01:12 penk has joined #perl6
01:27 scook0 has joined #perl6
02:02 nothingmuch has joined #perl6
02:35 nothingmuch_ has joined #perl6
02:48 nothingmuch_ hi people
02:49 revdiablo has quit IRC (Remote closed the connection)
02:50 nothingmuch_ has quit IRC ("leaving")
02:50 nothingmuch has quit IRC (Remote closed the connection)
02:50 nothingmuch has joined #perl6
02:50 * nothingmuch opened a basecamp account for pugs (free)
02:50 nothingmuch http://pugs.grouphub.com/
02:50 nothingmuch if anyone wants an account ask me
02:51 nothingmuch if it seems useful i'll buy a real account
03:07 luqui vas ist basecamp?
03:11 obra basecamp is a project management app written in rails
03:12 obra from 37signals
03:14 luqui has quit IRC ("Leaving")
03:33 jp-autark has quit IRC ("Lost terminal")
03:34 autark has joined #perl6
03:34 autark is now known as jp-autark
03:34 nothingmuch luqui, obra - want to co admin that thing?
03:35 obra I'd be vaguely curious to.
03:35 obra is this to ditch foundry?
03:35 obra or not for bugtracking?
03:36 nothingmuch not for bugtracking, for todo list stuff, and overall tab keeping on state of things
03:36 obra hm.
03:36 nothingmuch since we now have a bajillion side projects (PIL2JS, PIL2P5, PIL2, pugs the runtime)
03:41 jp-autark has quit IRC ("Lost terminal")
03:48 jp-autark has joined #perl6
03:54 landover nothingmuch
03:54 landover sounds to me like you guys need a project manager
03:54 landover heh
03:56 landover nothingmuch who is the project lead?
03:57 Amnesiac has quit IRC ("Leaving")
04:00 obra I'd probably peg autrijus as the project lead
04:24 nothingmuch has quit IRC (Read error: 113 (No route to host))
04:39 acme has joined #perl6
04:40 rafl has quit IRC (Read error: 54 (Connection reset by peer))
04:42 rafl has joined #perl6
04:56 acme___ has quit IRC (Read error: 111 (Connection refused))
05:47 penk has quit IRC (Read error: 110 (Connection timed out))
05:48 luqui has joined #perl6
05:50 evalbot_6497 has quit IRC (Remote closed the connection)
05:50 evalbot_6515 has joined #perl6
05:54 justatheory has joined #perl6
06:00 justatheory has quit IRC ()
06:07 dduncan has joined #perl6
07:14 jql has quit IRC (Read error: 110 (Connection timed out))
07:17 xern has quit IRC (Read error: 145 (Connection timed out))
07:27 xinming has quit IRC ("I really love GNU")
07:29 jp-autark has quit IRC ("leaving")
07:29 scw has quit IRC (Read error: 110 (Connection timed out))
07:29 autark has joined #perl6
07:29 autark is now known as jp-autark
08:00 xern has joined #perl6
08:11 penk has joined #perl6
08:18 prefiks has joined #perl6
08:20 iblechbot has joined #perl6
08:22 luqui has quit IRC (Remote closed the connection)
08:57 dduncan has quit IRC ()
09:18 Maddingue has quit IRC (Read error: 110 (Connection timed out))
09:20 xern_ has joined #perl6
09:22 Maddingue has joined #perl6
09:49 elmex has joined #perl6
09:52 xern has quit IRC (Read error: 110 (Connection timed out))
09:57 frodo72 has joined #perl6
10:14 larsen has joined #perl6
10:18 pdcawley_ has quit IRC (Remote closed the connection)
10:53 nothingmuch has joined #perl6
11:03 kvakke seen autrijus
11:29 pdcawley_ has joined #perl6
11:33 saorge has joined #perl6
11:44 nothingmuch has quit IRC (Read error: 113 (No route to host))
11:45 viocudinti has joined #perl6
11:51 saorge has quit IRC (Read error: 110 (Connection timed out))
11:54 saorge has joined #perl6
12:03 viocudinti has left
12:13 pdcawley_ has quit IRC (Read error: 110 (Connection timed out))
12:37 integral has quit IRC (Read error: 113 (No route to host))
12:49 frodo72 has quit IRC ("Client exiting")
12:56 firemind has joined #perl6
12:57 firemind is now known as blez
12:57 blez has quit IRC (Client Quit)
13:41 vcv has quit IRC (Nick collision from services.)
13:41 vcv has joined #perl6
13:41 vcv has quit IRC (Nick collision from services.)
13:41 vcv- has joined #perl6
13:58 integral has joined #perl6
14:06 svnbot6 r6516 | autrijus++ | * add -e support for crude_repl.pl:
14:06 svnbot6 r6516 | autrijus++ |     perl perl5/PIL-Run/crude_repl.pl -e 'say 123'
14:14 iblech has joined #perl6
14:26 scook0 has quit IRC ("Leaving")
14:42 putter has joined #perl6
14:42 putter iblech: ping?
14:42 iblech putter: pong
14:42 putter :)
14:42 putter you saw the correction to my comment as you were logging off the other day?
14:43 iblech Yep, and my brain automatically s/putter/iblech/ when I first read the sentence, so, no worries :)
14:44 putter ok. :)
14:48 svnbot6 r6517 | iblech++ | * DrIFT.Perl5: Emit proper utf8.
14:48 svnbot6 r6517 | iblech++ | * t/var/symbolic_deref.t: Fixed tests WRT s/our/my/ (added link to Larry's
14:48 svnbot6 r6517 | iblech++ |   statement) and added test for symdereffing Unicode vars.
14:49 QtPlatypus iblech: What is a symdereffing Unicode var?
14:49 iblech QtPlatypus: my $äöü = 42; say $::("äöü")
14:49 QtPlatypus Are
14:50 QtPlatypus Arh I undrstand
14:54 svnbot6 r6518 | iblech++ | * t/var/symbolic_deref.t: our $a; say $::("a") should work as well.
14:54 svnbot6 r6518 | iblech++ | * PIL2JS: Proper UTF8 handling, symbolic dereferentiation.
14:54 svnbot6 r6518 | iblech++ |   * pil2js.pl, jspugs.pl, PIL: Use Encode etc. to handle UTF8 correctly.
14:54 svnbot6 r6518 | iblech++ |   * README: Added section about the implementation of coroutines in PIL2JS.
14:54 svnbot6 r6518 | iblech++ |   * Prelude::JS: Symbolic dereferentiation (implemented by using $CALLER::)
14:55 justatheory has joined #perl6
15:00 svnbot6 r6519 | iblech++ | PIL2JS:
15:00 svnbot6 r6519 | iblech++ | * PIL2JS.js: Fix very stupid error regarding creation of user-defined
15:00 svnbot6 r6519 | iblech++ |   exceptions (4-char patch).
15:00 svnbot6 r6519 | iblech++ | * PIL::Subs: Backup $! in subs (i.e. "sub foo { try { die "foo" } }; foo(); say
15:00 svnbot6 r6519 | iblech++ |   $!" prints now (correctly) "").
15:00 svnbot6 r6519 | iblech++ | * Prelude::JS::ControlFlow: Modify &try to work with the above change.
15:00 svnbot6 r6519 | iblech++ | * Prelude::JS::Array: ($a, $b) := ($b, $a) works now (probably a bit
15:00 svnbot6 r6519 | iblech++ |   incorrectly, though, will enhance binding.t).
15:11 svnbot6 r6520 | iblech++ | t/operators/binding.t: Added more tests regarding binding of list literals
15:11 svnbot6 r6520 | iblech++ | (e.g. ($a, $b) := ...).  (PIL2JS doesn't pass these additional tests -- to fix
15:11 svnbot6 r6520 | iblech++ | them, I'd have to add a evil hack, so I probably won't fix this now. (It will
15:11 svnbot6 r6520 | iblech++ | be automatically fixed with PIL2 (which emits the LHS of a binding operation as
15:11 svnbot6 r6520 | iblech++ | a Params structure (exactly like sub signatures)).)
15:17 svnbot6 r6521 | putter++ | crude_repl.pl: Command line accepts multiple input files, optionally followed by repl use.  Also now multiple -e's.
15:26 putter Hmm... with getopt(), how does one override the (grossly unprofessional) default 'version' message?
15:26 putter (adding a 'version' pair generates a warning message re "duplicate"...)
15:31 elmex has left
15:31 iblech dunno about getopt, but Getopt::Long's GetOptions() allows you to GetOptions("version" => sub { print "foobar 0.1..."; exit })
15:36 putter Thanks.  It's just a bare getopt(), though the args look like Getopt::Long.  Adding a "version" handler results in a Duplicate specification "version" for option "version" warning.  Adding a use Getopt::Long to config no_auto_version doesnt help.
15:37 putter Bah.  "crude"_repl isn't supposed to mean it says things like   This is crude_repl.pl, with no version, so stick it up your source repository!
15:47 svnbot6 r6522 | putter++ | crude_repl.pl: Avoid unfortunate default -V --version message.  A warning is now emitted on every run, but it's not immediately clear how to avoid this.  Anyone?
15:47 svnbot6 r6523 | putter++ | crude_repl.pl: now executable.
16:10 elmex has joined #perl6
16:14 wolverian has quit IRC (Read error: 104 (Connection reset by peer))
16:20 revdiablo has joined #perl6
16:20 svnbot6 r6524 | vkon++ | fix tibetan unicode test, add russian similar one
16:21 putter iblech: do we know what PIL2 class defs are going to look like?  if we could easily fake them...
16:22 revdiabl1 has joined #perl6
16:23 prefiks has left "Ex-Chat"
16:23 revdiablo has quit IRC (Client Quit)
16:23 iblech putter: No, I do not... Except: class Foo {...} will really be ::Foo ::= class {...} (this allows us to make "my $x; class Foo { has $.foo = $x }" work)
16:24 revdiabl1 has quit IRC (Client Quit)
16:24 revdiablo has joined #perl6
16:24 integral is PIL/PIL.hs all that there is on the PIL2 ADT at the moment?
16:25 iblech putter: Maybe that will emit calls to the metamodel? E.g. ::Foo ::= $*METAMODEL.new_class().add_i​nstance_attribute('$.foo')...
16:25 iblech integral: I think so.
16:25 integral hrm. :-/
16:25 putter ooo, neat idea...
16:25 integral metamodel calls are modeled as actual perl6 things still at PIL level?  Not as "opcodes"?
16:26 iblech integral: I dunno. But I'd like them not to be opcodes, because then you can override things from Perl 6-space
16:27 integral hmm, I was thinking of it as a bit like tieing,  where you either don't have a tie, or you do, in which case the haskell behind the opcode proxies back to perl6
16:29 iblech Hm, I'd be fine with that, too
16:29 Khisanth has quit IRC (Read error: 110 (Connection timed out))
16:29 putter one downside of not having (at least some of) them be opcodes is it would rather decrease your ability to compile PIL.
16:30 putter but that loss seems inherent in being able to override the mm.
16:31 iblech Right, putter.
16:31 putter is the currently a common mm api between the perl and js mm's?
16:31 putter s/the/there/
16:33 putter (and, next question, is it exposed to p6 under js?  ie, can one write p6 code which calls mm constructors?)
16:33 iblech No. I wanted to add that but noticed that the API is totally unspecced.
16:33 Khisanth has joined #perl6
16:33 iblech No, you can't.
16:33 putter hmm
16:33 iblech (It would be relatively simple to implement it -- but I need an API specification)
16:35 putter can't under p5 either, but as you say, it shouldnt be difficult to implement.
16:37 putter if p6 oo was working under pugs, do you have a feel for how much of PIL2JS you would shift to p6?  Eg, for pilrun, I'd just asume have all the PIL analysis and codegen done in p6 (but that is at least in part, because it isnt written yet;).
16:39 iblech Hm, I'd probably (try to) shift everything to P6, with the possibly exceptions of jspugs.pl (Term::Readline) and pil2js.pl (BSD::Resource)
16:40 putter yeah.
16:43 svnbot6 r6525 | iblech++ | * New t/data_types/lists.t: Tests list indexing, list slicing, list elements as
16:43 svnbot6 r6525 | iblech++ |   lvalues, and lists as lvalues in assignment and binding, Juerd++.
16:43 svnbot6 r6525 | iblech++ | * t/subroutines/sub_named_params.t: Skip inflooping test under PIL2JS.
16:43 svnbot6 r6525 | iblech++ | * PIL2JS: Prelude::JS::Array, PIL2JS.js:
16:43 svnbot6 r6525 | iblech++ |   List creation (&infix:<,>) no longer creates new containers.
16:43 svnbot6 r6525 | iblech++ |   Instead, assigning to an array takes care of that.
16:43 svnbot6 r6525 | iblech++ |   This is so we can pass lists.t 14/14 and binding.t 28/28 :)
16:44 iblech Hm, it seems to me that ($first, @rest) = foo() is bogus/hard to implement.
16:45 saorge_ has joined #perl6
16:45 iblech ($first, *@rest) := foo() will be no problem, as the LHS of a binding operation is really a sub signature (and PIL2 will emit an appropriate Params structure)
16:46 iblech But I don't think I can get the first case (normal assignment) to work without hackery, as &infix:<,> has a signature of (*@xs), so @rest will be flattened
16:46 putter hmm.  that consistency might be worth losing backwards compatibility for.
16:47 putter p6l?
16:47 iblech I think so, too.
16:47 iblech Yep, writing mail...
16:50 poletti has joined #perl6
16:50 poletti is now known as frodo72
16:50 saorge__ has joined #perl6
16:50 putter (*%mods, +$bar, *@rest) = foo()    the mind boggles. ;)
16:52 putter perhaps what you are really doing there is specifying the signature of the return continuation of foo().
16:54 putter though in p5 there is an extra implicit and hidden *@ignore_any_extra_trailing_arguments
16:56 iblech Right, you can see it that way.
16:56 iblech Right.
16:56 putter (now if continuations could be multi subs... :)  oh, unless we have separate escape continuations, I guess they already are?
16:58 iblech continuations as multi subs  # mind *really* boggles ;)
16:59 wolverian has joined #perl6
17:00 saorge has quit IRC (Read error: 110 (Connection timed out))
17:01 putter ;)  well, if you only have the one continuation, then raise would use it, and Exception is unlikely to match the default return args, so...  multi sub?
17:04 putter obviously, in the real world, you have a second continuation for exceptions.  but there seems a certain elegance in having just one.  and done via multisubs, one gets nice properties like catching with full mmd capabilities.
17:05 iblech <evil_idea>We could see throwing an exception as a regular return, and catching would be simple: (Exception $foo) := bar(). Because return continuations would be multi subs, regular returns wouldn't be affected.</evil_idea>
17:06 saorge_ has quit IRC (Read error: 110 (Connection timed out))
17:06 putter :-)
17:07 tene has quit IRC (Read error: 104 (Connection reset by peer))
17:07 tene has joined #perl6
17:09 nothingmuch has joined #perl6
17:10 iblech perlbot nopaste
17:10 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
17:11 pasteling "iblech" at 80.81.23.67 pasted "p6l post draft" (40 lines, 1.6K) at http://sial.org/pbot/12774
17:11 putter can individual... drat, we need a different acronym for metamodel so we can have mm back for multi method... can individual "branches" of a multi be declared my or local^H^Htemp?
17:12 iblech I think so.
17:14 * QtPlatypus doesn't see why not.
17:14 putter oh, that's very nice then.  one can be safe, my, or choose to live dangerously, and not be limited to Exception based... exceptions.
17:17 iblech mail sent. food &
17:17 putter iblech: for p6l, it might be better as a strictly language question.    what is easier/harder for PIL2JS, or pugs as a whole, is a secondary issue.   so maybe just, "if we do foo (*@rest), it will be consistent with bar (signitures)
17:17 putter oh.  putter really needs to learn to hit return more often. ;)
17:17 putter no problem.  worth sending.  see'ya later &
17:18 putter hmm food...
17:21 nothingmuch landover: ping
17:24 justatheory has quit IRC ()
17:27 saorge_ has joined #perl6
17:30 meppl has quit IRC (Read error: 60 (Operation timed out))
17:31 saorge has joined #perl6
17:41 larsen has quit IRC (Read error: 110 (Connection timed out))
17:42 meppl has joined #perl6
17:43 saorge__ has quit IRC (Read error: 110 (Connection timed out))
17:43 saorge__ has joined #perl6
17:46 saorge__ has quit IRC (Read error: 104 (Connection reset by peer))
17:46 saorge_ has quit IRC (Read error: 110 (Connection timed out))
17:47 saorge__ has joined #perl6
17:49 saorge_ has joined #perl6
17:50 saorge_ has quit IRC (Client Quit)
17:50 saorge_ has joined #perl6
17:56 dduncan has joined #perl6
17:58 saorge has quit IRC (Read error: 110 (Connection timed out))
18:01 saorge has joined #perl6
18:03 wilx has quit IRC (Read error: 104 (Connection reset by peer))
18:04 nothingmuch iblech: you've got mail
18:05 saorge__ has quit IRC (Read error: 110 (Connection timed out))
18:09 justatheory has joined #perl6
18:14 wilx has joined #perl6
18:15 larsen has joined #perl6
18:16 saorge_ has quit IRC (Read error: 110 (Connection timed out))
18:19 iblech nothingmuch: re. you've got mail, too :)
18:25 ihb has joined #perl6
18:42 SamB has quit IRC (Read error: 104 (Connection reset by peer))
18:48 putter luqui: fyi, www.luqui.org is currently refusing connections.
18:53 svnbot6 r6526 | iblech++ | PIL2JS:
18:53 svnbot6 r6526 | iblech++ | * PIL::Subs: Fix the .name of PSubs.
18:53 svnbot6 r6526 | iblech++ | * Prelude::JS::Code: Add a "name" method so &Test::cmp_ok can report errors
18:53 svnbot6 r6526 | iblech++ |   correctly.
18:53 svnbot6 r6526 | iblech++ | * PIL2JS: &jsbin_hack: Add a CPU-burning implementation of window.setTimeout,
18:53 svnbot6 r6526 | iblech++ |   needed to support &sleep when running under bin/js.
18:53 svnbot6 r6526 | iblech++ | * Prelude::JS::Operators: Readd many operators so taking a reference to them
18:53 svnbot6 r6526 | iblech++ |   works again (needed for most calls to &Test::cmp_ok).
18:53 svnbot6 r6526 | iblech++ | * README: Minor updates.
18:53 iblech nothingmuch: ...and http://nothingmuch.woobling.org/pugs_test_status/ is still at r6378
18:54 * nothingmuch kicks eris
18:54 nothingmuch ah, someone rebooted
18:55 iblech Hm, according to nothingmuch's smoke, normal Pugs passed only 85.71% at r6378 (only 12% more than PIL2JS! :))
18:56 nothingmuch ooh
18:56 nothingmuch time to port Prototype to perl 6?
18:58 SamB has joined #perl6
18:59 putter iblech: and 20% are rules!?!
19:01 iblech putter: Hm, wait, nothingmuch's smoke failed all rules tests, and PIL2JS skips all rules test, so we've to add your 20% to nothingmuch's smoke to get comparable numbers
19:01 putter oh.  drat.  never mind.
19:01 nothingmuch can anyone fix rules for me? i don't know what I'm doing wrong
19:02 putter is your smoke pugs compiled with parrot external or internal?
19:02 nothingmuch iblech: how quick a hack is it to make the JS runtime put $*DOM as an object that has some top level objects (window, document, etc)
19:02 putter ;)
19:03 iblech nothingmuch: $*JS.window works :)
19:03 nothingmuch arguably that isn't $*JS though =/
19:03 nothingmuch but great =)
19:03 nothingmuch can you call to JS code?
19:04 iblech nothingmuch: Sure! JS::alert 42
19:04 nothingmuch i mean user defined code
19:04 nothingmuch JS::myFunc?
19:04 iblech Works as well :)
19:04 nothingmuch wunderbar
19:04 iblech You can even call methods on (optionally user-defined) classes :)
19:04 iblech s/classes/objects/
19:05 iblech (I.e. $*JS.document.write("foo") works, but new $*JS::Date does not.)
19:05 nothingmuch hmm
19:05 nothingmuch so how far are we from porting Prototype to Perl 6?
19:05 putter nothingmuch: rules smoke fine for me.  I'd be glad to ask&answer questions re likely problems if you wish.
19:05 iblech (But you can fake it: JS::inline('new Date').foo.bar.baz works)
19:06 nothingmuch iblech: what about my $foo = JS::inline('new Date'); ?
19:06 iblech nothingmuch: Works.
19:06 iblech nothingmuch: Even my $foo = &JS::alert; $foo("hi!") works
19:06 nothingmuch does pugs let you say &code.pil ?
19:07 iblech No.
19:07 nothingmuch i think that's the next step
19:07 nothingmuch then you could write code as JS
19:07 nothingmuch uh, ^H
19:07 nothingmuch you could write a webapp framework
19:07 nothingmuch and write prototype code as perl 6 code
19:07 nothingmuch and then just point to the functions, and say js(&effect.pil); # or whatever
19:08 nothingmuch it would probably be very very slow right now, but still cool
19:08 nothingmuch is mod_pugs still working?
19:11 putter I was just now looking at DrIFT, thinking of writing -CPerl6. The DrIFT representations seemed rather verbose... creating a p6 version from the p5 version should only require changing a line or two, no?  rather than cut and pasting two files.
19:13 nothingmuch time to do  the dishes
19:13 putter nothingmuch: some of your smoke's behavior re rules is consistent with a default pugs build (no embedded parrot) which doesnt have parrot in its PATH at smoke time.
19:13 nothingmuch putter: if you feel like volunteering to trouble shoot my smoke loop I can give you shell access
19:13 nothingmuch ah, path... hmm
19:15 putter nothingmuch: can I add  make smoke-js ? ;)
19:15 nothingmuch putter: sure, let me rsync my spidermonkey source tree.
19:15 iblech putter: Unfortunately, I know absolutely nothing about how to write "class DrIFT::Perl6 is Drift::Perl5 {...}" in Haskell...
19:15 iblech nothingmuch: ooh latest spidermonkey
19:16 nothingmuch iblech: 1.5-rc6a?
19:16 nothingmuch i really have to do the dishes... talk to you guys later
19:16 iblech nothingmuch: There might be a problem -- make smoke-js isn't capable of creating a smoke-js.html -- I've always had to manually run /util/testgraph.pl > smoke-js.html (dunny why)
19:16 nothingmuch putter: /msg me a login and temp password or ssh key
19:16 iblech nothingmuch: 1.5-rc6a is fine
19:17 nothingmuch iblech: i'll help you with TTH later
19:17 nothingmuch *poof*
19:17 iblech Later nothingmuch
19:19 putter iblech: any reason not to do unattended automated smokes of js?   Eg, pilrun or the mm still has swap-exhausing deep recursions...
19:21 putter (so that's an example of a reason why nothingmuch doing make smoke-perl5 is still a bad idea...;)
19:21 iblech Hm, if you export PIL2JS_RESOURCE_GUARD=1 then no test can run longer than 35s. But WRT RAM use, compiling the Prelude does take several hundreds of MiB, and bin/js takes constantly ~~100 MiB (on all tests)
19:22 iblech But now that I think of it, it might be a bad idea to smoke-js unattendedly
19:23 putter :(
19:23 iblech (Unless the machine has got, say, >= 1.5 GiB of RAM)
19:24 iblech The problem this, although *currently* running a smoke does not take more than, say, 300 MiB, this might change, causing nothingmuch's poor box to die...
19:24 putter Hmm... perhaps we are going about this the wrong way... maybe just a repository where anyone can upload (ftp) a smoke they have run, and a simple gardian (delete if older than n-days or doesnt look like a smoke file).
19:25 putter s/ftp/ftp?/
19:26 iblech I like that :)
19:27 putter so either anon ftp, or an html upload file?
19:28 larsen has quit IRC ("later")
19:29 iblech I think ftp is easier to automatize than html upload
19:29 putter nothingmuch: would you be willing to host such a service?
19:29 iblech (But I wouldn't mind html upload)
19:29 putter k
19:30 putter I dont know if anon ftp still has a poor security rep.  but could be easiest approach.  html would allow enforcing/hinting naming conventions, but that might be pointless or otherwise undesireable.
19:32 putter ok, just need a host.  Volunteers?
19:33 putter ahem,
19:33 putter ================================​================================
19:33 putter Volunteers!
19:33 putter ================================​================================
19:34 putter ;)
19:34 * iblech volunteers. (But as I don't know much about properly configuring a ftpd, it might take a while...
19:34 iblech )
19:35 putter :)
19:35 putter iblech++
19:35 sapper has joined #perl6
19:36 * putter contemplates a few line util/pil_p6_from_p5.pl converter script...
19:37 putter iblech: would also need to be running a webserver on the machine...
19:38 iblech putter: Webserver is not a problem, already set up :)
19:38 putter please dont let me loud cry for volunteers push you into running a service you would rather not...
19:39 putter (more services unavoidably means more potential problems sucking time and interrupting whatever the normal use of your machine is)
19:41 putter hmm... though admittedly it's been running wiki's which have soured me on a "sure, toss on lots of services and quietly run them for years" concept.
19:41 iblech I wouldn't have volunteered if it'd be a problem :) The normal use is just delivering two local websites and running the svnbot6 :)
19:41 putter :)
19:43 putter MIT brings in the alums, gets 'em drunk, and talks them into donating large chunks of money.  Always seemed to me at best borderline unethical.
19:44 putter Caveat, such checks arent actually signed until later, but the social lock-in, anouncement etc, happen immediately.
19:49 nothingmuch has quit IRC (Read error: 148 (No route to host))
19:55 nothingmuch has joined #perl6
19:55 justatheory has quit IRC ()
20:02 putter hmm, we cant cast hashes to arrays @%h, is there some way that given $x which is array @a or hash %h, to get @a and %h.kv respectively?
20:07 iblech hash(@array).isa(Hash)  # true
20:07 iblech [%hash].isa(Array)  # true
20:07 iblech Or do you mean something different?
20:09 putter $x.isa(Hash) ?? $x.kv :: @$x
20:09 putter which I guess surfices.  thanks.
20:11 putter snack... and then end of day I expect.
20:24 wolverian putter, I think one should use .does
20:24 wolverian or just ~~
20:24 wolverian (unless it doesn't work yet...)
20:24 putter btw, to convert -CPerl5 to -CPerl6, this may be a sufficient kludge:  $code ~~ s:perl5:g:i/ => ("[a-z:]+"\))/ , $0/; my sub bless($x,$y){...} eval($code); say $! if $!;
20:25 putter wolverian: good point.  thanks! :)
20:25 wolverian don't hashes listify in list context anyway?
20:25 wolverian *$foo or list($foo)? hmm.
20:27 iblech Hashes do, but not hash references
20:27 wolverian right.
20:27 putter Aha!  and there's the answer folks, *$x
20:27 iblech [$x], where $x is a hash reference, evaluates to a one-elem array
20:27 wolverian that works? wow, yay me.
20:28 putter (or at least so says pugs)
20:28 putter wolverian++
20:28 iblech Huh? *$hashref does not evaluate to $hashref.kv in normal Pugs
20:28 iblech ?eval (*{a => 1, b => 2}).isa(Array)
20:28 evalbot_6515 bool::true
20:28 iblech oh
20:28 iblech hm
20:29 iblech Ah, one(Pugs, I) got the precedence of
20:29 iblech Ah, one(Pugs, I) got the precedence of * wrong
20:29 putter pugs> my %h=(3,4,5,6);  *%h
20:29 putter ('3', 4, '5', 6)
20:30 putter hmm...
20:30 ods15 makes sense
20:30 iblech ?eval my %h = (a => 1, b => 2); *%h
20:30 evalbot_6515 ('a', 1, 'b', 2)
20:30 wolverian imho doing that should warn. "did you mean to construct a list? use => with literal hashes"
20:30 iblech hm
20:30 ods15 ?eval my %h = (a => 1 => b => 2); *%h
20:30 evalbot_6515 ('a', (1, ('b' => 2)))
20:30 ods15 err??
20:30 iblech wolverian: Consider my %hash = foo()  (where &foo returns a list)
20:30 wolverian iblech, right. I only mean literal hashes.
20:30 svnbot6 r6527 | iblech++ | * t/unspecced/connect.t: Check for $*OS eq "browser" before checking for %*ENV.
20:30 svnbot6 r6527 | iblech++ | * t/data_types/array_ref.t: [$foo][0] =:= $foo should be false, as [] creates a
20:30 svnbot6 r6527 | iblech++ |   new array (with new containers), not a list.
20:30 svnbot6 r6527 | iblech++ | * PIL2JS.
20:30 svnbot6 r6527 | iblech++ |   * PIL: Escape UTF-8 so not only Firefox can handle it, but Spidermonkey's
20:30 svnbot6 r6527 | iblech++ |     /bin/js, too.
20:30 svnbot6 r6527 | iblech++ |   * PIL::Subs: Fix .name of /^__init/ and /^__export/ special subs.
20:31 svnbot6 r6527 | iblech++ |   * PIL2JS.pm: Call &Encode::encode($output_of_bin_js).
20:31 svnbot6 r6527 | iblech++ |   * Prelude::JS::ControlFlow: Make $! rw again.
20:31 svnbot6 r6527 | iblech++ |   * Prelude::JS::Str: $_ = "foo"; say uc  # works now (same for ucfirst, etc.)
20:31 svnbot6 r6527 | iblech++ |   * Prelude::JS::Array: [] should create a new array with new containers.
20:31 putter re  -CPerl5 to -CPerl6 , note that using p5 for the transliteration is much faster.  unfortunately, I dont immediately see a way to ask Data::Dumper to use "," instead of "=>" to separate bless()'s arguments.
20:31 iblech ods15: That's correct. You created a hash containing one elem (with key "a"). %h<a> is the nested pair (1 => (b => 2))
20:31 iblech wolverian: Ah, ok.
20:31 ods15 in perl5 what did i just do then?
20:32 iblech ods15: In Perl 5, => is exactly the same as ,
20:32 ods15 not exactly
20:32 iblech right, => autoquotes
20:32 ods15 ok
20:32 iblech but semantically speaking, they're equivalent
20:32 ods15 so perl6 different :)
20:33 iblech Right. In P6, => creates a real Pair object, which provides the .key .value .pairs .kv methods
20:33 iblech Oh, and it provides .values and .keys
20:33 iblech And &postcircumfix:<{ }>, IIRC:
20:33 iblech ?eval (a => 1)<a>
20:33 evalbot_6515 \1
20:33 iblech Yep.
20:35 wolverian Pair doesn't have .values and .keys
20:35 wolverian it shouldn't have, anyway
20:35 iblech ?eval (a => 1).keys
20:35 evalbot_6515 ('a')
20:35 iblech It should have, per the pairs-can-behave-like-one-element-hashes
20:35 wolverian oh. okay.
20:35 wolverian I think that should be autopromoted to a Hash, actually
20:36 wolverian it feels cleaner, anyway.
20:36 wolverian (the hoops we jump through...)
20:37 iblech This can be considered as an implementation detail -- the user won't notice a difference if $pair.keys is really &coerce:<as>($pair, Hash).keys or &Pair::keys($pair:)
20:38 iblech But I need to sleep now. Night all! :)
20:38 putter iblech: quick question...
20:38 iblech putter: Oh and I'll probably set up the ftp thingie tomorrow :)
20:38 iblech putter: Go ahead
20:39 putter neat, err, is there a js read eval print loop.  Ie, I type "say 3" and see "3"?
20:39 iblech No, but it would be trivial to add (except that there's no .perl yet in PIL2JS)
20:39 putter ok.. thanks.  just wanted to make sure I wasnt missing something obvious.  good night! &
20:40 iblech Currently, jspugs.pl always creates a output.html, and I typically always hold a tab with output.html in Firefox
20:40 iblech Ok. Night all! :)
20:40 iblech has quit IRC ("sleep &")
20:42 ods15 pains in the asses, they won't let me rest in the guard tower :( last time i fell asleep there they friggin woke me up!!
20:43 putter ;)
20:43 wolverian is that a game you're talking about or ...?
20:44 putter ("sleeping in guard tower" ~~ "bad precedent" ;)
20:45 putter good night &
20:45 putter has quit IRC ("Leaving")
20:47 nothingmuch has quit IRC (Read error: 113 (No route to host))
20:47 ods15 not game
20:47 ods15 army...
20:48 wolverian oh. I'm sorry. :/
20:48 wolverian or is it voluntary?
20:50 iblechbot has quit IRC (Connection timed out)
21:13 clkao 6/win11
22:00 nothingmuch has joined #perl6
22:52 justatheory has joined #perl6
23:00 nothingmuch has quit IRC (Remote closed the connection)
23:50 saorge has quit IRC (Read error: 110 (Connection timed out))
23:50 meppl has quit IRC (Read error: 113 (No route to host))
23:51 meppl has joined #perl6
23:52 saorge has joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo