»ö« 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 moritz on 3 May 2013. |
|||
lue gets the sickening thought that IE would screw up and add up even numbers instead | 00:01 | ||
sorear | html5 is an umbrella term for a large and constantly changing set of things. freezing it would make no sense. | 00:03 | |
00:05
sixn00b joined
|
|||
sixn00b | Does perl6 have threads? | 00:06 | |
cognominal | I think that in the html5 (sic) world they have decided to drop the 5. There is an evolving html and that's it. | 00:08 | |
sixn00b | perl6: say "Do you have threads?" | 00:10 | |
camelia | rakudo bfd850, niecza v24-46-gcf7d64c: OUTPUT«Do you have threads?» | ||
FROGGS | sixn00b: net yet implemented | 00:12 | |
not* | |||
sixn00b | Oh :( | ||
flussence | yes it does: github.com/tadzik/Threads/ | ||
sixn00b | I wanted to use something better than perl5 threads. | ||
flussence | they're on par with Python threads right now. | ||
sixn00b | Those are green threads? | 00:13 | |
FROGGS | ohh cool | ||
readme says so | |||
sixn00b | :( | ||
flussence | useless for performance, but there'll be real threading in due time | ||
sixn00b | What about the Haskell perl6, does that have threads? Or separate processes? | 00:15 | |
flussence | pugs: say fork(); | ||
camelia | pugs: OUTPUT«*** Unsafe function 'fork' called under safe mode at /tmp/_MnE2IaANa line 1, column 5-11» | ||
flussence | looks like it might have that | ||
dunno about threads | |||
sixn00b | Only fork? | 00:16 | |
Not threads? | |||
flussence | rakudo has fork in the posix module too | ||
sixn00b | I meant fork like Erlang. I guess it's not fork, it would be a green fork :) | ||
flussence | I doubt Pugs has any concept of threading since it hasn't been actively developed in years | 00:17 | |
00:17
btyler joined
|
|||
sixn00b | I heard about a Java perl6, does that have threads? | 00:17 | |
I looked on perl6.org, it wasn't clear. I like the butterfly though :) | 00:18 | ||
FROGGS | sixn00b: perl6 (aka rakudo) doesn't run on the JVM yet (but in pretty near future) | ||
flussence | the Java thing is only half-working right now, but the idea is that Threads module will use real threads underneath when they become usable | 00:19 | |
lue | There's currently an effort to port rakudo to the JVM, where among other things we'll be able to work on threads | ||
sixn00b | Oh, so which perl6 should I use now? | ||
FROGGS | rakudo | ||
what you call perl6 is just the specification | 00:20 | ||
sixn00b | So rakudo is the best one? | ||
flussence | it's the one with most working stuff | 00:21 | |
sixn00b | So which JVM do I need, I have Java 7. | ||
FROGGS | that is the right one | 00:22 | |
sixn00b | Does it use JNI? Because I could use that if I had to. | ||
FROGGS | nqp (the glue between the virtual machine and rakudo) does already work on the JVM, but not yet rakudo itself | ||
sixn00b | ?? | ||
FROGGS | sixn00b: can't tell about JNI | 00:23 | |
sixn00b | Now I am confused. | ||
Rakudo is the best one but it doesn't run on the JVM but I need Java 7? | |||
FROGGS | [02:18] <FROGGS> sixn00b: perl6 (aka rakudo) doesn't run on the JVM yet (but in pretty near future) | ||
flussence | he was responding to the previous question | 00:24 | |
lue | For a fully working Rakudo at the moment, you'll need Parrot and NQP (compiled for Parrot) | ||
FROGGS | if you want to try one perl6-implementation then install rakudo for the parrot virtual machine | 00:25 | |
raiph | sixn00b: is your interest to play, to get something done, or to hack on perl? | ||
lue | To use NQP on JVM (and rakudo on JVM once that works), you'll need at least Java 7 | ||
[ So if you have Java 7, you're ready for rakudo's near future :) ] | 00:26 | ||
sixn00b | Everyone is saying different things :( I do not know how to reply. | ||
I have a program in Perl5 and it uses threads but I am not satisfied with it. | |||
I thought maybe perl6 would be easier because I heard it had better threads. | |||
raiph | sixn00b: is your interest to play, to get something done, or to hack on perl? | 00:27 | |
sixn00b | I want to get something done. | ||
FROGGS | then you might better stick to perl5 for now | ||
00:27
sftp left
|
|||
raiph | sixn00b: p6 is irrelevant to you if the context is porting a working p5 threads solution with a goal of getting something done that is not A) have fun or B) help develop that aspect of p6 | 00:29 | |
sixn00b | I am going to have to read what you said again, I'm sorry, I don't understand it all. | ||
Do you think I should not use perl6 raiph? | 00:30 | ||
00:30
sftp joined
|
|||
raiph | yes if given the parameters you've provided so far and given that i'm erring on the conservative side to save you time | 00:31 | |
sixn00b | So you say I should only use perl6 if I want to have fun or make perl6? | 00:32 | |
raiph | if you're goal is a port of a p5 threads solution that you want working in the next few days, yes | ||
sixn00b | It is just a side project, it would be okay to spend some weeks on it :) | 00:33 | |
I would not be working on it every day, just when work is slow and I have the time. | |||
Most of our work is C++ but we have a lot of Perl. | 00:34 | ||
raiph | how many weeks? | ||
sixn00b | ha ha you are asking a programmer for an estimate :) I like you. | ||
raiph | would it be ok to wait 10 weeks before starting? | 00:35 | |
sixn00b | Funny person (I don't know if you are man or woman, so I will not be sexist) | ||
What will happen in 10 weeks? | |||
labster | There are a few applications where Perl 6 is much better than Perl 5, like grammars. You should check those out. But if you absolutely need speed, look to Perl 5 for now. | ||
sixn00b | Speed is not too bad, I need to use many cores. | 00:36 | |
C++ is very bad at processing text, but Perl5 uses too much memory and spends too much time making threads :( | 00:37 | ||
lue | I'm guessing raiph's 10 weeks estimate is how long it'll take for either Rakudo to be on JVM or for Rakudo to be on JVM and have threads | ||
sixn00b | So come back in 10 weeks? | 00:40 | |
Weeks on the calendar or weeks as a programmer counts? | |||
cognominal | here, we use to say Christmas without saying the year. | 00:41 | |
labster | What kind of application do you have that needs threads, sixn00b? | ||
and where perl 5 uses too much memory? | 00:42 | ||
sixn00b | I can not say too much, but we process medical data. | ||
Many gigabytes of text. | |||
So our program likes to use the algorithm of divide and conquer :) and many cores make the work faster. | 00:43 | ||
diakopter | sixn00b: I'm curious where you heard perl6 had better threads | ||
sixn00b | Well everyone says that perl5 has threads that are not so good, and everyone says that perl6 fixes many things that are not so good in perl5! | 00:44 | |
So maybe I assumed? | |||
raiph | sixn00b: do you know that neither Perl 6 (as a spec/product) nor Rakudo (an implementation) is complete? | ||
dalek | : 8db4538 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: pull in rakudos changes about our-scoped vars |
00:45 | |
: d6448f8 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: make debugging work (again) |
|||
: eec4624 | (Tobias Leich)++ | lib/Perl5/ (3 files): basic support for open/print/close |
|||
sixn00b | Yes, I will wait 10 weeks for it to be complete :) | ||
: 1c5460a | (Tobias Leich)++ | rakudo.patch: update for wip-rakudo patch |
|||
flussence | I've done stuff with GBs of text in p5... multiple processes turned out to be much better than trying to use threads. Using a profiler wouldn't hurt either. | ||
diakopter | sixn00b: okay I'll rephrase. :) where did you hear that perl6 fixes many things that are not so good in perl5? :) | ||
sixn00b | We love NYTProf | ||
flussence | yeah, that's the one | ||
lue | sixn00b: I think a complete Perl6 will take a few sets of 10 weeks :) | ||
sixn00b | Everyone here loves Tim Bunce! | ||
We love DBI too! | |||
flussence | (and then I found out passing arrays in p5 really sucks for performance...) | 00:46 | |
raiph | sixn00b: i hear different opinions on this channel about when p6 will be ready for roughly the sort of thing you're describing | ||
labster | yeah, what flussence said. And definitely don't do "for (<$infile>)" if you're processing large files -- learned that the hard way recently. | 00:47 | |
raiph | sixn00b: in 2009 i estimated end of 2014 or so and i still think that's about right | ||
diakopter | sixn00b: for what you're describing, it might be performant enough in a year, it might not. | ||
at current resource availability levels. | |||
sixn00b | Do not worry, we use the modern Perl5 :) | ||
A year :( | |||
diakopter | or 5? | ||
labster | I'd gotten used to Perl 6, where passing arrays is really passing an array container. | 00:48 | |
diakopter | the regex engine is hundreds to thousands of times slower, last I measured | ||
sixn00b | We always pass with the references. | ||
But in XS we do not pass arrays, only the scalars. | 00:49 | ||
It is too slow to copy scalars from arrays in XS :) | |||
labster | But I would argue the regex engine in Perl 6 uses far less programmer time in writing and maintanence, so it might be faster depending on how the program is used. | ||
sixn00b | So perl6 is a lot slower? | ||
raiph | sixn00b: yes, a year, maybe two, who knows, to be competitive for processing gigabytes of data using threads for code that's going to be mission critical where money is available to throw at the problem | 00:50 | |
labster | currently slower. We know, we're working on it. | ||
diakopter | labster: sixn00b is describing high-usage software, not one-off shell shortcuts :P | ||
00:51
gdey left
|
|||
flussence | and when you're working with GBs of data, having it run fast enough to use a continuous integration setup is a huge benefit | 00:51 | |
sixn00b | Integration like testing? | 00:52 | |
flussence | yeah | ||
sixn00b | We hired a person especially to help with that :) | 00:53 | |
diakopter | well, not all continuous testing is integration testing | ||
flussence | on the thing I worked on I fixed a ton of bugs just by getting it running fast enough that I could run test suites on the entire dataset in ten minutes or so | ||
sixn00b | Ten minutes is too long to wait! | 00:54 | |
flussence | it was something like 50 before that :) | ||
sixn00b | So you tell me perl5 is not 老不死的 (do not know how to say this sorry)? An old person who stands in your way? | 00:55 | |
raiph | sixn00b: i gotta run for awhile, but perl5 is a very, very solid product. i wouldn't even call perl6 a product yet, solid or not. | 00:56 | |
sixn00b | Okay but in 10 weeks... :) | 00:57 | |
FROGGS | hehe, come back and we'll see :o) | ||
we will surely be here | |||
diakopter marks July 18 | 00:59 | ||
sixn00b | I must work now, funny people! | 01:01 | |
01:01
raiph left
01:02
hlin_laptop joined
|
|||
sixn00b | Do not fork() yourselves too hard! | 01:02 | |
01:02
sixn00b left
|
|||
diakopter | spooning is more fun | 01:02 | |
01:03
berekuk left
01:05
guest_____ joined
|
|||
TimToady | we can't fork at all yet... | 01:05 | |
FROGGS | well, I have two forks, both are sleeping atm | 01:06 | |
diakopter | pugs can, and rakudo could at one time | 01:07 | |
01:08
kurahaupo left
|
|||
TimToady | well, I guess there's rosettacode.org/wiki/Fork#Perl_6 | 01:08 | |
01:10
kurahaupo joined
|
|||
TimToady sometimes missed all the standard Unix calls as builtins 😡 | 01:11 | ||
01:11
kingbeast left
|
|||
diakopter | I mean, there's no special handling of handles or signals, but yeah | 01:11 | |
TimToady | *misses | 01:12 | |
diakopter | .oO( well, there's no signals anyway... ) |
||
er, *there're | |||
flussence | 2 things I really wish rakudo (or niecza) had built in: fork() and pipe(). That'd make a lot of stuff *possible* | 01:14 | |
01:14
FROGGS_ joined
|
|||
TimToady | is there even a way of getting a file descriptor (integer) from a filehandle yet? | 01:15 | |
01:15
anuby joined
|
|||
diakopter | sure! try all of them until you find the right one! | 01:15 | |
TimToady | 😭 | 01:16 | |
diakopter | .u � | 01:17 | |
yoleaux | U+FFFD REPLACEMENT CHARACTER [So] (�) | ||
TimToady | .u 😭 | ||
yoleaux | U+1F62D LOUDLY CRYING FACE [So] (😭) | ||
diakopter | heh. | ||
01:19
FROGGS left
|
|||
dalek | pan style="color: #395be5">perl6-examples: f059431 | (L. Grondin)++ | rosalind/sgra-grondilu.pl: first SRGA failure |
01:19 | |
pan style="color: #395be5">perl6-examples: ac897af | (L. Grondin)++ | rosalind/sgra-grondilu.pl: (rosalind) SGRA [correct version after failure] |
|||
: 084ddd2 | (Tobias Leich)++ | lib/Perl5/ (2 files): fix for print with one argument |
01:20 | ||
01:22
hrbkid_ left
01:34
benabik joined,
Axeman joined
01:35
Axeman is now known as Guest91139
01:42
Guest91139 left
01:44
Axemann joined
01:53
grondilu left
01:57
btyler left
02:04
btyler joined
02:05
guest_____ left
02:21
census left
02:22
kurahaupo left
02:23
skids left
02:27
thou joined
02:45
lustlife joined
|
|||
dalek | ecza: 0a84de2 | (Solomon Foster)++ | lib/CORE.setting: Get rid of last mentions of ucfirst. |
02:50 | |
[Coke] | rant: I know have to know WHICH version of ack I have installed to use it. | 03:04 | |
moritz | just install ack2 everyhwere :-) | 03:08 | |
03:13
skids joined,
kurahaupo joined
|
|||
moritz | fwiw I have set up tina.perlgeek.de/ which is a postgresql-backed version of the irc logs (not yet regularly updated) | 03:14 | |
and still slooow | 03:15 | ||
sorear | neat. (forgive my stupid question, why are we switching?) | 03:20 | |
dalek | ast: 1b01fdd | coke++ | S05-mass/properties-general.t: pugs fudge |
03:22 | |
gs.hs: 5a99ff9 | coke++ | Pugs/src/Pugs/Prim.hs: track spec change |
|||
moritz | sorear: 1) I've developed a general dislike of mysql over the years and 2) I haven't been able get some queries run fast enough on mysql, and i hope to have better success with pg | 03:23 | |
sorear: and 3) I want to make ilbot multi-backend (just like rakudo!) | 03:26 | ||
03:28
btyler left
|
|||
sorear | is tina p6? :) | 03:30 | |
diakopter | sorear: yes, the whole stack, including the http server, operating system, all supporting libraries, database server, even the CPU design tools. ;) | 03:32 | |
moritz | sorear: no | ||
sorear: same ol' codebase, with the exception of one query | |||
sorear wonders which query | 03:36 | ||
diakopter | moritz: tina seems faster to me | 03:37 | |
labster | me too | ||
moritz | diakopter, labster: at this time we probably just measure cache performance :-) | 03:38 | |
diakopter | so pre-warm the cache :P | ||
PerlJam | seemed slower to me when I loaded the index for #perl6 | 03:39 | |
(but #dbdi was quite speedy) | |||
03:41
preflex left,
preflex_ joined
03:42
preflex_ is now known as preflex
|
|||
labster | Well, the IO :r, :w, and :x filetests are wrong. | 03:55 | |
They all test real uid rather than effective uid. | 03:56 | ||
I guess it's time once again to bug Parrot about implementing IO. | 03:59 | ||
sorear | labster: are they using access(2)? | 04:00 | |
labster | indeed | ||
int result = access(c_str, R_OK); | 04:01 | ||
geekosaur | guh | 04:02 | |
kurahaupo | labster: isn't that the point of the tests: to see whether the real user would be allowed to perform the operation? (You can see if the effective user is allowed to perform the operation simply by attempting the operation...) | 04:12 | |
moritz | kurahaupo: no, there are upper-case variants which are supposed to check the real uid/gid | 04:13 | |
sorear | perldoc -f -X | ||
moritz | in analogy to perld... what sorear said :-) | ||
04:16
skids left
04:25
Psyche^ joined
04:26
Chillance left
04:29
Patterner left,
Psyche^ is now known as Patterner
04:31
gdey joined
04:37
SamuraiJack joined
04:48
trexy joined
|
|||
trexy | Hi | 04:50 | |
sorear | Hi. | 04:51 | |
trexy | Later in the month I'm giving a talk on Perl6 to a general programming audience at this: bristol.itmegameet.co.uk/#schedule | ||
sorear | cool! | 04:52 | |
trexy | I was hoping to use some examples from Rosetta code to help illustrate | ||
moritz | sure, why not? | ||
sorear | are you the only perl6er in the group? | 04:53 | |
trexy | I thought that would be the easiest thing to do | ||
- just starting to learn it - this will be a good excuse for me to learn it | |||
not sure if there will be a perl6 expert present | 04:54 | ||
sorear | so are you here with a specific question or do you just want to hang out and learn by osmosis? either is fine. | 04:55 | |
(welcome!) | |||
trexy | I regularly read the backlog - so am hoping some has gone in via osmosis - just wanted to know if members of the channel | ||
04:55
Axemann left
|
|||
trexy | had particular favourites from rosettacode | 04:55 | |
sorear | think TimToady wrote most of the rosettacode examples... | 04:57 | |
trexy | I'd be interesting in hearing his top 10 or so? | 04:58 | |
the plan was to show comparative examples in different languages | |||
- this is how it is done in python -> p6, java -> p6 etc | 04:59 | ||
the other thing I was hoping to do was describe the main design 'vectors' .... | 05:00 | ||
whipupitude, Huffman coding, etc ... | |||
Any help from TimToady in the backlog would be much appreciated here | 05:03 | ||
05:07
snoopy joined
05:08
satyavvd joined
05:15
census joined
05:28
census left
05:32
arlinius left
05:33
frdmn left
|
|||
dukeleto | trexy: many people have written rosettacode examples and TimToady wrote many :) | 05:34 | |
trexy | yes | 05:36 | |
I'm interested in hearing from anyone who has favourite(s) RC examples | 05:37 | ||
05:37
kaare_ joined
|
|||
trexy | also from those who have been using Perl6 - what does the language seem different at? --- looking at the design vectors | 05:39 | |
05:43
raiph joined
|
|||
raiph | trexy: rosettacode.org/wiki/Harshad_or_Niven_series | 05:44 | |
trexy | yep | 05:46 | |
that's intense really ;-) ... | 05:47 | ||
so much is going on in just that one example laziness, expressibility etc | 05:49 | ||
raiph | yeah, just encountered yesterday | 05:52 | |
06:13
frdmn joined
06:16
kaleem joined
|
|||
raiph | trexy: another one i just found that might be good for your purposes: rosettacode.org/wiki/Benford%27s_law | 06:19 | |
trexy | there's a lot going on in that one too! | 06:23 | |
sorear | what, it's not asking for a chi-squared test? | 06:27 | |
trexy | for this audience a starting point could be "hello world" -> "Factorial" -> ...????? -> Perl6 Poker ;-) | ||
sorear thinks the fib sequence is cheating, because it can be easilyish proven to satisfy the Benford law | 06:28 | ||
trexy | ok | 06:29 | |
tricky - ideally the problem set up should be 5% and discussing language comparisons and highlighting Perl6 syntax and semantics (95%) | 06:30 | ||
06:32
s1n joined
|
|||
trexy | don't want to spend too much time explaining the problem | 06:32 | |
raiph | trexy: rosettacode.org/wiki/Detect_division_by_zero | 06:43 | |
06:56
cognominal left
06:58
kaare_ left
07:09
kurahaupo left
07:14
FROGGS_ is now known as FROGGS
07:16
sqirrel joined
|
|||
moritz | henryr.github.io/cap-faq/ | 07:18 | |
07:19
Gruu_ joined
07:21
chee left
07:26
Gruu_ left
07:39
dayangkun joined
07:55
kaare_ joined
|
|||
jnthn | morning o/ | 07:59 | |
moritz | \o jnthn | 08:02 | |
08:03
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:03 | |
labster | morning | 08:04 | |
08:04
kivutar joined
08:05
rindolf joined
08:12
snoopy left
08:13
rindolf left
|
|||
sorear | o/o/ | 08:14 | |
08:19
donaldh left
08:23
donaldh joined
|
|||
labster | I was just looking through S16, which is oh, about 10% implemented. Now, I noticed that parrot doesn't have anything for getpwuid and getpwnam. | 08:24 | |
Are those the kind of things that we'd expect the VM to implement, or would we do our own system calls in nqp or rakudo? | |||
I'm in the area of wondering how many feature requests I should put in for parrot. | 08:25 | ||
at a time. | 08:26 | ||
moritz | several small ones, each with one or two days inbetween :-) | 08:27 | |
so start now with readline :-) | |||
labster | I was going to ask for faccessat so IO.r and IO.R can be different. | 08:29 | |
moritz | or that | 08:31 | |
or both; they'll be able to handle the flood of new tickets :-) | 08:32 | ||
08:38
anuby_ joined
08:39
kaare__ joined
08:41
rom1504_ joined
08:46
kaare_ left,
anuby left,
rom1504 left
|
|||
dalek | ast: 899d9a7 | dagurval++ | S16-io/quoting-syntax.t: added tests for examples in S16/IO/Special Quoting Syntax |
08:50 | |
ast: 7057702 | dagurval++ | S0 (3 files): Merge branch 'master' of github.com:perl6/roast |
|||
dagurval | I have no idea what that "merge commit" is doing o_O | 08:52 | |
08:53
ChanServ sets mode: +o diakopter
|
|||
labster | you committed and then git pulled | 08:53 | |
08:53
diakopter sets mode: -o diakopter
|
|||
diakopter | (trying to invite a bot) | 08:53 | |
08:53
betterwo1ld joined
08:54
clkao_ joined
|
|||
labster | also, dagurval++ for that patch to File::Find::Duplicates. I kept on looking at it like "works for me!". | 08:55 | |
08:57
arlinius joined,
rindolf joined,
Colby` joined
|
|||
dagurval | labster: no problem :) | 08:58 | |
08:59
dayangkun left,
dukeleto left,
Pleiades` left,
betterworld left,
clkao left,
Colby` is now known as Pleiades`
09:00
anuby joined,
kaare__ left
09:01
dayangkun joined,
dukeleto joined,
araujo joined,
araujo left
09:02
araujo joined,
cognominal joined
|
|||
masak | good antenoon, folks in #perl6 | 09:03 | |
09:03
anuby_ left
|
|||
labster | masak o/ | 09:04 | |
mathw | o/ masak | 09:05 | |
\o | |||
\o/ | |||
masak | :) | ||
tadzik | \o/ | ||
jnthn | o/ masak | 09:06 | |
bbkr | \o/ | 09:09 | |
dalek | p/rak-jvm-support: 866fe1a | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (5 files): Initial preparations for container handling. This rips out the port of a previous approach, stubs the current one that is needed for Rakudo, and updates the serializer for it. |
09:10 | |
09:13
anuby_ joined
09:14
nebuchad` joined,
sergot_ joined,
[Coke]_ joined
09:15
spider-mario joined,
shlomif joined,
genehack_ joined
09:16
pnu joined,
timotimo_ joined
09:17
shachaf_ joined
09:21
anuby left,
rindolf left
09:23
nyuszika7h joined,
dmol joined
09:29
nebuchad` is now known as nebuchadnezzar
09:30
dayangkun left
09:35
shlomif is now known as rindolf
|
|||
FROGGS | .ask TimToady halp! can you please give me a hint how to properly set up the print-token? gist.github.com/FROGGS/0588a945575387a3bf70 | 09:42 | |
yoleaux | FROGGS: I'll pass your message to TimToady. | ||
09:45
MrMeek joined
|
|||
FROGGS | everyone else with good grammar knowledge is welcome to have a look too :o) | 09:45 | |
09:46
MrMeek-afk left
|
|||
moritz | I just know that Perl 5 also allows print { STATEMENTLIST } $value; | 09:47 | |
with literal { } | |||
FROGGS | yeah, I know.... :/ | ||
09:50
berekuk joined
|
|||
moritz | FROGGS: maybe the <!before <infix>> is too broad | 09:54 | |
moritz is just guessing, really | 09:55 | ||
FROGGS | ya, me too, that is the problem | ||
10:02
dmol left
10:03
dmol joined,
shachaf_ left,
shachaf_ joined,
shachaf_ is now known as shachaf
|
|||
dalek | p/rak-jvm-support: 2ec1cce | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (6 files): Flesh out container ops and code_pair cont. This gets 67-container.t passing on the JVM. |
10:05 | |
10:12
hlin_laptop left
10:13
kivutar left
10:16
anuby_ left
10:24
kivutar joined
10:37
thou left
|
|||
masak | FROGGS++ # working with v5, it's inspiring to watch | 10:39 | |
Ulti | how does v5 work? | 10:41 | |
is it mapping perl5 syntax to perl6 at compile time? | |||
moritz | it compiles Perl 5 syntax to QAST | 10:42 | |
Ulti | neat | 10:43 | |
10:45
kivutar left
10:46
kivutar joined
10:48
kaare__ joined
10:53
sqirrel left
|
|||
moritz reviews the irclog code he wrote in 2007, and starts crying | 10:59 | ||
FROGGS | hehe | 11:00 | |
moritz | most of the stuff isn't too bad | 11:04 | |
but then you get to the output of the actual log pages | |||
Ulti | this graph is depressing w3techs.com/pictures/programming_la...e-1201.png | ||
why would anyone pick those top 4 languages over the bottom 3 :Z | 11:05 | ||
moritz | and that's just 600 lines of regexes and post-processing | ||
GlitchMr | w3techs doesn't count | 11:08 | |
They simply consider website to use certain technology if the X-Powered-By has name of technology. | |||
moritz | in http headers? | 11:09 | |
nwc10 | so it's counting the number of mod_perl enabled web servers, etc, not actual users? | ||
GlitchMr | I think so, lol | ||
moritz | that's roughly as stupid as Tiobe's "methodology" | 11:10 | |
GlitchMr | Their reports are so inaccurate it's stupid. | ||
The other charts don't seem that bad, but methology of server-side programming languages is so bad. | 11:11 | ||
dalek | kudo/jvm-support: aea68d2 | jnthn++ | src/ (2 files): Add nqp::p6init() which initializes runtime. Need a mechanism similar to Parrot dynops init for the JVM also. |
||
kudo/jvm-support: a70ab6e | jnthn++ | / (7 files): Stub in Rakudo container support. |
|||
kudo/jvm-support: d7f3d4e | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Fix thinko in invocation handling. |
|||
masak | Ulti: why would anyone pick PHP over Perl for web? ease of deployment. | 11:12 | |
GlitchMr | But there is a possibility that people really use PHP. | 11:13 | |
I won't lie, it's easy to deploy. | |||
olive.undo.it/log?channel=perl6 | 11:14 | ||
this uses PHP | |||
Also, WordPress. | |||
moritz | and drupal | ||
and typo3, iirc | |||
Ulti | working with Drupal is grim though | ||
GlitchMr | Drupal isn't that relevant. | ||
w3techs.com/technologies/overview/c...gement/all | |||
Ulti | I wanted to rip my eyes out the whole time I worked with Drupal | ||
GlitchMr | They say that WordPress is used by 17.7% of websites. | 11:15 | |
FROGGS | you just have to install phpBB or a wiki to end up with php | ||
tadzik | working with drupal was mostly painless fr me | ||
joomla, now, that was awful | |||
GlitchMr | WordPress makes stats higher. | ||
Ulti | perl is in most OSs as default though and you can just use one of the self hosting frameworks | ||
GlitchMr | Find a server without WordPress installed. | ||
11:15
mattp__ joined
|
|||
Ulti | I guess Windars servers are the problem | 11:15 | |
GlitchMr | They exist, but well... | ||
Ulti | WAMP is a thing | ||
GlitchMr | Windows isn't even a problem | 11:16 | |
w3techs.com/technologies/cross/cont...ing_system | |||
Everybody uses Linux anyway. | |||
Ulti | :< | 11:17 | |
GlitchMr | The only exception on this list is "Discuz!", but I guess it's because it was made in China. | ||
Ulti | I guess the version of perl that comes as default is the issue like 5.8 instead of 5.10 | ||
GlitchMr | w3techs.com/technologies/details/pl-perl/all/all | 11:18 | |
They usually say what versions people use. | |||
But here, well, they just say that 100% of people use Perl 5. | |||
Oh, I know what methodology they have used. If the server has .cgi or cgi-bin directory, it's Perl. | 11:19 | ||
Or .pl. | 11:20 | ||
Ulti | yeah think so | 11:22 | |
GlitchMr | Then again, I have done a check. | 11:23 | |
masak | all the MediaWiki wikis out there use PHP. | ||
GlitchMr | Hmmm, it seems they only base on headers. | ||
I asked w3techs.com/sites to spider a website full of .php links, but without X-Powered-With header. | |||
It didn't saw PHP. | |||
dalek | p/rak-jvm-support: 9c87ea8 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Stub HLL mapping stuff. Needs properly implementing. |
11:24 | |
GlitchMr | It actually was using PHP, but configured to not show X-Powered-With header. | ||
jnthn | Now up to line 290. ) | ||
GlitchMr | Or, if the source code of website looks like one of popular PHP programs. | ||
Like, uhmmm, WordPress. | |||
jnthn | r: say 290 / 13000 | 11:25 | |
camelia | rakudo bfd850: OUTPUT«0.022308» | ||
jnthn | bah :) | ||
FROGGS | hehe, jnthn++ anyway :o) | 11:26 | |
GlitchMr | They only index domains, but .tk seems to work on this checker. | ||
11:26
kivutar left
|
|||
GlitchMr | Also, some websites stop saying what technology they use in headers. | 11:28 | |
Because nobody cares. | 11:29 | ||
w3techs.com/sites/info/dot.tk | |||
I'm still sure they use Perl. | |||
And Linux. | |||
And sometimes they see wrong software. | 11:30 | ||
w3techs.com/sites/info/github.com | |||
tadzik | jnthn: progress! :) | ||
cognominal | GlitchMr, "nobody cares". Except crackers :) | ||
GlitchMr | GitHub Pages? 1. How they could detect that static pages use GitHub Pages. 2. It doesn't use GitHub Pages. | ||
FROGGS | moritz: I've cleaned the token a bit, but it doesnt seem to be the right approach: gist.github.com/FROGGS/0588a945575387a3bf70 | 11:31 | |
GlitchMr | cognominal, it's easy to detect PHP even if it doesn't say it's PHP. | 11:32 | |
For example, by setting MAX_FILE_SIZE header to value like 432, and sending some file. After you will upload 432 bytes, PHP would stop listening for rest of the file. | 11:33 | ||
And send output. | |||
dalek | p/rak-jvm-support: 05d2aae | jnthn++ | src/vm/jvm/QAST/Compiler.nqp: Implement custom_args. Suppresses the generation of parameter handling code. Used by Rakudo as it has its own binder (which now needs porting to the JVM). |
11:38 | |
11:40
kivutar joined
11:50
kivutar left
11:59
census joined
12:00
satyavvd left
12:08
betterwo1ld left,
kivutar joined
|
|||
donaldh | jnthn: 13000 of what? | 12:08 | |
12:09
benabik left
|
|||
donaldh | jnthn: Can it be shared? | 12:09 | |
jnthn | donaldh: The whole of CORE.setting is about 13,000 lines | 12:12 | |
donaldh: The JVM port survives up to about line 290 of parsing it (noting that it has to run bits of it as it parses, such as BEGIN blocks, traits, etc.) | |||
The idea is that it'll all be shared, though some bits are not so portable yet. | 12:13 | ||
donaldh | jnthn: I mean can the task of working through the 13000 lines be shared? | 12:14 | |
Or is it a sequential task and that things will move forward in jumps? | |||
lizmat | I think the latter | 12:15 | |
nwc10 | there were some "low hanging fruits" described at some point, but I'm not sure where | 12:16 | |
jnthn | donaldh: Well, there's still plenty of pir:: in the setting that will want dealing with. | 12:17 | |
12:17
woosley1 joined
|
|||
jnthn | donaldh: Those don't have to wait for me to get to 'em. | 12:17 | |
lizmat | jnthn: but you dealt with a lot of them in your branch already, right? | 12:18 | |
so any work on that, would need to be done in that branch, right? | |||
jnthn | lizmat: The only place we're still left with them is in src/core/ | ||
lizmat: Yes, it's best if they go into the branch | |||
Though I'm keeping up to date with master also | 12:19 | ||
lizmat | I'm just sort of worried about duplication of effort | ||
and possible merge conflicts | 12:20 | ||
jnthn | *nod* | ||
donaldh | so we should ask here, as we plan to work on something? | 12:21 | |
jnthn | donaldh: That's probably the best bet. | ||
My current Big Task is porting enough of the signature binder to unblock things. | |||
nwc10 | isn't this IRC channel enough to avoid work duplication between people helping remove pir:: ? | 12:23 | |
jnthn | Woulda hoped so :) | ||
donaldh | nwc10: thats what I said ^^ :-) | 12:24 | |
nwc10 | oh yes, I see now :-) | ||
12:27
SmokeMachine left
|
|||
moritz | is there any reason that src/core still uses pir::setattribute__0PPsP over nqp::bindattr? | 12:27 | |
if not, I'm going to clean that up | 12:28 | ||
jnthn | moritz: The 0 | ||
12:28
berekuk left
|
|||
jnthn | Means "returns the object with the attr as the first arg" instead of "returns the value bound" | 12:28 | |
12:28
SmokeMachine joined
|
|||
moritz | oh | 12:29 | |
and some of those look like quite hot paths | 12:30 | ||
jnthn | yeah, sounds familiar... | 12:31 | |
jnthn bbiab | |||
12:41
berekuk joined
12:50
berekuk left,
Chillance joined
12:51
betterworld joined
12:53
CharellKing joined
12:54
dayangkun joined
|
|||
[Coke]_ drinks cofee. | 12:54 | ||
oh, f. | |||
12:54
[Coke]_ is now known as [Coke],
CharellKing left
12:55
woosley1 left
13:02
mtk left
|
|||
cognominal | sounds close to gather/take : wingolog.org/archives/2013/05/08/ge...tors-in-v8 | 13:03 | |
13:04
ajr joined,
ajr is now known as Guest936
13:06
mtk joined
13:10
mtk left
|
|||
Ulti | cognominal: or like generators from Icon... all the cool things come from Icon ;] | 13:11 | |
moritz | gist.github.com/moritz/5554307 # my attempt to automatically generate colors from IRC nicks | 13:13 | |
13:13
frdmn left,
bluescreen10 joined
|
|||
moritz | if somebody wants to tweak it, feel free :-) | 13:13 | |
lizmat wonders who lixmat is | |||
moritz | (the idea is to generate colors in HSV space, and avoid low saturation, so that there's some contrast to the background | 13:14 | |
13:14
mtk joined
|
|||
moritz | lizmat: the evil twin standing right behind you :-) | 13:14 | |
lizmat just feels like mini-me now | |||
Ulti | naw moritz I could have hooked you up with my blog post about colour stuff blog.mattoates.co.uk/2012/01/genera...tinct.html | 13:15 | |
I have a newer version that kind of spirals through HSV space | |||
pmichaud | moritz: what color background will these be on? | 13:16 | |
moritz | pmichaud: same as irclog.perlgeek.de/perl6/2013-05-10 | 13:17 | |
jnthn back | |||
moritz | ie white and light gray | 13:18 | |
pmichaud | the #79fbbc result looks a little too light to me | ||
PerlJam | good morning #perl6! | ||
Ulti | good lunchtime PerlJam | 13:19 | |
moritz | pmichaud: gist updated with what is hopefully a small improvement | 13:22 | |
13:23
PacoAir joined
|
|||
moritz | or maybe I should just always set the saturation to 1 | 13:23 | |
pmichaud | it's a little better, but still hard to see. | ||
13:24
berekuk joined
|
|||
moritz | ... and another udpate | 13:25 | |
pmichaud | yes, that's good. | 13:26 | |
dalek | kudo/jvm-support: 39ea92e | moritz++ | src/core/GatherIter.pm: get rid of two cases of pir::setattribute__0PPsP |
||
pmichaud | first two entries appear about the same, but I don't know that you'll be able to avoid all visual conflicts | ||
have to run $kid to $school... bbiab | |||
moritz | pmichaud: right, I think it's better to tolerate collisions than not being able to read some of them | 13:27 | |
13:32
lichtkind joined
|
|||
dalek | kudo/jvm-support: 7bf40c1 | jnthn++ | src/vm/jvm/ (3 files): Stub in the binder. Doesn't actually do anything yet, this just gets the op and some of the constants in place. |
13:35 | |
13:35
DarthGandalf left
13:48
btyler joined,
kresike left,
DarthGandalf joined
13:49
cosimo joined
13:57
skids joined
14:01
Guest936 is now known as ajr_,
Targen joined
14:09
xilo left,
berekuk left
14:12
xinming left
14:14
xinming joined
|
|||
[Coke] | i often hate that ColdFusion arrays always start at one, but I do find it tends to avoid having to fix things up when you talk to the user. | 14:14 | |
masak | unless the user is Edsger Dijkstra. | 14:16 | |
[Coke] | @aa.kv -> $k, $v helps. I almost wish for a .kv:ordinal where the $k is by-one. | 14:18 | |
14:18
shinobicl joined,
shinobicl left
14:23
jerome left
|
|||
masak | rn: use MONKEY_TYPING; augment class List { multi method kv(:$ordinal!) {} } | 14:28 | |
camelia | niecza v24-47-g0a84de2: OUTPUT«Potential difficulties: $ordinal is declared but not used at /tmp/YRGpMeuRgi line 1:------> ; augment class List { multi method kv(:⏏$ordinal!) {} }» | ||
..rakudo bfd850: OUTPUT«===SORRY!===Cannot have a multi candidate for 'kv' when an only method is also in the package 'List'» | |||
masak | anyone against me changing 'method kv' in src/core/List.pm to 'multi method kv'? | 14:29 | |
I'll spectest and everything ;) | |||
14:30
gdey left
14:31
xilo joined
14:32
kaleem left
14:37
jerome joined
|
|||
[Coke] | or maybe an IndexStr type that numerically is 0 but stringifies as 1. ;) | 14:39 | |
(as long as you're listening to the crazy cold fusion programmer) | |||
masak | stringifying to 1 doesn't make sense to me. | 14:42 | |
the one is a numerical index, too. | |||
[Coke] | hey, if 50% of my ideas make sense to you, you're still in trouble. | ||
masak | ;) | 14:43 | |
14:50
kaleem joined
15:02
btyler left,
ajr_ left
15:03
ajr joined
15:04
ajr is now known as Guest8208
15:07
LlamaRider joined
15:11
shinobicl joined
|
|||
Ulti | does perl6 date time stuff let you pass in horrible english descriptions of dates like PHP? | 15:19 | |
moritz | no | ||
Ulti | something to do then :) | ||
moritz | it only parses ISO-forgotthenumber dates | 15:20 | |
and times | |||
Ulti | php.net/manual/en/function.strtotime.php if anyone vaguely cares about what I'm talking about | 15:21 | |
15:22
bruges left
15:25
clkao_ left,
thou joined,
clkao joined
15:26
bruges joined
|
|||
masak | git does that with its --since options and so on. | 15:27 | |
moritz: 8601. | 15:28 | ||
donaldh | there are modules in CPAN for Perl 5 that do this. Would this be core Perl 6 or a module? | ||
TimToady | yes it'd be good to have some date parsing somehow for rosettacode.org/wiki/Date_manipulation | ||
yoleaux | 09:42Z <FROGGS> TimToady: halp! can you please give me a hint how to properly set up the print-token? gist.github.com/FROGGS/0588a945575387a3bf70 | ||
15:29
btyler joined
|
|||
TimToady | FROGGS: that's indirect object syntax, which is known to be hard... | 15:29 | |
we will need to reverse engineer the code in toke.c that does that | 15:30 | ||
masak | preferably on a case-by-case basis. | ||
TimToady | (if you can call the original "engineering") | ||
masak | with tests :) | ||
nwc10 | I thought that most engineers didn't use smoke and mirrors | ||
TimToady | well, magical engineers do | ||
nwc10 | it's very effective magic. But I struggle to understand more than 0.1% of it at a time | 15:31 | |
masak | that's why it's magic, because it's sufficiently advanced technology :P | ||
rjbs | powered by perl5's intuition engine | 15:32 | |
TimToady | Sufficiently advanced technology is indistinquishable from sufficiently retarded technology. | ||
masak | TimToady: hey, don't speak badly of Perl 5! are you sure you would have done better oh wait | 15:33 | |
masak .oO( any sufficiently advanced math is isomorphic to category theory ) | |||
TimToady | I'm sure I wouldn't've done better... | ||
masak | :P | 15:34 | |
15:34
kaleem left
|
|||
Ulti | oh wow PHP implementation :'( github.com/php/php-src/blob/master...rse_date.c that is some hairy C code | 15:34 | |
diakopter | Ulti: that's generated from a compiler compiler :) | ||
Ulti | oh its generated | 15:35 | |
yeah just noticed | |||
heh | |||
I was thinking it takes a special kind of human to grok that | |||
donaldh | the one that wrote yacc | ||
moritz | it takes a special kind of non-human to grok that :-) | 15:36 | |
rjbs | My six year-old is working on heiroglyphics right now. | ||
Perl must be up next. | |||
nwc10 | and then APL? | 15:37 | |
rjbs | Oh, come now. I plan on providing *some* parental guidance. | ||
Ulti | yeah ok forget how PHP does it, can use a grammar in perl6 :) | ||
geekosaur | agda with unicode | ||
masak | yeah, 6yos shouldn't be using APL, they should be using J or K at this point. | 15:39 | |
huf | they could use a .pl | 15:40 | |
15:40
gdey joined,
gdey left,
gdey joined
|
|||
donaldh | Ulti: that would be a lovely grammar demo | 15:40 | |
Ulti | donaldh yeah and quite useful... I should really write my PhD thesis first though >:3 | 15:41 | |
TimToady | wow, having one's eyes dilated does not improve the reading of toke.c | 15:48 | |
.oO(My Eye Glaze Under) |
|||
*Eyes | 15:49 | ||
15:50
grondilu joined
|
|||
grondilu | n: say "f" ~~ /<*foo>/ | 15:50 | |
camelia | niecza v24-47-g0a84de2: OUTPUT«===SORRY!===Action method assertion:sym<*> not yet implemented at /tmp/FtxVG8xcaJ line 1:------> say "f" ~~ /<*foo⏏>/Unhandled exception: Unable to resolve method oplift in type Any at /home/p6eval/niecza/src/RxO… | ||
15:50
sizz joined
|
|||
grondilu | r: say "f" ~~ /<*foo>/ | 15:50 | |
camelia | rakudo bfd850: OUTPUT«===SORRY!===Unrecognized regex metacharacter < (must be quoted to match literally)at /tmp/ypdS_IffBC:1------> say "f" ~~ /<⏏*foo>/Unrecognized regex metacharacter * (must be quoted to match literally)at /tmp/ypdS_IffBC:1--… | ||
15:50
kivutar left
15:51
sizz_ left
15:54
arlinius left
|
|||
masak | enums in Python: www.python.org/dev/peps/pep-0435/ -- just got accepted, it seems. | 15:55 | |
I bet there are things we can learn from that PEP. | |||
PerlJam | Hmm. "Given two members A and B with the same value (and A defined first), B is an alias to A." and "Iterating over the members of an enum does not provide the aliases" seems weird | 16:03 | |
masak | why? | 16:04 | |
TimToady | stored as dictionary or list of 3 => Wed maybe | 16:05 | |
or the iterator extracts unique .values | |||
but probably forward is hash Wed => 3, and backwards just an array 3 => Wed | 16:06 | ||
PerlJam | masak: I guess because I don't see another way for introspection yet. | ||
TimToady | and the iterator runs over the array | 16:07 | |
PerlJam | (and if I put in 5 things, I expect to get 5 things our somehow) | ||
s/our/out/ | |||
16:09
donaldh left
|
|||
PerlJam | oh, I totally glossed over __members__ | 16:09 | |
PerlJam needs to retrain his eyes. | |||
16:10
rafl joined
|
|||
pmichaud | PerlJam: yeah, go for a semigloss next time. | 16:10 | |
16:10
rindolf left
|
|||
TimToady | We don't try to prevent Wed * 2 | 16:12 | |
hoelzro | do any enterprising Perl 6 contributors feel like helping out with the Perl 6 support in Vim? =) | ||
16:13
Vlavv` joined
|
|||
grondilu | How can I test if a variable is [] if the variable is not even necessarily an array? | 16:14 | |
PerlJam | grondilu: the question doesn't make enough sense for me. | ||
TimToady | ah, enumeration is in declaration order | ||
masak | pmichaud! \o/ | ||
grondilu | rn: my $x = "foo"; say $x ~~ Array and $x.elems == 0; | 16:15 | |
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False» | ||
grondilu | rn: my $x = []; say $x ~~ Array and $x.elems == 0; | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
grondilu | ^ I guess that will do | ||
masak | rn: my $x; say $x ~~ [] | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False» | ||
masak | er. | ||
rn: my $x = []; say $x ~~ [] | 16:16 | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
grondilu | rn: my $x = {}; say $x ~~ [] | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
masak | rn: my $x = {}; say $x ~~ [] & Array | 16:17 | |
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False» | 16:18 | |
masak | rn: my $x = []; say $x ~~ [] & Array | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
masak | rn: my $x = []; say $x ~~ 0 & Array | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
TimToady | I wouldn't use 0 | 16:19 | |
it would force calculation of the length of the array | |||
which maybe you don't want to do | |||
pmichaud | .elems will force calculating the length of the array also | 16:20 | |
PerlJam | grondilu: if you want to ask "is this thing an array and is the array empty", then your first solution seems to be the best way. | ||
TimToady | rn: my $x = []; say $x ~~ .so & Array | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«False» | ||
TimToady | rn: my $x = []; say $x ~~ .not & Array | ||
camelia | rakudo bfd850, niecza v24-47-g0a84de2: OUTPUT«True» | ||
masak | grondilu: what PerlJam said. | 16:21 | |
grondilu | ok | ||
TimToady | use a boolean test to be sure to avoid calculating the length | 16:22 | |
16:23
sjohnson left,
sjohnson joined
|
|||
TimToady | and maybe you want Positional instead of Array? | 16:23 | |
16:25
arlinius joined
|
|||
PerlJam | Using a boolean test to avoid accidental eagerness is subtle enough that it may end up in a "Perl 6 Best Practices" or a FAQ or something. | 16:27 | |
masak | aye. | 16:29 | |
TimToady | one almost wants a special infix:<==>(Array,Num) that optimizes for that | 16:31 | |
"Nope, I'm not 0" | |||
er, more like (List,Int) I suppose | 16:32 | ||
pmichaud | multi sub infix:<==>(List $l, $n) { $l.gimme($n+1) == $n } | 16:33 | |
although maybe it'd be better as infix:<cmp> | 16:34 | ||
16:35
LylePerl joined
|
|||
pmichaud | since people will write @array > 0 also | 16:35 | |
16:38
LylePerl left
|
|||
masak | LylePerl! \o/ | 16:38 | |
...or not :/ | |||
grondilu | wow, I solved a rosalind suffix-tree problem in a neat way! | 16:39 | |
dalek | pan style="color: #395be5">perl6-examples: 8da517c | (L. Grondin)++ | rosalind/suff-grondilu.pl: (rosalind) SUFF |
||
grondilu | ^check it out | ||
16:42
berekuk joined
|
|||
TimToady | what's with the parens around the conditionals? | 16:43 | |
grondilu | lol, I've been coding a bit P5 lately :) | ||
TimToady | the rest of it looks more like Lisp :) | 16:44 | |
arnsholt | Oooh, suffix tree | 16:46 | |
TimToady wishes it were just a bit easier to treat pairlists as normal lists | |||
masak | indentation seems busted. something to do with tab characters? | ||
TimToady | look at it as a normal file and it's better | ||
grondilu | masak: I forgot to filter it through expand before commiting | 16:48 | |
dalek | pan style="color: #395be5">perl6-examples: 22ef363 | (L. Grondin)++ | rosalind/suff-grondilu.pl: minor style rewrite |
16:50 | |
16:55
trexy left
16:57
frdmn joined
16:58
bluescreen100 joined
16:59
Guest8208 left,
bluescreen10 left,
bluescreen100 is now known as bluescreen10
17:23
berekuk left
17:38
Vlavv` left
17:46
lichtkind left
17:55
berekuk joined
17:58
LlamaRider left
17:59
rindolf joined
|
|||
dagurval | r: say IO::Spec.catfile("c:\\tmp", "42"); | 18:21 | |
camelia | rakudo bfd850: OUTPUT«c:\tmp/42» | ||
dagurval | should it not be c:\tmp\42 ? | ||
geekosaur | if the bot were running on a windows system, maybe | ||
dagurval | r: say IO::Spec::Win32.catfile("c:\\tmp", "42"); | 18:22 | |
camelia | rakudo bfd850: OUTPUT«C:\tmp\42» | ||
dagurval | ok, so IO::Spec has behaviour relative to its environment | ||
geekosaur | one would hope so. what if I had a unixy filename that just happened to look windowsy? | 18:23 | |
or vice versa | |||
grondilu | rn: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { hash @key Z=> .comb }, @c | 18:24 | |
camelia | rakudo bfd850: OUTPUT«["foo" => "0", "bar" => "1", "foo" => "1", "bar" => "0"]» | ||
..niecza v24-47-g0a84de2: OUTPUT«["foo" => "0", "bar" => "1", "foo" => "1", "bar" => "0"].list» | |||
grondilu was expecting a list of two hashes, not a list of four pairs :/ | 18:25 | ||
pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { hash @key Z=> .comb }, @c | 18:26 | ||
camelia | pugs: OUTPUT«***  Unexpected " =" expecting formal parameter at /tmp/P_PW3vmOXs line 1, column 59» | ||
geekosaur | worse... you have word processing files created by a user, with names like "[SGB]Mumble". autoswitch to vms mode? | 18:27 | |
labster | dagurval: you probably should be using IO::Path instead | 18:28 | |
r: say IO::Path::Win32.new("c:\\temp").child("42") | 18:29 | ||
camelia | rakudo bfd850: OUTPUT«IO::Path::Win32<c:\temp\42>» | ||
labster | huh. There should be an easy way of making that with Str.path. Maybe I should add an OS parameter. | ||
r: $*TMPDIR.path.child("42").say | 18:30 | ||
camelia | rakudo bfd850: OUTPUT«IO::Path</tmp/42>» | ||
TimToady | rn: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map({ hash @key Z=> .comb }, @c).lol | 18:32 | |
camelia | niecza v24-47-g0a84de2: OUTPUT«Unhandled exception: Unable to resolve method lol in type List at /tmp/ZWHzg8xC1a line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4327 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4328 (module-CORE @ 582)  at /home/p… | ||
..rakudo bfd850: OUTPUT«[ListIter.new()]» | |||
shinobicl | hello.... is there some ORM system for perl6 in development yet? | ||
TimToady | rn: my @key = <foo bar>; my @c = <01 10>; say .perl for map({ hash @key Z=> .comb }, @c).lol | 18:35 | |
camelia | niecza v24-47-g0a84de2: OUTPUT«Unhandled exception: Unable to resolve method lol in type List at /tmp/8u7zTKXXgu line 1 (mainline @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 4327 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4328 (module-CORE @ 582)  at /home/p… | ||
..rakudo bfd850: OUTPUT«ListIter.new()» | |||
TimToady | r: my @key = <foo bar>; my @c = <01 10>; .say for map({ hash @key Z=> .comb }, @c).lol | ||
camelia | rakudo bfd850: OUTPUT«ListIter.new()» | ||
dagurval | labster: ah, great! | 18:37 | |
TimToady | r: my @key = <foo bar>; my @c = <01 10>; .say for map { hash( @key Z=> .comb ).item }, @c | ||
camelia | rakudo bfd850: OUTPUT«("foo" => "0", "bar" => "1").hash("foo" => "1", "bar" => "0").hash» | ||
TimToady | nr: my @key = <foo bar>; my @c = <01 10>; .say for map { $%( @key Z=> .comb ) }, @c | 18:38 | |
camelia | niecza v24-47-g0a84de2: OUTPUT«===SORRY!===Unsupported use of $% variable; in Perl 6 please use Form module at /tmp/n_e61oHCIW line 1:------> bar>; my @c = <01 10>; .say for map { $%⏏( @key Z=> .comb ) }, @cParse failed» | ||
..rakudo bfd850: OUTPUT«===SORRY!===Unsupported use of $% variable; in Perl 6 please use Form moduleat /tmp/5q47y8WQRi:1------> bar>; my @c = <01 10>; .say for map { $%⏏( @key Z=> .comb ) }, @c» | |||
TimToady | hmm | 18:39 | |
std: $%( %*ENV ) | |||
camelia | std b33d8e0: OUTPUT«ok 00:00 43m» | ||
18:40
jeffreykegler joined
|
|||
grondilu | std: for lines { .say } | 18:40 | |
camelia | std b33d8e0: OUTPUT«===SORRY!===Function 'lines' needs parens to avoid gobbling block at /tmp/x5nVVlgcVD line 1:------> for lines⏏ { .say }Missing block (apparently gobbled by 'lines') at /tmp/x5nVVlgcVD line 1:------> for lines { .say }[33… | ||
grondilu | ^this error message is more useful than what rakudo gives | 18:41 | |
r: for lines { .say } | |||
camelia | rakudo bfd850: OUTPUT«===SORRY!===Missing blockat /tmp/fSJA3wkQm8:1------> for lines { .say }⏏<EOL> expecting any of: method arguments postfix statement end statement modifier statement modifier loop … | ||
moritz | agreed | ||
welcome to the wonderful world of higwater marks, or whatever they are called :-) | 18:42 | ||
labster | Oh yeah, I kinda snuck $*TMPDIR in with the path stuff. Is that something we'd like to spec? It's just a call to IO::Spec.tmpdir in more convenient form. | 18:50 | |
18:51
SmokeMachine left
|
|||
grondilu | TimToady: so you recommend I use the .item method? Will it be easier to make a list of hashes in the future? | 18:51 | |
FROGGS | TimToady: thanks, will look at toke.c | 18:52 | |
18:52
Vlavv joined
18:55
ajr joined
18:56
ajr is now known as Guest72973
|
|||
TimToady | in the future you'll be able to use $%(...) but nobody parses it yet except STD, and my local niecza :) | 18:58 | |
FROGGS | local++ :P | ||
TimToady: please tell me that I dont have to under stand that part: github.com/mirrors/perl/blob/blead/toke.c#L6499 | |||
18:59
cognominal left
19:00
cognominal joined
|
|||
dalek | ecza: 1d127e4 | larry++ | src/STD.pm6: allow $% and $@ itemizers to align with STD |
19:03 | |
19:04
berekuk left,
japhb_ joined
|
|||
TimToady | FROGGS: no, you have to understand several parts, including that one | 19:05 | |
FROGGS | \o/ | ||
TimToady | or wait for me to rewrite that part of STD_P5, which might happen sooner or later | 19:06 | |
FROGGS | hmmm | 19:07 | |
19:07
berekuk joined
|
|||
FROGGS | I'll see what else would makes sense to do now... | 19:08 | |
[Coke] | hoelzro: p6 vim - alester had a good start on that. | 19:11 | |
TimToady | nr: say $%*ENV | ||
camelia | rakudo bfd850: OUTPUT«===SORRY!===Unsupported use of $% variable; in Perl 6 please use Form moduleat /tmp/8a9pPqKCV0:1------> say $%⏏*ENV» | 19:12 | |
..niecza v24-48-g1d127e4: OUTPUT«{"HOME" => "/home/p6eval", "LANG" => "en_US.UTF-8", "LD_LIBRARY_PATH" => "/usr/local/mono-2.10.1/lib", "LOGNAME" => "p6eval", "LS_COLORS" => "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=3… | |||
TimToady | okay, that's now officially a rakudobug, since niecza does it :) | ||
FROGGS | *g* | ||
alester | [Coke]: hoelzro is a contributor on vim-perl. He's been goin' to town on prepping for vim 7.4 | ||
masak submits rakudobug | |||
[Coke] | ah, good. | 19:13 | |
TimToady | n: say +[%*ENV, 42] | ||
camelia | niecza v24-48-g1d127e4: OUTPUT«25» | ||
FROGGS | masak: please link that patch too: github.com/sorear/niecza/commit/1d127e411e | ||
TimToady | n: say +[$%*ENV, 42] | ||
camelia | niecza v24-48-g1d127e4: OUTPUT«2» | ||
TimToady | and it does, in fact, itemize it | ||
19:14
berekuk left
|
|||
TimToady | n: say +[$%( :a, :b, :c ), 42] | 19:14 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«2» | ||
19:14
SamuraiJack left
|
|||
TimToady | n: say +[%( :a, :b, :c ), 42] | 19:14 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«4» | ||
TimToady | \o/ | 19:15 | |
19:15
berekuk joined
|
|||
masak | FROGGS: oh, will do. | 19:15 | |
FROGGS | thanks | ||
19:16
chee joined
|
|||
grondilu | std: ${ foo => "bar } | 19:16 | |
camelia | std b33d8e0: OUTPUT«===SORRY!===Unsupported use of ${ foo => "bar }; in Perl 6 please use $( foo => "bar ) at /tmp/bIRmzIgMAf line 1:------> ${ foo => "bar }⏏<EOL>Parse failedFAILED 00:00 41m» | ||
grondilu | std: ${ foo => "bar" } | 19:17 | |
camelia | std b33d8e0: OUTPUT«===SORRY!===Unsupported use of ${ foo => "bar" }; in Perl 6 please use $( foo => "bar" ) at /tmp/9WVj2dZ5Rs line 1:------> ${ foo => "bar" }⏏<EOL>Parse failedFAILED 00:00 41m» | ||
grondilu | std: $({ foo => "bar" }) | ||
camelia | std b33d8e0: OUTPUT«ok 00:00 44m» | ||
FROGGS | std: $( foo => "bar" ) | ||
std: $( foo => "bar" ) | |||
camelia | std b33d8e0: OUTPUT«ok 00:00 43m» | ||
FROGGS | r: say 'hello' | 19:18 | |
camelia | rakudo bfd850: OUTPUT«hello» | ||
FROGGS | :o) | ||
grondilu | n: say .WHAT for $({ foo => "bar" }), $( foo => "bar" ) | ||
camelia | niecza v24-48-g1d127e4: OUTPUT«(Hash)(Pair)» | ||
TimToady | n: say .WHAT for $%( foo => "bar" ), $( foo => "bar" ) | 19:19 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«(Hash)(Pair)» | ||
TimToady | saves one char :) | 19:20 | |
19:20
jeffreykegler left
19:21
jeffreykegler joined
|
|||
TimToady | n: my $pair = foo => "bar"; say .WHAT for $%$pair, $pair | 19:22 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«(Hash)(Pair)» | ||
grondilu | pugs: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c | 19:23 | |
camelia | pugs: OUTPUT«***  Unexpected " =" expecting formal parameter at /tmp/n2fyREX12n line 1, column 59» | ||
grondilu | r: my @key = <foo bar>; my @c = <01 10>; say .perl given my @ = map { my $ = hash @key Z=> .comb }, @c | ||
camelia | rakudo bfd850: OUTPUT«[{"foo" => "0", "bar" => "1"}, {"foo" => "1", "bar" => "0"}]» | ||
grondilu | ^I forgot this could work as well | ||
TimToady | n: my @key = <foo bar>; my @c = <01 10>; .perl.say for map { $%( @key Z=> .comb ) }, @c | 19:24 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«{"bar" => "1", "foo" => "0"}{"bar" => "0", "foo" => "1"}» | ||
TimToady | that's what I was wanting to work earlier, except it didn't... | 19:25 | |
19:31
Grrrr joined
19:32
brrt joined
19:38
Moukeddar joined
19:50
btyler left
|
|||
Moukeddar | evenin' #perl6 o/ | 19:52 | |
19:53
btyler joined
|
|||
dalek | kudo/jvm-support: 1a2fcbd | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Fix some incorrect array access ops. JVM is stricter. Unbusts the multi-dispatcher somewhat. |
19:57 | |
kudo/jvm-support: 111de52 | jonathan++ | src/vm/jvm/ (2 files): Ensure CSD is updated. Means that the multi-dispatcher sees the args it's meant to. |
|||
masak | Moukeddar! \o/ | 20:03 | |
20:04
sqirrel joined
|
|||
lizmat | hello #perl6! | 20:11 | |
dalek | p/rak-jvm-support: dcc4c3e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Implement nqp::captureposprimspec on JVM. |
20:12 | |
p/rak-jvm-support: 863ea92 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Fix an op name. |
|||
lizmat | I was just wondering: with grammar being the equivalent of "module/class" but for regexes | ||
shouldn't grammar allow for "auth" / "ver" / "name" setting as well ? | |||
jnthn | I suspect it already Just Works to the degree any of that stuff works in Rakudo | 20:14 | |
dalek | rl6-roast-data: def708b | coke++ | / (4 files): today (automated commit) |
||
jnthn | GrammarHOW is just a subclass of ClassHOW | ||
And so has name/ver/auth slots | |||
lizmat | indeed, but nothing of that is specced afaik | ||
[Coke] | niecza has been dirty for 297 days. pugs has been clean for 1 day. rakudo has been dirty for 6 days. | 20:15 | |
masak | lizmat: does the spec even mention ClassHOW? | ||
jnthn | I'd assume any package type is fine enough. | ||
lizmat | S04:1476 states "This feature is awaiting further exploration by means of a C<ClassHOW> extension." | 20:16 | |
S12:2517: Custom meta objects mentions ClassHOW | 20:17 | ||
20:19
jeffreykegler left
|
|||
masak | oh, good. | 20:20 | |
lizmat | anyway, my short term goal is sort of condensed in: gist.github.com/lizmat/5557120 | 20:24 | |
japhb_ | jnthn, can a built nqp-parrot and nqp-jvm coexist within a single nqp tree, or do I need to make two clones if I want to compare them? | ||
jnthn | japhb_: I think the nqp clean's may stomp on things that matter to one or the other... | 20:25 | |
lizmat | it errors out with "Redeclaration of symbol Foo at file:6" | ||
jnthn | japhb_: Maybe not, though | ||
I didn't try it. | |||
japhb_: I didn't do anything to make it not work, at least :) | |||
20:31
kaare__ left
20:33
jeffreykegler joined
|
|||
japhb_ | jnthn, Similarly (assuming 'make clean' is fixed to be careful) do you think it likely to be able to build rakudo-parrot and rakudo-jvm in the same tree? | 20:35 | |
TimToady | rosettacode.org/wiki/Repeated_string#Perl_6 would be even shorter if we could say <*$0> instead of the assertion | ||
japhb_ | .oO( Gentle nudges, TimToady style: "I could golf this very nicely if you implemented this feature ...." ) |
20:36 | |
.oO( The new dance fad: TimToady Style ) |
|||
TimToady dances the Golf Swing | 20:37 | ||
jnthn | japhb_: Oh...just realized | 20:38 | |
they both produce the final executable thing with the same name on non-Windows. :) | |||
japhb_ | Heh | ||
jnthn | That's solvable. | 20:39 | |
japhb_ | nodnod | ||
lizmat | jnthn: that would only be a pb with "make install", no? | ||
jnthn | lizmat: If you build both in the same directory you get the issue I think too. | 20:40 | |
I suspect having the ability to have them all built at once is interesting from a dev perspective. | |||
japhb_ | I agree | 20:41 | |
lizmat | jnthn++ | ||
jnthn | tc.gc | ||
oops | |||
japhb_ | (For my particular use case, I can work around it with local-FS clones, but it does seem to make sense to be able to build all VM variants in one tree, yes.) | 20:42 | |
TimToady | rn: say 1001110011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ / | 20:44 | |
camelia | niecza v24-48-g1d127e4: OUTPUT«「1001110011」 0 => 「10011」» | ||
..rakudo bfd850: OUTPUT«No such method 'comb' for invocant of type 'Any' in regex at /tmp/OHj0MG5jaw:1 in method ACCEPTS at src/gen/CORE.setting:10370 in method ACCEPTS at src/gen/CORE.setting:683 in block at /tmp/OHj0MG5jaw:1» | |||
TimToady thinks rakudo is running the innards of @() too soon | 20:45 | ||
japhb_ | jnthn, Was nqp-jvm in the main NQP repo and self-building in time for the NQP 2013.04 release? I've lost track of when that happened .... | ||
jnthn | japhb_: No, .05 was first one thing it, iirc | 20:46 | |
Oh, or was it... | |||
masak submits TimToady's rakudobug | 20:47 | ||
jnthn | I dunno, I just code this stuff. There's git for remebering stuff :P | ||
TimToady | rn: say 1110111011 ~~ /^ (.+) $0+ @([\~] $0.comb)? $ / | ||
camelia | niecza v24-48-g1d127e4: OUTPUT«「1110111011」 0 => 「1110」» | ||
..rakudo bfd850: OUTPUT«No such method 'comb' for invocant of type 'Any' in regex at /tmp/ZzX4wNNCLi:1 in method ACCEPTS at src/gen/CORE.setting:10370 in method ACCEPTS at src/gen/CORE.setting:683 in block at /tmp/ZzX4wNNCLi:1» | |||
jnthn | TimToady, masak: I doubt it's about "too early" so much as $/ not being up to date enough. | ||
TimToady | (btw, that's a short implementatoin of <*$0> there...) | ||
probably not very speedy, but still | 20:48 | ||
jnthn | To test that hypothesis, but a {} before the @(...) | ||
TimToady | rn: say 1110111011 ~~ /^ (.+) $0+ {} @([\~] $0.comb)? $ / | ||
camelia | rakudo bfd850, niecza v24-48-g1d127e4: OUTPUT«「1110111011」 0 => 「1110」» | ||
jnthn | Yup, it's that. | ||
TimToady | huh | ||
jnthn | masak: There's already an RT ticket about $/ stuff. | ||
masak: So may want to add it (or ref it) | 20:49 | ||
20:49
jeffreykegler left
|
|||
jnthn | TimToady: I think it's just that @foo only used to interpolate and not have the chance to run code. | 20:50 | |
masak | jnthn: ok, gotcha. | 20:51 | |
jnthn | TimToady: In Rakudo, Match is constructed from the stack of captures Cursor collects. | ||
TimToady | then how does the first $0 work, if $/ is delayed? | 20:53 | |
jnthn | TimToady: iirc, $0 is parsed explicitly as a back-reference and handled separately. | ||
masak | jnthn: can't find such an RT ticket. | ||
jnthn | masak: I think the title of the ticked used the word "published" and "match variables", maybe not $/ | 20:54 | |
TimToady | well, the main point of reversing the meaning of $foo in regex was so that $0 could be treated like a normal variable, and vice versa... | ||
jnthn | TimToady: May still be performant to treat them separately. | 20:55 | |
TimToady: Certainly is in the Rakudo engine, anyway. | |||
TimToady | :) | ||
errand & | 20:56 | ||
FROGGS | hmmm, lets see if irclog has some timeouts built in for search queries :/ | 20:58 | |
20:59
brrt left
|
|||
masak | found the RT ticket. jnthn++ :) | 21:00 | |
masak adds today's musings | |||
lizmat is trying to grok S05:354: "C<< <.ws> >> can't decide what to do until it sees the data. It still does the right thing. If not, define your own C<< ws >> and C<:sigspace> will use that." | |||
jnthn | lizmat: Which bits are you unsure about? | 21:01 | |
lizmat | so what is the difference between <.ws> and my own <ws> | ||
note the . | |||
jnthn | <.ws> means "don't capture" | ||
<ws> will capture | |||
Which is pointless | |||
masak | lizmat: . just means "don't cap" what jnthn said. | ||
jnthn | When it was "define your own ws" it means the token name is ws | 21:02 | |
lizmat | wonder where that is specced…. must have read over that subtle difference | ||
jnthn | *says | ||
FROGGS | r: say "abc" ~~ / 'a' <ident> 'c' / | ||
camelia | rakudo bfd850: OUTPUT«Nil» | ||
FROGGS | r: say "abc" ~~ / 'a' <alpha> 'c' / | 21:03 | |
camelia | rakudo bfd850: OUTPUT«「abc」 alpha => 「b」» | ||
FROGGS | r: say "abc" ~~ / 'a' <.alpha> 'c' / | ||
camelia | rakudo bfd850: OUTPUT«「abc」» | ||
FROGGS | maybe it is too late but I had expected that ident will match | ||
but I can't deny that I am tired | 21:04 | ||
21:04
skids left
|
|||
lizmat | <ident> implies word boundary on either side, no? | 21:04 | |
FROGGS | ahh, makes sense, yeah | ||
lizmat | identifier boundary, I guess, as in this context - and ' are also part of the allowable characters | 21:05 | |
if I'm not mistaken :-) | |||
FROGGS | yeah, I think you are right | 21:06 | |
21:17
btyler left
21:21
sqirrel left
|
|||
grondilu | r: say "foo" ~~ /^ <ident> $/ | 21:22 | |
camelia | rakudo bfd850: OUTPUT«「foo」 ident => 「foo」» | ||
dalek | p/rak-jvm-support: 9ad904b | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/ (4 files): Serialize HLL related info. |
||
p/rak-jvm-support: dffacb2 | jonathan++ | src/ (2 files): Mark HLL roles on various types. |
|||
lizmat | r: say "foo" ~~ /^ <.ident> $/ | 21:23 | |
camelia | rakudo bfd850: OUTPUT«「foo」» | ||
lizmat | I understand it now, I'm just still wondering where this is specced | ||
because if it isn't, it should be :-) | 21:24 | ||
21:24
rindolf left
|
|||
[Coke] | the .? | 21:26 | |
lizmat | making <ident> non capturing with <.ident> | 21:27 | |
gnight #perl6! | 21:30 | ||
colomon | o/ | ||
timotimo_ | tell lizmat it's specced in S05, the text is "A leading . explicitly calls a method as a subrule; the fact that the initial character is not alphanumeric also causes the named assertion to not capture what it matches (see "Subrule captures". For example: | 21:33 | |
21:35
berekuk left
|
|||
masak | 'night, lizmat | 21:36 | |
21:36
berekuk joined
|
|||
dalek | kudo/jvm-support: 380909f | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Start translating the binder code. |
21:39 | |
21:47
Vlavv left
21:49
dmol left
21:51
bluescreen10 left
|
|||
TimToady | note that the reason / 'a' <ident> 'b' / doesn't work has little to do with anchoring; <ident> is defined as a token, so it won't backtrack into any quantifiers | 21:58 | |
since token implies :ratchet | 21:59 | ||
masak | oh, I thought that was it when I first saw it. | 22:00 | |
22:02
lustlife left
|
|||
jnthn | Didn't I...oh, no, I dodn't say anything :) | 22:08 | |
dalek | p/rak-jvm-support: 2a01b7d | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (2 files): Start storing HLL mapping config. |
22:09 | |
p/rak-jvm-support: 6396b9e | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Get HLL mapping mostly in place. |
|||
22:13
Moukeddar left
22:17
donaldh joined
|
|||
FROGGS | TimToady: so, to get it right: it doesnt match because <ident> already matched more than one char? | 22:18 | |
jnthn | yes | ||
FROGGS | cool, good to know | ||
(and it is a bit obvious now) | |||
gnight pals | 22:19 | ||
grondilu | Where are set operators specced? | 22:20 | |
grondilu can't find them in S03 | 22:21 | ||
TimToady | S32/Containers:1102 | ||
well, except for the operators :) | 22:22 | ||
donaldh | jnthn: can you give any tips for debugging nqp? | ||
grondilu | r: say set(<foo bar>) (|) set(<foo>) | 22:23 | |
camelia | rakudo bfd850: OUTPUT«set(foo, bar)» | ||
grondilu | r: say set(<foo bar>) (^) set(<foo>) | ||
camelia | rakudo bfd850: OUTPUT«set(bar)» | ||
grondilu | r: say set(<foo bar>) (&) set(<foo>) | ||
camelia | rakudo bfd850: OUTPUT«set(foo)» | ||
grondilu | that will do | ||
jnthn | donaldh: I was about to say that looking at where it went wrong is a good hint, but I fear you're working on the stuff that tells us exactly what went wrong ;) | ||
(that is, the line number stuff...) | |||
TimToady | I guess STD's CORE.setting has the protos anyway | 22:24 | |
donaldh | :-) | ||
jnthn: Trying to learn the QAST and JAST nodes by inspection. But failing miserably. Any hints? | 22:25 | ||
jnthn | donaldh: QAST is somewhat documented in docs/qast.markdown | 22:26 | |
JAST is...well, there's just JASTNodes.nqp :) | |||
22:26
snoopy joined
|
|||
jnthn | JAST is really just an representation of JVM bytecode, really. | 22:27 | |
*a | |||
uh, and one too many really :) | 22:28 | ||
donaldh | guess I should try using nqp::say($node.dump()); ? | ||
jnthn | That can probably give some info | ||
--target=qast # lets you see the QAST tree some NQP program produces | |||
donaldh | oh, of course. I did that back when I was working on asm | 22:29 | |
dalek | kudo/jvm-support: 395f577 | jonathan++ | src/vm/jvm/runtime/org/perl6/rakudo/Ops.java: Implement nqp::p6parcel on JVM. |
||
jnthn | :) | ||
The asm work was great, btw. We use invokedynamic in various places now :) | 22:30 | ||
donaldh | Yeah, I'm trying to find the time to poke into how you're using invokedynamic | ||
jnthn | IndyBootstrap.java is at the heart of it | 22:31 | |
There's more that we can do there too | |||
I want to get the return value handling wired up to it at some point. But for now, getting Rakudo to run is my main focus :) | 22:32 | ||
Don't mind if somebody task steals the return handling stuff, of course :) | 22:33 | ||
donaldh | Is that why we get unknown return type in stack traces? | 22:35 | |
jnthn | "unknown return type"? | 22:36 | |
At the moment the NQP-handled stack traces just show routine name | 22:37 | ||
but if you look at a Java one then yeah, it's all void and the return handling is out of band. | |||
donaldh | Yep, at breakpoint in Java debugger. | 22:38 | |
jnthn | One other indy task is to get the multi-dispatch cache to participate in it. | 22:39 | |
That's likely gonna be fiddly, but probably rather worth it. | 22:40 | ||
donaldh | I'm guessing that will be a big win | ||
jnthn | Well, maybe, but the guardWithTest combinator doesn't appear to be as well optimized as I had expected so far. | ||
donaldh | jnthn: Am I right in thinking we want to eliminate JASTToJVMByteCode at some point? I.e. go directly from JAST without intermediate string representation. | 22:45 | |
jnthn | donaldh: Certainly. | ||
donaldh: The text was mostly a "we have a process boundary here" thing. | |||
Now there's no real reason for it. | |||
donaldh | Yep. It was always going to be a problem before self hosting | 22:46 | |
jnthn | Yeah. But now we're self hosted, it's just a needless bunch of text generation and parsing. | ||
donaldh | yup | 22:49 | |
donaldh realises the entire modern world crosses process boundaries in text | 22:51 | ||
donaldh o O ( internet ) | |||
masak | text is the ultimate process boundary crosser, though. | 22:56 | |
23:05
skids joined
23:10
kivutar joined
23:14
Targen left
|
|||
jnthn | time to head home and to sleep...'night, #perl6 | 23:15 | |
TimToady | o/ | ||
23:17
xilo left
|
|||
masak | 'nght, jnthn | 23:21 | |
23:27
FROGGS left
|
|||
donaldh | 'night all | 23:27 | |
23:29
xilo joined
23:30
Guest72973 left
23:31
Vlavv_ joined
23:33
Vlavv_ left
23:34
xilo left,
Vlavv_ joined
23:36
xilo joined
23:37
donaldh left
23:38
Vlavv_ left
23:40
Vlavv_ joined
23:45
Vlavv_ left
23:46
spider-mario left
23:55
Vlavv_ joined
|