»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by diakopter on 6 September 2010. |
|||
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::TrueBool::True[10..20, 30..40]» | ||
flussence | it doesn't auto-flatten | ||
00:00
shi joined
|
|||
flussence | oh, and | 00:01 | |
richyfish | i dont want to flatten tho | ||
tadzik | what's @a? | ||
flussence | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say $_ for @ra; say @ra.perl | ||
p6eval | rakudo a95c1d: OUTPUT«10 11 12 13 14 15 16 17 18 19 2030 31 32 33 34 35 36 37 38 39 40[10..20, 30..40]» | ||
richyfish | i want to check 10 is in either range | ||
flussence | rakudo: say 10 ~~ 30..40 | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
flussence | hm | ||
richyfish | (sorry @a = @ra typo) | ||
flussence | that *does* look weird | 00:02 | |
rakudo: say 10 ~~ (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40) | |||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
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::TrueBool::True» | ||
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()» | ||
flussence | rakudo: say 10 ~~ (30..40) | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
00:04
Guest87704 joined
|
|||
flussence | yeah, now I'm lost too. | 00:04 | |
richyfish | yep, i tried it with map also | ||
00:04
adu left
|
|||
richyfish | rakudo: map { 10 ~~ $_ }, @ra; | 00:05 | |
p6eval | rakudo a95c1d: OUTPUT«===SORRY!===Symbol '@ra' not predeclared in <anonymous> (/tmp/eHyLgpziqc:22)» | ||
richyfish | oops | ||
rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; map { 10 ~~ $_ }, @ra; | |||
p6eval | rakudo a95c1d: ( no output ) | ||
richyfish | so, would you say this is a bug? | 00:07 | |
flussence | looks like one to me, but I'm no expert on the internals | 00:09 | |
richyfish | hmmm | ||
sorear | not a bug | 00:11 | |
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet | ||
sorear | p6eval only prints stuff if you tell it to | ||
rakudo: rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra; | |||
p6eval | rakudo a95c1d: OUTPUT«===SORRY!===Confused at line 22, near "rakudo: my"» | ||
sorear | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { 10 ~~ $_ }, @ra; | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::TrueBool::True» | 00:12 | |
richyfish | yeah, not talking about p6eval. | ||
talking about the output: Should be True, False ? | |||
sorear | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ 30..40 | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
sorear | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[1]; | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
sorear | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ @ra[0]; | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::True» | ||
sorear | oh | ||
10 ~~ $_ | 00:13 | ||
~~ evaluates the right hand side in a context where $_ is equal to the left hand side | |||
so that's the same as 10 ~~ 10 | |||
richyfish | $_ is a Range() in this context tho | ||
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» | ||
flussence | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ * for @ra; | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::TrueBool::True» | ||
flussence | I guess * = $_ here | ||
sorear | richyfish: $_ is 10 while the ~~ is being evaluated though | ||
rakudo: say { 10 ~~ $_ }.(5) | |||
p6eval | rakudo a95c1d: OUTPUT«Bool::True» | ||
sorear | rakudo: say { 10 ~~ $^a }.(5) | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
flussence | but if all you want to do is check if 10 is in either range... | 00:15 | |
sorear | do you understand yet? | ||
flussence | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say 10 ~~ any(@ra); | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::True» | ||
richyfish | rakudo: my $r1 = 10..20; my $r2 = 30..40; my @ra = $r1, $r2; say map { .WHAT }, @ra; | ||
p6eval | rakudo a95c1d: OUTPUT«Range()Range()» | ||
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; | ||
p6eval | rakudo a95c1d: OUTPUT«10Bool::True10Bool::True» | ||
sorear | richyfish: $_ can have different values in different parts of the same expression | ||
richyfish | ah | ||
so, out of interest. in the last above expression what sets $_ | 00:19 | ||
sorear | ~~ does | 00:20 | |
18:13 < sorear> ~~ evaluates the right hand side in a context where $_ is equal to the left hand side | |||
18:14 < sorear> richyfish: $_ is 10 while the ~~ is being evaluated though | |||
richyfish | yup. | ||
sorear | how could I have been clearer? | ||
richyfish | understood now. | 00:21 | |
flussence | rakudo: say $_ for 1..3; | 00:22 | |
p6eval | rakudo a95c1d: OUTPUT«123» | ||
flussence | for sets $_, but ~~ does too, and ~~ gets called later | ||
that description seems slightly clearer | |||
imp. | |||
s/p/o/. | |||
00:24
whiteknight joined
|
|||
richyfish | thanks guys. and goodnight. | 00:25 | |
00:27
richyfish left
00:31
Tene joined,
Tene left,
Tene joined,
felliott_ joined
00:32
felliott left,
felliott_ is now known as felliott,
stkowski left
|
|||
dalek | tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ics_tablet | 00:32 | |
00:33
stkowski joined
00:35
me joined,
me is now known as Guest73587
00:36
Guest73587 left
|
|||
kthakore | j | 00:39 | |
00:41
lopaway is now known as lopnor
00:42
Tene left
00:53
am0c joined
00:58
stkowski left,
QinGW joined
01:01
stkowski joined
|
|||
dalek | ecza/cilbackend: c5c25e1 | sorear++ | lib/CLRBackend.cs: Set up AssemblyBuilder harness |
01:03 | |
ecza/cilbackend: 4660079 | sorear++ | Niecza.proj: Add CLRBackend to the build system |
|||
01:15
lopnor left
01:20
nymacro joined
01:22
lopnor joined
01:26
risou left
01:30
lue joined
01:34
shi left
01:35
perigrin_ is now known as perigrin
|
|||
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:35 | |
01:46
stkowski left
01:50
ab5tract joined
|
|||
flussence | (otoh, 'run "mkdir -p a/b/c"' is good enough for now) | 01:55 | |
02:04
lopnor is now known as lopaway
02:24
mkramer joined
|
|||
sorear | flussence: S32 is being kept around for historical reasons only; there is no current IO spec | 02:39 | |
hmm | |||
now that we're using version control, would anyone object to me just deleting S32-io and S16? | |||
diakopter | sorear: yes, I object.. | 02:42 | |
02:42
masonkramer joined
|
|||
diakopter | sorear: I think they should be deleted by the person who replaces them, while they're replacing them | 02:44 | |
sorear: I don't get "now that we're using version control" ... the synopses have been versioned since the Beginning | |||
02:45
molaf_ joined
02:53
dd-sphere joined
03:00
whiteknight left
|
|||
jasonmay | got some perl6 goodies coming your way | 03:10 | |
mdxi | the formatting on the perl6 book is really good! (i'm late to the party) | 03:12 | |
sorear | jasonmay: ooh | 03:17 | |
03:19
agentzh joined
|
|||
dalek | ecza/cilbackend: 3ba74f7 | sorear++ | lib/CLRBackend.cs: Implement generation of methods from CpsOp structures |
03:27 | |
03:29
awwaiid_ left
03:36
masonkramer left
03:38
justatheory joined
03:48
satyavvd joined
04:10
morphbot joined,
morphbot left
04:28
PerlPilot joined
04:29
PerlJam left,
PerlPilot left,
PerlJam joined
04:38
jaldhar joined
04:40
masak joined
|
|||
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 | ||
sorear | morning, masak | ||
masak backlogs | |||
sorear | .student.uu.se, eh. | 04:41 | |
masak | that's my neighbor's non-locked-down wifi. | 04:43 | |
I think I like S02:2603. I remember when it was added. | |||
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:44 | ||
the specifics are up for grabs, of course, since no-one has implemented that yet. | 04:45 | ||
04:48
Alias_ joined
04:52
orafu joined
|
|||
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. | ||
wow, Perl is right up there. www.dataists.com/2010/12/ranking-th...langauges/ | 04:59 | ||
diakopter | there, I think "popularity" is being used a bit too ambiguously | 05:02 | |
masak | yes, probably. | ||
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:04 | |
[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]" | ||
sorear | stackoverflow is not a reliable source imho. | ||
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 | ||
masak | in other news, Perl 6 really rocks! twitter.com/excalibor/status/15526186239131648 | 05:09 | |
this microblogger seems to be saying that Perl 6 doesn't provide "straight constructors" at present. twitter.com/lopnor/status/15625421819215873 -- if anyone with Japanese skillz can improve on that translation, I could reply to him. | 05:12 | ||
05:14
dd-sphere left
|
|||
masak | <sorear> christmas is an in-joke anyway -- it should never have been turned into a rumor | 05:15 | |
I'm afraid that's not how the Internet works. ;) | |||
nom & | 05:24 | ||
05:24
masak left
05:56
redicaps joined
06:02
dju joined,
dju left,
dju joined
|
|||
dalek | ecza/cilbackend: 8023f20 | sorear++ | lib/CLRBackend.cs: Add literal ClrOp node types |
06:29 | |
ecza/cilbackend: e585cf5 | sorear++ | lib/CLRBackend.cs: Implement CpsOp primitive and sequence operations |
|||
06:38
am0c left
06:43
lopaway is now known as lopnor
06:45
shachaf joined
06:54
_kaare joined
07:01
wtw joined
07:04
justatheory left
07:10
lopnor is now known as lopaway
07:15
uasi joined
07:29
justatheory joined
07:39
jhuni joined
07:40
envi joined
|
|||
dalek | ecza/cilbackend: 1463e1c | sorear++ | lib/CLRBackend.cs: Add exe-generation support |
07:43 | |
sorear | whee, I can now run "Hello world"... sort of | ||
07:46
justatheory left
|
|||
uasi | rakudo: %0<foo> = 'bar'; say %0<foo> | 07:51 | |
p6eval | rakudo a95c1d: OUTPUT«bar» | ||
uasi | rakudo: %0001<foo> = 'bar'; say %1<foo> | 07:52 | |
p6eval | rakudo a95c1d: OUTPUT«bar» | ||
uasi | %111111111111 = 1 crashes | 07:53 | |
sorear | as well it should | 07:55 | |
at best that should give 'out of memory' | |||
since %123 is implicitly an array access | |||
uasi | an array access? | 07:56 | |
sorear | yes | ||
%123 = %( $/.[123] ) | |||
accesses the 124th positional capture of the most recent regex match as a hash | |||
uasi | ah! | 07:57 | |
thanks, sorear | |||
08:00
[Coke] joined
|
|||
moritz_ | std: %123 | 08:27 | |
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
diakopter | std: try{} | 08:29 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
diakopter | std: try{ } | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Undeclared routine: 'try' used at line 1Check failedFAILED 00:01 118m» | ||
diakopter | std: try { } | ||
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
diakopter | std: if { } | 08:30 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Expression needs parens to avoid gobbling block at /tmp/xjdxTjGIG8 line 1:------> if ⏏{ }Missing block (apparently gobbled by expression) at /tmp/xjdxTjGIG8 line 1:------> if { }⏏<EOL> expecting | ||
..statement l… | |||
dalek | tpfwiki: (maxidus maxidus)++ | www.perlfoundation.org/perl6/index.cgi?perl_6 | ||
diakopter | sigh. wiki spam. | 08:31 | |
08:32
glow joined
08:34
masak joined
|
|||
diakopter | masak: could you clean the wiki spam? I don't have a login | 08:38 | |
(see the ir clog) | |||
masak | ok. | ||
sorear | hello masak | 08:39 | |
diakopter | std: ....if{} | 08:41 | |
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
masak | diakopter: I'm finding no references to wiki spam in the clog. | 08:42 | |
diakopter | just before you joined | ||
(just now) | 08:43 | ||
irclog.perlgeek.de/perl6/2010-12-17#i_3098268 | |||
masak | ah. | ||
I see it now. | |||
I'll see if I remember my pfwiki credentials. | 08:44 | ||
08:45
arnsholt left,
arnsholt joined
08:49
kensanata joined,
starcoder joined
|
|||
masak | no, I don't seem to have a login either. | 08:52 | |
maybe I did at some point, but I doubt it. | |||
rakudo.org is down. | 08:58 | ||
masak emails alester | |||
getting a Drupal "site off-line" message this time. | |||
dalek | ecza/cilbackend: bca0532 | sorear++ | lib/CLRBackend.cs: Implement label/goto control flow |
09:22 | |
ecza/cilbackend: 7bbbe5b | sorear++ | lib/CLRBackend.cs: Implement access to simple operators |
|||
09:27
uasi left
09:51
dakkar joined
09:54
ab5tract left
09:56
daxim joined
10:03
QinGW left
10:08
redicaps left
|
|||
masak | sorear: how's the rewrite going? | 10:13 | |
sorear | well | ||
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 | :) | ||
sorear | the new backend can compile simple data manipulation and control flow | ||
10:14
Enlik_ joined
|
|||
sorear | it can also parse the output from the compiler | 10:14 | |
these two components have yet to be wired together. | 10:15 | ||
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 | ||
also I need to make the reconsitution of classes happen somewhere | |||
10:27
jerome joined
10:29
tzhs joined
10:43
wamba joined
10:52
Jim112 joined
|
|||
masak | "reconstitution of classes"? is that when the user monkey types? | 10:53 | |
sorear | no | 10:54 | |
like 6model, niecza has a compile time model of the class hierarchy | |||
the backend has to flatten this model into ... something ... and arrange for it to be rebuilt into a runtime model | 10:55 | ||
masak | ah. | ||
so "reconstitution" in the same sense as freeze-dried coffee. | |||
sorear | yes :) | ||
10:56
Guest87704 left
|
|||
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 = ... | ||
which doesn't have reconsistitution problems, but makes a lot of cool things impossible | |||
masak | *nod* | 10:58 | |
11:24
mj41 joined
11:35
satyavvd left
11:42
saaki joined
12:03
bluescreen joined,
bluescreen is now known as Guest61737
12:08
agentzh left
12:23
Enlik_ left
12:33
Jim112 left
12:37
felliott left
|
|||
takadonet | morning all | 12:53 | |
masak | o/ | 12:54 | |
13:04
tzhs left
13:14
fhelmberger joined
13:18
MayDaniel joined
|
|||
tadzik | can a Github pull request be merged from the interface? | 13:19 | |
13:20
wamba left
|
|||
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. | ||
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 | ||
masak | tadzik: help.github.com/pull-requests/ | ||
tadzik | thanks masak | 13:23 | |
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 | ||
so one consistent AST, and the number of implementations on both sides, a bit like with Pls, but more :) | |||
13:28
daxim left,
daxim joined
|
|||
masak | tadzik: familiar with Haskell's Pandoc? | 13:28 | |
tadzik: I plan to write something like that for Perl 6: one internal document model, several frontend parsers and backend emitters. | 13:29 | ||
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 | osystem: 291a59c | (Jason May)++ | projects.list: add perl6-ioc to the list |
||
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. :) | ||
tadzik | masak: will take a look | 13:32 | |
well, that's for markups generally | |||
masak | plan to swap out the p5 markdown parser I'm using for my blog for a p6 markdown parser. | 13:33 | |
13:33
nymacro left
13:34
redicaps joined,
MayDaniel left
|
|||
mathw | mmm Pandoc is pretty cool | 13:35 | |
well worth borrowing the idea :) | |||
masak | I also plan to get the appropriate kick from running Perl 6 code at more than a crawl :) | 13:36 | |
mathw | :) | ||
that might be nice | 13:37 | ||
well | |||
would be nice | |||
definitely nice | |||
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
felliott joined
|
|||
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:40 | |
takadonet | masak: funny I find it faster now then it was before | 13:41 | |
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
|
|||
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? | ||
that sounds unlikely. | 13:47 | ||
[Coke] | masak - sounded like he said the opposite. | ||
masak | right -- sorry. | ||
still sounds unlikely. | |||
takadonet | seems like it... | 13:51 | |
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. | ||
not directly. | 13:53 | ||
CPU, memory, other stuff running... | |||
takadonet | ya | ||
but twice as fast... | |||
[Coke] | ... that's not how benchmarks work. ;) | ||
takadonet | i know :( | ||
[Coke] | YOU on your machine would have to do the comparison yourself. | ||
takadonet | ya | ||
[Coke] | the numbers on that URL are all relative to each other. | 13:54 | |
14:00
_kaare left
14:15
p6eval left,
glow left
14:18
smash joined
|
|||
smash | hello everyone | 14:18 | |
takadonet | smash: hey | ||
14:19
jedai joined
14:22
felliott left
14:23
felliott joined
14:24
felliott left
14:25
MayDaniel joined
14:27
felliott joined
14:41
Axius joined
|
|||
masak | for whatever reason (maybe the Japanese Perl 6 Advent Calendar), many Japanese twitterers are giving Perl 6 a go right now. | 14:45 | |
flussence | aagh, no wonder my xmms2 thing didn't work, it was missing an xmmsc_result_wait() call... | 14:46 | |
(it still doesn't work, but at least that's fixed now) | |||
takadonet | masak: nice to see | ||
masak | yes, it's quite noticeable. | ||
both in number of tweets and number of new people tweeting. | 14:47 | ||
frettled | Cool. | 14:48 | |
14:49
soroush_ joined
14:50
p6eval joined,
ChanServ sets mode: +v p6eval
14:51
uniejo joined
14:52
tzhs joined
14:57
_kaare joined
|
|||
masak | Ruby allows unless/else? huh. 37signals.com/svn/posts/2699-making...bys-unless | 14:58 | |
plobsing | now all they need is unless/else unless/else | 15:01 | |
flussence | unlelse { } | ||
15:02
tzhs left
|
|||
masak | yuck :) | 15:02 | |
15:03
mj41 left
15:04
mj41_ joined,
mj41_ is now known as mj41
|
|||
frettled | haha | 15:05 | |
masak: Perl 5 also allows unless/else | |||
masak | oh? | 15:06 | |
frettled | perl -e 'unless (!defined $e) { print "foo\n" } else { print "bar\n" }' => bar | ||
I've never felt comfortable with unless. | |||
colomon | I love unless. But won't miss unless/else | 15:07 | |
Trashlord | I use unless on ocassion | 15:08 | |
not very often | |||
masak | I use unless when returning or die-ing. | ||
Trashlord | yeah, same thing for me | ||
that's probably the only time I use it | |||
masak | people will probably vary a lot on when they'd use 'unless'. | 15:09 | |
frettled | I think if ! is easier to read and understand. | 15:10 | |
Bonus: byte golfers win when using that. ;) | |||
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 !. | ||
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 | |
But it's definitively in the spirit. | |||
I never did get the hang of do … while or Duff's device. | |||
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:14 | |
flussence | .oO( whee, I've gone from Null PMC to illegal redeclaration to segfault in an hour. Progress! ) |
15:15 | |
colomon | Progress++ | 15:16 | |
masak | flussence++ # sounds like the good kind of experimenting | 15:17 | |
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? | ||
masak | if the condition is *not* short and simple, I attempt to break it up or abstract it away :) | ||
frettled | masak: that's when I tend to use unless, too, if at all. | ||
flussence | it sounds slightly less weird when you read it out loud | ||
masak | return unless @array; | ||
frettled | flussence: if not weird, that is. ;) | ||
masak | reads very well. | ||
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:19 | |
colomon | For sure "return unless @array" | 15:20 | |
15:20
uniejo left
|
|||
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:20 | |
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:22 | |
frettled | Huh? I'd argue the exact opposite. | 15:23 | |
In complex conditions, the salad of logic quickly becomes confusing with unless. | |||
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. | ||
frettled | Oh? | 15:25 | |
[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. | ||
if (!foo && (bar || gazonk)) | |||
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. | ||
that is exactly the use case for unless. | 15:28 | ||
afk | |||
15:31
sftp joined
|
|||
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 | |
Perl 6 tries to be a little more intolerant, but just a little. guess that's why Perl 6 doesn't have unless/else :) | |||
std: unless 5 { ... } else { ... } | |||
p6eval | std 625303c: OUTPUT«===SORRY!==="unless" does not take "else" in Perl 6; please rewrite using "if" at /tmp/Frh53ez1pk line 1:------> unless 5 { ... } ⏏else { ... }Parse failedFAILED 00:01 119m» | ||
15:35
uniejo joined
|
|||
frettled | Perhaps there should be a warning if you have too many logical modifiers and operators in your unless statements. ;) | 15:38 | |
masak | frettled: every heard of INTERCAL's "PLEASE" policy? :) | 15:39 | |
15:39
timbunce joined
15:40
Psyche^ joined
|
|||
flussence | frettled: isn't that what perl-critic is for? | 15:40 | |
15:40
Psyche^ is now known as Patterner
15:42
shi joined,
wtw left
15:49
kensanata left
15:52
Chillance joined
|
|||
[Coke] | mj41: typo in taptinder readme url, I think. | 15:53 | |
ww. | |||
frettled | masak: yes | 15:56 | |
flussence: I don't think we have perl6-critic | |||
and I also don't think that we should need one ;) | |||
uniejo | std: say "True" unless ! True; # Perhaps give warning about double negation | 15:57 | |
p6eval | std 625303c: OUTPUT«ok 00:01 119m» | ||
frettled | std: say "True" if ! ! True; | ||
p6eval | std 625303c: OUTPUT«ok 00:01 119m» | ||
flussence | std: say !!!!!!!!!!!!!!!!!!!!!1; | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Ternary !! seems to be missing its ?? at /tmp/floQB9Z5Xt line 1:------> say !!!!!⏏!!!!!!!!!!!!!!!!1;Parse failedFAILED 00:01 120m» | ||
flussence | I didn't expect that to work :) | 15:58 | |
(why does it get to 5 before giving up?) | |||
frettled | std: say ! ! ! ! ! ! ! ! ! ! 1; | 15:59 | |
p6eval | std 625303c: OUTPUT«ok 00:01 118m» | ||
frettled | rakudo: say ! ! ! ! ! ! ! ! ! ! 1; | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::True» | ||
frettled | Okay, so I apparently had an even number of exclamation marks. | ||
[particle] | it gets to five probably because !! and !!! are valid lexer tokens | 16:02 | |
flussence | oh, forgot about !!! | 16:05 | |
std: say !!! !! | |||
p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/PXzdImLxnQ line 1 (EOF):------> say !!! !!⏏<EOL>Parse failedFAILED 00:01 119m» | ||
flussence | std: say !! !!! | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/OQRzEFKW6Q line 1 (EOF):------> say !! !!!⏏<EOL>Parse failedFAILED 00:01 118m» | ||
flussence | std: say !! !!! !! | ||
p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/wdpdjOpuHY line 1 (EOF):------> say !! !!! !!⏏<EOL>Parse failedFAILED 00:01 118m» | ||
flussence | std: say ! !!! !! | 16:06 | |
p6eval | std 625303c: OUTPUT«===SORRY!===Prefix requires an argument at /tmp/2pZPJnYoJZ line 1 (EOF):------> say ! !!! !!⏏<EOL>Parse failedFAILED 00:01 118m» | ||
uniejo | Something for an optimizer to remove pairs of ! ! with ? | ||
s/remove/replace/ | |||
flussence | well, I'd say people just shouldn't write ! ! in the first place :) | ||
16:07
risou joined
|
|||
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 :) | ||
I figured it just ended up covering all the repos haha | |||
and thanks for the access! | 16:10 | ||
16:12
kjeldahl joined
16:13
felliott left
16:14
redicaps left
16:18
felliott joined,
jaldhar left
|
|||
frettled | Oooh oooh - I know what ¡ can be used for, it can be used for postfix unless! | 16:23 | |
(completely counter-intuitive, but who cares) | |||
16:24
Axius left,
glow joined
16:25
daxim left
16:26
Guest61737 left
|
|||
flussence | I've noticed there's relatively little use of the actual not (¬) symbol, despite it being on the en-GB keyboard layout. | 16:27 | |
16:30
Guest61737 joined
16:36
Guest61737 left
16:39
uniejo left,
[Coke] left,
orafu left,
molaf_ left
16:40
soroush_ left,
saaki left,
kjeldahl left,
starcoder left,
masak left,
pothos left,
glow left,
Patterner left,
p6eval left,
Chillance left,
felliott left,
smash left,
dju left,
lue left,
fhelmberger left,
mkramer left,
BinGOs left,
krakan_ left,
perigrin left,
f00li5h left,
nothingmuch left,
snarkyboojum left,
sftp left,
lopaway left,
Woody4286 left,
rblackwe left,
Grimnir_ left,
gabiruh left,
breinbaas left,
nsh- left,
jlaire left,
dukeleto left,
krunen_ left,
risou left,
_kaare left,
jedai left,
dakkar left,
envi left,
shachaf left,
dual left,
y3llow left,
shi left,
timbunce left,
MayDaniel left,
jerome left,
jhuni left,
dipthegeezer left,
phenny left,
nsh_ left,
barika_ left,
oha left,
__sri left,
DarthGandalf left,
puddingpimp left,
Alias_ left,
PerlJam left,
gfldex left,
mj41 left,
rhr left,
arnsholt left,
cotto_work left,
Bucciarati left
16:42
glow joined,
felliott joined,
kjeldahl joined,
risou joined,
Chillance joined,
shi joined,
Patterner joined,
uniejo joined,
sftp joined,
mj41 joined,
_kaare joined,
p6eval joined,
soroush_ joined,
MayDaniel joined,
jedai joined,
smash joined,
rhr joined,
fhelmberger joined,
saaki joined,
jerome joined,
dakkar joined,
starcoder joined,
arnsholt joined,
masak joined,
[Coke] joined,
envi joined,
jhuni joined,
shachaf joined,
dju joined,
orafu joined,
Alias_ joined,
PerlJam joined,
molaf_ joined,
mkramer joined,
lue joined,
lopaway joined,
dipthegeezer joined,
dual joined,
y3llow joined,
pothos joined,
Woody4286 joined,
phenny joined,
nsh_ joined,
Trashlord joined,
szabgab joined,
IRSeekBot joined,
sjohnson joined,
gibson.freenode.net sets mode: +v p6eval,
mdxi joined,
avuserow joined,
cxreg joined,
patch joined,
eternaleye joined,
meteorja1 joined,
rbuels joined,
c1sung joined,
jrockway joined,
jql joined,
moritz_ joined,
wolverian joined,
Maddingue joined,
TiMBuS joined,
allbery_b joined,
bartolin joined,
JodaZ joined,
pnu joined,
mtve joined,
frodwith joined,
jasonmay joined,
cls_bsd joined,
hcchien joined,
yahooooo joined,
ruoso joined,
PZt joined,
jjore joined,
broquaint joined,
Sarten-X joined,
scp1 joined,
diakopter joined,
chitragupt joined,
pjcj joined,
plobsing joined,
flatwhatson joined,
ingy joined,
horror21 joined,
ashleydev joined,
charsbr_ joined,
ponbiki joined,
Tedd1 joined,
takadonet joined,
Raynes joined,
nadim__ joined,
hudnix joined,
takesako joined,
lestrrat joined,
stepnem joined,
drbean_ joined,
rokoteko joined,
shortcircuit joined,
nperez joined,
robinsmidsrod joined,
frooh_ joined,
mux joined,
TimToady joined,
HarryS joined,
szbalint joined,
PacoLinux joined,
wooden joined,
zostay joined,
Grrrr joined,
Helios joined,
cosimo joined,
Guest1723 joined,
Kovensky joined,
slavik1 joined,
spinclad joined,
zorgnax joined,
Juerd joined,
Lorn joined,
elb0w joined,
tylerni7 joined,
cibs joined,
sukria joined,
dalek joined,
pochi joined,
knewt2 joined,
renormalist joined,
betterworld joined,
zby_home_ joined,
Jmax joined,
florz joined,
Util joined,
hatseflats joined,
pmichaud joined,
tadzik joined,
mtk joined,
xinming joined,
Khisanth joined,
felipe joined,
IllvilJa joined,
kfo_ joined,
Eevee joined,
gibson.freenode.net sets mode: +v dalek,
ascent_ joined,
kcwu joined,
lamstyle joined,
ggoebel joined,
thepler joined,
cotto joined,
[particle] joined,
LoRe joined,
buubot joined,
literal joined,
zb joined,
sECuRE joined,
Gothmog_ joined,
araujo joined,
yves joined,
edenc joined,
larsen joined,
sbp joined,
tomaw joined,
toebu joined,
tobij joined,
sorear joined,
simcop2387 joined,
revdiablo joined,
peters_mops joined,
kthakore joined,
estrabd joined,
spacebat joined,
jnthn joined,
nrr joined,
huf joined,
_ilbot joined,
Exodist joined,
snarkyboojum joined,
nothingmuch joined,
f00li5h joined,
perigrin joined,
krakan_ joined,
BinGOs joined,
krunen_ joined,
dukeleto joined,
jlaire joined,
nsh- joined,
breinbaas joined,
gabiruh joined,
Grimnir_ joined,
rblackwe joined,
puddingpimp joined,
DarthGandalf joined,
__sri joined,
oha joined,
barika_ joined,
gfldex joined,
Bucciarati joined,
cotto_work joined,
kjeldahl left,
kjeldahl joined
16:44
hercynium joined
|
|||
masak | rakudo: my @a = 1, 4; say "abc".substr(@a) | 16:46 | |
p6eval | rakudo a95c1d: OUTPUT«c» | ||
16:47
timbunce joined
16:48
kst joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: add5bef | (Jason May)++ | web/build-project-list.pl: this always fails because slurp isn't exported |
16:49 | |
href="https://modules.perl6.org:">modules.perl6.org: 466bbd8 | (Jason May)++ | web/build-project-list.pl: support for more readme files |
|||
href="https://modules.perl6.org:">modules.perl6.org: 98252bb | (Jason May)++ | web/build-project-list.pl: a slice in scalar context doesn't work - grep instead |
|||
16:53
Guest61737 joined
16:55
[Coke] left,
[Coke] joined,
MayDaniel left
16:58
uniejo left
17:02
soroush joined
|
|||
masak | moritz_: ping | 17:02 | |
17:02
soroush_ left,
kjeldahl left
17:06
justatheory joined,
Trashlord left
|
|||
masak | ok, no moritz_. anyone else want to discuss an interesting S32 issue? | 17:08 | |
17:09
Trashlord joined
|
|||
jnthn | Which bit of S32? | 17:09 | |
:) | 17:10 | ||
masak | jnthn! \o/ | ||
jnthn | Also - no more $dayjob until January. \o/ :) | ||
colomon | \o/ | ||
jnthn | Not that I dislike it or anything. But I am *very* ready for a break. :) | ||
masak | ok, so here's the S32 thing. | 17:11 | |
above, I did this evaluation: | |||
rakudo: my @a = 1, 4; say "abc".substr(@a) | |||
p6eval | rakudo a95c1d: OUTPUT«c» | ||
jnthn | Looks right. @a gets mumified. | 17:12 | |
masak | apparently, a post by moritz_++ says that should be an error. | ||
as reported by @VienosNotes: twitter.com/VienosNotes/status/15811653488607232 | |||
now, S32 says that the first param should be Int. | |||
but I doubt that's actually correct. | |||
in fact, pmichaud likes to point out that these things are often really 'as'-typed. | |||
(and I agree) | |||
17:13
wooden left
|
|||
jnthn | as Int is what I expect, yes. | 17:13 | |
jnthn agrees with pmichaud++ on those. | |||
masak | then it probably is correct as-is, and moritz_' post should be altered. | ||
17:13
wooden joined
|
|||
masak | I think this might have produced an error once. | 17:13 | |
alpha: my @a = 1, 4; say "abc".substr(@a) | |||
p6eval | alpha : OUTPUT«c» | ||
jnthn | Yeah, "error" is too strong. | 17:14 | |
masak | ...but apparently not on latest alpha :) | ||
jnthn | I wonder if moritz_++ really meant to say "this won't do what you want" | ||
As in, it's a mistake. | |||
TimToady | "erroneous" | ||
jnthn | *nod* | ||
masak | everybody, please don't use "error" when meaning "not what you wanted" :) | ||
especially not in the spec. | |||
jnthn | Aye, but...mistakes happen :) | ||
masak | :P | ||
colomon | To error is human. | 17:15 | |
jnthn | .oO( If I cook a beef badly, it'd be a misteak... ) |
||
TimToady | err... | ||
colomon | / | 17:16 | |
drat, // | |||
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:17 | |
17:19
MayDaniel joined
|
|||
moritz_ | oh hai | 17:21 | |
masak: pong | |||
TimToady | though I like mjd's formulation of that better... | ||
masak | moritz_: I timed out and asked #perl6, see above :P | ||
moritz_ | masak: hope you're refreshed now :-) | 17:22 | |
17:22
MayDaniel left
|
|||
masak | moritz_: :) | 17:23 | |
17:23
hercynium left,
hercynium joined,
hercynium left,
hercynium joined
17:24
hercynium left
17:34
[Coke] left,
[Coke] joined
17:45
hercynium joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 7c30b7d | (Jason May)++ | web/build-project-list.pl: link to appropriate README |
17:46 | |
17:50
dakkar left
17:52
Guest61737 left,
cognominal joined
17:55
cdarroch joined,
cdarroch left,
cdarroch joined
17:58
glow left
18:15
envi left
18:18
ch3ck joined,
zby_home_ left
18:19
smash left,
soroush left
18:20
soroush joined
|
|||
masak | colomon: you're on for tomorrow's Advent post. what's the status on that? | 18:23 | |
also, would anyone like to volunteer for slot #19? | |||
colomon | umm... it's a bunch of ideas in my head? | ||
I keep on think I scheduled myself for Sunday. | |||
masak | colomon: says "ABC modules" in the schedule :) | ||
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. | ||
colomon | right, I'm settled on topic and everything, just need to find the actual words to describe it. | ||
masak | just a SMOW :) | ||
colomon | exactly | 18:25 | |
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. | ||
nom & | 18:33 | ||
18:33
masak left
18:35
Tene joined,
Tene left,
Tene joined
18:41
lestrrat left
18:52
timbunce left
18:58
timbunce joined
19:00
lestrrat joined
19:03
awwaiid joined
19:21
timbunce left
19:24
molaf_ left
19:27
icwiener joined,
timbunce joined
19:28
jedai left
19:29
soroush_ joined
19:30
soroush left
19:34
spq1 joined
19:41
timbunce left
19:47
timbunce joined
|
|||
moritz_ | .u vertical ellipsis | 19:51 | |
phenny | U+22EE VERTICAL ELLIPSIS (⋮) | ||
moritz_ | .u horizontal ellipsis | ||
19:51
lestrrat left
|
|||
phenny | U+2026 HORIZONTAL ELLIPSIS (…) | 19:51 | |
Tene | .u ⋯ | 19:54 | |
phenny | U+22EF MIDLINE HORIZONTAL ELLIPSIS (⋯) | ||
19:59
dual left
|
|||
sorear | good * #perl6 | 20:05 | |
moritz_ | oh hai sorear | ||
rakudo: say (1, 2) ~~ (1, 2, 0) | 20:06 | ||
p6eval | rakudo a95c1d: OUTPUT«Bool::False» | ||
20:24
lestrrat joined
20:26
jferrero joined
20:39
risou left
20:43
felliott left,
ambs joined
20:44
ambs left
20:51
felliott joined
20:52
zby_home joined
20:55
glow joined
21:09
zby_home left
21:16
felliott left
|
|||
moritz_ | wow, I just got a Null PMC access on startup (!), just by adding a new class to src/core/ | 21:20 | |
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:21 | |
Wow, okay, that's great. I somehow replaced "null pmc access" with "segfault" by the time I started writing a response. | 21:23 | ||
I should probably stay off of IRC today. :) | |||
21:35
desertm4x joined
21:41
risou joined
21:48
mkramer left
|
|||
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 | ||
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: | ||
subset Geometrics::Point2D of Geometrics::Point where { .Dim() == 2 }; | 21:54 | ||
This does not work for some reason, but if I name the subset Point2D (without the Geometrics:: prefix) everything works as expected. | |||
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::"» | ||
Tene | rakudo: subset Foo::Bar of Int where { $_ %% 2 }; my Foo::Bar $i = 2; say $i; | ||
moritz_ | std: class A::X { has $.b }; subset A::Y of A::X { where .b > 5 }; say (A::X.new(b => 6) ~~ A::Y) | ||
p6eval | rakudo a95c1d: OUTPUT«Null PMC access in type() in main program body at line 22:/tmp/f6YROD7Qqu» | ||
std 625303c: OUTPUT«===SORRY!===Confused at /tmp/799wtou4Gd line 1:------> ass A::X { has $.b }; subset A::Y of A::⏏X { where .b > 5 }; say (A::X.new(b => 6 expecting indirect nameParse failedFAILED 00:01 121m» | |||
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
|
|||
desertm4x | Ah, okay. Thanks for the help. :) | 21:57 | |
22:03
MayDaniel joined
|
|||
TiMBuS | bit.ly/hq4v9B kinda cool | 22:20 | |
we hit peak book in 2003 | 22:21 | ||
22:24
MayDaniel left
|
|||
tadzik | good evening zebras! | 22:25 | |
colomon | zebras? | 22:26 | |
tadzik | oh, I just felt a need for a funny greeting | 22:27 | |
22:27
colbseton joined
22:30
shi left
|
|||
tadzik | how are things? | 22:30 | |
22:32
colbseton left
|
|||
colomon | My logs don't seem to burn very well. :( | 22:36 | |
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. | ||
jnthn | Yes, I worked out that it was that kind of log and that kind of burning after a moment. :) | 22:39 | |
A little worried that was my second thought, not my first one... :) | 22:40 | ||
sorear | hello jnthn | 22:43 | |
22:43
Tene left
|
|||
jnthn | o/ sorear | 22:45 | |
22:46
hercynium left
22:48
Tene joined,
Tene left,
Tene joined
|
|||
flussence | jnthn! mind if I bug you with some ideas for zavolaj? :) | 22:52 | |
jnthn | flussence: Sure :) | 22:54 | |
flussence: I hope to get some tuits for that over the next couple of weeks. :) | |||
flussence | ok, so I'm using it for this thing here if you want a look: github.com/flussence/perl6-XMMS2 | 22:55 | |
jnthn | Being used makes me happy. | 22:56 | |
er, my modules being used.... :) | |||
jnthn looks | |||
flussence | first thing I came up with is on this line in particular: github.com/flussence/perl6-XMMS2/b...on.pm6#L47 | ||
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... | ||
jnthn | Ah, so if you pass in something undefined, it becomes a null? | ||
flussence | yep | ||
jnthn | *nod* | ||
Makes sense for non-value types. | 22:58 | ||
Probably not too hard too. | |||
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
|
|||
jnthn | Yeah, I suspect there's various use cases. | 22:59 | |
I think you can hack it by doing a pir::null__P() today but a "real way" is far nicer. | |||
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 | ||
OK. | |||
Yeah, can look into those together. | |||
flussence: Do you have a Zavolaj commit bit? | |||
flussence | nope | ||
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...) | ||
jnthn | flussence: Just gave you a commit bit. | 23:02 | |
flussence | yay :D | ||
jnthn | flussence: Maybe you could create a TODO file and add these, so they don't get forgotten? :) | ||
flussence | gotcha. | ||
jnthn | Thanks. | ||
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 | ||
So will hopefully get to it (and much other stuff) then :) | |||
jnthn has missed doing Perl 6 bits for the last copule of weeks. | |||
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... | ||
colomon | perl 6 missed you, too. | ||
23:04
desertm4x left
|
|||
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? | ||
jnthn | sorear: Expect is a little strong, but I could see the point of one. | 23:05 | |
sorear: I'd rather it come from consensus based on working code rather than a top-down design. | |||
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
|
|||
jnthn | sorear: Ah, you'd use it for doing calls to CLR code too? | 23:06 | |
sorear | Maybe | 23:07 | |
jnthn | (for example) | ||
Hmm. I don't find the idea insane. :) | |||
23:07
bluescreen joined
|
|||
sorear | In the absense of really good gradual typing, $clr-object.method() requires runtime reflection | 23:07 | |
23:07
bluescreen is now known as Guest31794
|
|||
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 | ||
jnthn | Ideally some day we'll have the gradual typing/meta-model interaction to do that well, but yes, it's hard. | 23:09 | |
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:11 | ||
There's still a bunch of stuff I want to do with it yet. :) | 23:12 | ||
I'm not quite sure how it'd look. The "is native" trait is maybe a little bit of a lie. :) | |||
.oO( is clr('System.Foo') ) |
|||
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:14 | |
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
|
|||
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> :-) | ||
sorear: Ouch. | |||
sorear: (interpreter) CLR bytecode as far as I understood was explicitly designed to be efficient when jitted and not especially ideal for interpreting. | |||
In the Microsoft view of the world, there's only x86. ;) | 23:17 | ||
flussence | well, for Windows. there's also WinPhone on ARM and the XBox on PPC :) | 23:18 | |
(do they still do windows for itanium?) | |||
jnthn | flussence: Aye, I wasn't being entirely serious. | 23:19 | |
flussence | I know :) | ||
jnthn | flussence: Just that if your (at least initial) number of target platforms is small, maintaining a JIT ain't so bad. :) | 23:20 | |
23:28
risou left,
sftp left
23:30
timbunce left
23:33
timbunce joined
23:38
sftp joined
|
|||
dalek | ecza/cilbackend: b3ebdbd | sorear++ | lib/CLRBackend.cs: Implement "let" |
23:41 | |
ecza/cilbackend: c5f9e41 | sorear++ | lib/CLRBackend.cs: Start connecting reader to codegen; add field generation |
|||
ecza/cilbackend: 0fe00fc | sorear++ | lib/CLRBackend.cs: Refactor dump file reading |
|||
ecza/cilbackend: 2a12f4d | sorear++ | lib/CLRBackend.cs: Refactor field generation |
|||
diakopter | sorear++ | ||
karma sorear | |||
!karma sorear | |||
sigh | |||
phenny: karma sorear | |||
.karma sorear | |||
sorear | karma sorear? | 23:44 | |
karma sorear | |||
buubot: karma sorear | |||
buubot | sorear: sorear has karma of 1428 | ||
flussence | (good thing there's nobody called "karma" in here :) | 23:47 | |
just pushed that todo list btw | 23:48 |