»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:18
wolfman2000 joined,
raiph left
00:27
fgomez joined
00:35
localhost left
00:37
localhost joined
00:46
benabik joined
00:49
sftp left
00:58
tokuhiro_ joined
01:04
havenn left
01:07
lutok joined
01:09
envi_ left
01:13
scott__ joined
01:15
leprevost joined
01:17
lutok left
01:22
lutok joined
01:24
tokuhiro_ left
01:29
Trashlord left
01:32
Trashlord joined
|
|||
jlaire | masak: (re:your hex blog post) did you consider using knuth's generalized exact cover problem and algorithm, making every square constraint a "secondary column"? knuth says it's more efficient than marshmallows, at least in some cases | 01:43 | |
"A generalized cover problem can be converted to an equivalent exact cover problem if we simply append one row for each secondary column, containing a single 1 in that column. But we are better off working with the generalized problem, because the generalized algorithm is simpler and faster." | |||
it starts on page 17 in knuth's paper, www.ocf.berkeley.edu/~jchu/publicpo...011047.pdf | 01:44 | ||
02:03
japhb_ left
|
|||
lichtkind | good night | 02:06 | |
02:06
lichtkind left,
whiteknight left
02:11
Patterner left
|
|||
diakopter | . | 02:16 | |
sorear | : | 02:21 | |
doy | · | ||
geekosaur | ∴ | 02:22 | |
jlaire | ː | 02:24 | |
02:25
Psyche^ joined,
Psyche^ is now known as Patterner
02:28
false_fisherman joined
|
|||
false_fisherman | anybody online now ? | 02:28 | |
TimToady | nope | 02:35 | |
shachaf | There is only silence and some second-hand clothes. | ||
false_fisherman | I understand | 02:37 | |
tommorow I have an interview | |||
anyway | |||
I wanted to ask | 02:38 | ||
I'm a long-time Perl5 user | |||
like 2007, yea I realize there are people with much more Perl experience around.. | |||
so, what I was going to ask is about Perl6's syntax | |||
I want to port a project of mine to it, mainly because of its expressive power(Perl6's) | 02:39 | ||
but I'm afraid about the syntax changes | |||
and I came here to ask how stable is the current spec | |||
and if you guys realize that it's a risk for someone to write something in Perl6 if you don't freeze the spec in some way or the other | |||
TimToady | for the Perl 5 subset of Perl 6, it's pretty stable | ||
false_fisherman | that subset is quite empty | ||
sorear | The fancier stuff like threads is still in a lot of flux | 02:40 | |
TimToady | we are freezing the spec as fast as we can, but we can't freeze the bits that haven't actually been implemented yet :) | ||
sorear | We mean the semantic subset | ||
Things like 'say $x + $y' are not going to change | |||
false_fisherman | I'm talking about the new features, like infinite lists and various operators you have in Perl6 right now | ||
TimToady | well, it depends on what level you mean to translate at | ||
false_fisherman | I want to put them to good use | 02:41 | |
to take full advantage of them | |||
TimToady | you can write in the subset that corresponds most closely to Perl 5, and that's stable | ||
false_fisherman | but if you guys change the compiler again and my code breaks I won't be very happy | ||
TimToady | well, someone has to be the guinea pig | ||
Perl 6 is still largely for early adopters | |||
geekosaur | that said, I think the places the syntax changes most are the ones that aren't well specced as yet | 02:42 | |
TimToady | large parts of it are largely stable, but we're still converging on a spec that several implementations can implement | ||
sorear | nitpick: we're using a model with several competing compilers | ||
TimToady | and if something breaks, it's likely to be a minor tweak to fix | ||
if you limit yourself to the features that both implementations do well, it's pretty safe; see perl6.org/compilers/features to see which features have green in both columns | 02:44 | ||
02:44
xinming joined
|
|||
sorear | most of the time when people complain of compiler changes breaking their code, it winds up being a case of "that should never have worked to begin with" | 02:46 | |
the P6 spec has a fair amount of undefined behavior, and the implementations don't catch as much as they reasonably could | |||
that reminds me, I need to release niecza today | 02:47 | ||
02:47
xinming_ left
|
|||
false_fisherman | hmm | 02:51 | |
I am trying to figure out | |||
who will be the guinea pig then ? | |||
sorear | TimToady was joking it'd be you | ||
TimToady | people who are willing to try things and then have to tweak them later: "early adopters" | 02:52 | |
sorear | I think if you write sane code you're not in much danger of large disruptive changes | ||
02:52
lutok left
|
|||
false_fisherman | sorear: would you place a bet on that ? | 02:52 | |
sorear | it would not be a bad idea to spec a specific version of a specific compiler | ||
false_fisherman | sorear: I'd bet $100 with you that a 10k line project in Perl6 will need 10% changes after 1 year of Perl6 compiler development | 02:53 | |
oh let's say 20% | |||
to make it more interesting | |||
sorear: would you take that bet ? | |||
TimToady | you'd lose that bet | 02:54 | |
sorear | I wouldn't; I have about half that much money | ||
(I'm a dependant minor) | |||
false_fisherman | TimToady: well, I just lose $100 , I've lost much more money on a lot of ... let's say silly things.. | ||
TimToady | most of the rosettacode entries that were written a year or so ago still work | 02:55 | |
jlaire | how would you define "sane code" | ||
sorear | syntax volatility is a red herring - there are much better reasons to think twice about building stuff on Perl 6 | ||
like the insane amount of memory that Perl 6 interpreters use (both of the major ones want 50+ MBs just to load) | 02:56 | ||
false_fisherman | TimToady: could you tell me a bit about rosettacode, I thought pleac.sourceforge.net/ was the norm in terms of implementing basic stuff in multiple languages | 02:57 | |
sorear | jlaire: insane code, typical example: storing junctions in a variable, updating using | and &, testing with ~~, when a hash table would have done exactly the same thing | ||
false_fisherman | sorear: I got 4GB RAM, and if that's a problem I go to the store and pump this up to 8GB or 16GB if necessary | ||
sorear | sane code is co-RE for me :) | 02:58 | |
false_fisherman: try and count how many Perl 5 interpreters are running on your system right now. | |||
I suspect it is at least 10. | 02:59 | ||
jlaire | I'm actually not sure who I directed that question to, I just thought that judging whether a 10k line project is "sane code" sounds hard :) | ||
sorear | if all of those were replaced with Perl 6 interpreters, it would make a significant dent in your memory supply | ||
false_fisherman | I have some morbo instances.. just 3 I'm afraid | ||
jlaire | false_fisherman: perhaps pleac *was* the norm | 03:00 | |
"Little changes in the top 5 on the last 4 years" | |||
false_fisherman | and their(Perl5 interpretors) mem consumption together is around 0.3% which is 122MB for me.. | ||
not very much | 03:01 | ||
jlaire | you mean 3% ? | ||
add a biggish constant factor to that and it might be significant for some people | 03:02 | ||
false_fisherman | damn, then it's even less | ||
jlaire | although of course you aren't going to replace all those perl5 instances | ||
false_fisherman | 12.2MB | ||
jlaire: thx | 03:03 | ||
I'm a bit concerned about the VM you guys are using | |||
this Parrot thing | |||
I don't know how to put this but.. It doesn't give me too much confidence | 03:04 | ||
sorear | I agree. | ||
TimToady | that's only one of the implementations | ||
false_fisherman | from an outsider's point of view it seems like a castle of cards(Parrot).. and I'm a bit worried because I don't see it being mediatized or given enough attention. I would normally expect when a VM is so great, everybody should praise it at some conference right ? | 03:05 | |
but all I found online were some talks with Alison Randal (if I remember her name correctly) | |||
sorear | No, I mostly make jokes at Parrot's expense. | ||
false_fisherman | isolated talks.. and then .. *poof* .. nothing .. only silence | ||
03:05
cooper joined
|
|||
TimToady | and while rakudo runs on Parrot currently, it's been redesigned to be more portable to other VMs | 03:06 | |
false_fisherman | could Rakudo run without a VM ? | 03:07 | |
TimToady | conceivably | ||
benabik | depends on your definition of VM. | ||
false_fisherman | why not compile the code ? like Python does with .pyc files | ||
TimToady | niecza already runs on mono/.NET | ||
benabik | Aren't .pyc files just python bytecode? | ||
false_fisherman | TimToady: does that mean niecza converts Perl6 => NQP => Mono ? | ||
sorear | false_fisherman: VM is a buzzword, it doesn't have a well-defined meaning | ||
TimToady | no, it goes directly to mon, no nqp | 03:08 | |
*mono | |||
false_fisherman | benabik: didn't know that. you must know more about them than me | ||
03:08
orafu left
|
|||
sorear | false_fisherman: what Python is doing under the hood is very close to what Rakudo does | 03:08 | |
03:08
orafu joined
|
|||
false_fisherman | TimToady: so niecza is a language translator ? | 03:08 | |
sorear: cool, but why does Rakudo need a VM and Python doesn't ? | 03:09 | ||
sorear | with the exception of AUTOCODE and Tcl, I have never seen a serious programming system that *wasn't* a language translator | ||
false_fisherman: python has a VM component, but it comes with python | |||
TimToady | false_fisherman: you're asking a "Have you stopped beating your wife question" | ||
benabik | false_fisherman: Python essentially has a VM used only by itself. | ||
sorear | this is an organizational question | 03:10 | |
doy | perl 5 has a vm too | 03:11 | |
sorear | Python has the huge advantage that their compiler team and VM team don't hate each other | ||
TimToady | likewise Perl 5 as a...what doy said | ||
03:11
swarley joined
|
|||
false_fisherman | doy: oh I didn't know that... I mean, I thought it had some sort of interpretor, I've written XS code and apparently I don't yet know how Perl5 works.. funny.. I mean I really don't know | 03:11 | |
benabik | The difference between an interpreted language (ruby, python, perl 5) and one running on a virtual machine (Parrot, Java, Mono) is that there is a defined interface for a VM separate from the language. | 03:12 | |
sorear | to implement a language, you generally need two components, a compiler (which translates the input language into something simpler) and an interpreter (also called VM) component which runs the simpler form | ||
false_fisherman | doy: when I compiled Perl5 once, I noticed there are many many "onion layers" to building Perl5, like miniperl and so forth, I don't recall the others. in which layer is this Perl5 VM ? | ||
sorear | AUTOCODE and tcl do not have a compiler, the interpreter does everything. | ||
TimToady | miniperl is basically that VM | 03:13 | |
03:13
leprevost left
|
|||
doy | false_fisherman: perl -MO=Concise -e'print 1+$x' | 03:13 | |
sorear | there are several VMs that have defined interfaces that are used by multiple languages | ||
false_fisherman | TimToady it is ?! wow | ||
sorear | Parrot tries to be one, but the only real user is Rakudo | ||
one of the most popular defined VMs is i386, which has several silicon implementations | 03:14 | ||
a number of language implementations rely on i386 as their VM, so the only language-specific part is the compiler | |||
03:14
razorfish joined
|
|||
TimToady | most everything else in the non-mini perl is to get dynamically loadable modules to work, which is the basis of half of CPAN | 03:15 | |
doy | sorear: that's kind of a backwards derivation of the term 'vm' | ||
(: | |||
TimToady | it'a vm that isn't v | ||
sorear | The proper terms are "interpreter" and "hardware interpreter", but I think that might be even more confusing | 03:16 | |
razorfish | hi can rakudo run on 100mb vps | ||
sorear | razorfish: No. | ||
razorfish | why not | ||
sorear | Well, it might, but it will never compile on something that small. | ||
razorfish | I think I can manage that | 03:17 | |
sorear | TimToady: I am curious how much of an immediate effect there was on the community when y'all first got DynaLoader working | ||
razorfish | sorear; do you happen to know the base memory usage for the interpreter | ||
TimToady | running ./perl6 for rakudo makes a process that is 106MB | 03:18 | |
(on a 64-bit machine) | |||
and how big is a millibit, anyway? | |||
sorear | n: say 0.001 * ln(2), " nats" | 03:19 | |
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Undeclared routine: 'ln' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /home/p… | ||
sorear | n: say 0.001 * lg(2), " nats" | ||
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Undeclared routine: 'lg' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /home/p… | ||
sorear | n: say 0.001 * log(2), " nats" | ||
p6eval | niecza v15-6-gefda208: OUTPUT«0.00069314718055994533 nats» | 03:20 | |
sorear blinks | |||
why is log computing the natural logarithm? should it? | |||
p6: say log 10 | |||
p6eval | niecza v15-6-gefda208: OUTPUT«2.3025850929940459» | ||
..pugs: OUTPUT«2.302585092994046» | |||
..rakudo 57a681: OUTPUT«2.30258509299405» | |||
TimToady | natural logarithms are rather, er, natural... | 03:21 | |
jlaire | that's what it does on Perl 5 | ||
sorear | natural logarithms are ln, common logarithms are log, binary logarithms are lg | ||
TimToady | perl6: say log10(100) | ||
p6eval | pugs, rakudo 57a681, niecza v15-6-gefda208: OUTPUT«2» | ||
jlaire | that's my favourite convention, too | 03:22 | |
since ln exists | |||
03:23
sftp joined
|
|||
swarley | I realize this is a very broad question, but why does rakudo require so much memory? | 03:26 | |
razorfish | Because it has to allocate magnets. | 03:27 | |
swarley | but... how do magnets work? | ||
benabik | Because neither Rakudo nor Parrot have really been optimized for memory usage. | ||
sorear | Very well, thank you. | ||
swarley | ah | 03:28 | |
yeah that makes sense | |||
sorear | I'm more inclined to blame massive layering of abstractions | ||
swarley | lol | ||
benabik | And they are currently in an awkward stage where Rakudo reimplemented a pile of things that Parrot has. So there's much duplication. :-/ | ||
sorear | You build a tower of abstractions ten deep with a 3-fold penalty at each layer and you're wondering why it barely works | ||
TimToady | memory usage will go down as objects get reimplemented to look more like structs and less like hashes | 03:29 | |
swarley | i tried a little work at making faux objects in C with structs before. | ||
failed miserably | 03:30 | ||
because i learned i should stick with scripted languages where i belong | |||
sorear | *blink* | 03:36 | |
I refuse to beleive that people like that exist. | 03:39 | ||
03:39
sftp left
|
|||
TimToady | um, then why are you working on a language for such people? :) | 03:40 | |
swarley | indeed | ||
sorear | I refuse to beleive that people exist who are *incapable* of writing their own object system | 03:41 | |
jlaire | o_O | 03:42 | |
sorear | I readily beleive that people have better things to do witht their time | ||
swarley | o-o | ||
TimToady | I know lots of people who couldn't, but are otherwise pretty competent | ||
razorfish | I'm incapable of understanding that statement sorear | 03:43 | |
TimToady | but "couldn't" is taking personal proclivities into account, fersure | ||
swarley | I dont see why the average programmer would be able to set up oo in C ._. if so then i should quit now | ||
jlaire | well, average programmers (with enough time) can become above average programmers | 03:44 | |
swarley | i like to think im above average.. with scripting | ||
doesnt mean that is true of course | 03:45 | ||
jlaire | some of the more elaborate attempts at doing oo in C make me wonder why didn't they just use another language... | ||
swarley | lol | ||
TimToady | "theoretically could" is a relatively uninteresting concept to me, druther help people where they are and wait for them to be ready to learn later | 03:46 | |
03:46
icwiener joined
|
|||
sorear | colomon: ping | 03:57 | |
dalek | ecza: 28ed094 | sorear++ | docs/announce.v16: Add announce.v16 |
04:00 | |
04:02
wolfman2000 left
04:06
_jaldhar joined
04:14
ashleydev left,
ashleydev joined
04:21
havenn joined
04:28
envi_ joined
|
|||
sorear | running a spectest currently | 04:34 | |
04:41
havenn left
04:50
fgomez left
04:52
NamelessTee joined
04:53
fgomez joined,
icwiener left
04:54
icwiener joined
04:55
icwiener left
04:59
fgomez left
05:04
fgomez joined
|
|||
sorear | hmm, failed 3 chdir tests | 05:06 | |
05:16
havenn joined
|
|||
sorear | ah, symlink artifact | 05:16 | |
05:21
odoacre left
05:22
alvis left
05:26
birdwindupbird joined
05:27
kaleem joined,
havenn left
05:37
havenn joined,
havenn left
05:40
envi_ left
|
|||
moritz | \o | 05:42 | |
sorear | o/ moritz | 05:44 | |
hmm, think I'll have to release without colomon | |||
05:45
eternaleye left
05:51
eternaleye joined
05:54
NamelessTee left,
eternaleye left,
eternaleye joined,
eternaleye left
05:55
eternaleye joined
|
|||
sorear | release complete. | 06:06 | |
dalek | ecza: 5294701 | sorear++ | FETCH_URL: Update bootstrap to v16 |
||
moritz | sorear++ # v16 | 06:11 | |
.oO( twice as advanced as v8! ) |
|||
06:19
wtw joined
|
|||
cxreg | is perl6.org/compilers/features still current? | 06:40 | |
tadzik | I think so | ||
06:41
am0c joined
07:07
am0c left
07:15
razorfish left
07:21
razorfish joined,
razorfish left,
razorfish joined
07:27
mj41 joined
|
|||
moritz | cxreg: mostly, yes | 07:34 | |
I think there are a few phasers that rakudo now implements but which still have a - there | |||
but all in all it's rather up to date | 07:35 | ||
07:48
pernatiy left
07:49
havenn joined,
mucker joined
07:56
xinming_ joined,
noteventime joined
07:57
xinming left
08:00
fglock left,
fglock joined
|
|||
masak | good antenoon, #perl6 | 08:04 | |
arnsholt | Moin, masak | ||
phenny | arnsholt: 26 Mar 20:23Z <jnthn> ask arnsholt what else does it currently depend on? | ||
arnsholt: 26 Mar 20:28Z <jnthn> tell arnsholt anyways, patches that improve Zavolaj portability are welcome. | |||
masak | n: my @a = [[1, 2], [3, 4]], [[5, 6], [7, 8]]; say @a[1;0;1] | 08:07 | |
p6eval | niecza v16-1-g5294701: OUTPUT«6» | ||
masak | wow! | ||
sorear: another boon of a release: it's easier to learn of new changes from a well-written monthly release announcement than from a month's trickle of commit messages. | 08:08 | ||
does S09 actually permit non-multidimensional arrays to be accessed that way? | 08:11 | ||
I guess it doesn't hurt -- but I hadn't read it that way. | |||
specifically, S09:753: "Arrays by default are one dimensional, but may be declared to have any dimensionality supported by the implementation." | 08:16 | ||
sorear | that is my (somewhat broad) interpretation of S09:803 | 08:17 | |
masak | I was just getting to that one... :) | 08:18 | |
"For all multidimensional array types..." | |||
but it doesn't say anything about the one-dimensional arrays. | |||
moritz | IMHO autovivifcation gives array a kind of ad-hoc multidimensionality | 08:19 | |
masak | I actually think I agree with Niecza's interpretation, but I think S09 is pretty vague there. | ||
moritz | so it's OK to treat normal arrays as multidimensional | ||
sorear | my current feeling on the matter is that all Array types have the potential to be multidimensional with the right shape | 08:20 | |
also it seems to me that all arrays except infinite rank ones behave semantically as trees | |||
moritz | how so? | 08:24 | |
sorear | I think that was a stale thought | ||
one thing that is quite relevant to implementation is TimToady's comment that my @foo[*;*;*] declares a jagged array | 08:29 | ||
so some kind of tree-ish storage is most likely needed | 08:30 | ||
I am also still quite undecided on how laziness should interact with higher-rank arrays | |||
masak | jlaire: I'm well aware of the generalized version of the exact cover problem. I spent my commute thinking about whether the marshmallow's can be represented that way, and I really don't think so. let me know if you're seeing something I'm missing. | 08:31 | |
mashmallows* | |||
sorear | what's this about exact covers? | 08:32 | |
masak | sorear: strangelyconsistent.org/blog/counti...igurations irclog.perlgeek.de/perl6/2012-03-27#i_5355614 | ||
jlaire | masak: okay, I maybe didn't think it through | ||
sorear spent the afternoon reading _Reducability among Combinatorial Problems_ by Richard M. Karp for no particular reason | |||
masak | sorear: was it any good? | 08:35 | |
(and does the title really contain a typo?) :P | 08:36 | ||
sorear | probably not, where? | ||
I wouldn't really classify it as good/not good | |||
jlaire | masak: wouldn't it work if every column was a secondary column? (except for the fixed l12 piece) | 08:37 | |
sorear | I kind of wish I could find the same content in a source that uses modern language AND ISN'T A FLEEPING PDF SCAN | ||
mikemol | false_fisherman: When I created Rosetta Code five years ago, I didn't know about PLEAC. There are a bunch of other side-by-side comparison sites out there, too. | ||
masak | sorear: it must be spelled "reducIbility", because "reducAbility" would make the "c" come out as /k/ | ||
sorear | yes, it's printed as REDUCIBILITY | 08:38 | |
the document contains a large number of typos, but that isn't one of them ;) | |||
mikemol | false_fisherman: I couldn't tell you what sets RC apart from PLEAC or progopedia, though. Maybe that I/we have tried to respond to users' feature requests to make things more convenient. (I haven't always been successful at that, though) | 08:39 | |
sorear | I hate reading proofs with typos in them | ||
jlaire | adding rows with exactly one 1 for each column (the marshmallows) just sounds like they could just as well be treated as secondary columns | ||
08:40
mj41 left,
havenn left
|
|||
moritz | occcasionally I fantasize about writing a math or CS text book that uses two columsn everywhere, the left column describing everything in prose, the right column containing the formalism | 08:41 | |
in such a way that you can read either or both, depending on how well you can deal with formalisms, and what interests you | 08:42 | ||
sorear | do you mean like, normal math books formalism, or statements of FOL+ZFC craziness? | 08:43 | |
btw, masak, following release.txt worked ;) | 08:44 | ||
jlaire | .oO( three columns ) |
||
sorear | masak: the document to which I refer is where NP-completeness started - definitions and the original 21 problems | 08:45 | |
some of the reductions, like chromatic number, don't seem to ever get given except as references | 08:46 | ||
masak | sorear: I'm looking at it now. it looks like a tempting read. | ||
sorear | it needs more prose in the second half | 08:47 | |
masak | moritz: one of the best math books I've ever read contained in the introduction "ok, this book is a bit informal. but the idea is that you'll be able to formalize at your convenience, whereas going in the other direction is difficult" | ||
sorear | I think that in the reduction for chromatic number, all the xs are supposed to be us; and in the edge set definition, sigma quantifies over both x and x-bar, and there's at least one missing bar | 08:48 | |
couldn't follow it at all until i figured out the form of the colorings that would be found | 08:49 | ||
08:49
sudokode left
|
|||
sorear | and, erm, --->sleep | 08:49 | |
moritz | masak: well, that's what I want, except that I don't want to force you to formalize if you want the formalism; it would be right there for your convenience | ||
masak | 'night, sorear. dream of Karps in clear water. :) | ||
moritz: (that introduction also contains the gem "oh btw, epicycles are equivalent to Taylor expansions") | 08:50 | ||
08:52
HarryS left
|
|||
moritz | masak: which book is it? | 08:53 | |
08:53
dakkar joined
|
|||
masak | usf.usfca.edu/vca// | 08:56 | |
08:57
HarryS joined
09:02
mj41 joined
|
|||
masak | sorear: backlogging over you refusing to believe that people exist who are incapable of implementing their own object system. you remind me of rational!Harry, always disappointed in normal people. | 09:02 | |
moritz | most people aren't even capable of implementing their own objects</Quirrel> | 09:07 | |
masak | :P | 09:08 | |
moritz | ... and if the glass is 90% full, the empty 10% show that nobody /really/ cares about water :-) | 09:09 | |
09:10
DarthGandalf left
09:17
DarthGandalf joined
09:22
swarley left
09:51
daxim joined,
DarthGandalf left
09:55
noteventime left
09:56
lutok joined
10:11
scott__ left
10:14
icwiener joined
10:20
DarthGandalf joined
|
|||
masak | speaking of which -- we've been promised a HPMoR episode later today. by European clocks it'll show up in the middle of the night, though. | 10:22 | |
colomon | phenny: tell sorear Sorry, I was sound asleep when you pinged me. | 10:25 | |
phenny | colomon: I'll pass that on when sorear is around. | ||
daxim | haha, it will be delayed again | 10:28 | |
10:49
Teedev joined
10:51
kaleem left,
NamelessTee joined
10:53
zhutingting joined
11:04
pernatiy joined
11:26
zhutingting left
11:47
NamelessTee left
11:51
benabik left
11:52
derrazo joined
11:54
kaleem joined,
kaleem left
11:56
kaleem joined
11:58
kaleem left,
kaleem joined
12:02
Teedev left
|
|||
masak | perl6: sub circumfix:<| |>($n) { abs $n }; say |-42| | 12:09 | |
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Confusedat /tmp/lEzMLd4t0_:1» | ||
..niecza v16-1-g5294701: OUTPUT«===SORRY!===Bogus term at /tmp/TZZVJH4vLT line 1 (EOF):------> ircumfix:<| |>($n) { abs $n }; say |-42|⏏<EOL>Parse failed» | |||
..pugs: OUTPUT«***  Unexpected end of input at /tmp/4SDrZj8mbI line 2, column 1» | |||
12:09
skids left
|
|||
moritz | masak: note that there's a prefix:<|> already | 12:09 | |
masak | indeed. | ||
perl6: sub circumfix:<|| ||>($n) { abs $n }; say ||-42|| | 12:10 | ||
p6eval | pugs: OUTPUT«***  Unexpected end of input at /tmp/g8YuxyyQQq line 2, column 1» | ||
..rakudo 57a681: OUTPUT«===SORRY!===Confusedat /tmp/EaRpnzfQ68:1» | |||
..niecza v16-1-g5294701: OUTPUT«===SORRY!===Bogus term at /tmp/oMLGO0QAOL line 1 (EOF):------> mfix:<|| ||>($n) { abs $n }; say ||-42||⏏<EOL>Parse failed» | |||
masak | next youl'' be telling me that there's a prefix:<||> too :P | ||
you'll* | 12:11 | ||
12:12
dalek left
|
|||
masak | perl6: sub infix:<·> (@a,@b) { [+] @a »*« @b }; say (1, 2, 3) · (2, 3, 4) | 12:12 | |
p6eval | pugs, rakudo 57a681: OUTPUT«20» | ||
..niecza v16-1-g5294701: OUTPUT«Rebuild in progress» | 12:13 | ||
masak | heh :) | ||
TimToady: re gist.github.com/1951347 -- I just found groups.google.com/group/perl.perl6...2352badfe2 from 2005. | 12:16 | ||
also, fun fact: back in 2005-04-08, &say in Perl 6 defaulted to $_. | 12:18 | ||
12:21
p6eval left
12:22
p6eval joined,
ChanServ sets mode: +v p6eval
12:24
benabik joined
12:31
icwiener left,
icwiener joined
|
|||
masak | .can answers the question "is there a method with this name?" | 12:33 | |
what would I use to answer the question "will a method with this name dispatch with these arguments?" | |||
moritz | masak: take a look at MAIN_HELPER | ||
masak: it does exactly that | 12:34 | ||
12:40
xenu left
|
|||
masak takes a look | 12:41 | ||
哈哈 hack-val() | 12:43 | ||
12:43
mucker left
|
|||
masak | ah, .candidates_matching | 12:45 | |
12:45
fgomez left
12:47
xenu joined,
tokuhiro_ joined,
xenu is now known as Guest57372
|
|||
masak | r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o.WHAT | 12:50 | |
p6eval | rakudo 57a681: OUTPUT«Odd()» | ||
masak | \o/ | ||
r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o | |||
p6eval | rakudo 57a681: OUTPUT«Odd()» | ||
masak | r: subset Odd of Int where { $_ %% 2 }; my Odd $o; say $o ~~ Odd | 12:51 | |
p6eval | rakudo 57a681: OUTPUT«True» | ||
moritz | r: subset Odd of Int:D where { $_ %% 2 }; my Odd $o; say $o ~~ Odd | ||
p6eval | rakudo 57a681: OUTPUT«True» | ||
moritz | these type modifiers (do they have a name?) are only implemented in signatures yet | 12:53 | |
masak | I hereby dub them "type smilies". | 12:56 | |
12:56
araujo left
|
|||
moritz | +1 | 12:56 | |
12:58
araujo joined
|
|||
masak | r: my @array = ' foo ', ' bar '; @array .= trim; say @array.perl | 13:00 | |
13:01
p6eval left
|
|||
masak | whoa. | 13:01 | |
13:01
sftp joined
|
|||
masak | moritz: I killed p6eval :/ | 13:01 | |
PerlJam | type smilies? | ||
Only one of them resembles a smiley that makes any sense to me :) | 13:02 | ||
13:02
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 1 | 13:02 | |
fwiw the p6eval on feather3 now runs niecza, rakudo, b and std | 13:03 | ||
masak | PerlJam: you've never had a day when you were all, like, :U ? :P | ||
p6eval | rakudo 57a681: OUTPUT«Array.new("foo bar")» | ||
rakudo 57a681: OUTPUT«1» | |||
masak | p6eval: 哈哈 | ||
moritz | wait, what? p6eval reports output form before its disconnect? | 13:04 | |
masak | how... persistent. | ||
moritz | that line reminds me of the movie "keeping mum" | ||
"that's a persistent little fellow" # about a dog that barks all night long, and then dies a sudden, sad death | 13:05 | ||
13:05
PacoAir joined
|
|||
masak .oO( no pugs were harmed during the production of this movie ) | 13:07 | ||
colomon | \o/ Appear to have successfully built Niecza on my 64-bit Windows box! | 13:17 | |
PerlJam | colomon: yay! Now package it up for distribution :) | ||
colomon | PerlJam: don't need to, sorear posts a binary for every release that works fine. | 13:18 | |
I'm just celebrating having a working toolchain for it. :) | |||
had to install wget and unzip on cygwin | 13:19 | ||
as well as mono | |||
PerlJam | oh, then you should tell the rest of the world about your toolchain :) | ||
colomon | (even though I have .NET, niecza uses the mono C# compiler | ||
) | |||
moritz | \o/ pugs works now on feather3 | 13:20 | |
colomon | \o/ | ||
masak | so, I got curious why anyone would want to write things like github.com/rakudo/rakudo/blob/nom/...ine.pm#L29 | ||
(define a lexical sub and then call it) | |||
so I commented it out and re-ran the spectests. | 13:21 | ||
sure enough, main-eval and main-usage fail. so it's clearly not a no-op. | |||
my current is that it somehow matters that the pir::find_lex__Ps('call_sig') is done from a sub, not a method. | 13:22 | ||
s/current/current hypothesis/ | |||
moritz | yes, because the method has 'self' in the call sig | ||
masak | right. | 13:23 | |
moritz | but then, why can't you use $c directly, instead of $cap? | ||
r: class A { method x(|$c) { $c } }; say A.x().[0].WHAT | |||
p6eval | rakudo 57a681: OUTPUT«Any()» | 13:24 | |
masak | hm, nqp value vs Rakudo value? | ||
moritz | hm, maybe | ||
r: class A { method x(|$c) { $c } }; say A.x().elems | |||
p6eval | rakudo 57a681: OUTPUT«0» | ||
moritz | r: class A { method x(|$c) { pir::find_lex__Ps('call_sig') } }; say A.x().elems | ||
p6eval | rakudo 57a681: OUTPUT«Method 'elems' not found for invocant of class 'CallContext' in block <anon> at /tmp/h93iDKzvMn:1» | ||
masak | I can compile and spectest using $c directly. | 13:25 | |
13:25
ascent_ left,
ascent_ joined
|
|||
moritz | never mind | 13:25 | |
r: class A { method x(|$c) { $c } }; say A.x().WHAT | |||
p6eval | rakudo 57a681: OUTPUT«Capture()» | ||
moritz | it's Capture vs. CallContext | ||
masak | oh! | ||
masak aborts build | |||
moritz | anyway, a comment explaining that wouldn't go amiss | 13:26 | |
masak | noted. | ||
moritz | masak: do you want to do it, or should I? | 13:27 | |
13:27
ascent_ left
|
|||
masak | I'm on it. | 13:28 | |
isn't $cap a bad name for that variable, if it's really a CallContext? :P | |||
can I rename it to ccxt? | |||
moritz | just name it $call-context | 13:29 | |
well, it's a low-level capture | |||
on a different VM it wouldn't be called CallContext | |||
so maybe $cap isn't too bad after all | 13:30 | ||
Juerd | cxt is a weird abbreviation. | ||
masak | then I'm keeping it. | ||
PerlJam | conservation of characters in variable names is often a mistake too | ||
13:30
envi_ joined,
kaleem left
|
|||
Juerd | PerlJam: Yes. And it's one more thing to remember? | 13:30 | |
PerlJam | say what the thing is with a comment as to why and it'll make much more sense N months from now for the next guy | ||
Juerd | Did we abbreviate 'message' as 'mess', 'mesg', or 'msg' today? | 13:31 | |
'conf', is that 'conference call' or 'configuration'? | |||
moritz likes "mess", but for the wrong reasons :-) | |||
masak | 'cxt' is common in Parrot source code, fwiw. | ||
PerlJam | moritz: are you sure they're the wrong reasons? :) | ||
Juerd | masak: That's unfortunate. In at least one other place, context is usually abbreviated as ctx | 13:32 | |
PerlJam | masak: is that an argument for or against it? ;) | ||
Juerd | Equally weird, though. | ||
moritz | r: qr/a/ | ||
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Confusedat /tmp/l6Kla5xJjH:1» | ||
moritz | std: qr/a/ | ||
p6eval | std 3c2fb9c: OUTPUT«===SORRY!===Bogus term at /tmp/VCSFvELZy7 line 1 (EOF):------> qr/a/⏏<EOL>Undeclared routines: 'a' used at line 1 'qr' used at line 1 (in Perl 6 please use rx instead)Parse failedFAILED 00:01 109m» | ||
masak | Juerd: ah -- 'ctx' it is. I'm just being confused. | 13:34 | |
Juerd | I think that does kind of prove our point :) | ||
masak | actually, 'cxt' would've made more sense as an abbreviation, in my eyes. maybe that's why I got it wrong. | 13:35 | |
and I don't think it's the first time I get it wrong. | |||
moritz | ConteXT vs. ConTeXt | ||
masak | right. when was the last time you abbreviated something by choosing the first, fourth and sixth characters? :) | 13:36 | |
PerlJam | so ... abbreviations serve to add confusion. QED :) | 13:37 | |
moritz | there's a certain tendency to chose those characters that stand out when pronouncing it | ||
13:40
smash joined
13:41
smash left,
GlitchMr joined,
skids joined
|
|||
GlitchMr | perl6: print $a // ':)' | 13:41 | |
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Variable $a is not declaredat /tmp/0KLNtZ33d7:1» | ||
..pugs: OUTPUT«***  Unexpected " //" expecting "::" Variable "$a" requires predeclaration or explicit package name at /tmp/Lks2_WaoBt line 1, column 9» | |||
..niecza v16-1-g5294701: OUTPUT«===SORRY!===Variable $a is not predeclared at /tmp/mGxCouGiEJ line 1:------> print ⏏$a // ':)'Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/… | |||
GlitchMr | :) | 13:42 | |
13:42
fsergot joined
|
|||
benabik | perl6: print (my $a) // ':)' | 13:42 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/Oe7j38K1oi line 1:------> print (my ⏏$a) // ':)':)» | ||
..pugs, rakudo 57a681: OUTPUT«:)» | |||
fglock | perlito development slows down considerably # got a new camera to play with :P | ||
fsergot | o/ #perl6 | ||
GlitchMr | I guess this makes sense... | ||
13:42
kaleem joined
|
|||
moritz | fglock: automate it with Perl 6 :-) | 13:42 | |
GlitchMr | There is no reason why you would want to check if variable exists or not... | ||
13:43
icwiener left
|
|||
tadzik | snarkyboojum: btw, you did have some experience with running Rakudo on Nokia N900, right? | 13:43 | |
fglock | moritz: I will :) | ||
13:43
icwiener joined
|
|||
GlitchMr | ... or maybe there is... you use module and you want to check if module has certain sub... | 13:43 | |
But that is for subs, it doesn't make sense for variables... | |||
moritz | GlitchMr: I can't make much sense of what you say | 13:44 | |
GlitchMr | Whatever... | ||
moritz | GlitchMr: // doesn't check for the existence of variables | ||
GlitchMr | Makes sense... | ||
moritz | GlitchMr: and importing stuff from modules is done at compile time, so you just use them, and if they are not exported, the compiler whines | ||
GlitchMr | Well, it's not like Perl has need for feature detection... unlike JavaScript for example... | 13:45 | |
masak | GlitchMr: there are ordered ways to introspect package stashes. but they don't look like normal uses of a variable, and with good reason. | ||
fglock | maybe chdk.wikia.com/wiki/CHDK and run perl6 in the camera... | 13:48 | |
they seem to have "ubasic" and Lua | 13:49 | ||
moritz | evalbot rebuild nom | 13:51 | |
p6eval | OK (started asynchronously) | ||
13:52
ponbiki joined
|
|||
colomon | celebrated too soon about niecza | 13:56 | |
I couldn't spectest because of CRLF line endings | |||
so I tried to change the autocrlf just for niecza's directory, then re-checkout and rebuild. But the build is failing now. :( | 13:57 | ||
13:58
pmurias joined
|
|||
moritz | r: qr/a/ | 13:59 | |
p6eval | rakudo 57a681: OUTPUT«===SORRY!===Confusedat /tmp/2H_WuMQ1Ue:1» | ||
moritz | dalek: where are you? | ||
phenny: ask sorear can you please help me to set up dalek on feather? or even better, do it yourself :-) | 14:00 | ||
phenny | moritz: I'll pass that on when sorear is around. | ||
pmurias | fglock: "re dropped support for d8 shell (v8 javascript)" you are aware that node also uses the v8 javascript engine? | 14:04 | |
14:04
icwiener left,
kaleem left,
icwiener joined
|
|||
fglock | pmurias: it's not really dropped, but v8 can't do the operations needed by "use" (file test, for example) - but maybe it can be faked with try/catch | 14:06 | |
14:07
kaleem joined
|
|||
fglock | also d8 can't read PERL5LIB, it seems | 14:08 | |
it's not about the engine, but the missing system extras | 14:09 | ||
14:10
tokuhiro_ left
|
|||
colomon | \o/ niecza spectest now running on 64-bit Windows. | 14:11 | |
fglock | pmurias: Perlito5/Grammar/Use.pm - now implements all the module-loading stuff in pure-perl | 14:12 | |
there are 2 modes, "precompilation" and "normal", because I haven't figured out yet how to dump the full state | 14:14 | ||
[Coke] | # 03/26/2012 - rakudo++ ; niecza (96.15%); pugs (38.93%) | 14:19 | |
"niecza", 20312, 1, 756, 1534, 22603, 23760 | |||
"pugs" , 8226, 1, 3020, 1344, 12591, 23569 | |||
"rakudo", 21125, 37, 626, 1888, 23510, 24026 | |||
(hasn't been much change since I posted last.) | |||
14:21
cogno joined
14:22
shinobicl left
|
|||
moritz has been adding O(1) tests per day | 14:22 | ||
[Coke] | pugs: say 3.Int | 14:27 | |
p6eval | pugs: OUTPUT«*** No such method in class Int: "&Int" at /tmp/xJZCu5WF8L line 1, column 5 - line 2, column 1» | ||
[Coke] | Is there a blocker to rebuilding pugs on the evalbot? | 14:28 | |
anything I can help with? | |||
moritz | [Coke]: it's built from git on feather1 now, and rsync'ed to feather3 | 14:29 | |
[Coke]: so as soon as p6eval migrates, it'll happen automatically | |||
[Coke] | moritz: why is it using an old version, then? | ||
ha | |||
er, "ah" | |||
14:29
cogno left
|
|||
moritz | I just need to set up some cron jobs, and maybe set up some more compilers | 14:30 | |
colomon | 96.15%? That's completely unacceptable! | ||
I need to get off my ass and get back to work... | 14:31 | ||
14:32
benabik_ joined
14:35
benabik left,
benabik_ is now known as benabik
14:38
cogno joined,
razorfish left
|
|||
GlitchMr | niecza: use Threads | 14:41 | |
p6eval | niecza v16-1-g5294701: ( no output ) | ||
14:44
cogno left
|
|||
moritz | r: qr/a/ | 14:45 | |
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Unsupported use of qr for regex quoting; in Perl 6 please use rx//at /tmp/k9LQMnuSEh:1» | ||
14:48
ponbiki left
|
|||
arnsholt | phenny: tell jnthn Zavolaj only depends on having a compiler and getting the dynamic loader to find the compiled libs (both of which have caused me grief). The idea of only depending on stdlib is minimising the number of moving parts not directly related to loading a lib and calling functions. | 14:48 | |
phenny | arnsholt: I'll pass that on when jnthn is around. | ||
14:48
ponbiki joined
|
|||
GlitchMr | niecza: use Threads; Thread.new({ print 2 }) | 14:48 | |
p6eval | niecza v16-1-g5294701: OUTPUT«2» | ||
GlitchMr | Weird... why it doesn't work for me..0. | 14:49 | |
moritz | arnsholt: I might be missing something, but if you want to actually test dynamic *loading* (and not just calling), don't you *have* to do load some lib that is not standard (and thus automatically available)? | ||
arnsholt | That's a fair point, I guess | 14:51 | |
I'll think about it on my way home, but I've got to run now, unfortunately | |||
moritz | arnsholt: btw does the test suite work for you, out of the box? | ||
moritz needs to fiddle with some LD_ vars to make it run | 14:52 | ||
arnsholt | Yeah, I've had a fair amount of trouble with that | ||
GlitchMr | Unsupported use of \ with sigil; nowadays please use \ without sigil at c:\Users\GlitchMr\niecza\lib\Threads.pm6 line 161: | ||
I guess it's... weird... | |||
arnsholt | Which is why I sort of want to only call out to stdlib =) | 14:53 | |
But. Off to make dinner for mother- and aunt-in-law | |||
I'll be back! | |||
moritz imagines arnsholt in arnold-voice | |||
GlitchMr | std: sub infix:« <== »(\$output, @input) is Niecza::absprec<f=> is export { } | ||
p6eval | std 3c2fb9c: OUTPUT«Potential difficulties: Unsupported use of \ with sigil; nowadays please use \ without sigil at /tmp/NKZ1Zmi6B3 line 1:------> sub infix:« <== »(\$output⏏, @input) is Niecza::absprec<f=> is expo @input is declared but not used at /tmp/NKZ1Zmi6… | ||
GlitchMr | I'm confused... | 14:54 | |
moritz | GlitchMr: maybe your copy of niecza is out of place? | 14:55 | |
or parts of that copy | 14:56 | ||
GlitchMr | I don't know. I've downloaded "niecza-16.zip — Niecza v16 (2012.03.26) binary compiler release" and it seems to cause issues... | ||
14:57
thou joined
|
|||
GlitchMr | OK, it now accepts that "\$output", but I have other problem. I can use it, but trying to Thread.new({print 2}) causes freeze with full one CPU core usage | 15:00 | |
What is interesting is that it works in REPL... | 15:01 | ||
Now I'm really confused about it... | 15:02 | ||
moritz | might be a different mono version than what p6eval uses | ||
15:02
kaare_ joined
|
|||
GlitchMr | My mono version is "Microsoft .NET Framework 4"... | 15:04 | |
moritz | that is a difference, I assume :-) | 15:05 | |
GlitchMr | niecza: use Threads; print Thread.new({}) # I like edge cases! | 15:09 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Unhandled Exception: Unable to resolve method postcircumfix:<( )> in class Hash at <unknown> line 0 (ExitRunloop @ 0) » | ||
15:10
NamelessTee joined
|
|||
GlitchMr | perl6: open my $file, '<', '/dev/random' | 15:12 | |
p6eval | rakudo d18aab: OUTPUT«open is disallowed in safe mode in sub restricted at src/SAFE.setting:2 in sub open at src/SAFE.setting:5 in block <anon> at /tmp/kXYDoGaun7:1» | ||
..niecza v16-1-g5294701: OUTPUT«Rebuild in progress» | |||
..pugs: OUTPUT«*** Unsafe function 'Pugs::Internals::openFile' called under safe mode at Prelude.pm line 308, column 13-61» | |||
masak | niecza: use Threads; print Thread.new({;}) | 15:13 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Thread()<instance>» | ||
GlitchMr | Also, I'm not sure if it's intentional... | 15:19 | |
$ echo 'use Threads; Thread.new({print 2})' | niecza | |||
niecza> Thread.new(...) | |||
niecza> 2 | |||
It's something that Python interpreter can deal with, even "python" is REPL :P... | 15:20 | ||
even if "python"* | |||
15:22
derrazo_ joined
15:23
derrazo left
|
|||
masak | GlitchMr: again, it is not clear what you want to highlight. | 15:25 | |
the output looks correct to me. | |||
GlitchMr | Well, it shows REPL, but the input is not from /dev/tty :P... | ||
masak | though why you'd want to pipe echo into the REPL I cannot say. | ||
it shows the REPL, because you called 'niecza' without command-line arguments. | 15:26 | ||
you seem to be of the opinion that it should behave differently. | |||
(and maybe it should) | |||
PerlJam is of that same opinion | |||
(input piped from stdin shouldn't invoke the REPL) | 15:27 | ||
geekosaur | REPL is fine if it behaves sanely in that context; defaulting the prompt to the emoty string is common, for example (and is what original /bin/sh did; follow-ons also need to do things like disabling interactive signal management and job control etc.) | 15:29 | |
^emoty^empty | |||
GlitchMr | Also: | 15:30 | |
$ printf '{;\n}; print 2;' | perl | |||
2 | |||
$ printf '{;\n}; print 2;' | niecza | |||
niecza> ←===←SORRY!←===← | |||
It doesn't happen if I will skip this \n, but I think that's something connected to that REPL... | |||
moritz | note that perl 5 doesn't have a REPL | ||
GlitchMr | I know :P | ||
masak | and that the perl executable actually reads a program from STDIN, without a prompt. | 15:31 | |
GlitchMr | OK, better example... | ||
$ printf 'if 1:\n print True' | python | |||
True | |||
15:31
derrazo_ left
|
|||
geekosaur | indeed, it's occasionally annoying (although at the same time it ends up doing the same thing I do in mini-shell scripts at a shell prompt...) | 15:31 | |
GlitchMr | ... but wait... | ||
... that's wrong example anyways... Python catches linebreaks... | 15:32 | ||
benabik | Python uses istty() to decide if it should use a REPL. | ||
I'm not sure that's simple to do in mono. | |||
moritz | GlitchMr: your point is that niecza (and rakudo too) compile each line separately in the REPL, right? | ||
GlitchMr | That's also sort of problematic... | ||
moritz | ie, don't ask for more input if there are unopened strings or so | ||
GlitchMr | Something like in Node.js shouldn't be hard to do :P... | 15:33 | |
moritz | GlitchMr: then do it. | ||
GlitchMr | Get line, check grammar, get another line, check grammar... | ||
15:33
fglock left
|
|||
GlitchMr | As for prompt being part of output, what about using STDERR for prompt if compiler is not sure if it is TTY or not... | 15:34 | |
15:36
zipf joined
|
|||
moritz | but the prompt isn't an error, so has no business being on STDERR | 15:37 | |
GlitchMr | Right... | ||
And it would spam console... that's bad idea... | |||
moritz | spamming IRC with repeated ... is also a bad idea :-) | 15:38 | |
GlitchMr | !!! | ||
masak .oO( repeated what? why are you using pauses all the time? ) | |||
moritz | r: !!! | ||
p6eval | rakudo d18aab: OUTPUT«Stub code executed in block <anon> at /tmp/wKjSwV0YgK:1» | ||
PerlJam | masak: maybe english is his second language and he learned it from Captain Kirk on old Star Trek reruns | 15:39 | |
15:40
shinobicl joined
|
|||
masak | :P | 15:41 | |
I don't mind GlitchMr being using ellipses. except when he uses them instead of saying what he wants. :) | 15:42 | ||
s/being // | |||
15:44
pernatiy left,
pernatiy joined
|
|||
GlitchMr | "cat file | perl" is usually identical to "perl file" (except for few minor details, like $0 variable...) | 15:45 | |
But it doesn't work like this in Perl 6... | |||
But I guess it's very minor issue... | |||
PerlJam | GlitchMr: don't back down now ... It's the most important issue EVAR! | 15:46 | |
masak | it doesn't work like this in Perl 6. | ||
15:47
Psyche^ joined
|
|||
GlitchMr | At least, is there special case for "-" file? | 15:47 | |
PerlJam bets not | |||
masak | I don't remember reading about it in, say, S19. | ||
GlitchMr | -v --verbose # detailed timing info | 15:48 | |
-v Display version info | |||
Yeah... | |||
daxim | AltGr + . → … | ||
PerlJam | the last few sentences of S19:74 | ||
(if only by implication) | 15:49 | ||
15:49
kaleem left
15:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
masak | oh, there it is. very well, then. | 15:50 | |
PerlJam++ | |||
masak decommutes | 15:55 | ||
16:06
mj41 left,
BruceZu left
|
|||
GlitchMr | perl6: print :2<111111111111111111111111111111111111111111111111111111111111111> | 16:06 | |
p6eval | pugs, rakudo d18aab, niecza v16-1-g5294701: OUTPUT«9223372036854775807» | ||
16:10
alester joined
16:15
zipf left
16:16
domidumont left
16:21
ponbiki left
|
|||
bbkr | perl6: :0<0>; say "alive"; | 16:23 | |
p6eval | rakudo d18aab: ( no output ) | ||
..pugs, niecza v16-1-g5294701: OUTPUT«alive» | |||
benabik | Huh. Silently dies. No segfault, no error messag.e | 16:24 | |
16:25
zipf joined
|
|||
bbkr | should this return "invalid radix" on everything written inside if base is 0 ? i'm not even sure if it is mathematically correct. | 16:25 | |
but for sure - it should not die silently | |||
bbkr reports | |||
benabik | nqp: say(nqp::radix(0, '0', 0, 0)) | 16:26 | |
p6eval | nqp: OUTPUT«[ 0, 1, -1 ]» | ||
benabik | That's not it. | 16:27 | |
colomon | I'd definitely say base 0 should be an error | 16:28 | |
16:29
MayDaniel joined
|
|||
benabik | It looks like Rakudo is supposed to throw a X::Syntax::Number::RadixOutOfRange if the radix < 2 | 16:29 | |
GlitchMr | perl6: print (:1<42>).perl | 16:31 | |
p6eval | pugs, niecza v16-1-g5294701: OUTPUT«6» | ||
..rakudo d18aab: ( no output ) | |||
bbkr | why? radix=1 is perfectly fine. | ||
GlitchMr | I'm confused... | 16:32 | |
retup_work | perl6: print :1<11111> | ||
p6eval | rakudo d18aab: ( no output ) | ||
..pugs, niecza v16-1-g5294701: OUTPUT«5» | |||
TimToady | perl6: print :2<22222> | ||
p6eval | pugs, niecza v16-1-g5294701: OUTPUT«62» | 16:33 | |
..rakudo d18aab: OUTPUT«===SORRY!===Invalid character '2' in number literal» | |||
GlitchMr | perl6: print :2<Z> | ||
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Invalid character 'Z' in number literal» | ||
..pugs, niecza v16-1-g5294701: OUTPUT«35» | |||
GlitchMr | That... sort of makes sense... | ||
Except it doesn't... | |||
How can the number be base 36 and base 2 at once? | |||
colomon | it's bug in niecza | 16:34 | |
and pugs | |||
GlitchMr | Well, the behavior sort of makes sense... | ||
colomon | sure, it's easy to see why it works that way. | ||
but it's still wrong | |||
benabik | r: multi () { say 'test' } | 16:35 | |
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Confusedat /tmp/7pWujf_bHI:1» | ||
GlitchMr | :3<AB> == 10 * 3 ** 1 + 11 * 3 ** 0 | 16:36 | |
Mathematically it makes sense... | |||
bbkr | std: :+2<0> | ||
p6eval | std 3c2fb9c: OUTPUT«===SORRY!===Bogus statement at /tmp/vQf9iHPIVT line 1:------> <BOL>⏏:+2<0>Parse failedFAILED 00:01 109m» | ||
benabik | r: class A { method () { } } | ||
p6eval | rakudo d18aab: ( no output ) | ||
GlitchMr | >>> parseInt('3', 4) | 16:37 | |
3 | |||
benabik | Hm. Looks like in some places $*W.throw uses an array and others it uses | ||
GlitchMr | >>> parseInt('3', 3) | ||
NaN | |||
colomon | GlitchMr: do you want to add tests for this misbehavior to roast? | ||
benabik | string. And that doesn't work. | ||
GlitchMr | colomon, well, I guess I could add tests :P | ||
benabik | Whenever it uses a string, it dies without outputting the error. | 16:38 | |
GlitchMr | But is it in Synopsis? | ||
Does Synopsis says anything about this case? | |||
16:39
raiph joined
|
|||
GlitchMr | github.com/perl6/roast/blob/master...#L149-L161 | 16:40 | |
I guess it's this file | |||
(also sorry for copying range) | |||
benabik | perl6: class A { method () { } } | 16:41 | |
p6eval | pugs: OUTPUT«***  Unexpected "{" expecting operator, ":", "," or "}" at /tmp/79DG4TJnyu line 1, column 21» | ||
..rakudo d18aab, niecza v16-1-g5294701: ( no output ) | |||
sorear | good * #perl6 | 16:42 | |
phenny | sorear: 10:25Z <colomon> tell sorear Sorry, I was sound asleep when you pinged me. | ||
sorear: 14:00Z <moritz> ask sorear can you please help me to set up dalek on feather? or even better, do it yourself :-) | |||
colomon | o/ | ||
sorear | colomon: you got the crlf issue resolved? | ||
colomon | yes | ||
sorear | what's the trick? | 16:43 | |
colomon | I turned off autocrlf globally on my system, then grabbed a fresh copy of niecza off github. | ||
benabik | autocrlf is such a bad idea. | ||
perl6: class A { method () { } }; say 'alive' | |||
p6eval | pugs: OUTPUT«***  Unexpected "{" expecting operator, ":", "," or "}" at /tmp/oIQkS1kEg4 line 1, column 21» | 16:44 | |
..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«alive» | |||
16:44
leprevost joined
|
|||
colomon | I think it probably would have worked if I'd grabbed niecza, changed autocrlf on it locally, blown away the source, checked it out again, and then built. | 16:44 | |
but after building it first, I had all sorts of permission errors when I tried to get rid of it and build it again. Stupid Windows Vista. | |||
anyway, I've now run a full spectest on it, I'll start trying to sort out the Windows-specific errors ASAP. (Though that may be a while, Ambercon is this week.) | 16:47 | ||
16:48
dakkar left
|
|||
benabik | colomon: Amber DRPG con? | 16:48 | |
colomon | benabik: yes | ||
16:49
preflex left
|
|||
colomon | benabik: this will be my 19th year going. :) | 16:49 | |
benabik | colomon: Very cool. I ran across the rulebook for that a long time back... There were a couple attempts to run a game in it, but the rules don't work well for the local kind of gamers. | ||
github.com/rakudo is a user, not an org? | 16:50 | ||
16:50
preflex joined
|
|||
GlitchMr | #?niecza 2 todo | 16:51 | |
#?pugs todo "todo" | |||
eval_dies_ok ':2<2>', ':2<2> is illegal'; | |||
#?pugs todo "todo" | |||
eval_dies_ok ':10<3a>', ':10<3a> is illegal'; | |||
Tests already have detection for it, but I think I will add :0 and :1 tests :P | |||
colomon | benabik: my friends got the game, thought it was really cool, and insisted I GM it because I'd already read all the books. (I'm a huge Zelazny fan.) That first game session I ran went so incredibly well that I was thoroughly hooked. | ||
GlitchMr | But, while :0<...> is obviously invalid, what 1 should do? :1<0000> sounds valid, but is it possible to represent using base-1 anything more than 0? (base-2 uses 0 and 1, so logically base-1 only uses 0)... | 16:55 | |
colomon | GlitchMr++ | 16:56 | |
benabik | I believe that the usual notation for unary numbers is all 1s, no 0s. | 16:57 | |
GlitchMr | That would require edge casing in spec... | ||
benabik | Yup. | ||
And the compilers. | |||
17:00
pernatiy left
|
|||
GlitchMr | As for now, I will just do test with just :0<...>, waiting for spec to update to include :1 special case (if it will happen :P)... | 17:01 | |
TimToady | I'm fine with it if Perl 6 doesn't support unary notation | ||
or if the only number you can represent with it is powers of 0 :) | |||
geekosaur | (S (S (S Z))) :p | 17:02 | |
TimToady | perl6: say +set(set()) | 17:03 | |
17:03
MayDaniel left
|
|||
p6eval | pugs: OUTPUT«*** No such subroutine: "&set" at /tmp/_k6wCzbO9P line 1, column 5 - line 2, column 1» | 17:03 | |
..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0» | |||
GlitchMr | perl6: print (:1<000>).perl | ||
p6eval | pugs, niecza v16-1-g5294701: OUTPUT«0» | ||
..rakudo d18aab: ( no output ) | |||
sorear | n: :2("0999") | ||
p6eval | niecza v16-1-g5294701: OUTPUT«Unhandled exception: Digit <9> too large for radix 2 at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3262 (ANON @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 3265 (from_base @ 4)  at /ho… | 17:04 | |
GlitchMr | perl6: print (:0<000>).perl | ||
p6eval | pugs, niecza v16-1-g5294701: OUTPUT«0» | ||
..rakudo d18aab: ( no output ) | |||
TimToady | perl6: say +set(set().item) | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&set" at /tmp/LTrGD842jr line 1, column 5 - line 2, column 1» | ||
..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0» | |||
TimToady | hmmm | ||
perl6: my $empty = set(); say +set($empty) | 17:05 | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&set" at /tmp/xnpP5hs9MB line 1, column 8-18» | ||
..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«0» | |||
TimToady | that's arguably wrongish | ||
perl6: say +set( set() => True ) | 17:06 | ||
[Coke] | wronglish, aka UK english. | ||
p6eval | rakudo d18aab, niecza v16-1-g5294701: OUTPUT«1» | ||
..pugs: OUTPUT«*** No such subroutine: "&set" at /tmp/AA29jS2g73 line 1, column 5 - line 2, column 1» | |||
TimToady | well, at least we can pass a set in as a pair key | 17:07 | |
but + certainly ain't going to recurse... | |||
colomon | why is it wrongish? | 17:08 | |
colomon knows it's probably his fault... | |||
TimToady | probably not | 17:09 | |
colomon | you, of course, are the other suspect. ;) | ||
wait, are you saying you're trying to create the set containing only the empty set? That's definitely not possible as we have defined set. | 17:10 | ||
TimToady | perl6: my $h1 = { a => 1 }; my $h2 = { b => 2 }; my %hash = $h1, $h2; say %hash.elems | 17:11 | |
p6eval | rakudo d18aab: OUTPUT«2» | ||
..niecza v16-1-g5294701: OUTPUT«Unhandled exception: Unmatched key in Hash.LISTSTORE at /tmp/xYIBx_En2m line 1 (mainline @ 11)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p6eval/niecz… | |||
..pugs: OUTPUT«1» | |||
TimToady | wow, three different answer :) | ||
*s | |||
the question is whether set() works only by virtue of being a listop, so the inclusion of an inner set() flattens it due to the list context, or whether the constructor pries open any sets it finds in the list regardless of hiding behind $ | 17:13 | ||
whether $h1 and $h2 above should be pried open is a related question | 17:16 | ||
colomon: I just did it, though, by passing in set() => True | 17:17 | ||
colomon | TimToady: yeah, that's kind of scary. | 17:18 | |
TimToady | though it's possible that niecza stringified it | ||
n: say .WHAT for set( set() => True ).keys | 17:19 | ||
p6eval | niecza v16-1-g5294701: OUTPUT«Str()» | ||
TimToady | yup | ||
17:19
birdwindupbird left
|
|||
TimToady | r: say .WHAT for set( set() => True ).keys | 17:19 | |
p6eval | rakudo d18aab: OUTPUT«Str()» | ||
colomon | r: say .WHAT for set( set() => True ).keys | ||
p6eval | rakudo d18aab: OUTPUT«Str()» | ||
TimToady | ooh, looks like rakudo did too | ||
TimToady thought sets were object-keyed in rakudo... | 17:20 | ||
perl6: .say for set( set() => True ).keys | 17:22 | ||
p6eval | pugs: OUTPUT«*** No such subroutine: "&set" at /tmp/yv_x8qLOo1 line 1, column 10 - line 2, column 1» | ||
..niecza v16-1-g5294701: OUTPUT«set(< >)» | |||
..rakudo d18aab: OUTPUT«» | |||
TimToady | another difference of opinion :) | ||
n: say set.gist | 17:23 | ||
p6eval | niecza v16-1-g5294701: OUTPUT«set()» | ||
TimToady | n: say set().gist | ||
p6eval | niecza v16-1-g5294701: OUTPUT«set()» | ||
TimToady | r: say set.gist | ||
p6eval | rakudo d18aab: OUTPUT«set()» | ||
colomon | that's .... interesting. | ||
n: say set(< >) | |||
p6eval | niecza v16-1-g5294701: OUTPUT«set()» | ||
TimToady | oh, stringification is probably with .Str | ||
for hash keys | 17:24 | ||
r: say ~set() | |||
p6eval | rakudo d18aab: OUTPUT«» | ||
TimToady | n: say ~set() | ||
p6eval | niecza v16-1-g5294701: OUTPUT«set(< >)» | ||
TimToady | rakudo is probably correcter here | 17:25 | |
n: say ~set(<a b c>) | |||
p6eval | niecza v16-1-g5294701: OUTPUT«set(< a b c >)» | ||
TimToady | yeah, that should probably just act like a list of a b c | 17:26 | |
colomon | for .Str, you mean? | ||
TimToady | nod | ||
colomon is being sorely tempted to give in to the dark side here and skip $work for the rest of the day to hack on Niecza. | 17:27 | ||
TimToady | that's the dark side?!? | 17:28 | |
colomon | in this view, what should ~Bag((a => 10, b => 5)) look like? | ||
TimToady | a a a a a a a a a a b b b b b | ||
colomon | TimToady: well, it's the side that's not putting food in my family's mouth, at any rate... | ||
TimToady: are you sure? That makes stringification of big bags pretty impossible. | |||
TimToady | .oO(cast your family's bread on the surface of the waters...) |
17:29 | |
I think stringification of large bags is a DIHWIDT | 17:30 | ||
17:30
buubot_backup left
|
|||
colomon | I don't suppose you'd like to put tests to both effects into roast? | 17:31 | |
;) | |||
r: say ~set(<a b c>) | 17:32 | ||
p6eval | rakudo d18aab: OUTPUT«a b c» | ||
TimToady | I also have a $job that I am neglecting | ||
colomon | "Visualization Library includes a series of functions to create the most common primitive objects out of the box such as: Box, Teapot, Capsule, Torus, Cylinder..." | ||
TimToady | I'm only still here because I've been stretchingout the tail end of the backlog... | 17:33 | |
colomon | Somehow college neglected to teach me that the Teapot was a standard primitive geometry object. | ||
TimToady | I'm sure the Mad Hatter would disagree | 17:34 | |
sorear | tempest? | ||
PerlJam | short and stout? | ||
TimToady | dome scandal? | ||
17:35
havenn joined
|
|||
colomon | n: say "bar baz foo" ~~ /^[abforz ]+$/ | 17:37 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Match()» | ||
colomon | n: say "bar baz foo" ~~ /^[abfor ]+$/ | ||
p6eval | niecza v16-1-g5294701: OUTPUT«Match()» | ||
colomon | n: say ?("bar baz foo" ~~ /^[abforz ]+$/) | ||
p6eval | niecza v16-1-g5294701: OUTPUT«False» | ||
sorear | phenny: "abforz"? | 17:38 | |
phenny | sorear: "abforz" (de to en, translate.google.com) | ||
sorear | heh, phenny thinks it sounds like a german word too | ||
PerlJam | colomon: perhaps it was just that the other objects were mislabeled. It should have been teapot, coffee cup, plate, etc. | ||
colomon | that's just me using the wrong syntax for p6, I think. | ||
PerlJam: www.visualizationlibrary.org/docume...tives.html donut, maybe.... | |||
japhb | colomon, the Utah Teapot has a long and storied history in the world of computer graphics. | ||
colomon | japhb: yes, I know. but that doesn't make it a geometrical primitive IMO... | 17:39 | |
PerlJam | colomon: but ... but ... wikipedia says so! en.wikipedia.org/wiki/Utah_teapot | ||
japhb | Heck, I think I put a teapot into shapes.{p6,pir} ... | 17:40 | |
Yup. | 17:41 | ||
Ah, history. | |||
Too bad only the .pir one works right now, because Rakudo no longer recognizes :from<parrot> | |||
TimToady imagines a teapot-shaped array | |||
TimToady fails to imagine a teapot-shaped array... | 17:42 | ||
japhb | I imagine it as a voxel representation | ||
TimToady | I must have either had breakfast or used up my six things... | ||
sorear succeds in imagining a teapot-shaped array | |||
my @arr[100, :map(* % 100), 100, :map(* % 100)] | 17:43 | ||
japhb | sorear, does niecza have an OpenGL binding yet? | ||
TimToady | well, okay, two holes will do it | ||
sorear | oh, right, it needs a spout | 17:44 | |
what's a good parametrization of the 2-manifold of genus 2? | |||
TimToady | the only good parametrization of the 2-manifold of genus 2 is a dead parametrization of the 2-manifold of genus 2... | 17:45 | |
oh wait, the PC police will be after me for using the only good X is a dead X | 17:46 | ||
what were parameterized idioms called again? | |||
Tene | snowclone | 17:47 | |
TimToady | that were it | ||
Tene | Mnemonic: Eskimos have n+1 words for snowclone | 17:48 | |
colomon | n: say ?("bar baz foo" ~~ /^<[abforz ]>+$/) | ||
p6eval | niecza v16-1-g5294701: OUTPUT«False» | ||
TimToady | can't match space that way | ||
since we allow whitespace inside <[ ]> | 17:49 | ||
colomon | yes, look at S05 trying to figure out how to do it | ||
TimToady | n: say ?("bar baz foo" ~~ /^<[abforz\x20]>+$/) | ||
p6eval | niecza v16-1-g5294701: OUTPUT«True» | ||
colomon | <[abforz]>+<ws> | ||
TimToady | n: say ?("bar baz foo" ~~ /^<[abforz]>+ % <ws> $/) | 17:50 | |
p6eval | niecza v16-1-g5294701: OUTPUT«False» | ||
17:50
swarley joined
|
|||
TimToady | hmm | 17:50 | |
n: say ?("bar baz foo" ~~ /^[<[abforz]>+]+ % <ws> $/) | |||
p6eval | niecza v16-1-g5294701: OUTPUT«True» | ||
17:50
shinobicl left
|
|||
TimToady | aye, that were it | 17:50 | |
17:52
buubot_backup joined
17:53
daxim left
|
|||
TimToady | darn, finally backlogged, so have to $work now... | 17:54 | |
17:54
sisar joined
|
|||
TimToady | after $working around PPI's *hardwired* limit of 1 meg (bah!), maybe I can actually do it now | 17:56 | |
sorear | limit along what dimension? | ||
TimToady | bytes | ||
filesize | |||
sorear | colomon: remember, you're no use to us if you can't afford an internet connection. ;) | ||
colomon | j l8juyhrtwt343r21ews21HBDFCHTG ED VGC GV HGF VXUI4N CVB4HCBF F3FREGWJRKM UJXEMHSW3 NÍ.WSEKKE,SO,OE | ||
benabik | colomon: You don't say? | 17:57 | |
flussence | meow? | ||
TimToady | btw, it had no trouble parsing the file once I bumped the limit | ||
17:57
snearch joined
|
|||
sorear | No comprendo | 17:57 | |
colomon | we've been teaching Henry about typing. sorry about that. | ||
sorear | Hello Henry | ||
(cue Ronja) | |||
TimToady | wait, isn't that Perl? | 17:58 | |
17:58
alvis joined
|
|||
TimToady | actually, looks more like FORTRAN | 17:58 | |
colomon | dgdtfgf xxc gesjj0y89buwicfdjhkLw--es,eSk-ue8kuhemuk3me,[Ls-p;l[2q,ws0,widw;;wpcl[w;x.wspepwws'p/d[/[eldpdlw.xe/.[r]e.osr-;e-r0ljmt6ktlrdx≤ | 17:59 | |
flussence | .oO(I find myself slightly dismayed that we don't see that many cats on keyboards...) |
||
TimToady | wow, Henry knows how to type ≤ | 18:00 | |
18:00
swarley left
|
|||
sisar | niecza: my @a = 2, 3; @a[*].say; | 18:01 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Unhandled exception: Cannot use value like Whatever as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 260 (Any.Numeric @ 5)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/LVuniFLAWi line 1 (mainline @ 2… | ||
sisar | r: my @a = 2, 3; @a[*].say; | ||
p6eval | rakudo d18aab: OUTPUT«2 3» | ||
sisar | rakudo is correct (?) | ||
sorear | I suspect so, not certain though | 18:02 | |
TimToady | yes, looks correct to me | ||
colomon | I don't even know how to type ≤! | ||
benabik | Mac: ≤ = Opt+< | ||
sisar | then, nieczabug | 18:03 | |
TimToady | well, NYI | ||
sisar | sorear: may i sumbit this bug ? | ||
18:03
MayDaniel joined
|
|||
sorear | yes | 18:03 | |
sisar | oh | ||
TimToady | n: my @a = 2, 3; @a[].say; | ||
p6eval | niecza v16-1-g5294701: OUTPUT«2 3» | ||
colomon | anyway, we had more than a week of 70+ degree weather, and Henry got used to playing outside, and he's going stir crazy now that it's gone back to seasonal coldness here. | ||
TimToady | n: my @a = 2, 3; @a[^*].say; | ||
p6eval | niecza v16-1-g5294701: OUTPUT«2 3» | ||
TimToady | so just average those two for an implementation :) | 18:04 | |
colomon | n: say <a b c>.join | 18:08 | |
p6eval | niecza v16-1-g5294701: OUTPUT«abc» | ||
18:08
mucker joined
|
|||
colomon | perl6: say "foo bar baz".comb(" ") | 18:10 | |
p6eval | niecza v16-1-g5294701: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Str at /home/p6eval/niecza/lib/CORE.setting line 594 (Cool.comb @ 9)  at /tmp/QCW_1ouTIS line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  … | ||
..rakudo d18aab: OUTPUT«Cannot call 'comb'; none of these signatures match::(Str:D , Mu %_!):(Str:D , Regex $pat, Any $limit = { ... }, Any :match(:$match), Mu %_!):(Cool , Mu %_!):(Cool , Regex $matcher, Any $limit = { ... }, Mu %_!) in method comb at src/gen/CORE.setting:1878 i… | |||
..pugs: OUTPUT« » | |||
colomon | oh, duh. | ||
split actually more appropriate for once | 18:11 | ||
perl6: say "foo bar baz".split(" ") | |||
p6eval | pugs: OUTPUT«foobarbaz» | ||
..rakudo d18aab, niecza v16-1-g5294701: OUTPUT«foo bar baz» | |||
sisar | nieczabug reported, masakbot style :) (issue #111) | 18:12 | |
phenny: ask masak, niecza issue #111, could it have been reported any better ? bikeshedding welcome :) | 18:15 | ||
phenny | sisar: I'll pass that on when masak is around. | ||
sorear | GlitchMr: hi. I just gave you push access to perl6/roast. | ||
GlitchMr | sorear, I've seen e-mail :P | ||
I guess I can press "Merge pull request" manually now :P | 18:16 | ||
18:21
fglock joined
18:26
Tedd1 joined
|
|||
sisar | what is 'monkey typing' ? Can't find any good search result. | 18:27 | |
benabik | sisar: It's monkey patching your types. | 18:28 | |
sisar: Basically, altering your types at runtime. Usually by adding new roles or methods. | 18:29 | ||
18:32
false_fisherman left
18:36
sisar left
18:37
zipf left
18:43
zipf joined
18:44
zipf left
18:46
icwiener left
|
|||
colomon | .... huh. Did my pushes not get announced, or did I mess up the pushes somehow? | 18:54 | |
Hmmm, the niecza push is up on github. | 18:55 | ||
masak | dalek is on vacation. | ||
phenny | masak: 18:15Z <sisar> ask masak niecza issue #111, could it have been reported any better ? bikeshedding welcome :) | ||
masak backlogs | 19:00 | ||
sorear | we need diakopter or dukeleto | ||
unfortunately both of them have quit | |||
when I have tuits I'll write a replacement that a #perl6 person understands | 19:01 | ||
btw, masak, sorry I forgot to get to you in time to let you do the release | |||
masak | no worries. I assumed you had decided to do it this time. | 19:02 | |
19:02
havenn left
|
|||
masak | it was a bit hasty of me to volunteer for this month anyway. but consider me interested in doing a Niecza release sometime in the future. | 19:02 | |
19:02
birdwindupbird joined
|
|||
masak | also, nice to hear the release.txt checklist works ;) | 19:03 | |
19:04
mucker left
|
|||
colomon feels good to have finally done some niecza work again. :) | 19:05 | ||
masak | phenny: tell sisar that github.com/sorear/niecza/issues/111 looks nice to me. had I submitted it, I'd have removed the timestamps, used 4-space indent instead of ```, and not bothered with the final comment. but those are all nits. (because you asked.) :) | ||
phenny | masak: I'll pass that on when sisar is around. | ||
masak | colomon++ | ||
19:07
havenn joined
19:12
tokuhiro_ joined
|
|||
masak | <bbkr> why? radix=1 is perfectly fine. | 19:13 | |
no. | |||
there's en.wikipedia.org/wiki/Unary_numeral_system , but it's not *actually* radix=1 | |||
I guess one could, if one wishes, postulate a radix-1 number base with only the numeral 0 and nothing more. that'd be consistent. | 19:14 | ||
but franky I'd rather disallow it. | |||
frankly* | |||
sorear | :phi<100100001> | ||
19:15
zipf joined
|
|||
dukeleto | sorear: you rang? | 19:15 | |
sorear | masak: | ||
10:01 < TimToady> I'm fine with it if Perl 6 doesn't support unary notation | |||
10:01 < TimToady> or if the only number you can represent with it is powers of 0 :) | |||
timotimo | unary notation? why not use the length of a string for it? | ||
masak | oh, I should read the backlog, the whole backlog, and only the backlog :P | ||
sorear | dukeleto: you were the former owner of botnix/dalek, right? | ||
dukeleto | sorear: nope | 19:16 | |
sorear | diakopter: ping | 19:18 | |
19:22
fglock left
19:26
zipf left
19:28
MayDaniel left
19:30
Chillance joined
|
|||
masak | r: say :2<2222> | 19:32 | |
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Invalid character '2' in number literal» | ||
TimToady | r: say :2<1111.2> | 19:33 | |
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Invalid character '2' in number literal» | ||
TimToady | r: say :2<1111.1 2> | ||
p6eval | rakudo d18aab: OUTPUT«===SORRY!===Malformed radix numberat /tmp/QqVKqBWfLd:1» | ||
GlitchMr | The radix number is not malformed, the number literal is :P. | 19:34 | |
masak | I'm now happy with the idea of supporting unary, on one condition: | ||
the error message should be "You can only represent 0 in unary notation." | |||
GlitchMr | lol? | ||
TimToady | how can you not know whether you lol'ed or not? | 19:35 | |
GlitchMr | But well, it would be less limited than JavaScript implementation for example, so I guess it would be good thing... | ||
>>> parseInt('0', 1) | |||
NaN | |||
benabik | r: :0<1> | ||
p6eval | rakudo d18aab: ( no output ) | ||
GlitchMr | r: :1<0> | 19:36 | |
p6eval | rakudo d18aab: ( no output ) | ||
masak | r: say +set(set()) | ||
p6eval | rakudo d18aab: OUTPUT«0» | ||
GlitchMr | Actually, it's more like this | ||
masak | makes sense, I guess. | ||
benabik | Who was doing the typed errors stuff? | ||
masak | how do I write "the set of the empty set"? | ||
GlitchMr | The first argument is integer, second is optional radix... so it makes sense... | ||
colomon | benabik: moritz++ | ||
masak: you can't, in p6 | 19:37 | ||
masak: well, maybe you can by say set(set() => True) | |||
benabik | moritz: ping | ||
masak | r: say +set(my $ = set()) | ||
p6eval | rakudo d18aab: OUTPUT«0» | ||
colomon | masak: but that's kind of dodgy, and doesn't really work in any implementation yet | ||
masak | why is it dodgy? no custom WHICH yet? | 19:38 | |
colomon | masak: I dunno if that's the issue, but that is the problem -- everything going in a Set is stringified. | ||
masak | aww :( | ||
colomon | that's not by spec, that's a current limitation | 19:39 | |
fsergot | What does exactly 'set()' do? | ||
How does it work? | |||
masak | wow, I really should read the whole backlog. | ||
sorear | niecza's current WHICH implementation is flawed and cannot handle sets | ||
masak | fsergot: it creates a set with the arguments as elements. | 19:40 | |
colomon | however, by spec (such as it is, mostly it's tests so far), if you pass a container to a set constructor, the contains of the container are added to the set rather than the entire container as a single object. | ||
fsergot | Thanks! :) | 19:41 | |
benabik | phenny: tell moritz Some of the typed exceptions aren't working. For example ':0<0>' dies at Actions.pm:4961, but never displays any message. Using --ll-exception shows the backlog, so it's throwing something... | 19:42 | |
phenny | benabik: I'll pass that on when moritz is around. | ||
masak | p6: say +[1, 2, 2, 2, 2, 3].set | ||
p6eval | niecza v16-3-gede8b6d: OUTPUT«Unhandled exception: Unable to resolve method set in class Array at /tmp/imKgiF9M8j line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)  at /home/p… | ||
..pugs: OUTPUT«*** No such method in class Array: "&set" at /tmp/fX6i8tafJg line 1, column 5 - line 2, column 1» | |||
..rakudo d18aab: OUTPUT«Method 'set' not found for invocant of class 'Array' in block <anon> at /tmp/1huQjUkiIc:1» | |||
masak | there isn't one... but we should have one... maybe... | 19:43 | |
colomon | fsergot: "set" is a sub which passes its arguments to Set.new, more or less | ||
fsergot | What is the diffrence between '..' and '...' operators? | ||
colomon | fsergot: it's just a convenience. | ||
masak | fsergot: one dot. | ||
:P | |||
fsergot | Only? :) | ||
masak | there are some other minor differences. | ||
fsergot | colomon++, masak++ thanks :) | ||
masak: where can I find them? :) | 19:44 | ||
masak | fsergot: as a first approximation, infix:<..> denotes continuous range, whereas infix:<...> denotes a discrete sequence. | ||
fsergot: they're both in S03. | |||
colomon | fsergot: .. constructs a Range, ... is the sequence operator. | ||
masak | fsergot: but if you listify an infix:<..> range, you actually get a discrete list. | ||
fsergot: and infix:<...> can construct sequences in quite a variety of ways. | 19:45 | ||
fsergot | Great. :) | ||
It's clear now. | 19:46 | ||
masak | r: .say for 10, 9 ...^ 0, "liftoff!".uc | ||
p6eval | rakudo d18aab: OUTPUT«10987654321LIFTOFF!» | ||
tadzik | good evening | ||
masak | tadziku! \o/ | 19:47 | |
oh, that's another important difference: ranges where .min > .max are always empty | |||
tadzik | masaku! \o/ | ||
fsergot | tadzik o/ | ||
tadzik | \o fsergot | ||
masak .oO( he fsergot the -u ) | |||
fsergot: if you want a range to do 10, 9 ... 1, you have to write `reverse 1..10` | 19:48 | ||
fsergot | Right, it's important difference. Dziękuję masaku. :) | 19:49 | |
masak | Proszę bardzo. :) | 19:51 | |
19:51
zipf joined
|
|||
masak | I think Set doesn't *yet* object-key its elements. | 19:53 | |
jnthn once suggested I fix that. haven't got a round tuit. | |||
fsergot | masak: what does 'tuit' mean? :) | 19:55 | |
sorear | I'll do X if I get around to it | ||
I'll do X if I get a round tuit | |||
fsergot | Oh, right.. Sorry. :) | 19:56 | |
PerlJam | All of my tuits are amorphous blobs | ||
masak | TimToady: the only good PC police is a dead PC police. ;) | ||
19:58
snearch left
|
|||
masak is finally caught up with the present | 19:58 | ||
sorear | masak: don't stop now ! | 19:59 | |
masak | I'm heading into the future, but at a constant rate of one second per second... | ||
damn speed limits. | |||
PerlJam hands masak a tardis to fix that problem | 20:00 | ||
20:00
envi_ left
|
|||
masak misses lue :/ | 20:00 | ||
20:02
y3llow_ joined
20:03
bruges_ joined
20:04
y3llow left,
bruges left,
buubot_backup left,
y3llow_ is now known as y3llow,
sudokode joined
20:05
havenn_ joined
20:14
GlitchMr left
20:15
wtw left
20:17
havenn left
20:21
zipf left
|
|||
jnthn | Afternoon, #perl6 | 20:25 | |
phenny | jnthn: 14:48Z <arnsholt> tell jnthn Zavolaj only depends on having a compiler and getting the dynamic loader to find the compiled libs (both of which have caused me grief). The idea of only depending on stdlib is minimising the number of moving parts not directly related to loading a lib and calling functions. | ||
tadzik | hello jnthn | ||
jnthn | hi tadzik | 20:27 | |
jnthn is having a good vacation but has done...something...to his arm :/ | 20:28 | ||
Guess it'll be me from typing excessively much while on vacation... | |||
masak | jnthn! \o/ | 20:29 | |
[Coke] | jnthn: urk | ||
20:29
buubot_backup joined
|
|||
masak | jnthn: I think you've been straining your beer-glass-lifting muscles. :P | 20:29 | |
[Coke] | jnthn: ... apply beer? | 20:30 | |
unless masak is right, of course. ;) | |||
jnthn | Yeah, lifting those litre bottles must be taking their toll... | ||
tadzik | perl6: sub 2 { 2 }; say 2 * 2 | ||
p6eval | niecza v16-3-gede8b6d: OUTPUT«===SORRY!===Malformed block at /tmp/Tj7f8N4OQH line 1:------> sub ⏏2 { 2 }; say 2 * 2Parse failed» | ||
..rakudo d18aab: OUTPUT«===SORRY!===Missing blockat /tmp/HkiXHYja7a:1» | |||
..pugs: OUTPUT«***  Unexpected "\65298" expecting "=", subroutine parameters, trait or block at /tmp/cJbMrlWitF line 1, column 5» | |||
tadzik | ;( | ||
masak | naughty non-identifier tadzik. | ||
tadzik | aye, it appears so | 20:31 | |
[Coke] | is t\02-embed\01-load.t known to fail on windows for rakudo? | ||
20:31
havenn_ left
|
|||
tadzik | and still it numifies to 0 | 20:31 | |
20:32
vlixes joined
|
|||
benabik | [Coke]: I believe it is known broken on many platforms. Fails on OS X too. | 20:32 | |
jnthn | .u 2 | ||
phenny | U+FF12 FULLWIDTH DIGIT TWO (2) | ||
masak | doubly naughty tadzik. | 20:34 | |
tadzik | /o | 20:36 | |
\ | |||
diakopter | sorear: pong | 20:37 | |
masak | tadzik: seems you've dropped one of your arms. | 20:38 | |
oh, look -- this is how Java 7 does RIAA: docs.oracle.com/javase/7/docs/techn...urces.html | |||
er, RAII ;) | |||
moritz | \o | 20:39 | |
phenny | moritz: 19:42Z <benabik> tell moritz Some of the typed exceptions aren't working. For example ':0<0>' dies at Actions.pm:4961, but never displays any message. Using --ll-exception shows the backlog, so it's throwing something... | ||
moritz | benabik: thanks | ||
masak | moritz! \o/ | ||
moritz | r: try eval ':0<0>'; say $! | ||
p6eval | rakudo d18aab: OUTPUT«Method 'message' not found for invocant of class 'X::Syntax::Number::RadixOutOfRange' in method gist at src/gen/CORE.setting:7726 in sub say at src/gen/CORE.setting:6230 in block <anon> at /tmp/pZ4qU9N2A2:1» | ||
benabik | moritz: I tried to track it down more but I'm too sleep deprived. | ||
Oh that would have been smart to try. | |||
moritz | benabik: I've simply mis-spelled method message in that class | ||
diakopter | phenny: tell sorear PM me plz | 20:40 | |
phenny | diakopter: I'll pass that on when sorear is around. | ||
diakopter | phenny: tell sorear actually email plz | ||
phenny | diakopter: I'll pass that on when sorear is around. | ||
20:43
pmurias left,
havenn joined
20:46
birdwindupbird left
|
|||
[Coke] | gist.github.com/2220131 - win32 spectest errors | 20:49 | |
(rakudo) | |||
moritz | seems like all those that use Test::Util fail | 20:50 | |
plus some more | |||
jnthn | Yeah, it's something to do with the args passing. | 20:51 | |
(command line args) | |||
20:54
libertyprime left,
tokuhiro_ left
20:57
libertyprime joined
|
|||
fsergot | Good night #perl6! o/ | 21:06 | |
masak | dobranoc, fsergocie! | ||
21:06
pernatiy joined
21:08
skids left
21:09
fsergot left
21:10
lichtkind joined
|
|||
lichtkind | how do you spell | | 21:10 | |
[Coke] | .u | | 21:13 | |
phenny | U+007C VERTICAL LINE (|) | ||
masak | "pipe symbol" | ||
21:29
leprevost left
|
|||
lichtkind | ah thanks | 21:29 | |
i think i go with pipe | |||
jnthn | Good choice. It sure beats the cigars. | 21:30 | |
lichtkind | haha | 21:32 | |
its in wp so its official :) | |||
masak | if I didn't hate smoking, I'd probably be smoking a pipe. | 21:33 | |
'night, #perl6 | 21:37 | ||
lichtkind | good night | ||
21:45
kaare_ left
21:46
lutok left
22:06
libertyprime left
22:14
havenn left,
benabik left
22:18
whiteknight joined
22:22
am0c joined,
am0c left
22:30
skids joined
22:32
havenn joined
22:44
eiro_ left
22:45
eiro joined
22:46
PacoAir left
23:05
nebuchadnezzar left
23:08
NamelessTee left
23:11
LylePerl joined
23:25
colomon left,
nebuchadnezzar joined
23:33
colomon joined
23:35
Chillance left,
derrazo joined
|
|||
LylePerl | (tumbleweed) | 23:51 | |
(wind) |