Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-12-17

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:00 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ $_ for @ra; say @ra.perl
00:00 p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤[10..20, 30..40]␤»
00:00 flussence it doesn't auto-flatten
00:00 shi joined #perl6
00:01 flussence oh, and
00:01 richyfish i dont want to flatten tho
00:01 tadzik what's @a?
00:01 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say $_ for @ra; say @ra.perl
00:01 p6eval rakudo a95c1d: OUTPUT«10 11 12 13 14 15 16 17 18 19 20␤30 31 32 33 34 35 36 37 38 39 40␤[10..20, 30..40]␤»
00:01 richyfish i want to check 10 is in either range
00:01 flussence rakudo: say 10 ~~ 30..40
00:01 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:01 flussence hm
00:01 richyfish (sorry @a = @ra typo)
00:02 flussence that *does* look weird
00:02 flussence rakudo: say 10 ~~ (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
00:02 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:03 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say (10 ~~ $_).perl for @ra;
00:03 p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤»
00:04 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say $_.WHAT for @ra;
00:04 p6eval rakudo a95c1d: OUTPUT«Range()␤Range()␤»
00:04 flussence rakudo: say 10 ~~ (30..40)
00:04 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:04 Guest87704 joined #perl6
00:04 flussence yeah, now I'm lost too.
00:04 richyfish yep, i tried it with map also
00:04 adu left #perl6
00:05 richyfish rakudo: map { 10 ~~ $_ }, @ra;
00:05 p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Symbol '@ra' not predeclared in <anonymous> (/tmp/eHyLgpziqc:22)␤»
00:05 richyfish oops
00:05 richyfish rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; map { 10 ~~ $_ }, @ra;
00:05 p6eval rakudo a95c1d:  ( no output )
00:07 richyfish so, would you say this is a bug?
00:09 flussence looks like one to me, but I'm no expert on the internals
00:09 richyfish hmmm
00:11 sorear not a bug
00:11 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl6/index.cgi?perl_6_index_tablet
00:11 sorear p6eval only prints stuff if you tell it to
00:11 sorear rakudo: rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra;
00:11 p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: my"␤»
00:11 sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra;
00:12 p6eval rakudo a95c1d: OUTPUT«Bool::TrueBool::True␤»
00:12 richyfish yeah, not talking about p6eval.
00:12 richyfish talking about the output: Should be True, False ?
00:12 sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ 30..40
00:12 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:12 sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[1];
00:12 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:12 sorear rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[0];
00:12 p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
00:12 sorear oh
00:13 sorear 10 ~~ $_
00:13 sorear ~~ evaluates the right hand side in a context where $_ is equal to the left hand side
00:13 sorear so that's the same as 10 ~~ 10
00:13 richyfish $_ is a Range() in this context tho
00:14 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ * for @ra[1];
00:14 p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
00:14 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ * for @ra;
00:14 p6eval rakudo a95c1d: OUTPUT«Bool::True␤Bool::True␤»
00:14 flussence I guess * = $_ here
00:14 sorear richyfish: $_ is 10 while the ~~ is being evaluated though
00:14 sorear rakudo: say { 10 ~~ $_ }.(5)
00:14 p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
00:14 sorear rakudo: say { 10 ~~ $^a }.(5)
00:14 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
00:15 flussence but if all you want to do is check if 10 is in either range...
00:15 sorear do you understand yet?
00:15 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ any(@ra);
00:15 p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
00:15 richyfish rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { .WHAT }, @ra;
00:15 p6eval rakudo a95c1d: OUTPUT«Range()Range()␤»
00:16 richyfish thats why i said $_ is a Range(), which is why i'm a little confused.
00:16 flussence rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ (say $_.perl; $_) for @ra;
00:16 p6eval rakudo a95c1d: OUTPUT«10␤Bool::True␤10␤Bool::True␤»
00:16 sorear richyfish: $_ can have different values in different parts of the same expression
00:16 richyfish ah
00:19 richyfish so, out of interest.  in the last above expression what sets $_
00:20 sorear ~~ does
00:20 sorear 18:13 < sorear> ~~ evaluates the right hand side in a context where $_ is equal  to the left hand side
00:20 sorear 18:14 < sorear> richyfish: $_ is 10 while the ~~ is being evaluated though
00:20 richyfish yup.
00:20 sorear how could I have been clearer?
00:21 richyfish understood now.
00:22 flussence rakudo: say $_ for 1..3;
00:22 leprevost left #perl6
00:22 p6eval rakudo a95c1d: OUTPUT«1␤2␤3␤»
00:22 flussence for sets $_, but ~~ does too, and ~~ gets called later
00:22 flussence that description seems slightly clearer
00:22 flussence imp.
00:22 flussence s/p/o/.
00:24 whiteknight joined #perl6
00:24 icwiener left #perl6
00:25 richyfish thanks guys.  and goodnight.
00:27 richyfish left #perl6
00:31 Tene joined #perl6
00:31 Tene left #perl6
00:31 Tene joined #perl6
00:31 felliott_ joined #perl6
00:32 felliott left #perl6
00:32 felliott_ is now known as felliott
00:32 stkowski left #perl6
00:32 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl6/index.cgi?perl_6_basics_tablet
00:33 stkowski joined #perl6
00:35 me joined #perl6
00:35 me is now known as Guest73587
00:36 Guest73587 left #perl6
00:39 kthakore j
00:41 lopaway is now known as lopnor
00:42 Tene left #perl6
00:48 cdarroch left #perl6
00:53 am0c joined #perl6
00:58 stkowski left #perl6
00:58 QinGW joined #perl6
01:01 stkowski joined #perl6
01:03 dalek niecza/cilbackend: c5c25e1 | sorear++ | lib/CLRBackend.cs:
01:03 dalek niecza/cilbackend: Set up AssemblyBuilder harness
01:03 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/c5c25e1fe6
01:03 dalek niecza/cilbackend: 4660079 | sorear++ | Niecza.proj:
01:03 dalek niecza/cilbackend: Add CLRBackend to the build system
01:03 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/4660079c30
01:05 Chillance left #perl6
01:08 nymacro left #perl6
01:15 lopnor left #perl6
01:20 nymacro joined #perl6
01:22 lopnor joined #perl6
01:24 wamba left #perl6
01:26 risou left #perl6
01:30 lue joined #perl6
01:30 ab5tract left #perl6
01:34 skangas left #perl6
01:34 shi left #perl6
01:35 perigrin_ is now known as perigrin
01:35 flussence the IO spec in S32 really confuses me... what's the perl6 equivalent of a "mkdir -p a/b/c" command? And will it work in rakudo?
01:46 stkowski left #perl6
01:50 ab5tract joined #perl6
01:55 flussence (otoh, 'run "mkdir -p a/b/c"' is good enough for now)
02:04 lopnor is now known as lopaway
02:14 mkramer left #perl6
02:24 mkramer joined #perl6
02:39 sorear flussence: S32 is being kept around for historical reasons only; there is no current IO spec
02:39 sorear hmm
02:39 sorear now that we're using version control, would anyone object to me just deleting S32-io and S16?
02:42 diakopter sorear: yes, I object..
02:42 masonkramer left #perl6
02:42 masonkramer joined #perl6
02:44 diakopter sorear: I think they should be deleted by the person who replaces them, while they're replacing them
02:44 diakopter sorear: I don't get "now that we're using version control" ... the synopses have been versioned since the Beginning
02:45 molaf_ joined #perl6
02:46 molaf left #perl6
02:49 justatheory left #perl6
02:53 sftp left #perl6
02:53 dd-sphere joined #perl6
02:58 ch3ck3r left #perl6
03:00 whiteknight left #perl6
03:10 jasonmay got some perl6 goodies coming your way
03:12 mdxi the formatting on the perl6 book is really good! (i'm late to the party)
03:17 sorear jasonmay: ooh
03:19 agentzh joined #perl6
03:27 dalek niecza/cilbackend: 3ba74f7 | sorear++ | lib/CLRBackend.cs:
03:27 dalek niecza/cilbackend: Implement generation of methods from CpsOp structures
03:27 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/3ba74f74d9
03:29 awwaiid_ left #perl6
03:35 glow left #perl6
03:36 masonkramer left #perl6
03:38 justatheory joined #perl6
03:48 satyavvd joined #perl6
04:10 morphbot joined #perl6
04:10 morphbot left #perl6
04:24 Alias_ left #perl6
04:28 PerlPilot joined #perl6
04:29 PerlJam left #perl6
04:29 PerlPilot left #perl6
04:29 PerlJam joined #perl6
04:38 jaldhar joined #perl6
04:40 masak joined #perl6
04:40 masak morning, #perl6
04:40 phenny masak: 16 Dec 18:36Z <sorear> tell masak I'd especially like to hear your thoughts on S02:2603
04:40 sorear morning, masak
04:40 * masak backlogs
04:41 sorear .student.uu.se, eh.
04:43 masak that's my neighbor's non-locked-down wifi.
04:43 masak I think I like S02:2603. I remember when it was added.
04:44 masak it basically says that YOU_ARE_HERE is as transparent as possible, and that checking whether loop control phasers are "within the loop block" have to account for YOU_ARE_HERE.
04:45 masak the specifics are up for grabs, of course, since no-one has implemented that yet.
04:47 orafu left #perl6
04:48 Alias_ joined #perl6
04:52 orafu joined #perl6
04:55 sorear masak: you seem to be thinking about hard points of phaser implementation though
04:55 masak I'm getting in the mood for attacking the hard points, yes.
04:59 masak wow, Perl is right up there. http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/
05:02 diakopter there, I think "popularity" is being used a bit too ambiguously
05:02 masak yes, probably.
05:04 diakopter "number of questions on stackoverflow" might correlate with "difficulty of learning the language" or "number of experts on stackoverflow willing/able to provide great answers" or "number of times language-non-users encountering the language have to ask a question about it [lack of learnability]"
05:06 diakopter [lack of learnability OR sheer volume of foreign/unfamiliar code encountered]
05:06 masak in any event, it doesn't correlate with "dead [and uninteresting]"
05:06 sorear stackoverflow is not a reliable source imho.
05:07 masak it's really hard in general to get good numbers on this.
05:07 diakopter I still like the job listing keyword trends graph at indeed.com
05:09 masak in other news, Perl 6 really rocks! http://twitter.com/excalibor/status/15526186239131648
05:12 masak this microblogger seems to be saying that Perl 6 doesn't provide "straight constructors" at present. http://twitter.com/lopnor/status/15625421819215873 -- if anyone with Japanese skillz can improve on that translation, I could reply to him.
05:14 dd-sphere left #perl6
05:15 masak <sorear> christmas is an in-joke anyway -- it should never have been turned into a rumor
05:15 masak I'm afraid that's not how the Internet works. ;)
05:24 masak nom &
05:24 masak left #perl6
05:56 redicaps joined #perl6
06:02 dju joined #perl6
06:02 dju left #perl6
06:02 dju joined #perl6
06:25 shachaf left #perl6
06:29 dalek niecza/cilbackend: 8023f20 | sorear++ | lib/CLRBackend.cs:
06:29 dalek niecza/cilbackend: Add literal ClrOp node types
06:29 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/8023f207d8
06:29 dalek niecza/cilbackend: e585cf5 | sorear++ | lib/CLRBackend.cs:
06:29 dalek niecza/cilbackend: Implement CpsOp primitive and sequence operations
06:29 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/e585cf5a51
06:38 am0c left #perl6
06:43 lopaway is now known as lopnor
06:45 shachaf joined #perl6
06:54 _kaare joined #perl6
07:01 wtw joined #perl6
07:04 justatheory left #perl6
07:10 lopnor is now known as lopaway
07:15 uasi joined #perl6
07:29 justatheory joined #perl6
07:39 jhuni joined #perl6
07:40 envi joined #perl6
07:43 dalek niecza/cilbackend: 1463e1c | sorear++ | lib/CLRBackend.cs:
07:43 dalek niecza/cilbackend: Add exe-generation support
07:43 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/1463e1cf8e
07:43 sorear whee, I can now run "Hello world"... sort of
07:46 justatheory left #perl6
07:49 [Coke] left #perl6
07:51 uasi rakudo: %0<foo> = 'bar'; say %0<foo>
07:51 p6eval rakudo a95c1d: OUTPUT«bar␤»
07:52 uasi rakudo: %0001<foo> = 'bar'; say %1<foo>
07:52 p6eval rakudo a95c1d: OUTPUT«bar␤»
07:53 uasi %111111111111 = 1 crashes
07:55 sorear as well it should
07:55 sorear at best that should give 'out of memory'
07:55 sorear since %123 is implicitly an array access
07:56 uasi an array access?
07:56 sorear yes
07:56 sorear %123 = %( $/.[123] )
07:56 sorear accesses the 124th positional capture of the most recent regex match as a hash
07:57 uasi ah!
07:57 uasi thanks, sorear
08:00 [Coke] joined #perl6
08:27 moritz_ std: %123
08:27 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
08:29 diakopter std: try{}
08:29 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
08:29 diakopter std: try{ }
08:29 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
08:29 diakopter std: try { }
08:29 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
08:30 diakopter std: if { }
08:30 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Expression needs parens to avoid gobbling block at /tmp/xjdxTjGIG8 line 1:␤------> [32mif [33m⏏[31m{ }[0m␤Missing block (apparently gobbled by expression) at /tmp/xjdxTjGIG8 line 1:␤------> [32mif { }[33m⏏[31m<EOL>[0m␤    expecting
08:30 p6eval ..statement l…
08:30 dalek tpfwiki: (maxidus maxidus)++ | http://www.perlfoundation.org/perl6/index.cgi?perl_6
08:31 diakopter sigh. wiki spam.
08:32 glow joined #perl6
08:34 masak joined #perl6
08:38 diakopter masak: could you clean the wiki spam? I don't have a login
08:38 diakopter (see the ir clog)
08:38 masak ok.
08:39 sorear hello masak
08:41 diakopter std: ....if{}
08:41 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
08:42 masak diakopter: I'm finding no references to wiki spam in the clog.
08:42 diakopter just before you joined
08:43 diakopter (just now)
08:43 diakopter http://irclog.perlgeek.de/perl6/2010-12-17#i_3098268
08:43 masak ah.
08:43 masak I see it now.
08:44 masak I'll see if I remember my pfwiki credentials.
08:45 arnsholt left #perl6
08:45 arnsholt joined #perl6
08:47 starcoder left #perl6
08:49 kensanata joined #perl6
08:49 starcoder joined #perl6
08:52 masak no, I don't seem to have a login either.
08:52 masak maybe I did at some point, but I doubt it.
08:58 masak rakudo.org is down.
08:58 * masak emails alester
08:58 masak getting a Drupal "site off-line" message this time.
09:14 kst left #perl6
09:22 dalek niecza/cilbackend: bca0532 | sorear++ | lib/CLRBackend.cs:
09:22 dalek niecza/cilbackend: Implement label/goto control flow
09:22 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/bca0532591
09:22 dalek niecza/cilbackend: 7bbbe5b | sorear++ | lib/CLRBackend.cs:
09:22 dalek niecza/cilbackend: Implement access to simple operators
09:23 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/7bbbe5b215
09:27 uasi left #perl6
09:37 jerome left #perl6
09:51 dakkar joined #perl6
09:54 ab5tract left #perl6
09:56 daxim joined #perl6
10:03 QinGW left #perl6
10:08 redicaps left #perl6
10:13 masak sorear: how's the rewrite going?
10:13 sorear well
10:14 sorear right now if you xbuild /t:CLRBackend.exe && mono obj/CLRBackend.exe && mono obj/test.exe you will get the numbers 0-99 printed
10:14 masak :)
10:14 sorear the new backend can compile simple data manipulation and control flow
10:14 Enlik_ joined #perl6
10:14 sorear it can also parse the output from the compiler
10:15 sorear these two components have yet to be wired together.
10:16 sorear I need to improve the backend a bit first - it currently doesn't do exception handling, line number generation, or structured control flow
10:16 sorear also I need to make the reconsitution of classes happen somewhere
10:27 jerome joined #perl6
10:29 tzhs joined #perl6
10:42 mj41 left #perl6
10:43 wamba joined #perl6
10:52 Jim112 joined #perl6
10:53 masak "reconstitution of classes"? is that when the user monkey types?
10:54 sorear no
10:54 sorear like 6model, niecza has a compile time model of the class hierarchy
10:55 sorear the backend has to flatten this model into ... something ... and arrange for it to be rebuilt into a runtime model
10:55 masak ah.
10:55 masak so "reconstitution" in the same sense as freeze-dried coffee.
10:55 sorear yes :)
10:56 Guest87704 left #perl6
10:56 masak I'm familiar with the issue. I want to solve it for Yapsi too.
10:56 sorear older nieczas (before the 'mm' branch merge) interpreted class Foo { ... } as INIT my Foo = ...
10:56 sorear which doesn't have reconsistitution problems, but makes a lot of cool things impossible
10:58 masak *nod*
11:24 mj41 joined #perl6
11:35 satyavvd left #perl6
11:42 saaki left #perl6
11:42 saaki joined #perl6
12:03 bluescreen joined #perl6
12:03 bluescreen is now known as Guest61737
12:04 cognominal left #perl6
12:08 agentzh left #perl6
12:23 Enlik_ left #perl6
12:33 Jim112 left #perl6
12:37 felliott left #perl6
12:53 takadonet morning all
12:54 masak o/
13:04 tzhs left #perl6
13:14 fhelmberger joined #perl6
13:18 MayDaniel joined #perl6
13:19 tadzik can a Github pull request be merged from the interface?
13:20 wamba left #perl6
13:20 huf until very recently, i've read your nick as tzadik... and even now i have to remind myself that's not what it is ;)
13:20 masak tadzik: the web interface? thought that was the idea.
13:22 masak Tony Hoare about Algol 60: "Here is a language so far ahead of its time that it was not only an improvement on its predecessors but also on nearly all of its successors."
13:22 tadzik masak: have an idea how to do this? Clicking close doesn't ask me if I want to merge it
13:22 masak tadzik: http://help.github.com/pull-requests/
13:23 tadzik thanks masak
13:26 tadzik btw, I feel like writing a presentation that does it Right. It will consist of a pluggable parsers, generating some AST of the presentation from Pod/JSON/Whatever, and a number of backends generating xhtml/latex/whatever
13:26 tadzik so one consistent AST, and the number of implementations on both sides, a bit like with Pls, but more :)
13:28 daxim left #perl6
13:28 daxim joined #perl6
13:28 masak tadzik: familiar with Haskell's Pandoc?
13:29 masak tadzik: I plan to write something like that for Perl 6: one internal document model, several frontend parsers and backend emitters.
13:30 masak tadzik: thing is, I want to target Niecza rather than Rakudo, because I think the speed gains will be significant, at least in the short term.
13:30 dalek ecosystem: 291a59c | (Jason May)++ | projects.list:
13:30 dalek ecosystem: add perl6-ioc to the list
13:30 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/291a59c178
13:30 masak I have no illusions about the bumpy road that choice will entail. it'll be just like being back with Rakudo in 2008 again. :)
13:32 tadzik masak: will take a look
13:32 tadzik well, that's for markups generally
13:33 masak plan to swap out the p5 markdown parser I'm using for my blog for a p6 markdown parser.
13:33 nymacro left #perl6
13:34 redicaps joined #perl6
13:34 MayDaniel left #perl6
13:35 mathw mmm Pandoc is pretty cool
13:35 mathw well worth borrowing the idea :)
13:36 masak I also plan to get the appropriate kick from running Perl 6 code at more than a crawl :)
13:36 mathw :)
13:37 mathw that might be nice
13:37 mathw well
13:37 mathw would be nice
13:37 mathw definitely nice
13:37 * masak feels he has a finite amount of right to be slightly mean after measuring and discovering that Rakudo is slower today than last year
13:38 rhr left #perl6
13:38 felliott joined #perl6
13:40 masak s'pose I, the Perl 6 user, want to add a short-circuiting binary operator to my local slang. how do I do it?
13:41 takadonet masak: funny I find it faster now then it was before
13:42 takadonet I have startup times around .7 s
13:42 masak startup times might have gotten better. I was measuring generation of the index page in November.
13:44 rhr joined #perl6
13:46 takadonet it seems that rakudo star startup are slower but not the latest compiler release
13:46 masak are you saying that compiler releases are slower than their corresponding star distribution releases?
13:47 masak that sounds unlikely.
13:47 [Coke] masak - sounded like he said the opposite.
13:47 masak right -- sorry.
13:47 masak still sounds unlikely.
13:51 takadonet seems like it...
13:52 takadonet http://gil.di.uminho.pt/users/smash/rakudo-bench.html based on that. Looks like my startup time is almost twice as fast
13:52 [Coke] you can't compare your startup time with perl6 with anyone else's, I think.
13:53 [Coke] not directly.
13:53 [Coke] CPU, memory, other stuff running...
13:53 takadonet ya
13:53 takadonet but twice as fast...
13:53 [Coke] ... that's not how benchmarks work. ;)
13:53 takadonet i know :(
13:53 [Coke] YOU on your machine would have to do the comparison yourself.
13:53 takadonet ya
13:54 [Coke] the numbers on that URL are all relative to each other.
14:00 _kaare left #perl6
14:15 p6eval left #perl6
14:15 glow left #perl6
14:17 jedai_ left #perl6
14:18 smash joined #perl6
14:18 smash hello everyone
14:18 takadonet smash: hey
14:19 jedai joined #perl6
14:22 felliott left #perl6
14:23 felliott joined #perl6
14:24 felliott left #perl6
14:25 MayDaniel joined #perl6
14:27 felliott joined #perl6
14:41 Axius joined #perl6
14:45 masak for whatever reason (maybe the Japanese Perl 6 Advent Calendar), many Japanese twitterers are giving Perl 6 a go right now.
14:46 flussence aagh, no wonder my xmms2 thing didn't work, it was missing an xmmsc_result_wait() call...
14:46 flussence (it still doesn't work, but at least that's fixed now)
14:46 takadonet masak: nice to see
14:46 masak yes, it's quite noticeable.
14:47 masak both in number of tweets and number of new people tweeting.
14:48 frettled Cool.
14:49 soroush_ joined #perl6
14:50 p6eval joined #perl6
14:51 soroush left #perl6
14:51 uniejo joined #perl6
14:52 tzhs joined #perl6
14:57 _kaare joined #perl6
14:58 masak Ruby allows unless/else? huh. http://37signals.com/svn/posts/2699-making-sense-with-rubys-unless
15:01 plobsing now all they need is unless/else unless/else
15:01 flussence unlelse { }
15:02 tzhs left #perl6
15:02 masak yuck :)
15:03 mj41 left #perl6
15:04 mj41_ joined #perl6
15:04 mj41_ is now known as mj41
15:05 frettled haha
15:05 frettled masak: Perl 5 also allows unless/else
15:06 masak oh?
15:06 frettled perl -e 'unless (!defined $e) { print "foo\n" } else { print "bar\n" }' => bar
15:06 frettled I've never felt comfortable with unless.
15:07 colomon I love unless.  But won't miss unless/else
15:08 Trashlord I use unless on ocassion
15:08 Trashlord not very often
15:08 masak I use unless when returning or die-ing.
15:08 Trashlord yeah, same thing for me
15:08 Trashlord that's probably the only time I use it
15:09 masak people will probably vary a lot on when they'd use 'unless'.
15:10 frettled I think if ! is easier to read and understand.
15:10 frettled Bonus: byte golfers win when using that.  ;)
15:11 frettled But I still use unless because it's kosher Perl.
15:11 colomon frettled: really?  I think unless is usually a big win over if !.
15:13 frettled colomon: I think I've been using a syntax highlighting editor since around 1994, so, uhm, unless seems a bit useless to me.
15:13 frettled But it's definitively in the spirit.
15:13 frettled I never did get the hang of do … while or Duff's device.
15:14 colomon errr.... I've been using a syntax highlighting editor since the early 90s as well, and I don't see at all what that has to do with this issue?
15:15 flussence .oO( whee, I've gone from Null PMC to illegal redeclaration to segfault in an hour. Progress! )
15:16 colomon Progress++
15:17 masak flussence++ # sounds like the good kind of experimenting
15:18 masak I'm a big fan of 'if !' over 'unless' when using the block form. when using statement modifiers, I tend towards 'unless', at least if the condition is short and simple.
15:18 frettled colomon: Well, what's the case _for_ unless, then?
15:18 masak if the condition is *not* short and simple, I attempt to break it up or abstract it away :)
15:18 frettled masak: that's when I tend to use unless, too, if at all.
15:18 flussence it sounds slightly less weird when you read it out loud
15:18 masak return unless @array;
15:18 frettled flussence: if not weird, that is.  ;)
15:18 masak reads very well.
15:19 frettled colomon: The way I see it, unless is syntactical sugar for if not.  If not if not is understandable enough, it is either cognitive dissonance (hard to fix) or the visual clue about something being different.
15:20 colomon For sure "return unless @array"
15:20 uniejo left #perl6
15:20 frettled colomon: and that visual clue can come from syntax highlighting just as well, or perhaps better, unless, of course, you're on a monochrome display.
15:22 colomon and I'd argue that for complex conditions, unless is simply more elegant that if !( condition ) and more easily readable and doable than actually doing a boolean not on the condition by hand.
15:23 frettled Huh?  I'd argue the exact opposite.
15:23 frettled In complex conditions, the salad of logic quickly becomes confusing with unless.
15:24 frettled The bonus of sticking to if, is that the logic _immediately_ recognizable to people familiar with other Algol descendant languages.
15:24 colomon I dunno, if using unless makes your logic harder to follow, then you're doing it wrong.
15:25 frettled Oh?
15:26 [particle] it can reduce the parens required for if ( not ( ... ) )
15:26 frettled Some logical tests need to be complex.  You can either do that by nested if/else statements, or you can use logical modifiers and operators.
15:26 frettled if (!foo && (bar || gazonk))
15:27 frettled I'm obviously «doing it wrong» according to colomon, but how is it easier to read with unless?
15:27 colomon frettled: the secret is you only use unless when it is easier to read that way.
15:28 colomon that is exactly the use case for unless.
15:28 colomon afk
15:31 sftp joined #perl6
15:33 masak Perl doesn't have many axes to grind. that's why it's easy to go overboard with some feature or syntax, because the language doesn't try to steer you in any particular direction.
15:33 jfried left #perl6
15:33 masak Perl 6 tries to be a little more intolerant, but just a little. guess that's why Perl 6 doesn't have unless/else :)
15:33 masak std: unless 5 { ... } else { ... }
15:33 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤"unless" does not take "else" in Perl 6; please rewrite using "if" at /tmp/Frh53ez1pk line 1:␤------> [32munless 5 { ... } [33m⏏[31melse { ... }[0m␤Parse failed␤FAILED 00:01 119m␤»
15:35 uniejo joined #perl6
15:38 frettled Perhaps there should be a warning if you have too many logical modifiers and operators in your unless statements.  ;)
15:38 Patterner left #perl6
15:39 masak frettled: every heard of INTERCAL's "PLEASE" policy? :)
15:39 timbunce joined #perl6
15:40 Psyche^ joined #perl6
15:40 flussence frettled: isn't that what perl-critic is for?
15:40 Psyche^ is now known as Patterner
15:42 shi joined #perl6
15:42 wtw left #perl6
15:49 kensanata left #perl6
15:52 Chillance joined #perl6
15:53 [Coke] mj41: typo in taptinder readme url, I think.
15:53 [Coke] ww.
15:56 frettled masak: yes
15:56 frettled flussence: I don't think we have perl6-critic
15:56 frettled and I also don't think that we should need one ;)
15:57 uniejo std: say "True" unless ! True;  # Perhaps give warning about double negation
15:57 p6eval std 625303c: OUTPUT«ok 00:01 119m␤»
15:57 frettled std: say "True" if ! ! True;
15:57 p6eval std 625303c: OUTPUT«ok 00:01 119m␤»
15:57 flussence std: say !!!!!!!!!!!!!!!!!!!!!1;
15:57 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Ternary !! seems to be missing its ?? at /tmp/floQB9Z5Xt line 1:␤------> [32msay !!!!![33m⏏[31m!!!!!!!!!!!!!!!!1;[0m␤Parse failed␤FAILED 00:01 120m␤»
15:58 flussence I didn't expect that to work :)
15:58 flussence (why does it get to 5 before giving up?)
15:59 frettled std: say ! ! ! ! ! ! ! ! ! ! 1;
15:59 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
15:59 frettled rakudo: say ! ! ! ! ! ! ! ! ! ! 1;
15:59 p6eval rakudo a95c1d: OUTPUT«Bool::True␤»
15:59 frettled Okay, so I apparently had an even number of exclamation marks.
16:02 [particle] it gets to five probably because !! and !!! are valid lexer tokens
16:05 flussence oh, forgot about !!!
16:05 flussence std: say !!! !!
16:05 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/PXzdImLxnQ line 1 (EOF):␤------> [32msay !!! !![33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 119m␤»
16:05 flussence std: say !! !!!
16:05 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/OQRzEFKW6Q line 1 (EOF):␤------> [32msay !! !!![33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
16:05 flussence std: say !! !!! !!
16:05 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/wdpdjOpuHY line 1 (EOF):␤------> [32msay !! !!! !![33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
16:06 flussence std: say ! !!! !!
16:06 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/2pZPJnYoJZ line 1 (EOF):␤------> [32msay ! !!! !![33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
16:06 uniejo Something for an optimizer to remove pairs of ! ! with ?
16:06 uniejo s/remove/replace/
16:06 flussence well, I'd say people just shouldn't write ! ! in the first place :)
16:07 risou joined #perl6
16:08 daxim RIGHT, THAT'S WHAT ‼ IS GOOD FOR
16:08 jasonmay moritz_: ha that explains why every repo showed up as having a readme in my testing :)
16:08 jasonmay I figured it just ended up covering all the repos haha
16:10 jasonmay and thanks for the access!
16:12 kjeldahl joined #perl6
16:13 felliott left #perl6
16:14 redicaps left #perl6
16:18 felliott joined #perl6
16:18 jaldhar left #perl6
16:23 frettled Oooh oooh - I know what ¡ can be used for, it can be used for postfix unless!
16:23 frettled (completely counter-intuitive, but who cares)
16:24 Axius left #perl6
16:24 glow joined #perl6
16:25 daxim left #perl6
16:26 Guest61737 left #perl6
16:27 flussence I've noticed there's relatively little use of the actual not (¬) symbol, despite it being on the en-GB keyboard layout.
16:30 Guest61737 joined #perl6
16:36 Guest61737 left #perl6
16:39 ilogger2 left #perl6
16:39 mathw left #perl6
16:39 colomon left #perl6
16:39 clkao left #perl6
16:39 baest left #perl6
16:39 kolibrie left #perl6
16:39 hillu left #perl6
16:40 sunnavy left #perl6
16:40 s1n1 left #perl6
16:40 flussence left #perl6
16:40 gbacon left #perl6
16:40 shabble left #perl6
16:40 frettled left #perl6
16:40 rjbs left #perl6
16:40 c9s left #perl6
16:41 timbunce left #perl6
16:41 ilogger2 joined #perl6
16:41 mathw joined #perl6
16:41 colomon joined #perl6
16:41 clkao joined #perl6
16:41 baest joined #perl6
16:41 kolibrie joined #perl6
16:41 hillu joined #perl6
16:41 sunnavy joined #perl6
16:41 s1n1 joined #perl6
16:41 flussence joined #perl6
16:41 gbacon joined #perl6
16:41 shabble joined #perl6
16:41 frettled joined #perl6
16:41 rjbs joined #perl6
16:41 c9s joined #perl6
16:42 kjeldahl left #perl6
16:42 kjeldahl joined #perl6
16:44 hercynium joined #perl6
16:46 masak rakudo: my @a = 1, 4; say "abc".substr(@a)
16:46 p6eval rakudo a95c1d: OUTPUT«c␤»
16:47 timbunce joined #perl6
16:48 kst joined #perl6
16:49 dalek modules.perl6.org: add5bef | (Jason May)++ | web/build-project-list.pl:
16:49 dalek modules.perl6.org: this always fails because slurp isn't exported
16:49 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/add5bef82e
16:49 dalek modules.perl6.org: 466bbd8 | (Jason May)++ | web/build-project-list.pl:
16:49 dalek modules.perl6.org: support for more readme files
16:49 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/466bbd8c69
16:49 dalek modules.perl6.org: 98252bb | (Jason May)++ | web/build-project-list.pl:
16:49 dalek modules.perl6.org: a slice in scalar context doesn't work - grep instead
16:49 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/98252bb756
16:53 Guest61737 joined #perl6
16:55 [Coke] left #perl6
16:55 [Coke] joined #perl6
16:55 MayDaniel left #perl6
16:58 uniejo left #perl6
17:02 soroush joined #perl6
17:02 masak moritz_: ping
17:02 soroush_ left #perl6
17:02 kjeldahl left #perl6
17:06 justatheory joined #perl6
17:06 Trashlord left #perl6
17:08 masak ok, no moritz_. anyone else want to discuss an interesting S32 issue?
17:09 Trashlord joined #perl6
17:09 jnthn Which bit of S32?
17:10 jnthn :)
17:10 masak jnthn! \o/
17:10 jnthn Also - no more $dayjob until January. \o/ :)
17:10 colomon \o/
17:10 jnthn Not that I dislike it or anything. But I am *very* ready for a break. :)
17:11 masak ok, so here's the S32 thing.
17:11 masak above, I did this evaluation:
17:11 masak rakudo: my @a = 1, 4; say "abc".substr(@a)
17:11 p6eval rakudo a95c1d: OUTPUT«c␤»
17:12 jnthn Looks right. @a gets mumified.
17:12 masak apparently, a post by moritz_++ says that should be an error.
17:12 masak as reported by @VienosNotes: http://twitter.com/VienosNotes/status/15811653488607232
17:12 masak now, S32 says that the first param should be Int.
17:12 masak but I doubt that's actually correct.
17:12 masak in fact, pmichaud likes to point out that these things are often really 'as'-typed.
17:12 masak (and I agree)
17:13 wooden left #perl6
17:13 jnthn as Int is what I expect, yes.
17:13 * jnthn agrees with pmichaud++ on those.
17:13 masak then it probably is correct as-is, and moritz_' post should be altered.
17:13 wooden joined #perl6
17:13 masak I think this might have produced an error once.
17:13 masak alpha: my @a = 1, 4; say "abc".substr(@a)
17:13 p6eval alpha : OUTPUT«c␤»
17:14 jnthn Yeah, "error" is too strong.
17:14 masak ...but apparently not on latest alpha :)
17:14 jnthn I wonder if moritz_++ really meant to say "this won't do what you want"
17:14 jnthn As in, it's a mistake.
17:14 TimToady "erroneous"
17:14 jnthn *nod*
17:14 masak everybody, please don't use "error" when meaning "not what you wanted" :)
17:14 masak especially not in the spec.
17:14 jnthn Aye, but...mistakes happen :)
17:14 masak :P
17:15 colomon To error is human.
17:15 jnthn .oO( If I cook a beef badly, it'd be a misteak... )
17:15 TimToady err...
17:16 colomon /
17:16 colomon drat, //
17:17 TimToady it's all a radical novelty, so we shouldn't expect anyone to get it right by the way they were thinking before...  :)
17:19 MayDaniel joined #perl6
17:21 moritz_ oh hai
17:21 moritz_ masak: pong
17:21 TimToady though I like mjd's formulation of that better...
17:21 masak moritz_: I timed out and asked #perl6, see above :P
17:22 moritz_ masak: hope you're refreshed now :-)
17:22 MayDaniel left #perl6
17:23 masak moritz_: :)
17:23 hercynium left #perl6
17:23 hercynium joined #perl6
17:23 hercynium left #perl6
17:23 hercynium joined #perl6
17:24 hercynium left #perl6
17:34 [Coke] left #perl6
17:34 [Coke] joined #perl6
17:45 hercynium joined #perl6
17:46 dalek modules.perl6.org: 7c30b7d | (Jason May)++ | web/build-project-list.pl:
17:46 dalek modules.perl6.org: link to appropriate README
17:46 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/7c30b7da53
17:50 dakkar left #perl6
17:52 Guest61737 left #perl6
17:52 cognominal joined #perl6
17:55 cdarroch joined #perl6
17:55 cdarroch left #perl6
17:55 cdarroch joined #perl6
17:58 glow left #perl6
18:15 envi left #perl6
18:18 ch3ck joined #perl6
18:18 zby_home_ left #perl6
18:19 smash left #perl6
18:19 soroush left #perl6
18:20 soroush joined #perl6
18:23 masak colomon: you're on for tomorrow's Advent post. what's the status on that?
18:23 masak also, would anyone like to volunteer for slot #19?
18:23 colomon umm... it's a bunch of ideas in my head?
18:23 colomon I keep on think I scheduled myself for Sunday.
18:23 masak colomon: says "ABC modules" in the schedule :)
18:24 colomon I don't think it will be a problem to write, however.
18:24 masak both moritz_ and I have said we could step in as backup for slot #19, but it'd be nice not to have to.
18:24 colomon right, I'm settled on topic and everything, just need to find the actual words to describe it.
18:24 masak just a SMOW :)
18:25 colomon exactly
18:31 colomon should be fun, I'm planning to use it as an example of the sort of practical thing you can do with grammars and actions.
18:31 masak nice. best of luck.
18:33 masak nom &
18:33 masak left #perl6
18:35 Tene joined #perl6
18:35 Tene left #perl6
18:35 Tene joined #perl6
18:41 lestrrat left #perl6
18:52 timbunce left #perl6
18:58 timbunce joined #perl6
19:00 lestrrat joined #perl6
19:03 awwaiid joined #perl6
19:21 timbunce left #perl6
19:24 molaf_ left #perl6
19:27 icwiener joined #perl6
19:27 timbunce joined #perl6
19:28 jedai left #perl6
19:29 soroush_ joined #perl6
19:30 soroush left #perl6
19:34 spq1 joined #perl6
19:41 timbunce left #perl6
19:47 timbunce joined #perl6
19:51 moritz_ .u vertical ellipsis
19:51 phenny U+22EE VERTICAL ELLIPSIS (⋮)
19:51 moritz_ .u horizontal ellipsis
19:51 lestrrat left #perl6
19:51 phenny U+2026 HORIZONTAL ELLIPSIS (…)
19:54 Tene .u ⋯
19:54 phenny U+22EF MIDLINE HORIZONTAL ELLIPSIS (⋯)
19:59 dual left #perl6
20:05 sorear good * #perl6
20:05 moritz_ oh hai sorear
20:06 moritz_ rakudo: say (1, 2) ~~ (1, 2, 0)
20:06 p6eval rakudo a95c1d: OUTPUT«Bool::False␤»
20:24 lestrrat joined #perl6
20:26 jferrero joined #perl6
20:39 risou left #perl6
20:43 felliott left #perl6
20:43 ambs joined #perl6
20:44 ambs left #perl6
20:51 felliott joined #perl6
20:52 zby_home joined #perl6
20:55 glow joined #perl6
21:09 zby_home left #perl6
21:16 felliott left #perl6
21:20 moritz_ wow, I just got a Null PMC access on startup (!), just by adding a new class to src/core/
21:21 Tene moritz_: You added it to the wrong place.  You should add that to src/segfault/; src/core/ is for classes that cause core dumps.
21:23 Tene Wow, okay, that's great.  I somehow replaced "null pmc access" with "segfault" by the time I started writing a response.
21:23 Tene I should probably stay off of IRC today. :)
21:35 desertm4x joined #perl6
21:41 risou joined #perl6
21:48 mkramer left #perl6
21:53 desertm4x Wow, using Rakudo has become so much more rewarding since the last time I tried it! Great work and thanks a lot! This is great fun. =)
21:53 moritz_ glad to hear
21:53 desertm4x But now I have got a question regarding subsets... I tried writing a subset Geometrics::Point2D of a given class Geometrics::Point using the following line:
21:54 desertm4x subset Geometrics::Point2D of Geometrics::Point where { .Dim() == 2 };
21:54 desertm4x This does not work for some reason, but if I name the subset Point2D (without the Geometrics:: prefix) everything works as expected.
21:55 moritz_ rakudo: class A::X { has $.b }; subset A::Y of A::X { where .b > 5 }; say (A::X.new(b => 6) ~~ A::Y)
21:55 p6eval rakudo a95c1d: OUTPUT«===SORRY!===␤Confused at line 22, near "subset A::"␤»
21:55 Tene rakudo: subset Foo::Bar of Int where { $_ %% 2 }; my Foo::Bar $i = 2; say $i;
21:55 moritz_ std: class A::X { has $.b }; subset A::Y of A::X { where .b > 5 }; say (A::X.new(b => 6) ~~ A::Y)
21:55 p6eval rakudo a95c1d: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/f6YROD7Qqu␤»
21:55 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/799wtou4Gd line 1:␤------> [32mass A::X { has $.b }; subset A::Y of A::[33m⏏[31mX { where .b > 5 }; say (A::X.new(b => 6[0m␤    expecting indirect name␤Parse failed␤FAILED 00:01 121m␤»
21:56 moritz_ seems to be a bug :(
21:56 Tene desertm4x: This looks like a bug, you're right.  Someone should probably open a ticket.
21:57 _kaare left #perl6
21:57 desertm4x Ah, okay. Thanks for the help. :)
22:03 MayDaniel joined #perl6
22:20 TiMBuS http://bit.ly/hq4v9B kinda cool
22:21 TiMBuS we hit peak book in 2003
22:24 MayDaniel left #perl6
22:25 tadzik good evening zebras!
22:26 colomon zebras?
22:27 tadzik oh, I just felt a need for a funny greeting
22:27 colbseton joined #perl6
22:30 shi left #perl6
22:30 tadzik how are things?
22:32 colbseton left #perl6
22:36 colomon My logs don't seem to burn very well.  :(
22:37 jnthn ...I wondered why you were writing log files onto CDs for a moment there...
22:37 colomon new house has a fireplace.  trying to have a fire for the first time ever here.
22:39 jnthn Yes, I worked out that it was that kind of log and that kind of burning after a moment. :)
22:40 jnthn A little worried that was my second thought, not my first one... :)
22:43 sorear hello jnthn
22:43 Tene left #perl6
22:45 jnthn o/ sorear
22:46 hercynium left #perl6
22:48 Tene joined #perl6
22:48 Tene left #perl6
22:48 Tene joined #perl6
22:52 flussence jnthn! mind if I bug you with some ideas for zavolaj? :)
22:54 jnthn flussence: Sure :)
22:54 jnthn flussence: I hope to get some tuits for that over the next couple of weeks. :)
22:55 flussence ok, so I'm using it for this thing here if you want a look: https://github.com/flussence/perl6-XMMS2
22:56 jnthn Being used makes me happy.
22:56 jnthn er, my modules being used.... :)
22:56 * jnthn looks
22:56 flussence first thing I came up with is on this line in particular: https://github.com/flussence/perl6-XMMS2/blob/master/lib/XMMS2/Connection.pm6#L47
22:57 sorear jnthn: after flussence is done I'd like to bug you with some questions about NativeCall...
22:57 flussence basically, it'd be nice if !$obj.defined got turned into a null pointer automatically behind the scenes...
22:57 jnthn Ah, so if you pass in something undefined, it becomes a null?
22:57 flussence yep
22:57 jnthn *nod*
22:58 jnthn Makes sense for non-value types.
22:58 jnthn Probably not too hard too.
22:58 flussence the C code it's poking has a default value there if I give it a C NULL instead of a char*, which is what that's useful for
22:58 spq1 left #perl6
22:59 jnthn Yeah, I suspect there's various use cases.
22:59 jnthn I think you can hack it by doing a pir::null__P() today but a "real way" is far nicer.
23:00 flussence (also, I think it needs to have the same going the other way... my code's segfaulting from what looks like a null pointer dereference)
23:00 jnthn ah
23:00 jnthn OK.
23:00 jnthn Yeah, can look into those together.
23:00 jnthn flussence: Do you have a Zavolaj commit bit?
23:00 flussence nope
23:01 jnthn k
23:01 flussence (I had a look at the code to see if I could do some of this myself, but I don't really know where to start...)
23:02 jnthn flussence: Just gave you a commit bit.
23:02 flussence yay :D
23:02 jnthn flussence: Maybe you could create a TODO file and add these, so they don't get forgotten? :)
23:02 flussence gotcha.
23:02 jnthn Thanks.
23:03 jnthn I'm going to be doing $family-visit for next few days, but after that I'll be in one place, without any $dayjob until sometime in January. :)
23:03 jnthn So will hopefully get to it (and much other stuff) then :)
23:03 * jnthn has missed doing Perl 6 bits for the last copule of weeks.
23:03 flussence the other, slightly crazy, idea I had was being able to subclass OpaquePointer so I could stick a DESTROY submethod and other stuff right on it instead of writing wrapper classes...
23:03 colomon perl 6 missed you, too.
23:04 desertm4x left #perl6
23:04 jnthn Well, Rakudo doesn't even implement DESTROY yet...
23:04 sorear jnthn: do you expect there will be a S32/NativeCall at some point?
23:05 jnthn sorear: Expect is a little strong, but I could see the point of one.
23:05 jnthn sorear: I'd rather it come from consensus based on working code rather than a top-down design.
23:06 sorear I am pondering NativeCall as a better way to bind stuff for niecza
23:06 jnthn sorear: I can see value in people being able to write calls to native code in a way that works over multiple implementations.
23:06 nymacro joined #perl6
23:06 jnthn sorear: Ah, you'd use it for doing calls to CLR code too?
23:07 sorear Maybe
23:07 jnthn (for example)
23:07 jnthn Hmm. I don't find the idea insane. :)
23:07 bluescreen joined #perl6
23:07 sorear In the absense of really good gradual typing, $clr-object.method() requires runtime reflection
23:07 bluescreen is now known as Guest31794
23:08 jnthn Yes.
23:08 sorear which is 1. slow 2. doesn't work on Harvard and wannabe Harvard systems 3. more fragile than early binding
23:09 jnthn Ideally some day we'll have the gradual typing/meta-model interaction to do that well, but yes, it's hard.
23:11 jnthn Anyway, I've absolutely no issues if you want to experiment with that area and propose how it fits in with a native call module. I see Zavolaj as a partial contribution to some S32 entry rather than the whole story.
23:12 jnthn There's still a bunch of stuff I want to do with it yet. :)
23:12 jnthn I'm not quite sure how it'd look. The "is native" trait is maybe a little bit of a lie. :)
23:12 jnthn .oO( is clr('System.Foo') )
23:14 sorear (to elaborate on #2: Mono's bytecode interpreter is bitrotten and useless, so it's completely at the mercy of the CPU and OS for dynamic code generation)
23:15 flussence is native('libname', :lang(*)) ?
23:15 sorear (according to #monodev, the iPhone kernel silently ignores any attempt to add PROT_EXEC to an existing memory region)
23:15 felliott joined #perl6
23:16 flussence .oO( is foreign(:lang<c>, :name<libfoo>), maybe )
23:16 jnthn flussence: Need to be careful not to re-invent use Foo:lang<blah> :-)
23:16 jnthn sorear: Ouch.
23:16 jnthn sorear: (interpreter) CLR bytecode as far as I understood was explicitly designed to be efficient when jitted and not especially ideal for interpreting.
23:17 jnthn In the Microsoft view of the world, there's only x86. ;)
23:18 flussence well, for Windows. there's also WinPhone on ARM and the XBox on PPC :)
23:18 flussence (do they still do windows for itanium?)
23:19 jnthn flussence: Aye, I wasn't being entirely serious.
23:19 flussence I know :)
23:20 jnthn flussence: Just that if your (at least initial) number of target platforms is small, maintaining a JIT ain't so bad. :)
23:28 risou left #perl6
23:28 sftp left #perl6
23:30 timbunce left #perl6
23:33 timbunce joined #perl6
23:38 sftp joined #perl6
23:41 dalek niecza/cilbackend: b3ebdbd | sorear++ | lib/CLRBackend.cs:
23:41 dalek niecza/cilbackend: Implement "let"
23:41 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/b3ebdbdfb7
23:41 dalek niecza/cilbackend: c5f9e41 | sorear++ | lib/CLRBackend.cs:
23:41 dalek niecza/cilbackend: Start connecting reader to codegen; add field generation
23:42 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/c5f9e41163
23:42 dalek niecza/cilbackend: 0fe00fc | sorear++ | lib/CLRBackend.cs:
23:42 dalek niecza/cilbackend: Refactor dump file reading
23:42 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/0fe00fc445
23:42 dalek niecza/cilbackend: 2a12f4d | sorear++ | lib/CLRBackend.cs:
23:42 dalek niecza/cilbackend: Refactor field generation
23:42 dalek niecza/cilbackend: review: https://github.com/sorear/niecza/commit/2a12f4db4e
23:42 diakopter sorear++
23:42 diakopter karma sorear
23:42 diakopter !karma sorear
23:42 diakopter sigh
23:42 diakopter phenny: karma sorear
23:42 diakopter .karma sorear
23:44 sorear karma sorear?
23:44 sorear karma sorear
23:44 sorear buubot: karma sorear
23:44 buubot sorear: sorear has karma of 1428
23:47 flussence (good thing there's nobody called "karma" in here :)
23:48 flussence just pushed that todo list btw

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

Perl 6 | Reference Documentation | Rakudo