»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
dalek | p/moarboot: 23985aa | jnthn++ | src/NQP/ (2 files): Add :moar options to QAST::VM nodes. |
00:01 | |
p/moarboot: 6d81e7b | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Get code-gen fix from cross-comp. |
|||
p/moarboot: 7587998 | jnthn++ | src/vm/moar/stage0/ (9 files): Update stage0 for code-gen fix. |
|||
p/moarboot: 392e5b9 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: Register QAST -> MAST compiler. |
00:02 | ||
p/moarboot: 8c4880f | jnthn++ | src/NQP/ (2 files): Merge branch 'master' into moarboot |
|||
dwarring | timotimo: I've updated my gist from yesterday to be fairer to perl6 - gist.github.com/dwarring/6847212 | ||
old line was creating a Rat: my $m := 4.0*$n - 1.0; | |||
changed to a Num: $m := (4*$n - 1).Num | 00:03 | ||
still slower, but not so dramatic | |||
jnthn | So we learn that Rat ain't so fast? | ||
TimToady | summing harmonic serieseses is probably a worst case for Rats | 00:04 | |
Rats are much better with correlated denomoniators, not anti-correlated | 00:06 | ||
good grief, my spellerer is brokeken | |||
lue wonders if a Tar would be optimized for anti-correlated denominators | 00:10 | ||
dwarring best optmisation tool is sometimes this - en.wikipedia.org/wiki/Keisaku | |||
00:12
Psyche^_ joined,
Psyche^ left
00:18
cognominal joined
|
|||
dalek | p/moarboot: fec7ea7 | jnthn++ | tools/build/Makefile-Moar.in: Add stage2 rules to MoarVM Makefile. |
00:21 | |
00:32
ivanshmakov left
00:33
ivanshmakov joined
|
|||
dalek | p/moarboot: 31ba5a5 | jnthn++ | tools/build/Makefile-Moar.in: Copy stage2 to . and add test targets. Can run "make test" in the NQP repo now on MoarVM, and most things pass. t/qregex hangs; we weren't attempting it in nqp-cc, though. No regressions compared to what make selftest passes. |
00:38 | |
00:39
dayangkun joined
|
|||
jnthn | 'night, #perl6 | 00:52 | |
TimToady | o/ | 00:55 | |
00:58
araujo left
01:01
araujo joined
01:04
ssutch left
01:08
ssutch joined
01:31
berekuk left
|
|||
TimToady | used an interesting new idiom in revising rosettacode.org/wiki/Comma_quibbling#Perl_6 | 01:31 | |
<{ }>.join: ... | |||
not only avoids using \{ \}, but also automatically stringifies the argment to join | 01:33 | ||
01:36
berekuk joined
|
|||
colomon | ??? | 01:38 | |
that code is making me feel stupid. | 01:39 | ||
TimToady could take that two different ways :) | 01:40 | ||
colomon | you might have to take it two different ways. | 01:41 | |
TimToady | there's no one ways about it :) | ||
colomon | oh, I see how it works. | 01:42 | |
I think that might be TimToady++ for cleverness and TimToady-- for abuse of his own language | |||
TimToady | on average, I feel pretty average :) | ||
colomon | Huh. | 01:46 | |
It seems like there should be a better idiom that <{ }>.join: for that, but I'm not sure that I'm seeing it. | |||
TimToady | I just thought this was an improvement over "\{$_\}" given ... | 01:47 | |
but it's arguable :) | |||
TimToady is prejudiced against backslashes | |||
TimToady is also prejudiced against infix:<~> | 01:48 | ||
colomon | yeah, the straightforward approach is infix:<~> | 01:49 | |
which certainly is kind of ugly -- I mean, '{' ~ -- but it's also very clear | 01:50 | ||
TimToady | but it violates endweight to put something little like '}' at the end | ||
and kinda hides the symmetry of { and } | |||
unless you spread it to three lines | 01:51 | ||
which is also a kind of ugly | |||
I see <{ }>.join: as kinda like the '{' ~ '}' <innards> matcher in regex | 01:52 | ||
colomon | I agree the idea is nice, just think putting the all the interesting string content in the joiner is backwards. | 01:53 | |
I'm sitting here trying to think of a better method for it. | |||
TimToady | join don't care :) | ||
it violates your figure/ground sense, is the thing | 01:54 | ||
colomon | right | ||
I feel like I want some sort of "wrap" method instead | |||
TimToady | one is used to thinking of the innards as the constant | ||
but, in fact, joining is exactly what it is doing | 01:55 | ||
colomon | start thinking like that, and the next thing you'll be allowing Code arguments for the joiner and passing them the surrounding two strings…. | 01:56 | |
TimToady | I think one would probably switch to reduce at that point | 01:57 | |
[~] is just a funny join '' | |||
but it doesn't swap the 2nd and 3rd args like join, so is slightly more obscure about the wrapping | 01:58 | ||
02:00
colomon left
02:02
colomon joined
|
|||
colomon | [~] is just an elegant join '' | 02:02 | |
colomon wonders why the hotel internet wants to log him out once each evening. | |||
TimToady has seen internets that behave like that | |||
it's a mystery | 02:03 | ||
geekosaur | the internet here drops external connections and requires (transparent, oddly) reauthentication every day, fwiw | 02:04 | |
colomon | some some reason I lost connectivity with gmail in the process -- I can get to other sites, but not it. :\ | 02:06 | |
geekosaur | chrome? give it a bit or go to net-internals:, DNS tab, and flush | 02:08 | |
colomon | ah well, guess I should $work. | ||
02:15
rurban joined
|
|||
rurban | See cowlark.com/luje/doc/stable/doc/index.wiki for a better jvm-like backend (and then eventually embrace p2) | 02:16 | |
colomon | geekosaur++ # "give it a bit" worked | 02:22 | |
geekosaur | I gave you the wrong internals thing anyway. chrome://net-internals | 02:23 | |
sorry | |||
02:25
prevost joined
02:26
eternaleye left
|
|||
geekosaur | also frefox has something similar I think but I have not touched firefox in years and don't intend to now | 02:26 | |
02:30
berekuk left
|
|||
lue | TimToady++ # aesthetically pleasing tricks | 02:39 | |
02:41
eternaleye joined
|
|||
lue wonders why the luje page talks about outperforming Sun's Hotspot and then giving benchmarks using IcedTea's Hotspot | 02:45 | ||
02:56
logie joined
02:59
Guest83275 left
03:00
araujo left,
araujo joined,
prevost left
03:16
robinsmidsrod left
03:18
robinsmidsrod joined
03:57
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex left,
preflex_ is now known as preflex
04:18
japhb_ left
04:20
kay_ joined
|
|||
ivanshmakov | jnthn, perigrin: The problem is that continuations is something I’m familiar with. And as for the (gather, take) pair — I wonder if it’s possible to implement the McCarthy’s ‘amb’ operator on top of them? (Which seems rather essential for Prolog-style programming.) www-formal.stanford.edu/jmc/basis.html | 04:49 | |
04:49
btyler left
|
|||
ivanshmakov | What’s about Perl6 libraries, BTW? Are there any decent repositories to scan through? | 04:50 | |
Timbus | modules.perl6.org/ | 04:52 | |
thats about it | |||
BenGoldberg | McCarthy's amb operator could probably be defined in terms of perl6's any() operator | 04:59 | |
TimToady | see rosettacode.org/wiki/Amb#Perl_6 for the current state of the art | 05:08 | |
if it turns out that rakudo ends up supporting continuations on all its backends as a matter of course, then we might decide to make it user-visible without chicanery | |||
05:12
xenoterracide_ left
|
|||
ivanshmakov | ACK, thanks! | 05:18 | |
TimToady | certainly logic programming is our weak paradigm at the moment | 05:19 | |
05:23
xenoterracide_ joined
05:31
BenGoldberg left
05:33
dwarring left
05:39
scottp joined
|
|||
moritz | \o | 05:48 | |
05:48
SamuraiJack__ joined
05:49
xenoterracide_ left
|
|||
diakopter | moritz: howdy :D | 05:53 | |
05:53
hummeleB1 joined
05:54
berekuk joined
05:57
rurban left
05:58
berekuk left
05:59
berekuk joined
06:01
logie left
06:13
logie joined
06:18
logie left
06:22
darutoko joined
06:26
[Sno] left
|
|||
masak | re FAQ and answering the same questions all the time: maybe it's time to have an FAQ-bot. | 06:28 | |
(good mor'n #perl6) | |||
06:28
rurban joined
|
|||
masak | I would have been arguing against the notion of an FAQ-bot on #perl6 just a year or two ago. but we have grown, and time has passed. | 06:28 | |
maybe we could even dogfood it ;) | 06:29 | ||
the #git people have a nice faqbot. | 06:31 | ||
it replies to variants of 'hi' from newcomers. | |||
06:31
fhelmberger joined
|
|||
masak | and then all it does is reply with a long line of good reply keyed on things like '!revert' | 06:32 | |
either alone on a line, or as part of a line. | |||
looks fairly safe against false positives. | |||
masak will ponder a gist with 10-ish Qs and As | 06:33 | ||
06:33
kaleem joined
06:36
rurban left
|
|||
masak | oh! the way to compose Qs and As would be to go back to many known interactions with out-of-chamber visitors, see what they asked, and compose good answers to them. | 06:43 | |
where "good" needs to be defined not just as "makes us happy/proud", but "actually feels like an answer to the questioner/actually helps somehow". | 06:44 | ||
arnsholt | I think #haskell has the correct A to the "can Perl 6" Q, BTW | 06:54 | |
moritz | masak: faq.perl6.org is based on questions that newcomers actually ask (or asked) a lot in here | 06:58 | |
r: say 435958568325940791799951965387214406385470910265220196318705482144524085345275999740244625255428455944579 * 562545761726884103756277007304447481743876944007510545104946851094548396577479473472146228550799322939273 # RSA-210 | 07:11 | ||
camelia | rakudo 994761: OUTPUT«245246644900278211976517663573088018467026787678332759743414451715061600830038587216952208399332071549103626827191679864079776723243005600592035631246561218465817904100131859299619933817012149335034875870551067» | ||
moritz | www.mersenneforum.org/showpost.php?p=354259 for reference | ||
dalek | ecs: 251282d | larry++ | S04-control.pod: Loops in a statementlist are forced to be eager Loops used at the top-level of a block where multiple semicolon-separated statements are expected now are always forced to be eagerly evaluated, even if they return a value. Loops used where a single statement is parsed retain lazy semantics. For instance, inside brackets, or after a blorst of the st persuasion. Some of the list comprehensions we've written may need parens around them, or "lazy" in front of them, to retain their current lazy semantics. |
07:15 | |
07:15
kivutar joined
07:17
FROGGS joined
|
|||
masak | moritz: ok, I will start there, then. | 07:22 | |
moritz: ok, faq.perl6.org and I have overlapping but non-identical goals. | 07:24 | ||
lizmat | good *, #perl6! | ||
masak | moritz: and the overlap is small, but could maybe be made bigger. | ||
lizmat, good *! | |||
moritz | masak: agreed | 07:27 | |
tadzik | hmm, is that diakopter | ||
's talk? o.twimg.com/2/proxy.jpg?t=HBg_aHR0...hl3M5yT0EI | |||
argh, dat url | 07:28 | ||
07:33
rurban joined
|
|||
dalek | rlito: 8f5d7d4 | (Flavio S. Glock)++ | misc/pretty_print.pl: Perlito5 - cleanup |
07:34 | |
07:35
daxim joined
07:37
salv0 left,
rurban left
|
|||
masak | tadzik: that's the title of the talk, at least. | 07:38 | |
07:38
salv0 joined
07:41
dmol joined
|
|||
lizmat | devblog.xing.com/everything-else/ya...pressions/ (Perl impressions after YAPC::EU 2013) | 07:44 | |
07:47
[Sno] joined
|
|||
tadzik | yep, hence my question | 07:49 | |
masak | "Larry Wall’s vision presented in his keynote at YAPC::EU 2013 appeared to me as very clear and consistent. I find all the recent discussions about changing versioning schemes, jumping over Perl 6 directly to Perl 7 without resolving any design flaws of Perl 5 solves absolutely nothing and should be stopped now. And I mean it." | 07:53 | |
that feeling, of being part of framing an issue, and succeeding. | 07:54 | ||
\o/ | |||
in other news: on a first reading, I am weakly positive towards github.com/perl6/specs/commit/251282d9f8 -- TimToady++ | 07:57 | ||
(still reserve the right to be characteristically bitter and vitriolic if it doesn't work out in practice, though) :P | 07:58 | ||
(but it does look good) | |||
TimToady | it fits in with the notion that statement-ending ; is the primary marker of the side-effect monad | 08:01 | |
masak | yeah, I noticed. | ||
twitter.com/audreyt/status/386052241209032705 # :) | 08:02 | ||
moritz | it reflects pretty well what sorear++ already did in niecza, afaict | 08:04 | |
TimToady++ | |||
masak | TimToady: I think it's commonly called "sequence monad". at least in Scala and Clojure. | 08:06 | |
08:12
FROGGS left
08:14
FROGGS joined
08:19
sqirrel joined
|
|||
dalek | kudo/nom: 70f2ae0 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: First version of deprecation message handler code (not used yet) |
08:19 | |
08:24
berekuk left
08:30
kivutar left
08:31
preflex left
08:33
preflex joined,
ChanServ sets mode: +v preflex,
rurban joined
08:38
rurban left
|
|||
jnthn | 251282d9f8 seems reasonable | 08:39 | |
yoleaux | 07:34Z <FROGGS> jnthn: \o/ | ||
jnthn | TimToady++ | ||
08:43
dakkar joined
08:46
iSlug joined
09:16
grondilu joined
09:17
wsri left
09:23
donaldh joined,
wsri joined
|
|||
nwc10 | masak: presumably one approach would be to convert the IRC logger bot to Perl 6, with the plan being to have re-usable IRC bot code which then is a start on a FAQ-bot | 09:24 | |
09:25
zakharyas joined
|
|||
masak | hmmm | 09:27 | |
sounds like a bit of a detour to me. | 09:28 | ||
I mean, I like the re-usable part. | |||
nwc10 | OK, then start with the FAQ bot, and then refactor the IRC logger to use its code :-) | ||
masak | :) | ||
I have a feeling the challenges with either of those bots will be to keep it running reliably, and not hog resources. | 09:31 | ||
but... I guess that's kind of the point of the exercise. | |||
nwc10 | "long running bot" isn't going to worry about startup time, so sounds like a good fit for the JVM | 09:32 | |
jnthn | Aye | 09:33 | |
JVM has sockets, is stable enough to run for a long time, etc. | 09:34 | ||
09:34
rurban joined
|
|||
FROGGS | and it has channels! like irc | 09:36 | |
nwc10 | oooh, interesting. concurrency | ||
09:36
cognominal left,
cognominal joined
|
|||
jnthn | oops, I forgot to submit my APW talks at the weekend... | 09:37 | |
To my credit, I did get NQP bootstrapped on Moar, though :P | |||
FROGGS | yes, you did :o) | ||
donaldh | jnthn++ | 09:38 | |
FROGGS | what is APW btw? | ||
nwc10 | jnthn: yes, domm is keen for more talks | ||
FROGGS: act.useperl.at/apw2013/ | |||
FROGGS | ahh, austria | ||
09:39
rurban left
|
|||
nwc10 | r: print lines | 09:39 | |
camelia | rakudo 70f2ae: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil d…» | ||
grondilu suggested a "2D morphing" task on RC. Mentioning it in case you'd be interested: rosettacode.org/wiki/Rosetta_Code:V...D_morphing | 09:52 | ||
nwc10 | jnthn: I forget - at what point in the history of the JVM bootstrapping did the custom repository go away? Once NQP-on-JVM could build Rakudo? | 10:00 | |
ie, right now there's an NQP and a Parrot checked out inside the MoarVM checkout. When (and how) does that change? | 10:01 | ||
jnthn | nwc10: nqp-cc will go away, and MoarVM repo will just contain the VM itself. | 10:02 | |
nwc10: It'll change once we're comfortable with the bootstrap and decide to close the loop. | |||
nwc10: At the point we do that we *have* to be backwards compatible on bytecode at least one version. | |||
(And yes, if you break back-compat you most likely immediately break the bootstrap, which is a rather nice canary-in-the-mine thing...) | 10:03 | ||
s/break the bootstrap/break the ability to build NQP/ | |||
10:09
zakharyas left
10:10
iSlug left
|
|||
dalek | rlito: 6f8c233 | (Flavio S. Glock)++ | / (5 files): Perlito5 - perl5 - labels, continue blocks |
10:19 | |
10:34
rurban joined
10:39
denisboyun joined
10:40
rurban left
10:41
[particle]1 joined
10:43
[particle] left
|
|||
grondilu | my thoughts on 'loop {}': perlmonks.org/?node_id=1057242 | 10:50 | |
10:53
sqirrel left
|
|||
dalek | rlito: f88464c | (Flavio S. Glock)++ | / (3 files): Perlito5 - perl6 - Perl6::PrettyPrinter stub |
11:03 | |
11:05
sqirrel joined
11:28
berekuk joined
11:34
denisboyun left
11:37
rurban joined
11:41
rurban left
11:46
denis_boyun joined
|
|||
arnsholt | nwc10: An additional challenge with starting with the logger bot on JVM is the lack of NativeCall | 11:48 | |
Although I guess you could circumvent that with the Java interop and JDBC | |||
nwc10 | NativeCall has to arrive soon. (I believe that it's the last blocker for Star) | 11:49 | |
and I think that Rakudo would do well to (also) offer JDBC | |||
arnsholt | I'm hoping NativeCall arrives soon on JVM too | 11:50 | |
11:50
denis_boyun left
|
|||
arnsholt | But I should probably do a bit more than hope, since I'm the one supposed to be implementing it =) | 11:50 | |
nwc10 | As best I can tell, if you use Perl 5's DBI interface you can talk through to JDBC: metacpan.org/release/DBD-JDBC | 11:51 | |
and ODBC: metacpan.org/release/DBD-ODBC | |||
arnsholt | Neat! | 11:52 | |
jnthn | arnsholt: Now that NQP bootstrap on Moar is largely taken care of, I'll be able to give some tuits to NativeCall on JVM also :) | ||
nwc10 | so this means that Moar beats JavaScript to be the 3rd platform for NQP? | ||
moritz | not yet. | ||
arnsholt | jnthn: That would be much appreciated | ||
nwc10 | what is the Perl 6 equivalent of DBI? (ie database abstraction) | 11:53 | |
arnsholt | The biggest blocker is the whole box_target thing | ||
FROGGS | it needs to pass the qregex tests... | ||
nwc10 | (something I think that even Python doesn't do) | ||
FROGGS | DBIish? | ||
arnsholt | Once box_target works, I think the remaining NativeCall stuff should be relatively straightforward | 11:54 | |
moritz | nwc10: DBIish | 11:55 | |
nwc10 | OK, so a DBIish::JDBC would seem useful | ||
moritz | aye | ||
arnsholt | DBIish is a bit of a placeholder though | 11:56 | |
moritz | yes, it's a kind of minimal thing that could possibly work | ||
FROGGS | everythings starts small :o) | 11:57 | |
12:00
FROGGS left
12:01
FROGGS joined
12:12
kivutar joined
12:15
FROGGS left
12:19
pdurbin left
12:22
daxim_ joined,
daxim left,
dayangkun left,
kivutar left
12:29
skids left
12:30
dmol left
12:32
FROGGS joined
12:34
dayangkun joined
12:41
dmol joined
12:48
ggoebel3 left
|
|||
dalek | rl6-roast-data: c28a35a | coke++ | / (5 files): today (automated commit) |
12:49 | |
rl6-roast-data: 98f7450 | coke++ | perl6_pass_rates.csv: fix dates of previous run, ended too late |
|||
moritz | .to lizmat I've bisect that Mu.[0] memory explosion to commit f51a00baed774e4a2fd405c1928bb84f62a1a888 | 12:52 | |
yoleaux | moritz: I'll pass your message to lizmat. | ||
lizmat | moritz: to be honest, I would like to get rid of that commit as well | 12:53 | |
yoleaux | 12:52Z <moritz> lizmat: I've bisect that Mu.[0] memory explosion to commit f51a00baed774e4a2fd405c1928bb84f62a1a888 | ||
moritz | lizmat: understandable :-) | ||
r: say $default | 12:54 | ||
lizmat | the only problem is that rakudo doesn't consider a candidate without named parameters narrower than a candidate with named *optional* parameters | ||
camelia | rakudo 70f2ae: OUTPUT«» | ||
moritz | I see | ||
12:54
daxim__ joined
12:55
daxim_ left
|
|||
moritz | and thus we need a candidate for each (delete/exists/kv/p/k/v) adverb where it's mandatory | 12:55 | |
hm, maybe the 'is default' trait could help | |||
lizmat | yup :-( | ||
on the candidate without named parameters ? | |||
moritz | yes | 12:56 | |
lizmat | ok, I'll try that in a mo | ||
just about to get is DEPRECATED working the way *I* want | |||
:-) | |||
moritz | :-) | ||
moritz just hopes that applying the 'is default' trait works in the setting | 12:57 | ||
lizmat | probably not, but it's worth a try :-) | ||
moritz | if not, one has to mix in a method default() { True } into the Sub object at BEGIN time | 12:58 | |
moritz hopes that infix:<does> works that early in the setting :-) | |||
if not, one has to... | |||
FROGGS | self.HOW.mixin(self, ...) ? | ||
moritz | yes | 12:59 | |
oh, erm, but, into that one candidate, not into the proto | |||
12:59
fridim_ left
|
|||
FROGGS thought he was wrong just after pressing <ENTER> | 12:59 | ||
moritz | so one has to manually get hold of ther right candidate and *ME RUNS AWAY SCREAMING* | 13:00 | |
13:00
kaleem left
|
|||
FROGGS | *g* | 13:00 | |
moritz: I will hold it down you get all its candi | 13:01 | ||
arnsholt | nqp: my $_ := nqp::ctx(); $_ := nqp::ctxcaller($_) while 1; | 13:07 | |
camelia | nqp: OUTPUT«Null PMC access in get_attr_str()current instr.: '' pc 71 ((file unknown):57661493) (/tmp/0FZHGUwOJg:1)» | ||
arnsholt | jnthn: That one above is from NQP #65, which used to segfault. Still a bug though, isn't it? | 13:08 | |
moritz | well, that's open to interpretation | 13:09 | |
jnthn | No, that's just not knowing that you should check the thing you got back... | ||
moritz | what should ctxcaller return for the top-level call frame? | 13:10 | |
null seems like a valid choice | |||
arnsholt | Right, right. It's nqp::ctxcaller being given an invalid argument | 13:11 | |
Another bug I can close \o/ | |||
moritz | the other obvious-ish choice would be NQPMu | ||
but I guess that might get hairy wrt bootstrapping | |||
13:12
SamuraiJack__ left
|
|||
jnthn | Yeah...probably null is best | 13:12 | |
I think that's what the code using it checks for | |||
13:17
PacoAir joined
13:18
dmol left
13:22
denisboyun joined
|
|||
arnsholt | What's the current state of the eval server for NQP/JVM? | 13:24 | |
Is it working enough that we can close #129, or should it be left open for now? | 13:25 | ||
13:28
benabik left
13:32
PacoAir left,
PacoAir joined
13:33
kaare__ joined,
alester joined,
kaare__ is now known as kaare_
13:38
denisboyun left
13:39
ajr joined
|
|||
timotimo | FWIW i recently tracked down why the qregex tests hang (and consume infinite memory) on moarvm | 13:39 | |
13:39
ajr is now known as Guest93153
|
|||
FROGGS | timotimo: join me on #moarvm :o) | 13:39 | |
13:40
Guest93153 is now known as ajr_
|
|||
timotimo | will do | 13:41 | |
once i backlog | |||
FROGGS | timotimo: is it push or unshift? | 13:42 | |
13:42
Bzek joined
|
|||
timotimo | no | 13:42 | |
well, it may be | |||
see #moarvm | 13:43 | ||
13:46
btyler joined
13:47
ggoebel3 joined
13:57
skids joined
|
|||
lizmat | jnthn, moritz: in a backtrace, is there a way to find out if a frame is a proto ? | 14:00 | |
14:00
pmurias joined
|
|||
lizmat | to me, they seem indistinguishable from a normal sub/method :-( | 14:03 | |
14:03
kaleem joined
14:04
pmurias_ joined
|
|||
jnthn | lizmat: You can get hold of the code object | 14:04 | |
moritz | lizmat: you can call .?candidates on the code object | ||
jnthn | lizmat: And then call .is_dispatcher | ||
r: proto foo() { }; say &foo.is_dispatcher | |||
camelia | rakudo 70f2ae: OUTPUT«True» | ||
lizmat | aha… ok | ||
jnthn | r: sub foo() { }; say &foo.is_dispatcher | ||
camelia | rakudo 70f2ae: OUTPUT«False» | ||
lizmat | jnthn++ | 14:05 | |
14:06
logie joined
|
|||
FROGGS | r: multi foo() { }; say &foo.is_dispatcher | 14:06 | |
camelia | rakudo 70f2ae: OUTPUT«True» | ||
FROGGS | :o) | ||
yay, I remember things from exactly a year ago | 14:07 | ||
masak | r: my regex foo {}; say &foo.is_dispatcher | 14:08 | |
camelia | rakudo 70f2ae: OUTPUT«===SORRY!=== Error while compiling /tmp/9igBv23oHVNull regex not allowedat /tmp/9igBv23oHV:1------> my regex foo {⏏}; say &foo.is_dispatcher expecting any of: scoped declarator new name t…» | ||
masak | mah :) | ||
r: my regex foo { OH HAI }; say &foo.is_dispatcher | |||
camelia | rakudo 70f2ae: OUTPUT«False» | ||
timotimo | mahsak :) | ||
pmurias_ | nqp-moarvm has bootstrapped? | ||
timotimo | how about t4? :) | ||
14:08
pmurias left,
pmurias_ is now known as pmurias
|
|||
masak | timotimo: will try to find review time this week. | 14:08 | |
timotimo | :) | 14:09 | |
timotimo aims not to nag&distract, but only to show he cares | |||
14:10
kaleem left
|
|||
dalek | rlito: 5cff33c | (Flavio S. Glock)++ | / (3 files): Perlito5 - perl6 - pretty-print placeholder - "-Cperl62" |
14:12 | |
14:14
rurban joined
14:15
Bzek left
14:16
pmurias left
14:21
FROGGS left
14:22
pmurias joined
14:24
awwaiid joined
14:26
rurban left
14:27
pmurias left
14:29
telex left
14:31
telex joined
14:32
sqirrel left,
denis_boyun joined
|
|||
dalek | kudo/nom: 0b5db01 | (Elizabeth Mattijsen)++ | src/core/Backtrace.pm: Add "noproto" named param to next-interesting-index, to exclude proto's |
14:36 | |
kudo/nom: 0957ab1 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm: Add class/instance method "report", further tweaks |
|||
kudo/nom: c11e1d8 | (Elizabeth Mattijsen)++ | src/core/ (19 files): Adapt is DEPRECATED mentions in core to the new format |
|||
kudo/nom: bba4196 | (Elizabeth Mattijsen)++ | tools/build/Makefile- (2 files): Make sure src/core/Deprecations is included in the build |
|||
lizmat | calling deprecated subs/methods now results in *one* message at end of execution | 14:37 | |
$ perl6 -e 'my %h; %h.delete("a"); say "done"' | |||
done | |||
Saw 1 call to deprecated code during execution. | |||
================================================================================ | |||
Method delete (from Hash) called at: | |||
-e, line 1 | |||
Please use the :delete adverb instead. | |||
14:37
PZt left
|
|||
tadzik | \o/ | 14:37 | |
moritz | lizmat++ | ||
lizmat | r: sub a () is DEPRECATED('b') {}; a | 14:38 | |
camelia | rakudo 70f2ae: OUTPUT«Sub 'a' has been deprecated, please use b instead in any at /tmp/tYb7tt5N5A:1» | ||
timotimo | looks good :) | ||
lizmat | the last one was still the old one | 14:39 | |
14:40
PZt joined
|
|||
masak | lizmat++ | 14:47 | |
14:47
benabik joined
|
|||
dalek | rlito: 99460c9 | (Flavio S. Glock)++ | / (3 files): Perlito5 - perl6 - t5/01-perlito/010-sanity.t pass |
15:01 | |
15:05
slavik joined
|
|||
dalek | kudo/nom: f14c3e5 | (Elizabeth Mattijsen)++ | src/core/Backtrace.pm: Don't use a try block if we don't need one |
15:09 | |
15:10
araujo left
|
|||
dalek | rlito: 3579bd8 | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl6 - t5/01-perlito/030-num.t pass; 1 TODO |
15:10 | |
15:11
araujo joined,
denis_boyun left,
sqirrel joined
15:14
ajr_ left
|
|||
dalek | rlito: d7e8199 | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl6 - no parenthesis in "if" |
15:15 | |
15:16
ajr joined
15:17
ajr is now known as Guest81766,
darutoko left
|
|||
dalek | kudo/nom: d7aa6a8 | (Elizabeth Mattijsen)++ | src/core/Any.pm: Make sure KeySet|KeyBag coercer exist again as DEPRECATED |
15:20 | |
15:20
[Sno] left
|
|||
lizmat | just in case someone in the eco system was using .KeySet or .KeyBag | 15:21 | |
15:22
xenoterracide_ joined
|
|||
dalek | rlito: 4234774 | (Flavio S. Glock)++ | / (6 files): Perlito5 - perl6 - cleanup temporary "perl62" backend; perl6 pretty-print is now default |
15:26 | |
15:27
rurban joined
|
|||
dalek | rlito: ac38a0d | (Flavio S. Glock)++ | src5/util/perlito5-browser-perl6.pl: Perlito5 - perl6 - typo |
15:28 | |
15:31
rurban left
|
|||
Ulti | does Perl 6 have labels and goto? | 15:32 | |
15:32
Guest81766 is now known as ajr_
|
|||
Ulti | after some Perl 5 code I just saw can I request they get removed? >:3 | 15:32 | |
geekosaur | labels have uses other than goto | 15:34 | |
even in perl5. (that said, 99% of code using goto in perl5 should be shot) | |||
timotimo | does the moarvm-nqp use the selfhosted nqp already? | ||
15:34
colomon left
|
|||
GlitchMr | You can specify them in "next", "last", and "redo", but it's still a "goto". | 15:34 | |
Besides, I don't think "goto" is bad. Sometimes it can simplify control flow. | 15:35 | ||
tadzik | timotimo: it can | ||
GlitchMr | If your entire control flow is made of gotos, it's not good. But sometimes goto can make code more readable. | 15:36 | |
TimToady | especially when the alternative is to use mystery status variables | 15:37 | |
and if goto is bad, what can we say about continuations? :) | |||
15:38
btyler left
|
|||
TimToady | and there isn't any feature that isn't abused at some point by hoi polloi | 15:38 | |
GlitchMr | Also, continuations (and coroutines) are just exceptions you can continue from. | 15:39 | |
I'm perfectly fine with forward goto. | |||
Ulti | this was a got instead of if-not or unless: pos1: if($thing) {goto pos2;} else {do-stuff();} pos2: if($other_thing) {goto pos3;} else {do-moar();} .... | 15:40 | |
22 labels and 57 goto's in a single script... and nearly everything inside the if-elsif trains was `shell horror` | 15:41 | ||
GlitchMr | What is the point of "goto pos2"? | ||
Ulti | exactly! | ||
15:41
btyler joined
|
|||
Ulti | there is no point just awful awful code | 15:41 | |
I have to assume it was compiled by another script from many individual pieces | 15:42 | ||
GlitchMr | This is awful code, but you can make just as awful code with "if"s. | ||
15:42
ajr_ left
|
|||
Ulti | that is the only way I can have a mental model of how this thing was born, it couldnt have come from the mind of a human | 15:42 | |
GlitchMr: oh it had awful if's too :) like a thousand lines of nested elsif | |||
15:42
ajr_ joined
|
|||
TimToady | People screw up their sex lives too, but that doesn't mean we should get rid of sex. :) | 15:42 | |
Ulti | strawman detected :P | 15:43 | |
15:43
perigrin left
|
|||
dalek | kudo/nom: d7e5e1d | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp: Make sure phaser code is also added for methods This makes "is DEPRECATED" work on methods |
15:43 | |
15:43
perigrin joined
|
|||
TimToady | you were requesting to have sex^Wgoto removed, so no strawman | 15:44 | |
GlitchMr | thedailywtf.com/Articles/Unconditio...eless.aspx | ||
Found it. | |||
thedailywtf.com/Articles/Innovation...0x3b_.aspx | 15:45 | ||
Or this. | |||
Ulti | but I agree bad programmers make bad code and that shouldnt ruin it for the rest of us | 15:49 | |
15:49
pmurias joined
|
|||
rjbs | GlitchMr++ # Free Goto | 15:49 | |
(by which I mean: it isn't always awful; not that it should go away) | 15:50 | ||
GlitchMr | I actually sometimes wanted to use goto in JavaScript. | ||
TimToady | maybe if I put in the stipulation that you have to send me $5 every time you use 'goto'... | ||
GlitchMr | I seen lots of ugly code without goto. | 15:51 | |
pmurias | GlitchMr: me too, for emitting code ;) | ||
yoleaux | 4 Oct 2013 17:26Z <[Coke]> pmurias: - fixed the existing _I opcodes i the docs. | ||
rjbs | So, I'm thinking about running a little programming competition for some friends, some of whom are not very advanced programmers. | ||
GlitchMr | Actually, goto is rare these days, considering how many people think it's worst thing ever. | ||
rjbs | I'd write a "server" to run games of tic-tac-toe, mastermind, or other trivialities. | ||
How's the non-blocking IO in any p6 these days? | |||
(I'm not sure what I'll write it in; p5 if I just want to get it done, or something else for fun.) | 15:52 | ||
TimToady | use MONKEY_AROUND | ||
geekosaur | sounds good to me | 15:55 | |
15:55
darutoko joined,
rurban joined
15:56
FROGGS joined
|
|||
diakopter | MONKEY_CARGO | 15:57 | |
geekosaur | MONKEY_SEE_MONKEY_GO | 15:58 | |
perigrin | use MONKEY_BAR; # stop people from MONKY_PATCH-ing | ||
TimToady | I think "around" is rather appropriate for moving around the program | 15:59 | |
diakopter | MONKEY_THROW_POO | ||
perigrin | Poo.fling | ||
Ulti | :) the new PhD student I'm working with has gone home from the stress of reading this code lol | 16:00 | |
diakopter | home to another continent? | ||
Ulti | another dimension, where you can't goto | ||
TimToady | .oO(Piled, higher and Deeper) |
||
masak | I see goto fear and loathing is still alive and well :) | 16:01 | |
TimToady | we should probably a canonical list of MONKEY declarations | ||
masak | accidentally? | ||
perigrin | TimToady: have an entire ... barrell of MONKEY declarations? | 16:02 | |
Ulti | I dont loath or fear goto, I think its a perfectly acceptable way to break out of nested loops... but so is 'last 2' or something similar | ||
16:02
rindolf joined
|
|||
TimToady was thinking earlier that the monkey barrel would autoload everything from anywhere | 16:02 | ||
moritz | \o | 16:03 | |
dylanwh | ls | ||
Ulti | also goto does make evolutionary programming a lot easier in Perl :3 just inject some labels and gotos at random until the desired function drops out | ||
16:03
benabik left
16:04
fglock joined
|
|||
GlitchMr | What's wrong with simple "no MONKEY_PATCHING"? | 16:05 | |
TimToady | too generic | ||
GlitchMr | There is "no" keyword for a reason. | ||
TimToady | and we're trying to make the default sane | ||
so that The Boss can ack for 'MONKEY' and figure out where you're cheating | 16:06 | ||
16:06
jnap joined
|
|||
GlitchMr | Tell him to ack for 'use MONKEY' | 16:06 | |
16:06
benabik joined
|
|||
GlitchMr | Besides, you could hide "use" with "eval". | 16:06 | |
TimToady | no, that doesn't escape the lexical scope | ||
moritz | or use the MOP directly | ||
TimToady | arguably, using the MOP should require some form of MONKEY | 16:07 | |
16:07
fhelmberger left
|
|||
arnsholt | diakopter: You have any objections to closing NQP #66? | 16:07 | |
GlitchMr | I'm sure there is a way to say MONKEY without actually doing so. | ||
TimToady | ss/the MOP/the MOP to modify anything/ | ||
GlitchMr: that's not the point | 16:08 | ||
the point is to establish a culture where you tell the reader what's tricky | |||
GlitchMr | use tricky Monkey::Patching; | 16:10 | |
oh wait, it's a pragma | |||
use tricky monkey::patching; | |||
16:10
daxim__ is now known as daxim
|
|||
FROGGS | I'd say MONKEY_PATCHING should on by default and must be turned off explicitly :P | 16:10 | |
GlitchMr | Or, in C# style, use unsafe monkey::patching; | ||
TimToady | the thing is, if we make the monkey business fun, people won't mind so much that it's mandatory | ||
Ada started this notion with UNCHECKED_TYPE_CONVERSION and such, but they didn't make it fun :) | 16:11 | ||
GlitchMr | What about unsafe keyword in C#? | ||
It lets you do stuff like having pointers. | 16:12 | ||
pmurias | FROGGS: why make MONKEY_PATCHING on by default? | 16:14 | |
FROGGS | pmurias: that was a joke! | ||
I'm totally with TimToady that turning it on must feel icky | 16:15 | ||
and that one must see that at a first glance | |||
TimToady | 🙈 | 16:16 | |
.u 🙈 | |||
yoleaux | U+1F648 SEE-NO-EVIL MONKEY [So] (🙈) | ||
perigrin worries that unicode is broken in his irssi now. | |||
TimToady | unsafe pointers is probably MONKEY_BUSINESS or some such | 16:17 | |
16:17
rurban left
|
|||
TimToady | some feature that is deemed overly restrictive for standard Perl should be a MONKEY_CAGE | 16:19 | |
maybe that's nqp-emulation mode :P | 16:20 | ||
lee_ | i don't know what MONKEY_TYPEWRITER would be | ||
pmurias | aren't unsafe pointers NativeCall? :) | ||
16:21
xinming_ joined
|
|||
TimToady | lee_: we already kinda have that one in MONKEY_TYPING | 16:21 | |
lee_ | oh, duh :P now it makes more sense | ||
16:21
btyler left
|
|||
lee_ is slow | 16:21 | ||
TimToady | it's meant to be sort of a slam on Ruby monkey patching culture :) | 16:22 | |
16:23
xinming left
|
|||
TimToady | .oO(if it walks like a monkey, and quacks like a monkey...) |
16:24 | |
Ulti | and types like a thousand monkeys | ||
16:25
Bzek joined
|
|||
Ulti | oh lee_ already covered that | 16:25 | |
16:26
btyler joined
|
|||
masak | "Perl 6: way ahead of you with the cultural memes." | 16:29 | |
diakopter | if it quacks like a monkey, that's a really smart duck | 16:30 | |
TimToady | name it Mallard Shakespeare | 16:31 | |
masak | now y'all're just beating a dead duck. | 16:32 | |
TimToady | maybe our language emulations are misnamed. instead of *ish, we should have use APE_PHP and such | ||
moritz | don't insult the apes :-) | 16:33 | |
TimToady | okay, APE_HASKELL then | ||
masak .oO( monkad ) | 16:34 | ||
16:34
[Sno] joined
|
|||
TimToady | Also Sprach Masonk | 16:34 | |
16:36
pmurias left
|
|||
TimToady | unsafe comparisons would have to be APPLES_AND_ORANGUTANS | 16:36 | |
perigrin has a mental image of a bunch of proto-homonids around an iPhone 5s now ... | 16:37 | ||
16:37
alester left
|
|||
dalek | rlito: dff1daa | (Flavio S. Glock)++ | / (4 files): Perlito5 - perl6 - update browser version |
16:38 | |
diakopter | perigrin: miami beach? | 16:39 | |
TimToady | maybe the nqp dialect should be "use HOMONIN_TOOLS" | ||
perigrin | diakopter: depends on what part of the beach ... some of them wax *really* well down there. | 16:40 | |
TimToady | need a stony beach to find those stone tools | 16:42 | |
diakopter | *groan* down there | ||
perigrin | I didn't actually *intend* for that ... I'm about 300 miles north of Miami Beach | 16:43 | |
diakopter | oh heh. | 16:44 | |
16:47
dayangkun left
|
|||
TimToady wonders why it's called "monkeyshine" | 16:48 | ||
diakopter | like moonshine, but fewer o's and an additional key | 16:49 | |
TimToady | my AmHer is unhelpful on the subject | 16:50 | |
perigrin | TimToady: www.word-detective.com/2011/03/gall...keyshines/ | 16:51 | |
TimToady | though it offers "monkey pot" and "monkey jacket" | ||
16:52
lowpro30 joined
16:58
ggoebel4 joined
17:00
ggoebel3 left
17:01
dmol joined,
hummeleB1 left,
dakkar left,
zby_home_ joined
17:02
dayangkun joined
|
|||
grondilu | nqp: my int $a := 0; say(++$a); | 17:04 | |
camelia | nqp: OUTPUT«1» | ||
grondilu | r: my int $a := 0; say(++$a); | ||
camelia | rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/8C4Dr_5RgsCannot bind to natively typed variable '$a'; use assignment insteadat /tmp/8C4Dr_5Rgs:1------> my int $a := 0⏏; say(++$a); expecting any of: postfi…» | ||
grondilu wonders why something what works in nqp does not work in Perl6 | |||
TimToady | because nqp has screwey semantics :) | 17:06 | |
in normal p6, binding is only for copying pointers, not native values, which is always assignment as in C | 17:07 | ||
if we allowed direct access to the pointers as C does, we could use assignment for those too | 17:08 | ||
but we have safe refs, so that operation is hidden behind := | |||
*screwy | |||
basically, nqp overloads := for two different operations from p6's point of view | 17:09 | ||
an alternate view is that nqp uses := consistenly for what C uses = for | 17:10 | ||
if you consider pointers to be native in nqp | 17:11 | ||
in either case, p6 ain't goin' there :) | |||
17:12
xinming_ left
17:13
ggoebel joined
17:15
xinming joined
17:16
ajr_ left
17:18
sftp left,
denis_boyun joined,
rurban joined
17:22
rurban left
|
|||
dalek | rlito: 725e971 | (Flavio S. Glock)++ | / (3 files): Perlito5 - perl6 - fix internal dependencies |
17:26 | |
FROGGS | install/bin/moar nqp.moarvm t/qregex/01-qregex.t | 17:27 | |
Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thing at line 29, near "> $m { %ex" | |||
:o( | |||
ohh, ww | |||
[Coke] | arnsholt: you closed nqp#66 but didn't say why? | ||
pugs: say "blah?" | 17:29 | ||
camelia | pugs: OUTPUT«blah?» | ||
17:29
FROGGS[mobile] joined
|
|||
[Coke] | .ask moritz did you fix pugs on host07? | 17:29 | |
yoleaux | [Coke]: I'll pass your message to moritz. | ||
17:29
lowpro30_ joined
|
|||
[Coke] | .ask arnsholt if nqp #66 is fixed, or DIHWIDT. | 17:30 | |
yoleaux | [Coke]: I'll pass your message to arnsholt. | ||
17:31
daxim left,
lowpro30__ joined
|
|||
arnsholt | [Coke]: Yeah, I closed it | 17:31 | |
yoleaux | 17:30Z <[Coke]> arnsholt: if nqp #66 is fixed, or DIHWIDT. | ||
arnsholt | Also, DIHWIDT? | ||
timotimo | doctor, it hurts when i do thtat | 17:32 | |
(well, then don't do that) | |||
arnsholt | Oh, right | ||
TimToady | S99:221 | ||
synopsebot | Link: perlcabal.org/syn/S99.html#line_221 | ||
arnsholt | Yeah, I think it's mostly the latter | ||
TimToady | S99:DIHWIDT # does this work? | 17:33 | |
17:33
lowpro30 left
|
|||
arnsholt | [Coke]: A bit more information from jnthn at irclog.perlgeek.de/perl6/2013-10-06#i_7678311 | 17:33 | |
But yeah, it's essentially just that an empty loop body isn't actually completely empty =) | 17:34 | ||
PerlJam | TimToady++ that would be awesome | ||
17:34
lowpro30_ left
17:35
FROGGS[mobile]2 joined,
FROGGS[mobile] left,
rurban joined
17:36
denis_boyun left
|
|||
dalek | p/moarboot: 127cae0 | jnthn++ | tools/build/Makefile-Moar.in: Build P5QRegex library on MoarVM. Test file hangs, presumably for same reason t/qregex does. |
17:37 | |
p/moarboot: ca7e1b9 | jnthn++ | .gitignore: Update .gitignore. |
17:38 | ||
17:39
darutoko left
17:40
sftp joined
17:42
SamuraiJack__ joined
17:43
sftp left
17:44
sftp joined
17:52
sqirrel left
18:06
rurban left
18:07
denis_boyun joined
18:09
Rotwang joined
|
|||
diakopter | yeah I argued that nqp := should be = until I was blue in the face because it acts exactly like = in p6... but to no avail | 18:11 | |
dalek | rlito: 021723a | (Flavio S. Glock)++ | / (6 files): Perlito5 - AST - cleanup |
||
18:11
SmokeMachine joined
18:12
jlaire joined
18:22
ggoebel4 left
|
|||
dalek | rlito: e9aecce | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl6 - fix internal dependencies |
18:24 | |
18:25
ggoebel4 joined
18:28
SamuraiJack__ left
|
|||
fglock | I've updated perlcabal.org/~fglock/perlito5to6.html | 18:32 | |
yoleaux | 3 Oct 2013 21:26Z <raiph> fglock: TimToady doesn't like $*OS: irclog.perlgeek.de/perl6/2013-09-07#i_7555053 | ||
fglock | $*OS can go away | 18:34 | |
I'm looking for patterns for perl5 => perl6 | |||
to install in the compiler | |||
TimToady | how much refactoring do you want to do? :) | 18:35 | |
fglock | not sure yet, I'm going in small steps | 18:36 | |
18:36
Bzek left
|
|||
TimToady | a good source of patterns is probably to compare rosettacode entries for p5 and p6 | 18:36 | |
fglock | I've just split the translation and pretty-printing to make it more flexible | 18:37 | |
timotimo | do you have some examples for what already works? | ||
TimToady | that should give you both low-level transformations and high level | ||
fglock | great, I'll take a look | ||
timotimo: I'm following the tests in the perlito5 test suite | 18:38 | ||
I'm testing with rakudo | |||
18:38
FROGGS[mobile]2 left
|
|||
timotimo | you're turning the perl5 tests into perl6? | 18:39 | |
18:39
rindolf left
|
|||
timotimo | oh, wait, this translates perl5 to perl6? | 18:39 | |
fglock | yes | 18:40 | |
timotimo | ah, that's not as interesting for me then | ||
18:41
spider-mario joined
|
|||
nwc10 | if you feed it Abigail, what comes out the other end? :-) | 18:41 | |
TimToady | dunno, but it's inside out | ||
fglock | it should work: $$ a [10]; => $a[10]; | 18:42 | |
TimToady | :) | ||
18:44
ajr joined
|
|||
fglock | $$$ a [10] gives $($a)[10] - not sure if this makes sense in perl6? | 18:44 | |
18:44
ajr is now known as Guest81406,
Guest81406 is now known as ajr_
|
|||
FROGGS | r: my $a = ^20; say $($a)[10] | 18:44 | |
wait for it... | 18:45 | ||
timotimo | haha | ||
first execution since a rebuild or something? | |||
lue | hello world! o/ | ||
FROGGS | hi lue | ||
r: 1 | |||
:/ | 18:46 | ||
jnthn | r: u there? | ||
fglock | timotimo: what would be interesting for you? | ||
timotimo | straight up running perl6 code in js ;) | ||
FROGGS | fast | ||
timotimo | (i have no involvement or investment in perl5 or earlier, so ...) | ||
FROGGS | he is le'optimizer | ||
timotimo | yeah, run it extra fast, please ;) | ||
fglock | ah, that is perlito6 - it is bitrotting a bit :( | 18:47 | |
camelia | rakudo d7e5e1: OUTPUT«10» | ||
FROGGS | hehe | ||
timotimo | wow, that took a *long* time | ||
FROGGS | r: 1 | ||
camelia | ( no output ) | ||
rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/whpjQmTCikTwo terms in a rowat /tmp/whpjQmTCik:1------> u there⏏? expecting any of: argument list postfix infix stopper infix o…» | |||
( no output ) | |||
FROGGS | r: my $a = ^20; say $($a)[10] # again | ||
camelia | rakudo d7e5e1: OUTPUT«10» | ||
FROGGS | hmmm, okay | ||
18:48
dwarring joined
|
|||
TimToady | $($a) should be a no-op | 18:48 | |
FROGGS | it actually alls .item | ||
calls* | |||
TimToady | .item.item | ||
it's itempotent :) | |||
FROGGS | gah, go away! | 18:49 | |
:p | |||
18:49
lowpro30 joined
|
|||
jnthn | argh :P | 18:49 | |
lizmat | r: my %h; %h.delete("a") | ||
camelia | rakudo d7e5e1: OUTPUT«Saw 1 call to deprecated code during execution.================================================================================Method delete (from Hash) called at: /tmp/C4PAotJghv, line 1Please use the :delete adverb instead.--------------------…» | ||
18:49
Vlavv` left
|
|||
lizmat | r seems to be up to date :-) | 18:50 | |
jnthn | r: my %h; %h.delete("a"); say "cometh it at l'end?" | ||
camelia | rakudo d7e5e1: OUTPUT«cometh it at l'end?Saw 1 call to deprecated code during execution.================================================================================Method delete (from Hash) called at: /tmp/MF210hLDQl, line 1Please use the :delete adverb instead.…» | ||
lue | so the = bar is intentional? | ||
18:50
Pleiades` joined
|
|||
timotimo | it's a bit long for the irc bot :P | 18:50 | |
fglock | timotimo: perlcabal.org/~fglock/perlito6.html # last update was long ago | ||
jnthn | Can I get a beer from the = bar? | ||
TimToady | is that a monkey bar? | ||
lizmat | yes, the = bar is intentional | ||
timotimo | fglock: i saw it, thanks :) | ||
lizmat | looks better in plain text :-) | ||
jnthn returns to his slides :) | |||
18:51
lowpro30__ left,
lowpro30_ joined
|
|||
lizmat | the idea is that using deprecated features will not interfere with normal processing at all. Just when all is done, then it will complain | 18:52 | |
and it will complain about the places where a change would be needed | |||
TimToady | use SPEAK_NO_EVIL should silence deprecation warnings :) | 18:53 | |
.u 🙊 | |||
yoleaux | U+1F64A SPEAK-NO-EVIL MONKEY [So] (🙊) | ||
18:53
lowpro30 left
|
|||
lue | so SPEAK_NO_EVIL suppresses Perl 5 usage warnings, yes? :) | 18:54 | |
TimToady | that might rise to the level of SEE-NO-EVIL :) | ||
since it'd then have to actually try to run them | 18:55 | ||
18:56
jnap left
|
|||
lue | r: my @a = <> ; say "This message means I'm not hampered by Perl 5's history! \o/" | 18:57 | |
camelia | rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/D7qsAtfUSoUnsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty listat /tmp/D7qsAtfUSo:1------> my @a = <⏏[3…» | ||
TimToady | the fun part is making $/ have both Perl 5 and Perl 6 semantics simultaneously | 18:58 | |
lizmat | r: my %h; %h.delete("a"); END {%DEPRECATIONS=()} # silence deprecation message | ||
camelia | ( no output ) | ||
benabik | Perhaps have a s/no DEPRECATION/END {%DEPRECATIONS=()}/ ? | 18:59 | |
It isn't %*DEPRECATIONS? | 19:00 | ||
TimToady | probably falls into a no warnings category | ||
19:02
Vlavv` joined
19:03
btyler left
19:06
fglock left,
sqirrel joined
19:07
rurban joined,
btyler joined
19:11
jnap joined
19:12
rurban left
19:18
Traceur joined,
Traceur left,
Traceur joined
|
|||
dalek | p: d7eae46 | (Timo Paulssen)++ | src/NQP/Compiler.nqp: allow the user to turn off optimizing for nqp |
19:22 | |
timotimo | i've promised to do this a long time, i think | ||
arnsholt | Oh, heh. I'd forgotten about that | 19:23 | |
timotimo | turned out to be super easy | 19:24 | |
so that's a plus | |||
arnsholt | [Coke]: Is NQP #64 fixed? Looks like it works for me (though the machine I'm testing on is 10.7.4, not 10.7.3) | 19:30 | |
19:33
daniel-s joined
19:34
Ispira_ joined
|
|||
Ispira_ | Hi, I just had a quick question about perl 6: What are the main differences between perl6 and perl5? | 19:35 | |
19:37
_daniel-s__ left
|
|||
TimToady | far fewer lists of exceptions, more direct support of both FP and OO paradigms | 19:37 | |
timotimo | perl6 has a type system and uses classes pretty much everywhere; perl6 has a new, very strongly cleaned up regex syntax (with the option to just use perl5 regexes instear: | ||
TimToady | fixes most of the perceived warts in the design of Perl 5 | ||
timotimo | inst ... ear? what did i just write | ||
perl6 code is now parsable by not just the perl6 executable. and all in just one pass! | 19:38 | ||
TimToady | most of the perceived warts of Perl 5 end up relating to the lack of a type system :) | ||
timotimo | perl6 has a very good potential for parallelism and such; channels, promises and stuff just got prototyped successfully on the jvm backend | 19:39 | |
oh, also, perl6 is already on the JVM as well as parrot, and will soon be on javascript (node and browsers) and MoarVM, our own new and shiny VM | |||
TimToady | portability to multiple VMs is also a consideration | ||
so you see, it might be a quick question, but it's not a quick answer :) | |||
nwc10 | Perl 6 will do Unicode better than Perl 5. Stuff that is hard in perl 5 will be easy. Stuff that is O(n) in Perl 5 will be O(1) [and consequently O(n**2) will be O(n)] | 19:40 | |
but I suspect that on that one, most people won't need it for a while yet | |||
timotimo | Ispira_: now you know why we're excited about perl6 :3 | 19:41 | |
TimToady | the other big difference is that Perl 5 is still faster--but we're working on that :) | 19:42 | |
timotimo | hehe | 19:44 | |
will still take a little while, though :( | 19:45 | ||
on the other hand: perl 6 core development will not make you start flipping tables left and right | |||
there's still lots of exciting things to do in perl6 land, whereas in perl5 land you mostly just get to fix bugs and the occasional new cool features in the scary, scary innards of the perl5 code :P | |||
19:46
hexcoder joined
|
|||
TimToady | The people who hang out here are nicely stubborn, and stubbornly nice. | 19:49 | |
Ispira_ | I see | 19:50 | |
I ask becuase I'm bored and want to learn a new language, I'm looking into perl5, perl6, Scala and Ruby, etc | 19:51 | ||
TimToady | well don't ask us, we're prejudiced :) | 19:52 | |
Ispira_ | obviously | ||
how new is perl6? like how early in development is it still? | |||
PerlJam waits to see the answer to that one ;) | 19:54 | ||
TimToady | well, we've been stubbornly working on it for 13 years now, but we think we're getting pretty close to what many people would consider a production release in a year or so | ||
timotimo | not very many things you'd end up using on a day-per-day basis are being completely turned upside-down ... | ||
timotimo tried for the most non-answer he could come up with | 19:55 | ||
TimToady | the design is stabilizing nicely as the various implementations converge on it | ||
PerlJam | Ispira_: There's a compiler release every month. And there's a feature matrix perl6.org/compilers/features | ||
timotimo | and we have a almost-completely-monthly release of a distribution made up of compiler + package manager + a few modules | ||
TimToady | we're a bit weak in docs yet | ||
anyway, we're pretty sure we'll have a solid production version before they have commercial fusion reactors :) | 19:57 | ||
didn't quite beat DNF out the door though... | |||
nwc10 | DNF seems to have become quite forgettable | 19:58 | |
Ispira_ | Well thanks for the help guys | ||
TimToady | our pleasure | ||
Ispira_ | I do think after looking a bit more extensiveley into 5 and 6 that perl isn't the language for me at this point | ||
TimToady | you should learn lots of languages | ||
timotimo | after going through oop, imperative and functional, you'll at least always feel at home in perl6 land, because you can have it your way™ | 19:59 | |
TimToady | but perl 6 is aimed more to be your last language than your first one | ||
Ispira_ | I already know Java, JavaScript, PHP, C++, Python and HTML/5(IF you consider that a language) | ||
PerlJam | Ispira_: learn languages that will teach you some new concepts and above all ... Have Fun! :) | ||
timotimo | perl6 is big on fun, yeah | ||
PerlJam | Ispira_: sounds like you should try for one of the functional languages like haskell, ml, lisp, or scheme. | 20:00 | |
btyler | or go really crazy with something in the APL family | ||
timotimo | .o( and do a couple of exercises in prolog just to make your brain squishier ) | ||
PerlJam | Ispira_: scala, ruby, or perl won't teach you too much that you haven't already seen. (though, if you use roles in perl, that might be a new concept) | 20:01 | |
TimToady | hyperops, laziness, mutiple-dispatch... | 20:02 | |
FROGGS | hyperops, indeed | ||
Ispira_ | I'm going to keep looking into a bunch of new languages, thanks for the help guys | 20:03 | |
TimToady | higher-order programming in general | ||
Ispira_ | I have a lto fo free time on my hands right now and figured why not lol | ||
TimToady | feel free to drop back in some time | ||
PerlJam | Ispira_: good luck! :) | ||
Ispira_ | will do | ||
thanks | |||
20:03
Ispira_ left
|
|||
PerlJam makes a note to better qualify which perl he's talking about in the future. | 20:04 | ||
hexcoder | r: my $c = 5; { my $c = $c; say $c; } | 20:05 | |
camelia | rakudo d7e5e1: OUTPUT«(Any)» | ||
timotimo | that's not surprising | ||
PerlJam | hexcoder: you need an OUTER to get at the outer one. | ||
timotimo | r: my $c = 5; { my $c = $OUTER::c; say $c; } | ||
camelia | rakudo d7e5e1: OUTPUT«5» | ||
hexcoder | thanks, always better to be explicit | 20:06 | |
20:06
araujo left
20:07
araujo joined
|
|||
PerlJam | r: my ($x = 4, $y = $x); say $x; say $y; | 20:07 | |
camelia | rakudo d7e5e1: OUTPUT«(Any)(Any)» | ||
20:07
rurban joined
|
|||
PerlJam | The second (Any) makes sense to me, but the first one not so much. | 20:08 | |
FROGGS | r: my ($x = 4); say $x; | 20:09 | |
camelia | rakudo d7e5e1: OUTPUT«(Any)» | ||
PerlJam | yeah, was just doing that locally. | ||
FROGGS | r: my ($x) = 4; say $x; | ||
camelia | rakudo d7e5e1: OUTPUT«4» | ||
FROGGS | n: my ($x = 4); say $x; | ||
camelia | niecza v24-98-g473bd20: OUTPUT«(Any)» | ||
lizmat | feels like a bug to me | 20:10 | |
PerlJam | me too | ||
20:11
zby_home_ left
|
|||
jnthn | r: my ($x, $y) = 4, 5; say $x; say $y; | 20:11 | |
camelia | rakudo d7e5e1: OUTPUT«45» | ||
jnthn | That's the Right Way | ||
lizmat | but should the wrong way be silent ? | ||
PerlJam | Sure, but .. .what lizmat said | ||
jnthn | The thing after the my is parsed as a signature initially | ||
20:12
rurban left
|
|||
FROGGS | my (%x = 4) is parsed as a signature, right? | 20:12 | |
jnthn | Then we spot that no, we're not sig binding, so we demote it to a simple list of variables | ||
FROGGS | ahh | ||
yes | |||
jnthn | The = 4 I guess ended up being parsed as a default value, just like in sig syntax | ||
lizmat | but shouldn't it complaing about $x not being defined | ||
I guess not if it was parsed as a sig | 20:13 | ||
FROGGS | r: (my $x = 4); say $x # it is defined | ||
jnthn | lizmat: sigs declare the things within them, at least in the context of a declaration. | ||
camelia | rakudo d7e5e1: OUTPUT«4» | ||
jnthn | We can probably go try lifting the default value out of the signature, but then the question is what we do with it :) | 20:14 | |
PerlJam | r: my ($x, $y = 3) = 42; # assign 42 to $x and 3 to $y (as default) | 20:15 | |
camelia | ( no output ) | ||
PerlJam | (at least that's what I think) | ||
jnthn | yeah | ||
Well, I guess we'd just turn it into an assignment if we'll do anything | 20:16 | ||
Making it an alternative way to specify "is default" is probably only cute today... :) | |||
lizmat | fwiw, I don't interprete my ($x=4) as setting a default | 20:17 | |
20:17
kaare_ left
|
|||
jnthn | *nod* | 20:18 | |
lue | me neither. It's just assigning a value inside parens to me. | ||
PerlJam | Either it should make some noise or DWIM ;) | ||
jnthn | I think various things do whine, fwiw | ||
r: my ($x, $y?) = 1, 23; | |||
camelia | ( no output ) | ||
jnthn | I thought they did anyway | ||
r: my ($x, *@y) = 1, 23; | |||
camelia | ( no output ) | ||
jnthn | Hm. | ||
I thought there was a "sig too complex" error... | 20:19 | ||
20:19
sqirrel left
|
|||
lue | I don't personally see a reason why changing the default value of a variable('s type?) needs anything shorter than is default(value) | 20:19 | |
PerlJam | lue: even in signatures? | 20:21 | |
lue | I guess I don't encounter situations where I would ever need to use is default, so from my POV, yes :) . (although perhaps is dflt() for short? :P) | 20:22 | |
FROGGS | r: my (:$a, *@b ) = 1, 2, 3, 4, a => 42, 5, 6; say $a, say @b | 20:23 | |
camelia | rakudo d7e5e1: OUTPUT«2 3 4 "a" => 42 5 61True» | ||
20:23
Rotwang left
|
|||
FROGGS | I'd vote for that it should behave like a signature if it is one :o) | 20:23 | |
lue | wasn't \() the Signature maker? | 20:24 | |
r: say \(1, 2).WHAT | |||
camelia | rakudo d7e5e1: OUTPUT«(Capture)» | ||
jnthn | r: my (:$a, *@b ) := \(1, 2, 3, 4, a => 42, 5, 6); say $a, say @b | 20:25 | |
camelia | rakudo d7e5e1: OUTPUT«1 2 3 4 5 642True» | ||
jnthn | FROGGS: ^^ :) | ||
FROGGS | r: say :().WHAT | ||
camelia | rakudo d7e5e1: OUTPUT«(Signature)» | ||
PerlJam | r: say :().WHAT | ||
camelia | rakudo d7e5e1: OUTPUT«(Signature)» | ||
PerlJam | lue: ^^ | ||
FROGGS | r: my (:$a, *@b ) := \(1, 2, 3, 4, a => 42, 5, 6); say $a | ||
camelia | rakudo d7e5e1: OUTPUT«42» | ||
lue | That's what it was. If you use :() then sure, it should act like a Signature :P | ||
FROGGS | ahh, the comma | 20:26 | |
20:34
mtk left
|
|||
hexcoder | r: if 'ab cd ef' ~~ mm/ (..) ** 2 / {say $1;} | 20:36 | |
camelia | rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/tlufJPo5QYPlease use ..* for indefinite rangeat /tmp/tlufJPo5QY:1------> if 'ab cd ef' ~~ mm/ (..⏏) ** 2 / {say $1;}» | ||
timotimo | oh, whoops | ||
what is mm/ for? | |||
r: if 'ab cd ef' ~~ m/ (..) ** 2 / {say $1;} | |||
camelia | rakudo d7e5e1: OUTPUT«(Any)» | ||
hexcoder | m with :sigspace | ||
timotimo | weird. why does it work when i only have one m? | 20:37 | |
r: if 'ab cd ef' ~~ m:s/ (..) ** 2 / {say $1;} | |||
camelia | ( no output ) | ||
timotimo | r: say 'ab cd ef' ~~ m:s/ (..) ** 2 / | ||
camelia | rakudo d7e5e1: OUTPUT«False» | ||
lue | r: say 'a b' ~~ mm/a b/ | ||
camelia | rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/5umwk03CvLTwo terms in a rowat /tmp/5umwk03CvL:1------> say 'a b' ~~ mm/a b/⏏<EOL> expecting any of: argument list postfix infix stopper…» | ||
PerlJam | hexcoder: uh ... mm// is m// with :samemark | ||
timotimo | it doesn't seem like mm is implemented? or something like that? | ||
lue | timotimo: that's what I was thinking. | ||
PerlJam | hexcoder: (ms// is m// with :sigspace) | 20:38 | |
timotimo | er, hold on | ||
:samemark is :mm, not mm | |||
m:mm would be what you want, no? | |||
lue | r: say "a" ~~ m:mm/à/ | 20:39 | |
camelia | rakudo d7e5e1: OUTPUT«===SORRY!=== Error while compiling /tmp/W4MuHk71gBAdverb mm not allowed on mat /tmp/W4MuHk71gB:1------> say "a" ~~ m:mm/à/⏏<EOL>» | ||
hexcoder | oops, I trusted moritz article... will check | ||
timotimo | also, i know why it doesn't match, at least.. | ||
lue | :mm only makes sense on s/// | ||
timotimo | r: say 'ab cd ef' ~~ m:s/ (..) ** 2 % <.ws> / | ||
PerlJam | lue++ | ||
camelia | rakudo d7e5e1: OUTPUT«「ab cd 」 0 => 「ab」 0 => 「cd」» | ||
lue | (it's about how to handle replacing, not how to match) | ||
timotimo | r: if 'ab cd ef' ~~ m:s/ (..) ** 2 % <.ws> / { say $0 } | 20:40 | |
camelia | rakudo d7e5e1: OUTPUT«「ab」 「cd」» | ||
timotimo | r: if 'ab cd ef' ~~ m:s/ (..) ** 2 % <.ws> / { say $0.perl } | ||
PerlJam | aye, I was extraoplating my memory a bit. | ||
camelia | rakudo d7e5e1: OUTPUT«(Match.new(orig => "ab cd ef", from => 0, to => 2, ast => Any, list => ().list, hash => EnumMap.new()), Match.new(orig => "ab cd ef", from => 3, to => 5, ast => Any, list => ().list, hash => EnumMap.new()))» | ||
hexcoder | fwiw I am exploring perl6 features according to this intro from moritz: perlgeek.de/en/article/5-to-6#post_19 | 20:44 | |
some examples could have gotten some bitrot | 20:45 | ||
PerlJam | hexcoder: indeed; note the date | ||
hexcoder | so i try to check or validate them... | 20:46 | |
lizmat | .tell moritz: simply adding "is default" didn't work (Could not find sub &infix:<does>). too tired now to try doing mixins by hand | 20:47 | |
yoleaux | lizmat: What kind of a name is "moritz:"?! | ||
lizmat | .tell moritz simply adding "is default" didn't work (Could not find sub &infix:<does>). too tired now to try doing mixins by hand | ||
yoleaux | lizmat: I'll pass your message to moritz. | ||
lizmat | sleep& | ||
20:48
mtk joined
|
|||
PerlJam | yoleaux: you should be a smarter bot. | 20:48 | |
20:48
pjcj_ left,
pjcj joined
20:56
lichtkind joined
|
|||
lue | .oO(.tell yoleaux Please be smarter.) |
20:58 | |
yoleaux | lue: Thanks for the message. | ||
lue | O.o | 20:59 | |
PerlJam | heh | 21:01 | |
lue | I didn't expect that to happen within the protection of a thought bubble... | 21:02 | |
.oO( .u ☃☄ ) |
|||
.oO(.u ☃☄ ) |
|||
yoleaux | U+0020 SPACE [Zs] ( ) | ||
U+0029 RIGHT PARENTHESIS [Pe] ()) | |||
U+2603 SNOWMAN [So] (☃) | |||
lue | quoi? (yoleaux gets weird with the mystical .oO( command) | ||
benabik | yoleaux got a mind reading upgrade, that's all. | 21:04 | |
It's part of the DWIM.pm project. | |||
lue & | 21:05 | ||
21:05
jnap left
21:07
spider-mario left
21:09
rurban joined
21:13
rurban left
21:28
btyler_ joined,
skids left,
bruges_ joined
21:30
colomon joined,
imrudbu joined
21:31
flussence_ joined
21:32
jlaire_ joined
21:33
jnap joined
21:34
jlaire left,
btyler left,
ivanshmakov left,
yogan left,
Celelibi left,
bruges left,
flussence left,
Grimnir_ left,
frdmn left,
Grimnir_ joined
21:35
lowpro30_ left,
Celelibi joined,
eternaleye left,
frdmn joined
21:36
eternaleye joined,
lichtkind left,
yogan joined
|
|||
dalek | rlito: d01ed44 | (Flavio S. Glock)++ | / (2 files): Perlito5 - perl6 - "make test-5to6 | grep '^ok' | wc -l" # 68 tests pass |
21:36 | |
21:37
hexcoder left
21:42
BenGoldberg joined
21:43
PacoAir left
21:48
denis_boyun left
21:51
Traceur left
21:53
dmol left
21:55
rurban joined
|
|||
BenGoldberg | r: my $a = any(<the that a>); my $b = any(<frog elephant thing>); if ( substr($a,0,1) eq substr($b,*-1) ) { say "$a $b" } | 21:57 | |
camelia | rakudo d7e5e1: OUTPUT«any("the", "that", "a") any("frog", "elephant", "thing")» | ||
BenGoldberg | What would I need to do to get the particular values in $a and $b for which the condition in if () was true? That is, "that" and "thing" ? | 21:58 | |
21:58
bruges joined
21:59
havenwood joined
22:00
bruges_ left
|
|||
BenGoldberg | Err, ("the", "that") and ("elephant") (I got $a and $b backwards) | 22:00 | |
dalek | rlito: 6050ff7 | (Flavio S. Glock)++ | / (4 files): Perlito5 - perl6 - yadayada is runtime |
22:01 | |
timotimo | BenGoldberg: you are not using junctions for what they are supposed to be used. | 22:03 | |
you want X instead, i think | 22:04 | ||
TimToady | see rosettacode.org/wiki/Amb#Perl_6 for one approach | 22:06 | |
or two :) | |||
though with that last spec change the 'do' should probably become a 'lazy' | 22:07 | ||
timotimo | yeah, but that doesn't run on any of our implementations, does it? :P | 22:08 | |
22:08
jnap left
22:09
colomon left
22:13
rurban left
|
|||
dalek | ecs: b8ee6d8 | larry++ | S32-setting-library/Containers.pod: be clear that .grab works only on mutables |
22:14 | |
ecs: f2ca89c | larry++ | S32-setting-library/Containers.pod: be clearer about throwing an exception |
|||
22:14
benabik left
22:18
jnap joined
22:20
Traceur joined,
Traceur is now known as Guest18828
22:45
bbkr__ left
22:46
bbkr__ joined
22:47
jnap left
22:50
grondilu left
22:56
skids joined
22:57
jnap joined
23:14
rurban joined
23:15
ajr_ left
23:16
ajr joined,
ajr is now known as Guest61227,
Guest61227 is now known as ajr_
23:18
rurban left
|
|||
btyler_ | in briefly describing the distinction between Perl 5 and 6 as 'different langauges in the same family', I pulled 'Common Lisp vs Racket Scheme' out of a hat -- is there a more apt pair of languages to use as metaphor? | 23:18 | |
lue | btyler_: I always think "C and C++", but I don't know how close that is to 5 & 6 | 23:20 | |
btyler_ | I was thinking that too, but wasn't sure if the notions of the shared subset core were entirely accurate | ||
perl6 isn't a strict superset (maybe C++ isn't any longer either?) | |||
TimToady | arguably C++'s greatest flaws come from backcompat to C | 23:24 | |
maybe more like Java vs C# :) | 23:25 | ||
23:25
kay_ left,
kay joined
|
|||
TimToady | or maybe ML and Haskell | 23:25 | |
23:26
kay is now known as Guest69717
|
|||
TimToady | Forth and Postscript :) | 23:27 | |
Pascal and Oberon | 23:28 | ||
23:28
ajr_ left
|
|||
TimToady | Pascal and Modula if you don't want to stretch it quite so far | 23:29 | |
though that's more like Perl 4 to Perl 5 | |||
btyler_ | afraid I'm not familar with any on the list after you mentioned 'haskell'...lots of learning to do :) | ||
23:29
ajr_ joined
23:30
Guest69717 left,
havenwood left
23:31
havenwood joined,
havenwood left,
jnap left
23:32
havenwood joined
23:41
havenwood left,
havenwood joined
23:49
jnap joined
23:55
ajr_ left
23:57
ajr_ joined
|