»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:00
yqt left
00:06
gfldex left
00:07
jack_rabbit joined
00:10
coffee` left,
J-L joined
00:18
tinyblak joined
00:21
MadcapJake left
00:25
pippo_ joined
|
|||
japhb | Man, I wish `perl6-m -e ''` was as fast as `perl6-m -v` ... | 00:25 | |
pippo_ | o/ #perl6 | ||
Any body could tel me if it is normal that "ababbabbbabbbabbbbbabb" ~~ m/<[ab]>+/ is faster than "ababbabbbabbbabbbbbabb" ~~ m/[a|b]+/ ? | 00:28 | ||
m: my $t = now; for ^10_000 {"ababbabbbabbbabbbbbabb" ~~ m/<[ab]>+/}; say now - $ | |||
camelia | rakudo-moar 9746e8: OUTPUT«use of uninitialized value of type Any in numeric contextInstant:1427329759.810493» | ||
00:28
colomon_ joined
|
|||
pippo_ | m: my $t = now; for ^10_000 {"ababbabbbabbbabbbbbabb" ~~ m/<[ab]>+/}; say now - $t; | 00:28 | |
camelia | rakudo-moar 9746e8: OUTPUT«1.404720» | ||
00:28
colomon left,
colomon_ is now known as colomon
|
|||
pippo_ | m: my $t = now; for ^10_000 {"ababbabbbabbbabbbbbabb" ~~ m/[a|b]+/}; say now - $t; | 00:29 | |
camelia | rakudo-moar 9746e8: OUTPUT«2.09785693» | ||
pippo_ | good night! | 00:30 | |
00:30
pippo_ left
|
|||
raydiak | retupmoca++ awesome! it seems to get past that part now, so I can only assume it's working like it should be, until I get the rest finished; thanks again, excited I can move forward again | 00:31 | |
yoleaux | 25 Mar 2015 22:35Z <retupmoca> raydiak: install the newest Compress::Zlib, and then try: gist.github.com/retupmoca/5ea886e6d75f62d450b8 | ||
00:36
tinyblak left
|
|||
flussence | I was gonna write a late guesswork answer to that regex question, but I found a neater answer | 00:38 | |
00:39
tinyblak joined
|
|||
flussence | .tell pippo_ «perl6 --target=ast -e '/<[ab]>+/; /[a|b]+/' | grep QAST::Regex» explains that difference well; the [a|b] case creates slightly more code to run. | 00:39 | |
yoleaux | flussence: I'll pass your message to pippo_. | ||
timotimo | flussence: we can't really skip that, because there'll be parse errors from browsers | 00:42 | |
browsers aren't meant to handle object literals in the mluti-digit megabytes | |||
it seems | |||
flussence | aw, oh well. | ||
timotimo | if you have something better, it'd be nice to have something that is faster | 00:43 | |
can you do a bit of javascript work? | |||
when replacing the angular version used in our template with the newest one in the 1 series, things break | |||
apparently the ng-visible="..." stuff doesn't work any more | |||
or was it "ng-show" | |||
flussence | I know JS, I might play around with it tomorrow but no promises :) | ||
timotimo | cool | 00:44 | |
it looks like angular just completely ignores ng-show in the new version or something? | |||
it just shows all of the "alternatives" we've built | |||
flussence | I know almost zero about angular... but problems like that sound all too familiar, argh | 00:45 | |
(just in using js frameworks in general) | 00:46 | ||
timotimo | :) | ||
flussence | (the last big JS thing I worked on like that was at a job where they decided it'd be a good idea to redo the entire UI around a shinier framework mid-project...) | 00:48 | |
00:50
skids left
|
|||
timotimo | d'oh | 00:51 | |
well, three on the roof is worth more than one in the hand, eh? | |||
00:57
laouji joined
|
|||
kurahaupo1 | flussence: usually a bad idea, but sometimes it's worth giving up on an impossibly bad framework | 01:09 | |
01:10
colomon left
|
|||
flussence | I acknowledge that, but I'd learned to cope with the bad bits by then :) | 01:11 | |
01:21
colomon joined
|
|||
raydiak | m: say pack "H*", "a" | 01:25 | |
camelia | rakudo-moar 9746e8: OUTPUT«Cannot call Real(Failure: ); none of these signatures match: (Mu:U \v: *%_) in method Real at src/gen/m-CORE.setting:4813 in sub infix:<%> at src/gen/m-CORE.setting:5295 in block at src/gen/m-CORE.setting:6792 in sub pack at src/gen/…» | ||
raydiak | ^ github.com/rakudo/rakudo/pull/395 | 01:26 | |
01:32
Akagi201_ left
01:33
Akagi201 joined
01:37
[particle] joined
01:39
[particle]1 left
01:49
Akagi201 left,
Akagi201 joined
01:52
kurahaupo1 left
02:00
colomon left
02:01
colomon joined,
tinyblak left
02:06
colomon left
02:07
colomon joined,
tinyblak joined
02:17
adu_ joined
02:35
skids joined
02:45
ilbot3 left
02:46
ilbot3 joined
02:49
prime left
02:51
pochi joined
02:52
pochi_ left,
Hor|zon_ joined
02:54
tinyblak left,
BenGoldberg left
02:55
tinyblak joined,
Hor|zon left
02:56
prime joined
02:57
Hor|zon_ left,
Hor|zon joined
02:58
adu_ is now known as adu
03:06
noganex_ joined
03:09
noganex left
|
|||
skids cannot figure out how to pass :%chosen into the nqp ModuleLoader.load_module. | 03:10 | ||
Nothing I ave tried works. | 03:11 | ||
03:18
Psyche^ joined
03:22
Patterner left
03:48
tinyblak left
03:49
kaleem joined
03:51
yoleaux left,
yoleaux joined,
ChanServ sets mode: +v yoleaux
03:52
kurahaupo1 joined
03:55
yoleaux left,
yoleaux joined,
ChanServ sets mode: +v yoleaux
04:03
tinyblak joined
04:05
Sqirrel left
04:15
skids left
04:17
kaleem left
04:21
anaeem1_ joined,
anaeem1_ left
04:22
anaeem1_ joined
04:36
mr-foobar left
04:37
molaf left
04:52
Sqirrel joined
04:54
davido_ left
04:58
davido_ joined
05:02
kurahaupo1 left
05:10
davido_ left,
davido_ joined
05:11
diana_olhovik_ left,
davido_ left
05:21
davido_ joined
|
|||
dalek | c: 9d93967 | paultcochrane++ | lib/Type/Str.pod: Correct output of split() examples Thanks to @songzan for pointing this out! This commit closes issue #64. |
05:44 | |
c: fd6d1f8 | (Edwin Steiner)++ | lib/Language/setbagmix.pod: Rephrase subtitle and introduction of "Sets, Bags, and Mixes" to Add some words about immutable/mutable variants. |
05:52 | ||
c: 23135c0 | paultcochrane++ | lib/Language/setbagmix.pod: Merge pull request #63 from edwinst/master Emphasize unorderedness of "Sets, Bags, and Mixes". |
|||
05:55
chenryn joined
06:00
adu left
06:07
sno left
|
|||
dalek | kudo/nom: fe9bade | raydiak++ | src/core/Buf.pm: Fix a pack 'H' bug |
06:20 | |
kudo/nom: c5ba5b8 | FROGGS++ | src/core/Buf.pm: Merge pull request #395 from raydiak/packfix Fix a pack 'H' bug |
|||
raydiak | thanks for the merge FROGGS[mobile]2++ :) | 06:25 | |
06:26
Akagi201 left
06:30
eiro left
06:31
Akagi201 joined
06:35
eiro joined
06:45
bjz joined
07:01
SamuraiJack joined
07:02
xprime joined
07:03
bartolin left
07:04
prime left
07:06
ecocode joined
07:08
LonelyGM left
07:09
diana_olhovik_ joined
|
|||
moritz | wow, we have a FROOGS and *two* mobile froggs | 07:09 | |
world domination must be around the corner | |||
07:11
abraxxa joined
|
|||
moritz | erm, "world domination" is such an ugly phrase. I prefer to call it "world optimization". | 07:20 | |
07:22
bartolin joined,
bjz left
|
|||
dalek | kudo/nom: 9210cc6 | TimToady++ | src/core/metaops.pm: allow [Z] and such on indirect lols We can now reduce with list infixes over an arbitrary number of lists. |
07:27 | |
ast: eed14ff | TimToady++ | S03-metaops/zip.t: add tests for [Z] and [Z<] on indirect lols |
|||
07:27
rindolf joined
07:29
sno joined
07:30
darutoko joined
07:36
larion left
07:38
bjz joined
07:40
bjz left
07:41
bjz joined
07:42
jack_rabbit left
07:45
FROGGS joined,
FROGGS[mobile]2 left
|
|||
FROGGS | moritz: everything back to normal :D | 07:46 | |
07:47
Ven joined
|
|||
TimToady | .tell grondilu now that [Zop] |lol is fixed, I've used that in the newest rosettacode.org/wiki/Longest_common...fix#Perl_6 | 07:48 | |
yoleaux | TimToady: I'll pass your message to grondilu. | ||
07:49
larion joined
07:51
bjz left
07:54
larion left
|
|||
TimToady | things are normally abnormal here... | 08:06 | |
FROGGS | which I consider normal in here | ||
08:06
Ven left
|
|||
TimToady | the normal is normal to the normal here... | 08:07 | |
08:08
Alina-malina left
|
|||
nwc10 | which normal (and how many dimensions we have) is left as an exercise to the (confused) reader | 08:08 | |
08:08
virtualsue joined
|
|||
FROGGS | and when we invert the normal we stand behind ourselfs? | 08:08 | |
08:09
Alina-malina joined
08:14
Sqirrel left
08:18
Sqirrel joined
08:30
Alina-malina left
08:31
Alina-malina joined
08:36
bjz joined
08:42
Rounin joined
08:45
pdcawley joined
08:48
tgt joined,
tgt left
08:56
smls joined
|
|||
smls | Morning | 08:57 | |
08:58
tinyblak left
|
|||
FROGGS | morning smls | 08:58 | |
smls | TimToady, |Tux| (re backlog): How would you reliably check if the VAR of something has been passed in the "out => VAR($foo)" usecase? | 09:01 | |
Since not all variables/lvalues are Scalar's | |||
Worse yet, whether something is a Scalar or, say, a Proxy, might be decided at a distance | 09:02 | ||
Think of a case like «my $a = A.new; ... out => VAR(A.foo) ...;» -- someone might do that because it works, but then the author of class A releases a new version where .foo is upgraded from an auto-generated Scalar accessor to a Proxy-returning method. | 09:06 | ||
s/A.foo/$a.foo/ | |||
moritz | smls: maybe Proxy should be a subclass of Scalar | 09:07 | |
smls | maybe | ||
moritz | smls: or there should be a common role that both Proxy and Scalar do | ||
jnthn | The low-level answer is nqp::iscont | 09:09 | |
Which covers Scalar and Proxy | |||
smls | moritz: things like native int variables would still be an issue, but at least those are not something you usually have without knowing it | 09:10 | |
jnthn | And the various native reference containers. | ||
smls: Actually the design is so you *can* not know you have them | |||
In general, though, it's probably a very bad idea to write code that goes introspecting these things. | 09:11 | ||
09:11
Ven joined
|
|||
smls | m: class A { has int $.foo = 42 }; say A.new.foo.VAR.WHAT | 09:11 | |
camelia | rakudo-moar 9210cc: OUTPUT«(Int)» | ||
09:12
virtualsue left
|
|||
smls | jnthn: I mean that you would usually only have one of them if you declared a lexical variable as "my int ..." | 09:12 | |
If ^^camelia is correct, you won't even get one from a class accessor | |||
jnthn | smls: Or you read a value out of a native array and we didn't know you were going to use it in l-value context, or... | ||
That class accessor is ro | 09:13 | ||
smls | d'oh | ||
jnthn | "is rw" gives one | ||
smls | m: class A { has int $.foo is rw = 42 }; say A.new.foo.VAR.WHAT | ||
camelia | rakudo-moar 9210cc: OUTPUT«(IntAttrRef)» | ||
smls | hm, in that case yeah, the solution would need to cover native types as well | ||
jnthn | What is the problem at hand, ooc? | 09:14 | |
smls | |Tux| wanted to port a CSV module API from Perl 5 where passing a reference as "output file name" writes the output to that variable instead of a file | 09:15 | |
TimToady suggested making the distinction by out => $foo vs out => VAR($foo) in Perl 6 | 09:16 | ||
jnthn | uh...what... :) | ||
I can't see how that'd work out | 09:17 | ||
Oh, maybe I can | |||
But it's...really weird. | |||
The first thing I'd do if I was dealing with such code is refactor it to not use VAR :P | |||
smls | better than passing a Capture for the write-to-variable case ;) | 09:18 | |
jnthn | That's a bunch more robust. | ||
09:18
kjs_ joined
09:19
Alina-malina left,
Alina-malina joined
|
|||
jnthn | Not to mention you can distinguish it with multi dispatch. | 09:19 | |
But I'd still just not do it that way. | 09:20 | ||
smls | jnthn: TimToady did suggest out => "filename".IO vs out => $variable as his first choice | ||
The VAR() thing was apparently more of a suggestion to keep it close to the Perl 5 API | 09:21 | ||
Tux__ | the VAR thing never struck me as a serious suggestion | ||
jnthn | Well, given I don't think the Perl 5 API in question was even a good idea, I'm not too sad if it's tricky to replicate it very closely in Perl 6. | ||
09:21
Tux__ is now known as |Tux|
09:22
noganex_ left
|
|||
jnthn | I fail to see a way in which methods to write to file and return as string wouldn't have been clearer. | 09:22 | |
|Tux| fails to parse that | 09:23 | ||
09:23
telex left,
larion joined
|
|||
jnthn | |Tux|: Why not have separate methods: one that returns a string, one that takes a file name and writes to that file? That'd avoid the whole problem *and* almost certainly be clearer to anybody reading the code. | 09:24 | |
09:24
telex joined
|
|||
|Tux| | maybe :) | 09:24 | |
jnthn | Maybe there's some design motivation I'm missing, it just feels a little magical. :) | 09:25 | |
09:25
noganex joined
|
|||
|Tux| feels *all* of perl{5,6} is magical, and I ♥ it! | 09:26 | ||
smls | Returning a string would also allow people to pass it straight to another routine without having to create a temporary variable. | ||
|Tux| | IIRC the routine in question does not return a string in any situation | ||
09:26
fhelmberger joined
|
|||
|Tux| | one can pass a reference to a string in the out attribute, in which case you explicitely ask to write the data to the string | 09:27 | |
jnthn | |Tux|: Yes, though in Perl 6 we tend to cast slightly mess mutable spells :) | ||
09:27
Foxcool left
|
|||
|Tux| | the function/method itself will never return a string | 09:27 | |
jnthn | *slightly less | ||
psch | *slightly less messy | ||
\o | |||
jnthn | |Tux|: Yes, I was suggesting that you might want to have a method that returns a string, with a different name, rather than overloading that onto a "write" method that usually wants a file handle. | 09:28 | |
uh, or file name. | 09:29 | ||
|Tux| | ah, now I understand your remark | ||
I'll ponder on that too | |||
mutli methods are a blessing | |||
jnthn | As smls++ pointed out, then folks can write do-something-with($thingy.get-it-as-a-string) rather than needing to introduce a temporary variable to pass a reference to... | 09:30 | |
|Tux| | indeed, though this function never was created with that in mind | 09:31 | |
it was created as a standalone top-level single-call api to do what people want to do *once* | |||
read the entire CSV file into a LoL without having to write loops or care about errors | 09:32 | ||
methods that can be used in process chains are all already done | |||
09:33
risou is now known as risou_awy
|
|||
jnthn | Ah, I see | 09:33 | |
Ven thinks [Zeqv] looks really cool... :P | |||
|Tux| | as I myself use the function being discussed almost every day, I think it fully serves the goal it was written for | ||
and I hada lot of feedback from end-users (SawyerX is very evil in suggesting what he thinks impossible but proved very useful) | 09:34 | ||
I added «csv (in => sub { $dbh->fetch }, out => "file.csv");» -> dump a complete database table to CSV from perl in a single line streaming (no memory restraints) | 09:35 | ||
09:35
dakkar joined
|
|||
|Tux| | $sth->fetch of course | 09:36 | |
jnthn | *nod* | ||
OK, if it's a high level thing like that, it makes more sense. | 09:37 | ||
I'd still avoiding building it relying on VAR though. | |||
jnthn bbi10 | |||
|Tux| | I already did (I think) | ||
09:37
grondilu joined
09:40
Sqirrel left
|
|||
smls | grondilu, Mouq: Metaops are specced to *not* preserve short-circuiting behaviors of the operators they're used on. | 09:45 | |
09:45
larion left
|
|||
smls | imo the best way to think about short-circuiting ops like && or xx as they exist in Perl 6 right naw, is to imagine that they exist both as a sub and as a macro with the same name. | 09:45 | |
The macro version provides short-circuiting magic and globbers the sub so it is used when the operator is invoked directly | 09:46 | ||
09:46
Rounin left,
larion joined
|
|||
smls | but places like [op] or &infix:<op> that explicitly refer to the function object of the operator, get the sub version that cannot short-circuit. | 09:47 | |
s/short-circuiting/thunking/ more generally | 09:49 | ||
09:49
Sqirrel joined
|
|||
smls | hoelzro: Throwing a warning if a lexical variable is redeclared in the same scope, is imo a good thing. Perl 5 does the same with "use warnings". | 09:53 | |
grondilu wonders about reduce then | 09:54 | ||
yoleaux | 07:48Z <TimToady> grondilu: now that [Zop] |lol is fixed, I've used that in the newest rosettacode.org/wiki/Longest_common...fix#Perl_6 | ||
grondilu | m: say so reduce * && *, map * > .1, rand xx * | ||
camelia | rakudo-moar 9210cc: OUTPUT«Type check failed in binding &with; expected 'Callable' but got 'Whatever' in sub reduce at src/gen/m-CORE.setting:10526 in block <unit> at /tmp/67RnQ4K6CZ:1» | ||
smls | hoelzro: After all, the whole point of having explicit declarators (rather than first-assigment semantics like Python) is to make it extra clear and visible which lexical variable is which. | ||
grondilu | m: say so reduce { $^a && $^b }, map * > .1, rand xx * | 09:55 | |
nah that can't work. | |||
camelia | rakudo-moar 9210cc: OUTPUT«(timeout)» | ||
grondilu | I guess I just have to use !first as suggested by TimToady | 09:56 | |
TimToady: [Zop] |lol is quite tough to grasp | |||
masak | good always morning, #perl6 | 09:57 | |
psch | o/ masak | ||
grondilu | (but I guess one can get used to it) | ||
tadzik | always morning is the better "eternal september"? :) | 09:58 | |
smls | .oO(Just mention the word 'macro', and masak will appear...) |
||
;) | |||
jnthn | Especially if you call the macro marco :D | 10:01 | |
o/ masak | 10:02 | ||
arnsholt | I still think the canonical names should be sub marine and macro polo | 10:04 | |
psch | regex ~, we meet again *shakes fist* | ||
arnsholt | Not sure about the rest =) | ||
psch | FAILGOAL is interfering with my moreinput efforts | ||
10:04
virtualsue joined
|
|||
psch | apparently the way i'm appending doesn't fit with how regex ~ is compiled | 10:04 | |
smls | I suppose the only way [&&] could sensibly be respecced to short-cuircuit, is if thunking arguments becomes an official feature for Perl 6 routine signatures (rather than something that needs a "macro") | 10:05 | |
jnthn | psch: a ~b c just becomes a c [b || <.FAILGOAL(...diag args...)>] | 10:06 | |
The compilation isn't more special than that, as far as I remember it. | 10:07 | ||
And there's plently of || <.panic: ...> style things elsewhere in the grammar with the same kind of behavior. | |||
FROGGS | and if b is too greedy to also gobble c... | ||
psch | jnthn: right. i think the issue is that the ast for ~ doesn't get the Cursor where i append | 10:08 | |
jnthn | FROGGS: I think you mixed up c and b? :) | ||
FROGGS | perhaps :P | ||
psch | but that's a guess right now, i'll have to look closer at it | ||
eh, the ast doesn't get the Cursor anyway | |||
but yeah, i think somewhere there is where i have a problem :l | |||
jnthn | psch: In every single token/rule/regex, about the first thing it does is read the (immutable) target str into a local. | 10:09 | |
timotimo | o/ | 10:10 | |
FROGGS | hi timotimo | 10:11 | |
10:11
espadrine joined
|
|||
jnthn | o/ timotimo | 10:11 | |
timotimo | jnthn: did i understand correctly that your tuit-time has come right now? :) | 10:12 | |
psch | o/ timotimo | 10:13 | |
timotimo | perhaps that means local <-> localref is going to work in code-gen | 10:15 | |
and then i can build the optimizer support that turns lexicalref/lexical into localref/local | |||
and then we may recover a big chunk of the performance hit we recently took | |||
jnthn | timotimo: Just about, yes | 10:16 | |
timotimo | neato :) | ||
jnthn | timotimo: I need to make a run to the office this afternoon for admin stuff, small meeting, and to see the huge new shiny metal logo that's been added to the office wall since I was last there. :) | 10:17 | |
timotimo: After that I'll be able to focus on stuff more :) | |||
Certainly tomorrow is undistracted Perl 6 time :) | |||
jnthn still feels like he's catching up on sleep after 3 weeks largely "on the road"... | 10:18 | ||
psch | jnthn: what's "it" there? NQPCursor? | ||
*Role | |||
jnthn | psch: No | ||
nwc10 | Swedish trains are *so* slow that it takes 3 weeks to get anywhere? | ||
jnthn | psch: The code the rule/token/regex compiles into | ||
nwc10: No, and two of the trips were far enough away they were flights. | 10:19 | ||
Well, actually, that's because Swedish/Norwegian politicians seem too silly to realize a high speed Copenhagen - Oslo line would actually be really darn useful. | 10:20 | ||
nwc10 | how many hills would it have to tunnel through? | ||
jnthn | Not terribly many on that particular route | ||
nwc10 | not that the Norwegians seem to be allergic to tunneling, given some of the pictures I've seen of their road tunnels | 10:21 | |
jnthn | I don't remember it being especially tunnelly | ||
It just takes 7+ hours and you gotta chance train somewhere. | |||
arnsholt | Oslo-Copenhagen is virtually tunnel-free | ||
The mountains are mostly to the west and north of Oslo | |||
jnthn | I did it a couple of times for the fun of it but...7 hours is not a fun commute. | ||
10:22
Rounin joined
|
|||
nwc10 | oh my, Google thinks that you can drive it in 6h17 | 10:22 | |
arnsholt | Skåne (where jnthn and masak are) in particular is almost as flat as Denmark | ||
jnthn | nwc10: Yeah, it's only 600km | ||
nwc10 | if trains are slower than cars, that's a wrongness | ||
jnthn | It trundles along at 70km/h for a chunk of the way, iirc. | ||
It *does* mean you get to enjoy the scenery, which in places is quite pretty. | 10:23 | ||
timotimo | last night i had a weird idea where i thought we could have a Cursor or Grammar parameterized with the actions class/instance | ||
nwc10 | IIRC the train from Vienna to Nuremburg feels darn slow in the middle | ||
(probably because it is) | |||
then again, Austria's railJet is, um, misnamed. | |||
jnthn | psch: github.com/perl6/nqp/blob/master/s...T.nqp#L152 is the thing I'm referring to in the Moar code-gen, fwiw | 10:24 | |
nwc10 | and the new high speed lines are insufficiently French. | ||
jnthn | As in, not 300km/h? | ||
10:24
sven_123 left
|
|||
nwc10 | yes, exactly | 10:24 | |
jnthn | Aww | ||
timotimo | railJit? | 10:25 | |
nwc10 | only seems to beat an HST on the last bit into Vienna | ||
arnsholt | Train a Moyenne Vitesse? =) | ||
nwc10 | HST is *not new* technology, and not running on purpose built lines. | ||
jnthn | HSTs are soon to be a sight of the past, too... | ||
timotimo | the Holy Shit Train? | ||
jnthn | Basically. :) | ||
As I understand it, they were built on a rather tight budget, came out darn awesome, and have been the bread and butter of intercity rail travel in the UK for some decades. :) | 10:26 | ||
nwc10 | I only recently discovered that "BFR" is one term being used for the post Falcon Heavy rocket from SpaceX | ||
10:26
eli-se joined
10:27
eli-se left
|
|||
jnthn sorts out OSDC.no submissions... | 10:27 | ||
m: say 230 / 60 | 10:31 | ||
camelia | rakudo-moar 9210cc: OUTPUT«3.833333» | ||
timotimo | almost four hours | 10:32 | |
jnthn | That's how long I'll have to give a Perl 6 hands-on tutorial, apparently :) | ||
timotimo | wow | 10:33 | |
psch | jnthn: i'm a bit confused, then. «say 1 +\n1;» works with my changes, but «if 1 {\nsay "hi";\n}» doesn't | 10:35 | |
jnthn: although the error for the second one indicates that you're probably right, 'cause it only has "if 1 {" in "Couldn't find '}'" or however exactly the error was | |||
timotimo | psch: fwiw, i'm very glad you're working on this | 10:37 | |
psch | timotimo: well, not having a neat REPL is annoying me :) | 10:39 | |
jnthn | psch: Yes, I don't really have any great answers on this right away...I'll ponder it a bit. | ||
psch: Re-fetching the string and length after very subrule call feels...sub-optimal... | 10:40 | ||
psch | jnthn: thanks :) | ||
jnthn | Though could probably be hacked in easily enough | ||
psch | jnthn: fwiw, i'm about to push to branches, maybe i've missed something | ||
smls | Another sneak peek at my current (early-stages) perl6.org redesign work: i.imgur.com/QFtj4TQ.png (Close-up of the "Features" section on the main page. Only one Feature box can be expanded at the same time. Clicking outside the box closes it again.) | 10:41 | |
jnthn | smls: neat! :) | ||
timotimo | smls: i like that | ||
smls: also, i've been dreaming about building an in-browser thingie that'd let you execute code | 10:42 | ||
every time i think too much about it, security concerns put me off, though | |||
masak | smls: can a person browse the site without JavaScript on? | ||
psch | timotimo: in-browser could be client-side without security concerns, couldn't it? | ||
timotimo: i.e. nqp-js | |||
jnthn | timotimo: I wonder if we could do it by spinning up docker instances... | 10:43 | |
timotimo | that's a bit off, though | ||
jnthn | timotimo: Which should be sufficiently isolated? | ||
smls | masak: In that case the feature names would be links to perl6.org/about/features which would have all of the boxes expanded as normal page sections (+ further info which is where the "more" link goes) | ||
timotimo | jnthn: hopefully :) | ||
jnthn: and they'd also run inside the high-risk VM | |||
jnthn | And I seem to recall that's possible in O(seconds) | ||
timotimo | docker "instances" come up very fast, aye | 10:44 | |
jnthn | Could be fun to build a Perl 6 thing to manage them too | ||
masak | smls: nice! | ||
smls++ | |||
timotimo | moritz: do you think it'd be a good idea to get a SElinux "enabled" distro for the high-risk vm? | ||
dalek | p/moreinput: 8aeba2a | peschwa++ | src/QRegex/Cursor.nqp: Turn NQPCursorRole.{target,orig} into accessors. |
||
jnthn | Hm, it'd be a nice use case for Perl 6 async stuff to manage the docker things running too... | ||
smls | timotimo: I'd like a try.perl6.org too... ;) | 10:45 | |
dalek | kudo/moreinput: 91b292d | peschwa++ | src/Perl6/Grammar.nqp: Partially implement moreinput in our grammar. |
||
kudo/moreinput: d7b0597 | peschwa++ | src/Perl6/Compiler.nqp: Provide $*moreinput for the REPL. |
|||
tadzik | :o | ||
good times | |||
psch | jnthn: ^^^ in case there's an obvious stupid that i missed | ||
smls | timotimo: python.org has a "launch interactive shell" thingy which tries to open an ssh connection to an eval server, but it doesn't seem to work for me | 10:46 | |
oh, actually it does | |||
it's fast, too (once it's connected) | |||
timotimo | i'd really like to have something that can do ANSI escape code commands properly, fwiw | 10:47 | |
can we get the console they have? :) | |||
it even does a little "pling!" on \a | 10:48 | ||
jnthn | That's alarming... | 10:49 | |
tadzik | *g* | ||
10:53
larion left
|
|||
jnthn | psch: DEBUG_PLS is cute, but maybe best to prefix it with RAKUDO_ :) | 11:03 | |
If you intend to keep it :) | |||
11:04
skids joined
|
|||
jnthn | psch: I'm a bit surprised by nil/Nil as NQP doesn't have them :) | 11:05 | |
Use NQPMu | |||
smls | Any chance deprecation messages could also become opt-in via envvar after 6.0 ? | ||
jnthn | That sounds like a great way for them to be missed... | 11:06 | |
smls | If we make sure the envvar is set when unit tests are run, the original developer and distro packagers will see them | ||
I really dislike the prospect of end-users of command-line apps being spammed with such messages. | 11:07 | ||
nwc10 | it's an awesome way for them to be missed | ||
at some point in the deprecation cycle they have to be defaulting to on | |||
smls | STDOUT/ERR is basically the user interface of those apps; as developer I should have full control over them to fine-tune what users see. | ||
nwc10 | note, *defaulting* | ||
11:08
chenryn left
|
|||
jnthn | I can see we want something there, but I suspect env var to enable them is the wrong way. | 11:08 | |
psch | jnthn: DEBUG_PLS is probably a bad habit. i didn't intend for it to become public... :) | 11:09 | |
11:09
Akagi201 left
|
|||
jnthn | psch: OK, then no worries | 11:09 | |
11:09
Akagi201 joined
|
|||
jnthn | What is the $*NESTED_BLOCKS == 0 about, ooc? | 11:10 | |
nwc10 | it's probably useful to have some sequence. defaulting to off (but can be enabled) and then nearer the time that they will go, defaulting to on (but can be disabled) | ||
jnthn | I'd have expected it to be != 0... | ||
nwc10 | and also, I suspect, I'd view how Perl 5 does no warnings; as a design error | ||
psch | jnthn: the mark is set when we don't want moreinput | ||
nwc10 | C<use warnings; no warnings;> is not a no-op | ||
after it, enabled-by-default warnings get turned off | 11:11 | ||
psch | jnthn: but in moreinput itself it should be !=, yeah | ||
...i think. i got distracted by having to help fixing a bike's gear change | |||
jnthn | psch: Hm, maybe we want to name it differently :) | ||
Yes, I'm sure *something* is wrong | |||
timotimo | ah, neat! the console used in python.org's "try it out" shell thingie is from chromium OS | 11:12 | |
11:12
chenryn joined
|
|||
jnthn | I can understand why you care about nested blocks, but I'm sure something is off... | 11:12 | |
moritz | timotimo: re selinux, only if you want me to not maintain it :-) | ||
jnthn | psch: As to 8aeba2a18d, I don't really like those becoming accessors | 11:14 | |
11:15
darutoko- joined
|
|||
jnthn | $cursor.orig($more); $cursor.target($more); is just bad OO design | 11:15 | |
11:15
gcole_ joined
|
|||
psch | jnthn: tbh, that was just the quickest way i could see to get started | 11:15 | |
jnthn | Probably should be some (scary looking) method !REPLACE_ORIG($orig) { ... } that updates both. | ||
I really don't want this to look like any kind of "normal" API for the time being. | 11:16 | ||
psch | *nod* | ||
11:16
larion joined
|
|||
jnthn | (Those accessors become Perl 6 visible, which is why I get concerned.) | 11:16 | |
11:17
yeltzooo9 joined
|
|||
psch | yeah, that's where i tested with a small grammar at first | 11:17 | |
jnthn | ah, OK | ||
11:17
Gruber joined
|
|||
timotimo | moritz: then it's settled :D | 11:17 | |
jnthn | But yeah, I suspect you are running into the whole "target/eos not updated" thing | ||
psch | - $result = Nil unless $result.to == $target.chars; | ||
+ $result = Nil unless $result.to == $target.chars || $result.to == $result.CURSOR.target.chars; | |||
is what i still have local | |||
11:17
btyler_ joined
|
|||
psch | but don't plan to commit :) | 11:17 | |
11:18
yeltzooo left,
tinita_ joined
11:19
japhb_ joined,
haroldwu_ joined,
bartolin_ joined,
Ven_ joined
11:20
perlpilot joined,
smls_ joined
11:21
virtualsue left
|
|||
jnthn should probably have lunch :) | 11:21 | ||
bbl | |||
11:22
arnsholt_ joined,
bartolin_ left
11:24
estrabd_ joined
11:25
Ven left,
smls left,
darutoko left,
haroldwu left,
btyler left,
risou_awy left,
Grrrr left,
mst left,
leedo left,
cursork left,
risou_awy joined
11:29
cursork joined,
mst joined,
leedo joined,
bartolin_ joined
11:30
telex left,
nwc10_ joined,
telex joined,
bartolin left,
Peter_R left,
kaare_ left,
tinita left,
PerlJam left,
gcole left,
[ptc] left,
estrabd left,
hugme left,
japhb left,
nwc10 left,
arnsholt left,
eiro left,
yoleaux left,
Psyche^ left,
pochi left,
petercommand left,
vendethiel left,
dj_goku left,
ugexe left,
erdic left,
larks left,
rjbs left,
ruoso left,
DrForr left,
simcop2387 left,
d^_^b left,
mathw left,
cosimo left,
BooK left,
nwc10_ is now known as nwc10
|
|||
timotimo | sigh ... one of these days i'll apparently have to actually implement websockets | 11:31 | |
or someone else | |||
smls_ | m: say (*.net *.split) | ||
camelia | rakudo-moar 9210cc: OUTPUT«WhateverCode.new» | ||
smls_ | ^^ no TTIAR? | ||
masak | smls_: multiplication | 11:32 | |
smls_ | ah | ||
timotimo | tee hee | ||
11:33
sirhouseboat left,
hugme joined,
Peter__R joined,
[ptc] joined,
kaare__ joined,
eiro joined,
yoleaux joined,
Psyche^ joined,
pochi joined,
larks joined,
petercommand joined,
vendethiel joined,
dj_goku joined,
ugexe joined,
erdic joined,
rjbs joined,
ruoso joined,
DrForr joined,
simcop2387 joined,
d^_^b joined,
mathw joined,
cosimo joined,
BooK joined,
card.freenode.net sets mode: +v yoleaux
|
|||
smls_ | masak: But why does it not attempt to evaluate the .split immediately? | 11:35 | |
When constructing the WhateverCode | 11:36 | ||
moritz | m: say (.split).perl | ||
camelia | rakudo-moar 9210cc: OUTPUT«Cannot call split(Nil: ); none of these signatures match: (Cool: Regex $pat, Any $limit = { ... }, Any :all($all), *%_) (Cool: Cool $pat, Any $limit = { ... }, Any :all($all), *%_) in block <unit> at /tmp/xNhaoTSWyk:1» | ||
smls_ | m: say (* + .split) | ||
timotimo | smls_: because it gets multiplied with a whatevercode | ||
camelia | rakudo-moar 9210cc: OUTPUT«WhateverCode.new» | ||
timotimo | so it gets assimilated | ||
smls_ | m: say (* + .split)(4) | ||
camelia | rakudo-moar 9210cc: OUTPUT«Cannot call split(Nil: ); none of these signatures match: (Cool: Regex $pat, Any $limit = { ... }, Any :all($all), *%_) (Cool: Cool $pat, Any $limit = { ... }, Any :all($all), *%_) in block <unit> at /tmp/D5uqsqFvUk:1» | ||
timotimo | into the whatevercode | ||
smls_ | so WhateverCurrying operates on thunks? | ||
moritz | m: say (*.net).^name | ||
camelia | rakudo-moar 9210cc: OUTPUT«WhateverCode.new» | ||
11:37
chenryn left,
xfix joined
|
|||
hoelzro | smls_: I'm not objecting the warning; I'm curious if the behavior is specified | 11:37 | |
timotimo | WhateverCurrying is a syntactic operation | ||
11:37
chenryn joined
11:38
BenGoldberg joined
|
|||
timotimo | so there's really no reason to evaluate that .split there | 11:39 | |
it happens way earlier than evaluation does | |||
smls_ | m: my $a = 1; my &foo = $a + *; $a++; say foo 10 | 11:40 | |
camelia | rakudo-moar 9210cc: OUTPUT«12» | ||
smls_ | right, makes sense. | ||
11:42
chenryn left
|
|||
smls_ Wonders if the whitespace rules for infixes should be restricted to only allow leaving out surrounding whitespace if you're leaving it out on *both* sides of it. | 11:43 | ||
dalek | p/moreinput: 315106c | peschwa++ | src/QRegex/Cursor.nqp: Make fiddling with Cursor internals scarier, jnthn++. |
||
11:44
kaare__ is now known as kaare_
|
|||
FROGGS | psch++ # moreinput | 11:45 | |
timotimo | hm. actually, i think we'll sort of want not only a REPL that you can try perl6 in, but also a "big editor and a run button" kind of deal | ||
sort of like camelia + gist | |||
jnthn | It'd also be quite nice if many of the snippets we put around the site as examples, come with a link to directly put them into such a session too so people can run and play with them right away :) | 11:47 | |
11:47
coffee` joined
|
|||
smls_ | timotimo: The python.org shell even allows file I/O, which is nice | 11:49 | |
11:52
skids left
11:53
BenGoldberg left
|
|||
timotimo | smls_: cool, can you find out how they do it? do they upload local files or do they build a "service" on the user's browser that lets the python instance on the other end use a local file remotely? | 11:54 | |
psch | oh huh | 11:57 | |
11:57
coffee` left,
coffee` joined
|
|||
psch | i think that scary uc method probably doesn't work private | 11:57 | |
timotimo | we have a perl6/perl6-docker and a perl6/docker now; should i delete one of those? | 11:59 | |
moritz | yes please | 12:00 | |
smls_ | timotimo: I have no idea how it works; I just tested the sequence of commands: «f = open('foo.txt', 'w')» «f.write('Hello World')» «f.close()» «g = open('foo.txt')» «print(g.read())» ...and the last one correctly prints Hello World | 12:01 | |
moritz | 'docker' is newer, so delete perl6-docker? | ||
timotimo | oh | ||
i thought you meant you could access files on the user's local machine | |||
which is something i really want ours to be able to do | |||
smls_ | oh | 12:02 | |
timotimo | also, i really want ours to be able to display pretty stuff in-line, like images that were generated from code :) | ||
or play audio that the user's code generated :D | |||
12:03
smls_ is now known as smls
|
|||
jnthn | meeting & | 12:03 | |
psch | r-m is too slow for real time audio generation :/ | 12:04 | |
12:04
coffee` left
|
|||
timotimo | yeah, but it doesn't have to be real time yet | 12:04 | |
12:04
coffee` joined
|
|||
timotimo | that's tricky to pull off very good anyway ... WebRTC perhaps? i didn't really look into that yet | 12:04 | |
psch | i have no idea about the web part, and the r-m RTA stuff i did i just half-finished portaudio bindings and a port of an example of that | 12:05 | |
i suppose those could still go into the ecosystem eventually, although i'll have to have another look at it | |||
timotimo | devnull-as-a-service.com/ <3 | 12:06 | |
smls | timotimo: Are those kinds of features really interesting for people who just want to toy around with a new (for them) language though? | ||
timotimo | smls: when they're paired with example code, i am convinced that it'd be awesome | 12:07 | |
smls | (which seems to be the main audience for such "try in your browser" thingies) | ||
12:07
laouji left
|
|||
psch | while we're at it, let's stuff saving sessions in there as well \o/ | 12:07 | |
so people can hold intro talks on the try-website and share the link afterwards | 12:08 | ||
timotimo | psch: github gist interop, sure. | ||
smls | right, the "open this example snippet in the interactive shell" feature that jnthn suggested would be cool. | ||
12:09
eli-se joined
|
|||
timotimo | yes. yes. YES. | 12:09 | |
also, every line of camelia's should be visible on the corresponding page, directly openable and editable | |||
12:12
tinyblak joined
12:15
pierrot left
|
|||
psch | timotimo: you mean something like "what #perl6 is trying right now"? | 12:17 | |
timotimo | yeah | 12:18 | |
but also as a convenient place to work with camelia scripts that's not your irc client's line editor | |||
psch | ah | ||
12:21
pierrot joined
|
|||
smls | timotimo: To let people usefully play around with demo snippets in the interactive shell, we should first teach our REPL (which I presume the shell would be based on) to play nice with multi-line statements | 12:24 | |
timotimo | my first iteration will have to be limited to full programs | ||
smls | So it would treat e.g. a whole function definition as one statement, and only break after the closing brace | ||
timotimo: Ah, more of a "editor + run button + output box" thing | 12:25 | ||
that might actually be even more appropriate than a REPL for some of those use cases | |||
timotimo | yup | ||
much like Farabi6 | |||
damn | 12:28 | ||
docker doesn't support selinux + btrfs apparently | |||
which is what both my laptop and desktop run | 12:29 | ||
smls | timotimo: Looks like the python.org interactive shell is powered by a commercial "Python IDE in your browser" service | 12:30 | |
Which suggests there may be a non-negligible maintenance effort involved to justify the prices | |||
timotimo | i know | ||
local file io "on the server" is doable just by virtue of using docker and its throw-away filesystem | |||
smls | Can we maintain it on a volunteer basis? | 12:31 | |
I doubt moritz would be thrilled to do it ;) | |||
12:31
Foxcool joined
|
|||
timotimo | i'll shoulder a significant amount of work. i must. | 12:31 | |
smls | ++timotimo | ||
timotimo | (because i'll be writing the shitty code that'll get us into trouble) | ||
moritz | what do you want to use Docker for anyway? | 12:35 | |
it doesn't offer any extra security | |||
and you can simply mkdir and chroot into a temp dir | |||
12:36
kjs_ left
|
|||
espadrine | isn't docker the new chroot? What isn't secure about it? | 12:37 | |
(which is about chroot) | |||
moritz | espadrine: last I looked, the docker folks themselves said that it's not secure | 12:38 | |
timotimo | moritz: i was thinking docker would allow easy-ish updating of the used compiler and battle-tested throw-away mechanics | ||
12:39
chenryn joined
|
|||
moritz | espadrine: so you shouldn't ever give somebody in a docker container root, because that can compromise the host | 12:39 | |
timotimo: doesn't seem easier than rakudobrew to me | |||
tadzik | well, rakudobrew requires you to compile everything | 12:40 | |
espadrine | moritz: giving them root access, sure, but giving them user access should be fine, I believe | 12:41 | |
moritz | tadzik: that you most certainly have to do when updating the compiler :-) | ||
tadzik | not if you can update the compiler binary, no? | ||
modules, yes | |||
12:42
arnsholt_ is now known as arnsholt,
SamuraiJack left
|
|||
moritz | well, we don't ship compiler binaries for linux | 12:43 | |
timotimo | moritz: OK, i'll see how to go forward without docker. i haven't learned to use docker yet anyway :) | ||
12:43
chenryn left
|
|||
moritz | timotimo: if docker offers us a real, tangible benefit, I'm all for using but. But so far I only heard the equivalent to "it's the cool new stuff" and "the concept sounds awesome" | 12:44 | |
12:44
SamuraiJack joined
|
|||
timotimo | hehe | 12:44 | |
moritz | or stating the docker does things for us that it doesn't really | ||
s/the/that/ | |||
espadrine can't find anything to back this up, so chroot may indeed be superior from a security standpoint | |||
timotimo | i'd put some cgroups in there for good measure | 12:45 | |
moritz | espadrine: well, docker does things like a new LXC container / cgroups, but then so does any systemd service if you add one or two lines of config | ||
docs.docker.com/articles/security/ | |||
[Coke] just added github.com/nyperlmongers/nyperlhac...st-Cleanup as a low hanging fruit project for a perl 6 track of projects at the NYC hackathon. Suggestions welcome, but they should be something I can help out potential hackers with (or have folks on channel available for answering questions during the time of) | 12:46 | ||
moritz | zeltser.com/security-risks-and-ben...plication/ "Along these lines, a process running as root (UID 0) in a container has root-level privileges on the underlying host when interacting with the kernel" | 12:47 | |
12:48
Ven_ left
12:49
SamuraiJack left
|
|||
moritz | one of the reasons I'm hesitant to use Docker is that every security update of the base OS means that you have to wait for an updated base image, and then rebase your image onto the new base image (iiuc), and then re-deploy your app image | 12:50 | |
[Coke] | (updated that wiki page) | ||
12:50
SamuraiJack joined
|
|||
moritz | and that's probably worth the effort if you can automate much of it, and have lots of container instances running on separate hosts | 12:51 | |
12:51
risou_awy is now known as risou
|
|||
moritz | but for just one host, it sounds like oh-so-much more work than 'apt-get update && apt-get dist-upgrade' | 12:51 | |
[Coke] | moritz: in some places, that's faster than waiting for the server team to update the box-actual. | ||
moritz | (which I've automated further with an ansible script that does the update && upgrade for me) | 12:52 | |
[Coke] | we're considering here for deploying web apps, but we've got ... hundreds. | ||
moritz | [Coke]: yes, but $here (hack / high-risk p6 server) we don't have separate ops teams for OS and Apps | ||
[Coke] | right, different equation. | 12:53 | |
moritz | aye | 12:54 | |
in our equation, the main thing to consider is reduing the number of moving parts | 12:55 | ||
[Coke] | regarding rakudo PR #395 - spectest has been clean; does this mean this behavior was not tested? | ||
12:56
anaeem1_ left
|
|||
dalek | kudo/tab-completion: d83d759 | hoelzro++ | README.md: Add note about Linenoise in the README |
12:57 | |
FROGGS | [Coke]: there is a test: | ||
rakudo/t/spec/S32-str/pack.t:9: my $buf = pack('H*', "414243"); | |||
though, that happened to work since the string is numberish | |||
m: say "414243" % 2 | 12:58 | ||
camelia | rakudo-moar 9210cc: OUTPUT«1» | ||
FROGGS | m: say "414243".chars % 2 # but that was meant | ||
camelia | rakudo-moar 9210cc: OUTPUT«0» | ||
13:02
zakharyas joined
|
|||
[Coke] | If we're fixing a bug, something in roast needs to change. | 13:02 | |
more tests, unfudged tests.. | |||
FROGGS | +1 to more tests :o) | 13:03 | |
[Coke] falls victim to the last-minute-cancel. already on the call when the email comes in. | |||
[Coke] guesses more コーヒー, instead. | 13:04 | ||
FROGGS | .tell raydiak can you add a test to roast for github.com/rakudo/rakudo/pull/395 ? | ||
yoleaux | FROGGS: I'll pass your message to raydiak. | ||
[Coke] | ++raydiak | ||
and raydiak++ | |||
timotimo | would it be ok to drop support for IE? | 13:05 | |
13:07
eli-se left
|
|||
moritz | timotimo: drop IE support from what? | 13:08 | |
timotimo | the "try perl6" thing | ||
actually | |||
i think there's a polyfill for this api that i'm interested in | |||
moritz | timotimo: you can't drop support from something that doesn't exist :-) | 13:09 | |
[Coke] | certainly we don't need to support anything before IE-latest. | ||
espadrine | project spartan and up | ||
moritz | by which I mean to say that it's better to have something that doesn't support IE than having nothing | 13:10 | |
timotimo | espadrine: is that even available? | ||
espadrine | timotimo: in the next windows beta, I believe! | ||
timotimo | for "try perl6 in your browser" we should require windows 6 or upwards. | 13:11 | |
also, the "try perl6" applett for windows users should be an ActiveX thingie written in visual basic 6 | 13:12 | ||
psch | that would make local file access easier. just use the applet to install R* | 13:13 | |
timotimo | :D | ||
if there's anybody out there hard core enough to allow activex applets from the internets | 13:14 | ||
smls | timotimo: Isn't google in the habit of creating overengineered JavaScript-based solutions for magically making non-IE web features work on IE? ;) | ||
[Coke] wakes up at $dayjob, and realizes he has to fix this bug in his app in IE11. *sigh* | |||
timotimo | smls: in this particular case it's a yandex employee it seems | 13:17 | |
hmm | 13:18 | ||
instead of offering a shitty web-based editor for code, why not just host vim, emacs, nano, ... instances and offer them via ssh? :D | |||
13:18
vendethiel left
|
|||
timotimo | at least with vim we'll have proper syntax highlighting %) | 13:19 | |
13:19
vendethiel joined
|
|||
tadzik | no, let's run it all on users' computers using this linux.js thingy | 13:20 | |
13:31
gtodd joined
13:34
zakharyas left
13:37
skids joined
13:38
perlpilot is now known as PerlJam
|
|||
moritz | emscripten! | 13:39 | |
espadrine | qemu.js | 13:40 | |
Ulti | timotimo just boot a Linux image with Rakudo * installed using asm.js s-macke.github.io/jor1k/demos/main....MwFsjLaZ15 | 13:43 | |
oh I was too late to the party | 13:44 | ||
running monkey island in the browser virtually is kind of crazy | |||
espadrine | funnily enough, the emscripten treatment has been performed to a number of languages: repl.it/ | 13:46 | |
timotimo | yeah right :D | 13:48 | |
13:49
anaeem1_ joined
|
|||
Ulti | espadrine that's quite cool | 13:52 | |
13:59
airdisa joined
|
|||
masak | indeed -- nice. | 14:00 | |
wasn't aware of that one. | 14:01 | ||
timotimo | huh? it doesn't even have perl5 | 14:02 | |
14:02
kjs_ joined
|
|||
masak | unfortunately the modern web world seems to prefer to pretend that Perl does not exist... | 14:02 | |
it's their loss, but... still unfortunate. | |||
PerlJam | .oO( the fools! ) |
||
masak | :) | ||
smls | m: for (1, 2, 3).rotor -> [$a, $b] { say "$a, $b" } | 14:07 | |
camelia | rakudo-moar 9210cc: OUTPUT«1, 22, 3» | ||
smls | m: for (a=>1, b=>2, c=>3).rotor -> [$a, $b] { say "$a, $b" } | ||
camelia | rakudo-moar 9210cc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at /tmp/aGFoYuWHCm:1» | ||
smls | why does .rotor croak on a list or Pair's? | ||
masak | m: for ((a=>1), (b=>2), (c=>3)).rotor -> [$a, $b] { say "$a, $b" } | 14:08 | |
camelia | rakudo-moar 9210cc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at /tmp/iNryPtEKHw:1» | ||
masak | no idea. | ||
14:09
telex left
14:10
telex joined
|
|||
psch | m: say (:1a, :2b, :3c).rotor.perl | 14:10 | |
camelia | rakudo-moar 9210cc: OUTPUT«($("a" => 1, "b" => 2), $("b" => 2, "c" => 3)).list» | ||
timotimo | we have no gzip binding at all yet? | ||
PerlJam | timotimo: does Compress::Zlib count? | 14:14 | |
timotimo | oh | 14:15 | |
that does gzip, too? | |||
14:16
morjo_ is now known as Morjo
|
|||
timotimo | cool | 14:16 | |
can i tell it to flush its buffer at any given point? | |||
i'm interested in streaming data gzipped across the wire | |||
smls | m: given $("a" => 1, "b" => 2) -> [$a, $b] { say "$a, $b" } | 14:18 | |
camelia | rakudo-moar 9210cc: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at /tmp/xLYl8CXm0j:1» | ||
smls | ^^ more golfed version | 14:19 | |
does [] unpacking in signatures does something special with Pairs? | |||
timotimo | ah, i see stuff about flush in the readme | ||
smls: it might interpret the pairs as named arguments in the capture it tries to unpack | |||
m: $("a" => 1, "b" => 2).Capture.perl.say | |||
camelia | rakudo-moar 9210cc: OUTPUT«Capture.new(hash => {"b" => 2, "a" => 1})» | ||
timotimo | there we go | 14:20 | |
14:20
Ven joined
|
|||
timotimo | m: $(("a" => 1, "b" => 2)).Capture.perl.say | 14:20 | |
camelia | rakudo-moar 9210cc: OUTPUT«Capture.new(hash => {"b" => 2, "a" => 1})» | ||
timotimo | m: $(["a" => 1, "b" => 2]).Capture.perl.say | ||
camelia | rakudo-moar 9210cc: OUTPUT«Capture.new(list => ("a" => 1, "b" => 2,))» | ||
timotimo | m: $(["a" => 1, "b" => 2], named => True).Capture.perl.say | ||
camelia | rakudo-moar 9210cc: OUTPUT«Capture.new(list => (["a" => 1, "b" => 2],), hash => {"named" => Bool::True})» | ||
timotimo | that must be why | ||
smls | :/ | 14:21 | |
timotimo | m: $("a" => 1, "b" => 2).list.Capture.perl.say | ||
camelia | rakudo-moar 9210cc: OUTPUT«Capture.new(list => ("a" => 1, "b" => 2,))» | ||
timotimo | we may want rotor to do this | ||
OTOH, it could be quite interesting to have rotor or combinations or what have you of named arguments and pass them to a sub; not sure how exactly that would be spelled if we make that change | 14:22 | ||
smls | I'd prefer to have such shenanicans go through |( ) interpolation | ||
rather than happen unexpectedly | 14:23 | ||
14:23
chenryn joined
|
|||
smls finds the current state of lists-of-lists handling in Perl 6 quite confusing | 14:27 | ||
14:27
sirhouseboat joined,
chenryn left
|
|||
moritz agrees | 14:28 | ||
smls | some things return Lists of Lists, others return Lists of itemized Lists, other Lists of itemized Arrays, others LoL | ||
s/List/List or Parcel/g to make it even more messy | 14:29 | ||
grondilu | Parcels will disappear after GLR anyway, won't they? | ||
timotimo | yes | ||
subsumed entirely by List | 14:30 | ||
smls | for example: | 14:31 | |
m: say (2, 4, 6).combinations.perl | |||
camelia | rakudo-moar 9210cc: OUTPUT«([], [2], [4], [6], [2, 4], [2, 6], [4, 6], [2, 4, 6]).list» | ||
smls | m: say (2, 4, 6).rotor.perl | ||
camelia | rakudo-moar 9210cc: OUTPUT«($(2, 4), $(4, 6)).list» | ||
masak | did we ever discuss making the positional in .min/.max into a named :by? to conform with the sub form? | ||
m: say min(22, 4, :by(*.Str)) | |||
camelia | rakudo-moar 9210cc: OUTPUT«22» | ||
masak | m: say (22, 4).min(:by(*.Str)) | ||
camelia | rakudo-moar 9210cc: OUTPUT«4» | ||
moritz | masak: I think you did | ||
masak | m: say (22, 4).min(*.Str) | ||
camelia | rakudo-moar 9210cc: OUTPUT«22» | ||
masak | using :by in one case and not the other feels... a bit odd. | 14:32 | |
also, the op form doesn't have a :by, and it totally could | |||
m: say 22 min 4 :by(*.Str) | |||
camelia | rakudo-moar 9210cc: OUTPUT«Unexpected named parameter 'by' passed in sub infix:<min> at src/gen/m-CORE.setting:2301 in block <unit> at /tmp/ULW9bsTU_F:1» | ||
timotimo | mhm | ||
smls | consistency with sort would also be nice though | ||
masak | maybe accepting both an optional positional and a named :by would be a nice compromise. | 14:33 | |
and not a crappy "compromise just for the sake of making everyone happy", but something that actually benefits all parties. | |||
smls | Well the sub forms have it as a named arg because they need it to differentiate from positionals. The method form doesn;t need that, because the invocant vs argument separation is sufficient. | 14:36 | |
masak | I just think it reads better with :by | 14:37 | |
moritz | then it would make sense for &sort to have it named too | ||
smls | m: say sort 4, 22; say sort *.Str, 4, 22 | ||
camelia | rakudo-moar 9210cc: OUTPUT«4 2222 4» | ||
smls | interesting. | ||
masak | too many corner cases :/ | 14:38 | |
smls | who still uses the sub forms anyway? :P | ||
14:39
ecocode left
|
|||
masak | OOP-deniers? | 14:40 | |
14:40
colomon left
|
|||
gtodd | Lisp users | 14:42 | |
PerlJam | not every problem maps to OOP solutions in people's brains. Part of the appeal of P6 (and P5) is that is doesn't force you into a particular thought-context. | ||
(or ... *I* use the sub forms when I'm thinking of solving a problem and that way occurs to me first ;) | |||
14:43
ecocode joined
|
|||
masak | +1 | 14:43 | |
smls | well, I wouldn't think of say @numbers.max as "OOP programming" just because the method syntax was used. | ||
masak | some people definitely do. | ||
timotimo | yeah, because @numbers.&max isn't "OOP programming" either :P | ||
Ven looks at UCFS and smiles snarkily | 14:44 | ||
PerlJam | It's all just syntax :) | ||
masak | I've heard Perl 6 proudly advertized as having "object orientation", with the example being something like `@array.push`... | ||
Ven | (ufcs*) | ||
timotimo | ah | 14:45 | |
it's the same as .&, but at compile-time and automatically choosing between "is this a method call" or "is this a sub call" based on existence of the method | 14:46 | ||
smls | Well, then I suppose the least confusing solution would be to consistently require any comparators to be passed as named args to the sub and operator forms of min/max/sort, and allow both positional and named passing with the methods forms | 14:47 | |
(basically what masak said, + changing sub sort) | |||
it would break the symmetry between sub map and sub sort, but thats the smaller evil imo. | 14:48 | ||
gtodd | p6 has some Zen like imagery (e.g. "Mu") .... so maybe the question of whether it is "object oriented" is ultimately "Mu" ... first there is an object, then there is no object, then there is ... | ||
14:49
airdisa left
14:50
airdisa joined
|
|||
moritz | it's NoOO, in the "Not only OO" sense :-) | 14:50 | |
gtodd | moritz: nice | 14:51 | |
++! :-) | |||
smls | Adverbs are a good fit for comparators anyway, as they specify *how* the sorting/searching operation should be done. | ||
14:51
ssutch joined,
airdisa_ joined
|
|||
gtodd | Zen Koan: "Does a dog have Buddha nature?" Master: "Mu" ... | 14:51 | |
p6 koan: Student: "Master is an 'Object' a 'Type'? Master: "Mu"; | |||
no wait ... | |||
14:54
airdisa left
15:08
tinyblak left
|
|||
hoelzro | ok, I think that the tab completion branch is getting close to ready | 15:08 | |
the only thing I would like to clean up is how Compiler.nqp loads Linenoise, if possible | 15:09 | ||
if anyone would like to look at the code, I have a PR for it: github.com/rakudo/rakudo/pull/391 | 15:12 | ||
I feel like the completion mechanics can be improved post-merge | 15:13 | ||
15:15
abraxxa left,
airdisa_ left,
airdisa joined
15:18
airdisa_ joined
15:20
airdisa left,
eli-se joined
15:26
eli-se left
15:28
Rounin left
|
|||
smls | m: say (11905..64206).pick(50)».chr | 15:28 | |
camelia | rakudo-moar 9210cc: OUTPUT«Error encoding UTF-8 string near grapheme position 9 with codepoint 32 in method print at src/gen/m-CORE.setting:17885 in sub say at src/gen/m-CORE.setting:18645 in block <unit> at /tmp/MJYiCsIcOt:1» | ||
15:29
tinyblak joined
|
|||
smls | ^^ should this always work? | 15:29 | |
it sometimes works, sometimes fails with "OUTPUT«Error encoding UTF-8 string", and sometimes fails with "Iteration past end of grapheme iterator". | |||
masak | could you remove the randomness from that example? so we can talk about it with a concrete codepoint as an example. | 15:30 | |
moritz | well, it could die with "Illegal codepoint" | 15:31 | |
or something like that | 15:32 | ||
but everything else is either a bug, or an LTA error (which is also a bug, IMHO) | |||
timotimo | it sort of seems like in order to make anything work, i'll have to build an implementation of websockets | ||
smls | m: say 57116.chr # for example | 15:33 | |
camelia | rakudo-moar 9210cc: OUTPUT«Iteration past end of grapheme iterator in method print at src/gen/m-CORE.setting:17885 in sub say at src/gen/m-CORE.setting:18644 in block <unit> at /tmp/VQkIPKGVM3:1» | ||
moritz | timotimo: or use good old ajax | 15:34 | |
timotimo | EventSource in one direction would be good, but if i want to offer repl-like stuff with a proper terminal emulator, i'd want something with very little overhead fro the "connection" in the other direction | ||
moritz | first make it work, then make it fast | 15:36 | |
timotimo | hmm | ||
fair enough | 15:37 | ||
but then i'll have to actually start working on that stuff :P | |||
moritz | when you do, you might actually get contributors :-) | ||
timotimo | :D | 15:38 | |
15:43
J-L left
|
|||
timotimo | moritz: so, how do i best spawn a perl6 compiler + executor so that it gets cgroup'd and systemd'd and stuff? | 15:44 | |
smls | m: say 1, 55296.chr | ||
camelia | rakudo-moar 9210cc: OUTPUT«(signal SEGV)1» | ||
smls | yikes | 15:45 | |
m: say 1 ~ 55296.chr | |||
camelia | rakudo-moar 9210cc: OUTPUT«Error encoding UTF-8 string near grapheme position 0 with codepoint 49 in method print at src/gen/m-CORE.setting:17885 in sub say at src/gen/m-CORE.setting:18644 in block <unit> at /tmp/EJGXFP5i14:1» | ||
timotimo | oh wow | ||
moritz | timotimo: you write some kind of eval server, write a service file for it, start it | ||
smls | m: say 55296.chr | ||
camelia | rakudo-moar 9210cc: OUTPUT«Iteration past end of grapheme iterator in method print at src/gen/m-CORE.setting:17885 in sub say at src/gen/m-CORE.setting:18644 in block <unit> at /tmp/OFRND0GRvc:1» | ||
smls | ^^ three different failure modes with the same code point ;) | 15:46 | |
timotimo | moritz: any good ideas for how to connect a tty from the evalserver to a "privileged" service that'd communicate stuff outwards? | ||
moritz | timotimo: no, but I don't know what you need a tty for either | 15:47 | |
they are kinda black magic to me | |||
timotimo | maybe the program the user's running wants to be a bit interactive | ||
moritz | you don't need a tty for interactive | 15:48 | |
timotimo | hm | ||
since we can't "isatty" anyway :P | |||
moritz | you just need it for stuff like ncurses | ||
TimToady | m: say uniname(55296) | ||
camelia | rakudo-moar 9210cc: OUTPUT«<Non Private Use High Surrogate>» | ||
moritz | promt() and get() and lines() just read from fd 1, and it doesn't matter if it's a terminal or not | 15:49 | |
timotimo | right, fair enough | ||
15:52
anaeem1_ left
15:53
maui joined
15:55
RabidGravy joined
|
|||
maui | hi where can i get a full package of Perl c the enviorment like say a QB or microsoft C ? | 15:55 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: 011470e | timotimo++ | web/index.tmpl: i hereby decree the search bar be focused upon page load. |
15:56 | |
FROGGS | maui: I dont understand your question | ||
timotimo | quickbasic? | ||
FROGGS | maui: you want a full package of what? | ||
hoelzro | is anyone opposed to me merging the tab completion/linenoise work soon, perhaps this weekend? | 15:57 | |
timotimo | does maui perhaps mean an IDE? | ||
FROGGS | maui: are you looking for a package that gives you a compiler and modules? | ||
smls | TimToady: Does that mean it should print "Invalid code point?" for that | ||
maui | yes like quick basic... it was a enviorment that you gust started up and could write code in it +dalek :) | 15:58 | |
FROGGS | hoelzro: I can't tell, I've not reviewed it yet :S | ||
hoelzro | FROGGS: I should probably wait on some review before I merge =) | ||
maui | yes a full package froggs | ||
FROGGS | maui: the best we have is this: rakudo.org/2015/03/21/announce-raku...e-2015-03/ | ||
maui | yes that is it forggs | 15:59 | |
TimToady | maui: by "Perl c" did you mean "Perl 6"? or "Perl 5"? | ||
smls: maybe more "No true codepoint would ever be a surrogate!" | 16:00 | ||
maui | i ment perl 6 | ||
smls | TIL: "In the Python programming language, individual surrogate codes are used to embed undecodable bytes in Unicode strings" -- wikipedia | ||
TimToady | then star, as FROGGS mentioned | ||
maui | ty froggs :) | ||
FROGGS | maui: welcome to #perl6 :o) | 16:01 | |
timotimo | is anybody anywhere close to making a syntax highlighter for codemirror? | ||
TimToady | You are! | ||
flussence | smls: eww... | ||
timotimo | because farabi6 has some precedent of using codemirror and adding stuff like annotations and things | ||
maui | i just have to find one for OS mac system froggs :) | 16:02 | |
FROGGS | maui: you can build the tar.gz on mac | 16:03 | |
timotimo | smls: would you be willing to help me with the HTML portion of the "try perl6 in your browser" thing? | ||
FROGGS | maui: you probably need xcode + clang + perl... (I am a linux user, so I can just guess) | 16:04 | |
flussence | (oh, right, that reminded me... was planning to fiddle around with the profiler html...) | ||
smls | timotimo: Willing maybe, but not too capable... I'm really out of touch with client-side web development these days. | ||
16:05
spider-mario joined
|
|||
smls | I mean, I can do tweak HTML and CSS till it does what it should, but know little about modern JavaScript libraries etc. | 16:05 | |
:) | |||
timotimo | i meant only HTML and CSS :) | ||
maui | ty froggs | ||
smls | ok then | ||
timotimo | i'll see to it that i can cope with the JS on my own | ||
i'll just stack frameworks upon frameworks until the functionality i want is doable in ~60 characters of javascript | 16:06 | ||
maui | yes your right on xcode | ||
FROGGS .oO( pay for your right to xcode! ) | 16:07 | ||
16:08
Akagi201 left,
Akagi201 joined
|
|||
moritz | but y code? | 16:11 | |
16:12
chenryn joined
|
|||
masak | because I z so. | 16:13 | |
espadrine | I have done codemirror syntax highlighters in the past | 16:14 | |
well, the go one, and another, I can't recall | |||
but is there any other syntax highlighthing in existence, say in ace, or orion, anything web-based? | 16:15 | ||
timotimo | we've got the beginnings of a textmate bundle highlighter | ||
espadrine | oh, that would help a lot | ||
ace has a tool to convert those to their format | 16:16 | ||
timotimo | there exists a tool that can go from tmbundle to ace highlighter, but it's supposedly very bare bones and requires manual postconverting | ||
16:16
larion left
|
|||
timotimo | postfiddling? | 16:16 | |
espadrine | I have a tool to convert ace to codemirror | ||
equally manual | |||
although usually it works | |||
16:16
chenryn left
|
|||
timotimo | github.com/textmate/perl.tmbundle - has perl6 support in it | 16:17 | |
you can try it on that first and see what it's like | |||
moritz: is searching in the clogs b0rked? | |||
16:18
Akagi201_ joined
|
|||
moritz | timotimo: dunno | 16:18 | |
maui | timotimo just so your ide question yes that was the general idea i was tring to get at | 16:19 | |
moritz | a quick check shows that it's not completly broken | ||
timotimo | oh, nick is "perfect match"? | 16:21 | |
moritz | yes | 16:22 | |
16:22
Akagi201 left
|
|||
moritz | though iirc it includes nick_ if you search for nick | 16:22 | |
afk | 16:23 | ||
timotimo | hm, right | ||
RabidGravy | hi, am I write in thinking that adding a module to the modules list involves adding it to the META.list in the ecosystem in github and making a pull request? | 16:24 | |
timotimo | maui: we have "Farabi6", which is a web-based "ide" that gives you a few niceties, but i haven't used it "productively", psecially not its local file reading/writing | ||
i'd suggest using vim instead, because that has very good syntax highlighting | |||
RabidGravy: correct | |||
timotimo AFK | |||
16:24
FROGGS left,
ecocode left
|
|||
RabidGravy | cool, I've started porting my CPAN modules and was going to hold off until I had a few more under the belt but then concluded I might need to encourage some early feedback ;-) | 16:27 | |
16:27
fhelmberger_ joined
|
|||
maui | ty timotimo :) | 16:28 | |
16:29
fhelmberger_ left
|
|||
RabidGravy | does raw.githubusercontent.com/jonathan.../META.info look right? If so I'll do it | 16:29 | |
maui | this is my problem i like windows based systems but have swithed to Apple since I BOOTcamp but now i need apple to run Visual Basic and all the other programs in OS | 16:30 | |
16:31
fhelmberger left
|
|||
maui | its matter of just turning on the windows system over the OS but who wants to work and not listen itunes | 16:31 | |
RabidGravy | I think some OS virtualisation may be required there maui , visual basic is unlikely to work on Mac OS | 16:32 | |
maui | it does not have to boot window to do it | ||
PerlJam | RabidGravy: what modules are you porting? | ||
maui | everything with IDE | 16:33 | |
from the old days cobal etc | |||
RabidGravy | PerlJam, as many of metacpan.org/author/JSTOWE as make sense and I can do before the bank manager makes me get a proper job ;-) | 16:34 | |
16:34
rararara left
|
|||
maui | if it wasnt for the new i3/ to i7 i would have to get a new 64 bit engine | 16:34 | |
like the new QB64 for basic | |||
thats the way they should build every langage | 16:35 | ||
PerlJam | RabidGravy: It's just my opinion right now, but the Term* modules might readily get more feedback. | ||
RabidGravy | er, okay I've been VB free for ten years now but that's a bold statement maui | 16:36 | |
16:36
Perl6_newbee joined
|
|||
maui | well just saying RabidGravy its all in the .OBJ :) | 16:37 | |
flussence | someone was requesting a ReadKey feature just a few days ago... | ||
RabidGravy | PerlJam, I'm actually working on Term::Cap right now (which is on the wanted list anyway), doing it dumb is quite easy, doing it nicely not quite so easy | 16:38 | |
[Coke] | If you want an IDE for Perl 6, someone had an eclipse plugin in progress that would use the java backend of Rakudo. | ||
smls | [Coke]: Hm, that sounds slow. | ||
flussence | (if you just want an IDE with the functionality qbasic.exe provides, vanilla vim does that too) | 16:39 | |
RabidGravy | flussence, I'm holding off on the Term::ReadKey largely because I'm not quite sure how to either deal with the cross platform issues in NativeCall or alternatively how to build, install and use a shim library with the current tools | 16:40 | |
maui | RabidGravy does that mean you dont program in LISP or Scheme either? | ||
[Coke] | smls: I use eclipse daily. How much slower could it be? ;) | 16:41 | |
smls | [Coke]: I remember reading that the QtCreator devs rejected their experiment of using clang to do all parsing of C++ code (to power code highlighting/navigating/refactoring features) because it was too slow | ||
flussence | RabidGravy: ah, ok. You might want to look at LibraryMake for the latter thing. | ||
smls | I shudder to think how rakudo-jvm would handle those real-time parsing tasks... :P | ||
.oO( change one letter in the code, wait 20 seconds for highlighting to re-appear ) |
16:43 | ||
16:45
maui_ joined
|
|||
[Coke] | won't know until you try. won't be faster if you don't report on how slow it is. | 16:45 | |
The nice thing about eclipse is that it counts as "long running". | 16:46 | ||
so you're not necessarily penalized for the startup time. | |||
16:48
oso_ joined,
oso_ left,
p3432m joined
16:49
maui left
|
|||
smls | good point about start-up times | 16:49 | |
16:53
p3432m left,
abraxxa joined,
bubsssss joined
16:56
Ven left
|
|||
timotimo | RabidGravy: github.com/krunen/term-termios/ - does this intersect with termcap at all? | 16:58 | |
17:00
bubsssss left
|
|||
RabidGravy | timotimo, it sort of intersects in Term::Screen - the termios thing is lower level: how the OS interacts with the terminal at all rather than how to make the terminal do a particular thing | 17:01 | |
timotimo | RabidGravy: for a shim library you'd probably want to look at either Inline::C or LibraryMake | ||
m: my int $foo = 15; $foo +|= 0b100000; say $foo | 17:03 | ||
camelia | rakudo-moar 9210cc: OUTPUT«47» | ||
timotimo | m: my int $foo = 15; $foo +&= 0b100000; say $foo | ||
camelia | rakudo-moar 9210cc: OUTPUT«0» | ||
timotimo | good news, krunen! this works by now! :) | ||
17:04
FROGGS joined
|
|||
RabidGravy | timotimo, yeah looking at it probably the latter as Term::ReadKey has a horrible set of #ifdef to cope with multiple different platforms | 17:04 | |
timotimo | :S | ||
krunen: so you can revert the newest commit in term-termios :D | 17:05 | ||
smls | Rakudo > Python > Perl start-up times each differ by 1 order of magnitude now on my machine (for warm start). Not great, but it means Rakudo is approaching "acceptable" speed. | 17:06 | |
m: for (perl=>0.002, python=>0.027, Rakudo=>0.298).rotor { say "{.[0].key} starts {[R/] $_».value} times faster than {.[1].key}" } | |||
camelia | rakudo-moar 9210cc: OUTPUT«perl starts 13.5 times faster than pythonpython starts 11.037037 times faster than Rakudo» | ||
17:11
diana_olhovik_ left
|
|||
TimToady | we could probably start up really fast if we were willing to force everyone to program in Standard Perl 6 :) | 17:13 | |
PerlJam just realized that rotor == sliding window | 17:14 | ||
I don't know why that didn't click before | |||
smls | PerlJam: except if you set its second argument to 0, then it's non-sliding ;) | ||
PerlJam | well ... that's not as useful as it could be :) | 17:16 | |
RabidGravy | just sent a pull request to ecosystem to add Linux::Fuser to the modules list, it's a bit dumb and probably not very idiomatic but it was easy and better tested than the p5 version '-) | 17:17 | |
TimToady | I'd say it's non-sliding if the second arg is the same as the first, but arguably it's just sliding back and forth to the same place | ||
smls | PerlJam: It's useful if you want to iterate "2 at a time" and the list might have an odd number of elements, so you can't do for @list -> $a, $b { ... } because the last (single) element would cause a signature mismatch | 17:18 | |
TimToady | usually better to use $b? in that case | ||
smls | oh | ||
right :) | |||
TimToady | or a default | ||
dalek | osystem: 090a1b7 | (Jonathan Stowe)++ | META.list: Add Linux::Fuser to the modules list |
17:19 | |
osystem: 4126647 | PerlJam++ | META.list: Merge pull request #40 from jonathanstowe/master Add Linux::Fuser to the modules list |
|||
spider-mario | smls: what’s R/? | ||
smls | reverse the order of arguments | ||
PerlJam | spider-mario: just like / but with the args reversed | ||
spider-mario | oh, ok | ||
thanks | |||
that’s ~ in J | |||
:p | |||
17:20
molaf joined
|
|||
smls | TimToady: Should a lone ».value be allowed as shortcut for $_».value ? | 17:20 | |
TimToady | well, .».value is supposed to work | 17:21 | |
smls | ok | ||
TimToady | and not allowing random closers where openers are expected tends to cache a certain class of syntax errors | 17:22 | |
masak | m: my @a; say @a»value # I find myself accidentally doing this sometimes | ||
camelia | rakudo-moar 9210cc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0ziC8AZNN5Two terms in a rowat /tmp/0ziC8AZNN5:1------> 3my @a; say @a»7⏏5value # I find myself accidentally doing expecting any of: infix stopper infix or meta-infix» | ||
RabidGravy | » is the only non-ASCII character I have worked out how to type without knowing the codepoint ;-) | ||
masak | maybe we should have a dedicated error message for ^^ ? | ||
TimToady | std: my @a; say @a»value | 17:23 | |
camelia | std 28329a7: OUTPUT«5===SORRY!5===Two terms in a row at /tmp/cGRV7Ekpuz line 1:------> 3my @a; say @a»7⏏5value expecting any of: infix or meta-infix postcircumfix postfix postfix_prefix_meta_operator postopParse failedFAILED 00:01 138m» | ||
TimToady wonders how that's parsing... | |||
generally it should say Confused if it's not sure there are two terms there... | 17:25 | ||
17:26
gfldex joined
17:29
anaeem1 joined
17:38
anaeem1 left
17:39
ssutch left,
espadrine left
17:40
anaeem1 joined,
dakkar left
17:41
ssutch joined
17:43
rurban_ joined
17:44
TimToady left
17:45
eli-se joined
|
|||
masak | std: value | 17:46 | |
camelia | std 28329a7: OUTPUT«ok 00:00 134m» | ||
masak | std: »value | ||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Bogus statement at /tmp/h3xcAybJ1z line 1:------> 3<BOL>7⏏5»valueParse failedFAILED 00:00 136m» | ||
eli-se | hi | 17:47 | |
17:49
rurban_ left
|
|||
timotimo | smls: can i get something barebones but pretty-ish looking to plop a codemirror into and try out some ajaxy stuff? | 17:50 | |
17:52
Alina-malina left
17:53
abraxxa left
17:55
TimToady joined,
diana_olhovik_ joined,
diana_olhovik_ left
17:59
diana_olhovik_ joined
18:01
chenryn joined,
kjs_ left
18:02
anaeem1 left
|
|||
RabidGravy | anyone got a few minutes to look at gist.github.com/31c8e72d86d889489f0f.git ? It's a test of the guts of Term::Cap - the original sequence of regex substitutions is in the pod at the top, a working translation to the p6 substitutions at the bottom | 18:04 | |
18:05
chenryn left
|
|||
RabidGravy | the not working bit is the grammar which I would rather use, the problem seems to be something to do with the <!special> bit which causes the whole thing to eat up a whole CPU "forever" | 18:05 | |
TimToady | without looking, is <!special> supposed to eat a character like a negated character class? if so, should be <-special> | 18:08 | |
RabidGravy | any other possible locution I can think of doesn't do the right thing (i.e. <literal> eats the rest of the characters | ||
ah, | |||
TimToady | I don't see anything in that gist offhand | 18:09 | |
just an empty page | |||
RabidGravy | TimToady, erk | 18:10 | |
TimToady | something added a .git for you helpfully, which doesn't | 18:11 | |
yes, <!special>+ will match the null string eternally | 18:12 | ||
RabidGravy | yeah that's weird I didn't have the .git | ||
roight, yes - that was the last of the explanations I thought of | |||
TimToady | p6 regex doesn't attempt to detect multiple matches of '' currently | 18:13 | |
RabidGravy | never been good with regular expressions of any flavour :-\ | 18:14 | |
18:14
mohij joined
|
|||
TimToady | it also appears that you're using hard 4-column tabs, which is a bit antisocial | 18:15 | |
RabidGravy | so I need to express <literal> as "anything other than literal but at least one character" | 18:16 | |
TimToady | actually, 2-column | ||
or something that is really screwing up the formatting... | 18:17 | ||
most of us just use spaces and avoid tabs these days | |||
18:17
ssutch left
|
|||
RabidGravy | TimToady, yeah it's shit, I don't actually use that - I started the file as 'pp' just to test a few lines and the editor couldn't guess my wishes | 18:17 | |
dalek | rl6-roast-data: 5454868 | coke++ | / (9 files): today (automated commit) |
18:18 | |
RabidGravy | let me fix that before anyone gets distracted | ||
18:19
Rounin joined
|
|||
bartolin_ | TimToady: a while ago you mentioned that some tests in roast (e.g. tests for error messages) are overly specific to a specific implementation (Rakudo) -- irclog.perlgeek.de/perl6/2015-03-06#i_10236778 | 18:20 | |
I remember a short discussion with FROGGS++ and nine++ about that topic from last year: irclog.perlgeek.de/perl6/2014-10-02#i_9444022 | |||
I wrote one or two tests for an exact error message. and looking at all those tickets about 'LTA error message' it somehow seems appropriate to me to have tests for those good error messages we settled for. OTOH the wording of the error messages are implementation details -- in contrary to the exception types used, right? | |||
18:20
Perl6_newbee left
|
|||
bartolin_ | so maybe it would make sense to move those overly specific tests from roast to S02-rakudo? that would imply to du | 18:20 | |
plicate some test code, but it would be a clean separation, IMHO | |||
TimToady | heh, if I make it complain about missing postfix on 42»foo, then it catches all the poeple who write @a»+«@b without spaces | 18:21 | |
well, some of the tests are just intermixed, like requiring particular words in an error message | 18:22 | ||
but we still want some of the test to be cross-platform | |||
bartolin_ | so you would say those tests (requiring particular words) would be okay in roast? | 18:24 | |
TimToady | I'm saying some of them are not okay, because a different implementation might choose different words | 18:25 | |
itz | RabidGravy: you supping the p6 kool-aid? :) | ||
TimToady | but we do need to test the errors in a generic way | ||
RabidGravy | itz! hey! you alright? Still at the fun party place in EC2? | 18:26 | |
itz | I have an errr friend who works in a boring bank but one day soon will leave and do perl6 :) | 18:27 | |
RabidGravy | ;-) | ||
18:28
anaeem1 joined
|
|||
dalek | ast: eca749d | TimToady++ | S (2 files): hyper infix ambig with hyper postfix |
18:29 | |
18:29
atweiden joined
|
|||
masak does his duty in reducing the incidence of the "drinking the X kool-aid" meme by pointing out that the metaphor is based on a suicide cult from 1978 | 18:29 | ||
18:29
lichtkind joined,
mr-foobar joined
|
|||
dalek | kudo/nom: 663a22b | TimToady++ | src/Perl6/Grammar.nqp: require postfix after postfix prefix |
18:29 | |
RabidGravy | okay gist.github.com/jonathanstowe/31c8...d889489f0f maybe properly formatted now | 18:30 | |
masak | or maybe "snowclone" more than "meme", now that we have a term for that. | ||
18:30
SamuraiJack left
|
|||
masak | RabidGravy: wow, that looks like an excellent grammar to write tests for :) | 18:30 | |
RabidGravy | so how do I express "anything that is not matched by <special>" in a sane way> | 18:31 | |
? | |||
18:32
colomon joined
|
|||
TimToady | usually you just want to have it in an alternation: <special> | <otherstuff> and let LTM handle it | 18:33 | |
masak | m: grammar G { regex TOP { [<!before <special>> .]+ }; regex special { BOO } }; say so G.parse($_) for "abcde", "abBOOde" | ||
camelia | rakudo-moar 9210cc: OUTPUT«TrueFalse» | ||
RabidGravy | masak, this is just a small part of it - trying to do Term::Cap by parsing the whole termcap with a grammar and I have the level above this working | 18:34 | |
masak | RabidGravy: cool. | ||
TimToady | negative lookaheads are kind of a smell though | ||
masak | RabidGravy: my statement about grammars and tests (and in particular your grammar and tests) still stands. :) | ||
RabidGravy | masak, my plan involves using the p5 Term::Cap to generate the test data as that has been "right" for many years | 18:36 | |
masak | sounds like a plan. | ||
maybe even add the conversion script to the repository... | |||
smls | timotimo: Sure, but I gotta go now. Be back in 2 hours or so. | 18:41 | |
timotimo: In the meantime, maybe get someone with more up-to-date webdev-fu to select an appropriate bare-bones template (like "HTML5 Boilerplate" or whatever is cool these days) for handling browser compatibility and whatnot. | 18:42 | ||
18:42
smls left
18:52
colomon left
18:54
Alina-malina joined
19:01
kaare_ left
19:03
sno left
|
|||
bartolin_ | TimToady: if I may ask again with an example: github.com/perl6/roast/commit/496aa2ffa9 I wonder what to do with that: | 19:08 | |
a) just remove the parts about "message => ..." | 19:09 | ||
b) same as a) but also copy the current tests to t/02-rakudo/errors.t (duplicating test code) | |||
FROGGS | c) leave it that way | 19:10 | |
bartolin_ | or that ... | 19:12 | |
FROGGS | I opt for c) | 19:13 | |
because for most tests we *have to* check for the exception types and their properties | |||
like in: | 19:14 | ||
throws_like 'use MONKEY-TYPING; augment class No::Such::Class { }', X::Augment::NoSuchType, | |||
package => 'No::Such::Class'; | |||
19:18
ssutch joined
19:20
Guest68239 joined
|
|||
TimToady | well, but what if we decide a better message is "Nothing before quantifier for it to modify", did the language Perl 6 actually change? | 19:21 | |
obviously the message should probably mention "quantifier" somehow, but the whole reason for having exception types is to be able to test for them without relying on searching for any particular phrase | 19:24 | ||
and mandating any particular level of awesome tends to get in the way of further levels of awesome | 19:25 | ||
TimToady has had to fix a number of tests due to this, and would not like to have to issue a 6.1 roast merely because we decided an error message was LTA | 19:26 | ||
speakin' o' which, I noticed we had a dispatch error last night that failed to match an invocant of (Failure: ) | 19:28 | ||
19:28
kjs_ joined
|
|||
RabidGravy | yes, if you are testing structured exceptions then testing the text of an attribute is somewhat redundant at best | 19:28 | |
TimToady | surely it would be nice to actually say what the original failure was... | ||
RabidGravy | however if one was testing for internationalized versions of that text then it would be perfectly valid | 19:29 | |
TimToady | so I think testing the message should be restricted to ensuring that appropriate bits of data find their way into the message | ||
vendethiel | TimToady: we should obviously have i18n'd error messages, as well: P | 19:30 | |
RabidGravy | yep, you test the exception's "message builder" | ||
TimToady | vendethiel: yes, it's obvious, but much less obvious now than twenty years ago, when the technical hegemony of English was less established | 19:31 | |
cultural imperialism has to be good for something... :P | |||
vendethiel | TimToady: I was joking. I hate translated error messages. They're making you unable to google anything, they usually make no sense | ||
RabidGravy | ORA19245 | 19:32 | |
vendethiel | because it's hard to translate technical terms to one's language (and I know that by experience), they render HORRIBLY BAD due to accents (I'm french)... I really don't want translated error messages | ||
TimToady | you must be Parisian :) | ||
RabidGravy | but you don't want to close the door on doing that in someone's application specific exceptions | 19:33 | |
vendethiel | TimToady: that because I'm always complaining? :P | ||
TimToady | no, but Parisians are much less likely to accept broken French than in the rest of France :) | ||
vendethiel | fwiw, I definitely understand *why* people want/need them. *I*, as a mostly-english-speaking-and-technical person, really hate them. | ||
TimToady | nodnod | 19:34 | |
RabidGravy | I understand French in Paris and Nice and not so much elsewhere | ||
skids | You could have an ancillary spec that is not part of "The Perl 6.x Specification", and that could get pickier while playing it looser with version numbers. | ||
19:34
_edwin joined
|
|||
vendethiel | well, it's not the problem of "broken" french. Some technical words are just untranslatable -- and I've tried. No idea how to translate something like "scope". It really doesn't work (the french word is "portée", but... nope) | 19:34 | |
TimToady | something more like a literary passage? | 19:35 | |
RabidGravy | most technical language is a metaphor of sorts, you need to get the poets in on it | ||
TimToady | something more like a context? | ||
well, it's not my job to translate into French :) | |||
vendethiel | "literary passage"? | ||
TimToady | something smaller than a book chapter | 19:36 | |
like a piece of text between two whitespaces? | |||
vendethiel | ah, hm | ||
TimToady | something longer than a paragraph | ||
RabidGravy | verse | ||
vendethiel | I meant "lexical scope", if you're refining my use of "scope" | ||
TimToady | lexical means having to do with text, so yes | 19:37 | |
bartolin_ | I find TimToady's reasoning wrt error messages convincing. it's only that I don't dare to decide which are the appropriate bits of data (which belong into the message) for most cases. so I back off from reviewing our tests in roast wrt to overly specific error messages ... | ||
masak .oO( lexical means never having to say you're sorry ) | |||
TimToady | we could just as easily and more clearly called them textual scopes in English | ||
*have | 19:38 | ||
bartolin_ | but thanks for explaining! | ||
skids | stanza. Oh I thought TimToady was trying to complete a crossword. :-) | 19:39 | |
19:40
Guest68239 left
19:41
lucas_ joined
|
|||
vendethiel | TimToady: it's just that we always use english technical words :) we don't really have a "technical word culture" | 19:42 | |
_edwin | hi all! is someone around who could give me some hints for building Rakudo on Windows 7? | ||
I'd like to take a look at the input/output problems in the REPL | |||
RabidGravy | fwiw, where something is going to throw a structured exception just test the type of the exception. where the exception itself has some behaviour with respect to the message text then make separate tests for the exception itself | ||
skids | .oO(cheese word culture. Mmmm.) |
19:43 | |
bartolin_ | RabidGravy: my motivation to (additionally) test for the message test was mainly that a lot of efford goes into the wording, so it seemd appropriate to ensure it doesn't change accidentially. | 19:45 | |
RabidGravy | if an exception could mean something different depending on the content of the exception message then it probably means it wants to be a diffetent type | ||
19:45
telex left
|
|||
skids | RabidGravy++ that I think most everyone would agree with. | 19:46 | |
lucas_ | Hello. | ||
19:46
telex joined
|
|||
lucas_ | Why calling methods without parentheses is not allowed? Is it a technical limitations or is it by design? | 19:46 | |
RabidGravy | bartolin_, okay, that's a test of the exception itself not the code that might throw it | ||
lucas_, method: | |||
(I don't actually like that visually but it's there) | 19:47 | ||
bartolin_ | RabidGravy: yes, it's a diffent thing. Therefore my idea to move the test for the wording out of roast | ||
RabidGravy | yep, I'm with you | 19:48 | |
19:48
grondilu left
|
|||
TimToady | lucas_: we never allow two terms in a row, and without parens or colon, a method call is just an attribute access usually | 19:48 | |
and colon naturally means "here's more" in English | 19:49 | ||
bartolin_ | RabidGravy++ # pointing out the difference between "test of the exception itself" and "test of the code that might throw it" | 19:51 | |
lucas_ | RabidGravy, TimToady: thanks | ||
skids | m: (1,2).map: *.say # example for lucas_ | ||
camelia | rakudo-moar 663a22: OUTPUT«12» | ||
lucas_ | I'm glad that colon exists. It works more or less the same thing as dollar ($) in Haskell, right? | ||
TimToady | it's one of our precedence droppers, yes | ||
masak | yes, that's a good comparison | ||
similarly, listops have an implicit Haskell colon on them | 19:52 | ||
TimToady | it's kind of a left paren without its corresponding right | ||
the practical difference being that a listop has no arguments yet, so is likely to take more, while a method already has an invocant as one argment, so is less likely to want more arguments | 19:53 | ||
RabidGravy | Got that grammar working now gist.github.com/jonathanstowe/31c8...d889489f0f - inasmuch as the grammar and the old school loadsasubsitutions gets the same | ||
cheers for the pointers TimToady | |||
TimToady | RabidGravy++ | ||
[Coke] | _edwin: what compiler do you have? | 19:54 | |
You'll need an install of perl5 and a C compiler. | |||
TimToady | m: my @a; say @a»value | 19:56 | |
camelia | rakudo-moar 663a22: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QbaBZ6caV4Missing postfixat /tmp/QbaBZ6caV4:1------> 3my @a; say @a»7⏏5value expecting any of: postfix» | ||
_edwin | my first try was with strawberry perl and the included gcc | ||
TimToady | masak: ^^^ | ||
_edwin | [Coke], actually I'd like best to reproduce the Rakudo Star build for Windows, because it's with Rakudo Star that I see the IO problems | 19:57 | |
masak | TimToady: huh. | ||
"Missing postfix"... | |||
TimToady | would you prefer Malformed? | ||
masak | not sure. | ||
I guess this is fine. | 19:58 | ||
_edwin | [Coke], with strawberry gcc I got stuck in the MoarVM build: "auto-detecting x86 toolchain ... FAIL" | ||
TimToady | in your case malformed is perhaps more accurate | ||
m: @a>> | |||
camelia | rakudo-moar 663a22: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qVaJSQQrsnMissing postfixat /tmp/qVaJSQQrsn:1------> 3@a>>7⏏5<EOL> expecting any of: postfix» | ||
TimToady | in that case, it's just missing though | ||
FROGGS | "Malformed or missing postfix" | ||
TimToady | they're two difference exception types >.< | ||
FROGGS | ohh | ||
_edwin | my perl 5 is: Strawberry Perl (64-bit) 5.16.3.1-64bit README | ||
FROGGS | :/ | ||
masak | I was thinking something like "...(Did you mean '».value'?)" | 19:59 | |
_edwin | I'll try to tell it to use gcc | 20:00 | |
[Coke] | _edwin: I think FROGGS just recently posted directions on how the msi is built. | 20:01 | |
_edwin | [Coke], ok, those instructions would be greatly helpful for me. are they in the irc backlog or a blog? | 20:02 | |
[Coke] | github.com/rakudo/star/blob/master...ws-msi.pod | 20:04 | |
FROGGS | _edwin: though it seems we have to patch moarvm and tweak nqp+rakudo's build system to compile using mingw | 20:05 | |
_edwin | [Coke]++, thanks! | 20:06 | |
FROGGS, I will try to follow the steps in the windows-msi.pod 1:1 to maximize my chance to reproduce the problem | |||
FROGGS | k | 20:07 | |
20:07
rindolf left
20:08
beastd joined
20:10
pippo joined,
yqt joined
|
|||
pippo | .tell flussence Thank you very much. That is interesting. Cheers. | 20:11 | |
yoleaux | pippo: I'll pass your message to flussence. | ||
20:11
pippo left
|
|||
dalek | kudo/nom: 0730963 | TimToady++ | src/Perl6/Grammar.nqp: be more specific on malformed/missing postfix |
20:11 | |
DrForr | m: class Foo { }; use Foo; | 20:12 | |
camelia | rakudo-moar 663a22: OUTPUT«===SORRY!===Could not find Foo in any of: /home/camelia/rakudo-inst-1/share/perl6/lib, /home/camelia/rakudo-inst-1/share/perl6» | ||
TimToady | m: class Test { }; use Test; | ||
camelia | rakudo-moar 663a22: OUTPUT«===SORRY!===Merging GLOBAL symbols failed: duplicate definition of symbol Test» | ||
lucas_ | For example, "obj1.foo + obj2.bar" could either mean "obj1.foo() + obj2.bar()" or "obj1.foo(+obj2.bar)". I think Ruby gets it right which one I want. By the time I call the methods, the Perl 6 compiler already knows it's signature (if expects arguments or not), right? I guess my original concern was why can't it use that knowledge to act one way or another? Would it be to ambiguous/difficult? | 20:13 | |
FROGGS | lucas_: method calls always require either parens or a colon | 20:14 | |
so you example always means this: obj1.foo() + obj2.bar() | |||
only subroutines can appear as listops without further indication | 20:15 | ||
DrForr | class Foo is still created and can be instantiated, but I'm not sure if 'use Foo;' should throw the error it does. | ||
FROGGS | obj1.foo: + obj2.bar would be obj1.foo(+obj2.bar) though | ||
[Coke] | DrForr: you're trying to use a file that doesn't exist; how can we change the error message to be more helpful? | 20:16 | |
m: use Foo; | |||
camelia | rakudo-moar 663a22: OUTPUT«===SORRY!===Could not find Foo in any of: /home/camelia/rakudo-inst-1/share/perl6/lib, /home/camelia/rakudo-inst-1/share/perl6» | ||
DrForr | Well, I've already declared class Foo{} just before that. My n\"aive expectation was that the class declaration would make the 'use' statement redundant. If 'use' is meant to go out to the filesystem that's fine. | 20:19 | |
20:20
darutoko- left
|
|||
skids | Just because you use "Foo" does not mean that it contains a package or module names "Foo". For sanity purposes we hope is does but, that could actually be legal. | 20:20 | |
DrForr | Understood. The 'new' crashing bug I'd found is still present in the current build, I was writing test cases to narrow down the cause to see if the problem had changed. | 20:21 | |
lucas_ | FROGGS: Thanks, I understand. | 20:22 | |
20:22
e joined,
e is now known as Guest38847
|
|||
FROGGS | \o/ | 20:23 | |
first time I tested Foo: | 20:24 | ||
==> Successfully installed Foo | |||
==> Submitted test report as: testers.perl6.org/reports/38222.html | |||
seond time I tested foo: | |||
==> Successfully installed Foo | |||
==> Test report is duplicate of: testers.perl6.org/reports/38222.html | |||
second* | |||
skids | nice. | ||
tadzik | nice! | 20:26 | |
FROGGS++ | |||
skids | Sorry for this next paste. You actually have to read m-ModuleLoader.nqp to understand why I am beating my head on a wall. | 20:27 | |
m: nqp::callmethod(nqp::gethllsym("perl6", "ModuleLoader"), nqp::unbox_s("load_module"), nqp::unbox_s("Foo"), nqp::hash("from", "foo"), :chosen(nqp::hash("load","foo"))) | |||
camelia | rakudo-moar 663a22: OUTPUT«Do not know how to load code from foo in any load_module at src/gen/m-ModuleLoader.nqp:186 in method load_module at src/gen/m-CORE.setting:26323 in block <unit> at /tmp/UmSmemrRWl:1» | ||
dalek | osystem: 10c3699 | raydiak++ | META.list: Add Git::PurePerl gitless Git interface Nascent Perl 6 port of search.cpan.org/dist/Git-PurePerl/ |
20:28 | |
FROGGS | skids: what's the problem? | 20:29 | |
skids | I put the :from<foo> in to show that it does not get anything in %chosen, because if it did "Do not know how to load" would not be reachable. | ||
I just want it to see what I put in chosen and it disappears into the ether. | |||
And I have zero clue as to why. | |||
FROGGS | ahh | ||
skids | (The problem that led to this one, BTW, is that CompUnit.load is broken) | 20:30 | |
20:31
sno joined
|
|||
FROGGS | tadzik: I pushed that to panda right now... (it does not seem to get dalek'd) | 20:33 | |
masak .oO( it was exTERminated!!! ) | |||
FROGGS | skids: seems nqp::callmethod is unable to pass nameds along | 20:36 | |
ummm, wait | 20:38 | ||
ugexe | could someone with rakudobrew permissions pull in this PR for the s/languages/share/ change so it works for smoke testing again? github.com/tadzik/rakudobrew/pull/34 | 20:39 | |
FROGGS | tadzik: ^^ | 20:40 | |
skids | m: my class A { method foo($module_name, %opts, *@GLOBALish, :$line, :$file, :%chosen) { %chosen.perl.say } }; nqp::callmethod(A, nqp::unbox_s("foo"), nqp::unbox_s("Foo"), nqp::hash("from", "foo"), :chosen(nqp::hash("load","foo"))) # this works fine. | ||
camelia | rakudo-moar 663a22: OUTPUT«("load" => "foo").hash» | ||
FROGGS | skids: I know why the :%chosen get lost | ||
20:40
genio joined
|
|||
tadzik | ugexe: thanks :) | 20:41 | |
atweiden | i'm parsing text and trying to build classes with the results. is it possible to do from grammar action methods? | 20:42 | |
FROGGS | atweiden: yes | ||
skids | atweiden: yes, but you won't be happy if you backtrack and the class doesn't go away :-) | 20:43 | |
atweiden | FROGGS: do i need to use make/made for this? | ||
FROGGS | atweiden: in the action methods you'd use make to attach something to $/, aye | 20:44 | |
20:44
Guest38847 left
|
|||
FROGGS | atweiden: and then you can access it via .made in the 'outer' method | 20:44 | |
atweiden | i tried using make/made | ||
with this grammar github.com/atweiden/nightscape/blo...Grammar.pm | |||
i got stuck because i have make overwriting previously captured results | 20:45 | ||
20:45
pdcawley left
|
|||
dalek | kudo/nom: 59f7cb9 | FROGGS++ | src/core/CompUnitRepo.pm: pass around %chosen in load_module Since the module loader in CUR intercept the Perl6::ModuleLoader, we are supposed to pass along what we got in. skids++ for finding it. |
20:46 | |
atweiden | moved to initializing a class from Actions.pm, and tried adding to it but doesn't seem to be working either | ||
skids | FROGGS++ now I know I am not crazy :-) | 20:47 | |
ugexe | what is %chosen anyway? th emodule its tryign to load? | ||
FROGGS | skids: no :o) | ||
skids | ugexe: when you already know the exact files you want to load. | ||
FROGGS | ugexe: it is a way to tell load_module that we already know what has to be loaded | ||
it it does not need to look for a file on disk | 20:48 | ||
japhb_ | It appears that non-main threads are eating compiler errors, such as binding failures. For example: | ||
m: start { my Bool $foo = now; } | |||
camelia | ( no output ) | ||
FROGGS | atweiden: I don't see that you are calling make/made anywhere | ||
japhb_ | m: await start { my Bool $foo = now; } | ||
camelia | rakudo-moar 663a22: OUTPUT«===SORRY!===Type check failed in assignment to '$foo'; expected 'Bool' but got 'Instant'» | ||
japhb_ | Grr, I thought that was a golf, but I need to obviously get sneakier | ||
atweiden | FROGGS: that code is obscenely ugly and local :) | 20:49 | |
FROGGS | :o) | ||
20:49
japhb_ is now known as japhb
|
|||
atweiden | but in general, do i need to structure my grammar differently so that make works? | 20:49 | |
FROGGS | atweiden: example: you add a 'method TOP($/) { make $<journal>.made }' to your action class | 20:50 | |
atweiden: no, you basically just structure your action identically to your grammar | |||
atweiden | FROGGS: i was trying this ix.io/h89 | 20:51 | |
but it overwrites previous captures since there are multiple accounts | |||
FROGGS | I think that this is wrong: | 20:53 | |
make %( $<header>».made, | |||
$<posting>».made ); | |||
I think it is supposed to read: make $<header>».made Z[=>] $<posting>».made | |||
or so | |||
hmmm, is Z correct here? | |||
I'm too tired to know | |||
masak | looks right | 20:54 | |
since you're in a %(), you could prolly get away with just Z too | |||
FROGGS | atweiden: is it possible that you loose information because you hit duplicate keys? | 20:55 | |
this could explain your 'overwritten captures' | |||
atweiden | yes, but it only occurs with make/made | 20:56 | |
a posting looks like | |||
Expenses:Personal:Fuel $10.00 USD | |||
Assets:Personal:Bankwest:Cheque -$10.00 USD | |||
so it has to capture <account> many times | |||
RabidGravy | so it's maintain an internediate hash at account and add the items on to it | 20:59 | |
you may need to adust your grammar to have an additional level | |||
20:59
diana_olhovik_ left
|
|||
ugexe | or store it in a state hash using a code block... thought i remember seeing an example of something like that | 21:00 | |
as in right in the token/rule | |||
21:01
virtualsue joined
21:03
Possum left
21:04
Possum joined,
smls joined
|
|||
smls back | 21:04 | ||
21:07
e joined
21:08
e is now known as Guest35307
|
|||
FROGGS | smls: I cannot tell, but I like this version better (how the camelia sticks out): i.imgur.com/0kDEeeu.png | 21:08 | |
smls: though, that the bordeaux background is window-wide is unfortunate me thinks | 21:09 | ||
smls | interesting (re Camelia) | ||
re background: why? | |||
21:10
skids left
|
|||
FROGGS | smls: and the list of features is actually hard to read... I love the blurry image though | 21:10 | |
and alse the Get Started/Get Involved text, and how the text underneath looks like | |||
smls: hard to put in words... I just *feels* wrong :o) | 21:11 | ||
I think it wants to stop where the content stops.. | 21:12 | ||
the color is too dark to be window-wide | 21:13 | ||
the camelia in here would look good on its own, but it looks "boring" on the page: i.imgur.com/jBXkUgW.png | |||
(sorry, don't want to be mean) | 21:14 | ||
smls | no worries :) | ||
21:14
kjs_ left
|
|||
FROGGS | :o) | 21:14 | |
RabidGravy | as a matter of interest is there an emergent etiquette regarding the porting of modules other people have done in p5? | ||
FROGGS | RabidGravy: I dont know of any... | 21:15 | |
I've talked to maintainers of P5 modules and said that I am going to port them and the result is often: Cool, have fun! :o) | |||
RabidGravy | that is to say I have some modules that have hard dependencies like Device::LibUSB, Device::SMBus etc | 21:16 | |
FROGGS | RabidGravy: so, talk to them (if possible), and perhaps mention that it is based on their work in the readme | ||
RabidGravy | okay that's where I was going really | ||
smls | FROGGS: I'll ponder on your feedback. Other people's opinions would be helpful too. | ||
FROGGS | RabidGravy: these are interesting deps :o) | 21:17 | |
RabidGravy | oh and Net::LibLo ;-) | 21:18 | |
smls | Regarding module porting: I'd recommend to think twice before porting Perl 5 modules too literally. | ||
RabidGravy | I like my hardware these days what can I say ;-) | 21:19 | |
smls | Often the best way to do an API in Perl 6, is different from Perl 5 | ||
jnthn | evening, #perl6 o/ | ||
smls | Not to mention some Perl 5 CPAN module carry API baggage from Perl 4 times | ||
FROGGS | hi jnthn | ||
smls | It would be unfortunate if the best / most generic module names in Perl 6 CPAN would be squatted by modules with Perl 4 APIs :P | ||
FROGGS | *g* | 21:20 | |
21:20
kjs_ joined
|
|||
RabidGravy | oh I know, but if you've got to use a library to talk to hardware there's not much getting out of it | 21:20 | |
ugexe | squatting shouldnt be a problem with authority | ||
smls | Well, theres a social incentive to not make a module with the same name as someone else's. | 21:21 | |
It just creates more confusion for everyone. | |||
(I'm talking about CPAN here. CPAN vs random github account vs companies non-public stuff, would not use the same namespace.) | 21:22 | ||
RabidGravy | which is why I'm cracking on with making the ones that I already have on CPAN | ||
ugexe | that depends how you look at it. as i see it, the authority is simply part of the module name and thus you arent copying anything | 21:23 | |
smls | So are we really expected to writre out the full authority all the time? | ||
FROGGS | smls: I think so | 21:24 | |
ugexe | you could also do some META.json magic | ||
RabidGravy | "authority"? | ||
smls | That just increases the verbosity of the "boilerplate" part at the start of scripts. | ||
ugexe | that option that says 'this modules takes the place of that other' | ||
smls | Anyway, tl;dr: If you port a module from Perl 5 to Perl 6, consider redesigning the API to make it more awesome in the context of Perl 6. | 21:26 | |
21:27
espadrine joined
|
|||
ashleydev | is src/Perl6/Grammer.nqp the same as the STD grammer... is there a difference between the STD grammer and what rakudo is using? | 21:28 | |
ugexe | emulates, supercedes, etc handle the boilerplate from a module author standpoint | ||
japhb | Ah, I see the problem. I was starting things in other threads, and expecting that if I didn't do anything else, exceptions would bubble up and be visible. But no, they just go into a Broken Promise, and if I don't check it on occasion, I'd never know it went boom. | 21:30 | |
m: start { my Bool $foo = now; }; sleep 2; | |||
camelia | ( no output ) | ||
japhb | m: my $p = start { my Bool $foo = now; }; say $p.status; sleep 2; say $p.status; | ||
camelia | rakudo-moar 59f7cb: OUTPUT«PlannedBroken» | ||
japhb | m: my $p = start { my Bool $foo = now; }; say $p.status; sleep 2; say $p.cause; | ||
camelia | rakudo-moar 59f7cb: OUTPUT«PlannedType check failed in assignment to '$foo'; expected 'Bool' but got 'Instant' in block at /tmp/c3bdVACM0F:1 in block at src/gen/m-CORE.setting:23195 in block at src/gen/m-CORE.setting:22980» | ||
Ulti | FROGGS++ can I suggest a couple of edits to your announcement? 'come now' -> 'now come' and 'had build Rakudo' -> 'had to build Rakudo' | ||
japhb | I feel myself wanting some way to say "I know this is in another thread, but I want it to go BOOM as soon as there's an exception, since I'm writing unexceptional code .... | 21:31 | |
FROGGS | ashleydev: src/Perl6/Grammer.nqp follows STD in some way, but is not identical | ||
jnthn | japhb: You should really always await or get the result of a Promise | 21:32 | |
FROGGS | Ulti: thanks, fixed :o) | 21:33 | |
jnthn | japhb: Since it runs on a background thread, if you don't wait for it somewhere you don't even know it'll complete before program exit. | ||
FROGGS | jnthn: and an implicit await at exit is an antipattern and a nogo? | 21:34 | |
Ulti | FROGGS I'll try the new one out on windows 8.1 64 now :3 | ||
japhb | jnthn: Fair enough, but I've gone from "Running a bunch of tasks all started at once from the same point" to "spinning a web of tasks that makes my own head spin". So I do keep an array of promises started, drop completed ones every so often, and wait for that array to empty before exiting. | ||
FROGGS | Ulti: ohh, that'll be interesting :o) | ||
but, as I know Windows, it'll just work | 21:35 | ||
21:35
kjs_ left
|
|||
jnthn | Well, we could say that if a Promise is sunk then it goes on some global queue to be dealt with at exit. | 21:35 | |
japhb | The problem is, I don't know in a *timely* way that a thread has crashed, so at the rate I'm producing log entries, a whole heck of a lot can happen in other threads before the main reaper notices the Broken promise. | ||
jnthn | But that feels risky and unpredictable in different ways. | ||
japhb | I want some way to raise that exception to the surface RIGHT NOW. | ||
Ulti | FROGGS: well it runs | 21:36 | |
jnthn | japhb: What do you mean by "a thread has crashed"? | ||
japhb: start { ... } should always catch the exception and stash it away in the Promise. | |||
japhb | Exception thrown. Sorry, was mixing wording because I can, in fact, crash r-m pretty easily on thread join. Dunno why, but it's why I do the heavy stuff in r-j. But in this case I was talking about an exception, which ends that thread (and as you pointed out, stashes the exception in the Promise) | 21:37 | |
21:37
xfix left
|
|||
jnthn | start != thread, it's scheduling a bit of work on one. | 21:37 | |
The thread itself is then free to go on and work on another Promise. | 21:38 | ||
RabidGravy | ah | ||
21:38
chenryn joined
|
|||
jnthn | You can always write some sub immedi-whine($prom) { $prom.then({ if $prom.status == Broken { ...flag it up... } }) } or so I guess | 21:38 | |
japhb | Hmmm, looking at my thread IDs, I don't actually see that happening, but that could be because I'm building a web of tasks, and having a task throw an exception means the portion of the task graph rooted at that point gets pruned (or rather, never created) | 21:39 | |
jnthn: Hmmmm, there may be value in a wrapper for that in my code. | |||
I'm not saying I necessarily have the best idea for dealing with this, just ... hmmm, is it possible to hook the moment that an exception is caught and stuffed in the Promise? Did you already provide for that? | 21:40 | ||
jnthn | japhb: Not as such (more) | 21:41 | |
21:41
eli-se left
|
|||
jnthn | Promise.start (which start { ... } uses) is just one Promise factory, however. | 21:41 | |
You can put any semantics you like behind one really. | 21:42 | ||
21:42
bjz left
|
|||
japhb thinks about this a bit | 21:42 | ||
timotimo | evening, jnthn :) | ||
21:43
chenryn left
|
|||
FROGGS | gnight #perl6 | 21:43 | |
jnthn | japhb: github.com/rakudo/rakudo/blob/nom/...se.pm#L158 is the implementation of start, fwiw. | ||
21:43
FROGGS left
|
|||
jnthn | o/ timotimo, o\ FROGGS | 21:43 | |
japhb | Yeah, I was looking at that. | ||
Almost feels like Promise.start could use a :&catch that gets called *along with* the vow breaking. So L163 becomes: :catch(-> $ex { $vow.break($ex); &catch() }) ); | 21:45 | ||
jnthn | japhb: BTW, from tomorrow my tuit supply for Perl 6 improves notably. I feel I dropped the ball on various things you were wanting looking at; feel free to give me an updated "top few things". :) | ||
japhb | jnthn: I really appreciate that. Let me think upon it, but sincerely, thanks for the offer to consider them. | ||
jnthn | (The tuit supply will also be improving in a sustainable way, as in I should have multiple days a week for Perl 6 from April onwards. :)) | 21:46 | |
japhb | \o/ | ||
TimToady | there's that word, "should", again... | ||
japhb | TimToady: Take it up with the Chief Artist. ;-) | ||
jnthn | Well, it's highly likely, but if I get hit by a bus or something... :P | 21:48 | |
21:48
ssutch left,
anaeem1 left
|
|||
jnthn | Seriously though, I'm taking a step back from a bunch of $dayjob responsibilities for the coming months, to focus on Perl 6 stuff. | 21:49 | |
21:49
anaeem1 joined
|
|||
japhb | I don't know whether it's appropriate, but jnthn.employer++ to the extent they're making this easier for you. | 21:49 | |
_edwin | is anyone familiar with this error when building nqp?: NMAKE : fatal error U1077: 'C:\rakudo\bin\moar.EXE' : return code '0xc0000005' | 21:50 | |
jnthn | _edwin: Well, the error code is the Windows version of SIGSEGV... | 21:51 | |
21:51
dnk joined
|
|||
_edwin | uh, the command that fails is: C:\rakudo\bin\moar --libpath=src\vm\moar\stage0 src\vm\moar\stage0\nqp.moarvm --bootstrap --setting=NULL --no-regex-lib --target=mbc --output=gen\moar\stage1\nqpmo.moarvm gen\moar\stage1\nqpmo.nqp | 21:51 | |
21:51
dnk is now known as Guest22985
|
|||
_edwin | there is no error message, before that | 21:52 | |
jnthn | japhb: Yes, they've been understanding about it :) | 21:53 | |
_edwin: Well, if it explodes that dramatically, something is really rather wrong. | |||
21:53
ssutch joined
21:54
Guest22985 is now known as demayl
|
|||
jnthn | _edwin: That's the first build step, so it means the MoarVM build has somehow gotten you something busted. | 21:54 | |
21:54
pmurias joined
|
|||
RabidGravy | I | 21:54 | |
jnthn | _edwin: Does "C:\rakudo\bin\moar --version" help? | 21:55 | |
RabidGravy | er | ||
jnthn | er | ||
s/help/work/ :) | |||
pmurias | react-native is now open source :) , I need to figure out how to get more nqp-js tuits :/ | ||
_edwin | jnthn, This is MoarVM version 2015.03 built with JIT support | ||
jnthn | Hmmm | ||
_edwin: What platform (CPU, OS, compiler)? | 21:56 | ||
pmurias | react native is only for ios, I need to wait when it works on a phone made by a not completly evil company :( | 21:57 | |
21:57
pmurias left
|
|||
_edwin | jnthn, Windows 7, 64-bit, Intel Core i7-3667U, Visual Studio 2010 | 21:57 | |
dalek | p: 73573da | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for startup improvements. |
21:58 | |
jnthn | _edwin: huh, that - aside from VS versin - is about identical to what I have here. | ||
_edwin | I followed the steps in windows-msi.pod with the only exception that I use strawberry perl instead of ActiveState | ||
I'm building from the rakudo-star-2015.03 tarball | 21:59 | ||
jnthn | Ah, I do it with ActiveState | 22:00 | |
But even so, I don't think we pull enough from Perl 5's Configure for that to be an issue... | |||
dalek | kudo/nom: dd13105 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get latest MoarVM. This brings both lazy deserialization and tuning of the spesh/JIT thresholds, both improving startup time. |
22:01 | |
demayl | hi all, can i get a little help about nativecast | ||
jnthn | _edwin: Does SET MVM_JIT_DISABLE=1 help at all? | ||
demayl: You can try, at least :) | 22:02 | ||
demayl | :) ok then | ||
im playing with libcurl callbacks, but i get a error for mallformed utf-8 | 22:03 | ||
22:03
eli-se joined
|
|||
demayl | Malformed UTF-8 at line 5 col 36 in method CALL-ME at lib/NativeCall.pm:233 in method download at test_curl.p6:52 in block <unit> at test_curl.p6:73 | 22:03 | |
when the data is only latin it works | 22:04 | ||
jnthn | Do you know you're actually getting UTF-8? | ||
demayl | it can be in any encoding | ||
thats the point | |||
_edwin | jnthn++, that seems to get me further | 22:05 | |
jnthn | _edwin: Hm, OK, then we could do with figuring out what configuration works out differently... | ||
demayl | here is the callback function | 22:06 | |
japhb | m: sub foo(&a, :&b) { say "Optional block sent" if &b; }; foo { say "Bar" }, :b({ say "Baz" }); | ||
camelia | rakudo-moar 59f7cb: OUTPUT«Optional block sent» | ||
japhb | m: sub foo(&a, :&b) { say "Optional block sent" if &b; }; foo { say "Bar" } :b({ say "Baz" }); | ||
camelia | rakudo-moar 59f7cb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9TjdLUIoKIYou can't adverb thatat /tmp/9TjdLUIoKI:1------> 3; }; foo { say "Bar" } :b({ say "Baz" })7⏏5;» | ||
demayl | sub callback( Str $ptr , int $size, int $nmemb, OpaquePointer $wtf --> int ) { } | ||
japhb | m: sub foo(&a, :&b) { say "Optional block sent" if &b; }; foo({ say "Bar" }) :b({ say "Baz" }); | ||
camelia | rakudo-moar 59f7cb: OUTPUT«Optional block sent» | ||
smls | .tell timotimo How about this as a rudimentary start? gist.github.com/smls/623a9831832a3f20f9e8 | ||
yoleaux | smls: I'll pass your message to timotimo. | 22:07 | |
22:07
Hor|zon left
|
|||
jnthn | demayl: Str really wants to know an encoding | 22:07 | |
japhb | m: sub foo(&a, :&b) { say "Optional block sent" if &b; }; foo({ say "Bar" }); | ||
camelia | ( no output ) | ||
demayl | ok, then how can i store it raw | 22:08 | |
jnthn | demayl: Go with a CArray[int8] or so | ||
demayl | ok, will try, thanks | ||
_edwin | woohoo, rakudo has built and installed to c:\rakudo! (with the JIT disabled) | 22:09 | |
jnthn | _edwin: OK, then it's at least something fairly specific :) | ||
_edwin | and it has the AltGr input problem, which is what I want to take a look at | ||
TimToady | m: my @a; @a»value | 22:10 | |
camelia | rakudo-moar 59f7cb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j32j7PnXHUMissing dot on method callat /tmp/j32j7PnXHU:1------> 3my @a; @a»7⏏5value expecting any of: postfix» | ||
jnthn | Cute :) | ||
TimToady++ | |||
masak | TimToady++! | ||
TimToady | m: my @a; @a» value | ||
camelia | rakudo-moar 59f7cb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ncXO6SItmbMissing postfixat /tmp/ncXO6SItmb:1------> 3my @a; @a»7⏏5 value expecting any of: postfix» | ||
TimToady | m: my @a; @a»/ | 22:11 | |
camelia | rakudo-moar 59f7cb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FdFWCKp6lHMalformed postfixat /tmp/FdFWCKp6lH:1------> 3my @a; @a»7⏏5/ expecting any of: postfix» | ||
masak | yeah, the "Missing dot" is the error message I wish I had gotten. | ||
worthy of a Perl 6 error message. | |||
japhb | .oO( Chief Parse Error Awesomizer ) |
||
22:12
larion joined
|
|||
masak | I want to be an awesomizer when I grow up. | 22:13 | |
22:13
kjs_ joined
22:15
lucas_ left
22:21
anaeem1 left,
anaeem1 joined
|
|||
japhb | I think that's what parents are, really.</themoreyouknow> | 22:21 | |
jnthn gets another early night :) | 22:22 | ||
o/ | |||
masak | 'night, jnthn | ||
22:23
sunnavy left
22:24
sunnavy joined,
kjs_ left,
smls left
22:25
anaeem1 left
|
|||
_edwin | jnthn++, thanks for your help, good night | 22:30 | |
22:30
_edwin left
22:31
Rounin left
|
|||
masak | 'night, #perl6 | 22:32 | |
vendethiel | o/, masak | 22:35 | |
22:35
anaeem1_ joined,
anaeem1_ left,
anaeem1 joined
22:37
BenGoldberg joined
22:38
kjs_ joined
|
|||
dalek | kudo/nom: f5d0bc2 | (Geoffrey Broadwell)++ | src/core/Promise.pm: Support a :&catch argument for start() and Promise.start() This allows timely detection of exceptions thrown by tasks that may not be await'ed for some time (e.g. because they are background tasks not expected to complete for a long time), and mirrors the same parameter on ThreadPoolScheduler.cue(). |
22:39 | |
RabidGravy | nice | 22:40 | |
in lieu of an oct() and in the presence of a string representation of what I know to be an octal number I have been prepending "0o" and calling Int on on it | 22:42 | ||
but that seems shit, is there a better way? | |||
22:42
kaare_ joined
|
|||
TimToady | m: say :8('077') | 22:43 | |
camelia | rakudo-moar dd1310: OUTPUT«63» | ||
RabidGravy | :-* | ||
22:43
skids joined
|
|||
RabidGravy | perfect, I'm just crap at reading the documentation | 22:45 | |
TimToady | m: say :8('0x077') | 22:46 | |
camelia | rakudo-moar dd1310: OUTPUT«119» | ||
TimToady | note it just changes the default | ||
(from decimal) | |||
RabidGravy | TimToady++ # top toad | 22:47 | |
dalek | kudo-star-daily: 43762c3 | coke++ | log/ (9 files): today (automated commit) |
22:48 | |
22:48
spider-mario left
|
|||
RabidGravy | the cases where I've encountered this are in the aforementioned termcap entries with \\(\d\d\d) things and in the /proc/<pid>/fdinfo/<fd> flags field where it is the string representation of the octal flags | 22:50 | |
22:57
mohij left
22:58
kurahaupo1 joined
23:03
raiph joined
23:05
ssutch left
|
|||
jdv79 | what is the p6ism for p5's Storable::dclone? | 23:05 | |
23:09
espadrine left
23:10
kjs_ left
|
|||
japhb | m: my $p = start { my Bool $foo = now; }, :catch({ say "Gotcha! $_" }); say $p.status; sleep 2; say $p.status; | 23:11 | |
camelia | rakudo-moar dd1310: OUTPUT«Unexpected named parameter 'catch' passed in sub start at src/gen/m-CORE.setting:23236 in block <unit> at /tmp/uwxr5ExY8W:1» | ||
japhb | Gah, rebuild not done yet | 23:12 | |
23:12
anaeem1 left,
eli-se left,
ssutch joined,
anaeem1 joined
23:17
anaeem1 left
|
|||
[Coke] | m: say 3 | 23:24 | |
camelia | rakudo-moar f5d0bc: OUTPUT«3» | ||
23:27
chenryn joined
|
|||
RabidGravy | in the p5 version of Term::Cap there is a test for EBCDIC that does "ord('A') == 193 " - I'm right in saying that is useless in p6? (not having an EBCDIC system to test on) | 23:30 | |
I'm inclined to ignore the issue entirely until someone complains and sends a patch | 23:31 | ||
23:31
chenryn left
|
|||
[Coke] | p6 doesn't support ebcdic. | 23:32 | |
RabidGravy | I guess even the last holdouts of it (z/OS ettc) do utf-8 these days | 23:33 | |
23:34
Woodi left
|
|||
RabidGravy | the last time I touched one was almost twenty years ago | 23:35 | |
23:39
atweiden left
23:41
ssutch left,
Woodi joined
23:42
molaf_ joined
23:44
molaf left
23:52
ssutch joined
23:57
kurahaupo1 left
|
|||
jdv79 | how does this error make sense?: "Unsupported use of $# variable; in Perl 6 please use .fmt" | 23:59 |