»ö« 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. |
|||
lue | just pushed some changes to Lingua::EN::Numbers::Ordinal (I guarantee modules.perl6.org won't detect the README anymore). afk, nomming time o/ | 00:03 | |
00:06
sftp left
00:07
sftp joined,
sftp left
00:08
sftp joined
00:21
wamba left
00:24
wolfman2000 joined
00:26
am0c left
00:27
frhodes left
00:33
soh_cah_toa joined
00:46
[Coke] left
00:48
[Coke] joined
00:53
uasi joined
00:55
Reaganomicon left
01:05
sftp left
01:07
woosley joined,
sftp joined
01:13
showi joined
01:18
uasi left,
abercrombie joined
01:26
uasi joined
01:31
uasi_ joined,
uasi left,
ruz joined
01:32
am0c joined
01:39
uvtc joined
|
|||
soh_cah_toa | is NativeCall a rakudo-specific interface or is it a part of the p6 spec? the perl6advant makes it sound like it's a part of p6 but the github repo 'zavolaj' says it's an interface just for rakudo | 01:49 | |
phenny | soh_cah_toa: 24 Aug 06:44Z <moritz> ask soh_cah_toa what's your github ID? | ||
soh_cah_toa | phenny tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores | 01:51 | |
phenny: tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores | 01:52 | ||
phenny | soh_cah_toa: I'll pass that on when moritz is around. | ||
01:59
drbean left
02:07
colomon left
|
|||
benabik | soh_cah_toa: I _think_ zavolaj is rakudo's implementation of NativeCall. Totally not sure about that though. | 02:14 | |
02:20
PacoLinux__ left
02:23
PacoLinux__ joined
|
|||
soh_cah_toa | ah, ok | 02:29 | |
02:40
colomon joined
|
|||
colomon | soh_cah_toa: I believe the idea is that NativeCall will be a general p6 thing, but the specific zavolaj implementation of it is very definitely rakudo-only. | 02:41 | |
soh_cah_toa | ok, good | 02:42 | |
that's weird though b/c i can't find anything in the p6 spec about NativeCall | |||
unless i just haven't looked hard enough ;) | |||
colomon | it might not be spec'd yet | ||
sometimes the implementations get out in front of the spec. :) | |||
soh_cah_toa | :) | 02:43 | |
02:49
PacoLinux__ left,
frhodes joined
02:54
PacoLinux__ joined
03:01
envi left
|
|||
sorear | good * #perl6 | 03:04 | |
TimToady | o/ | ||
sorear | soh_cah_toa: My understanding of NativeCall is aligned with colomon. | 03:05 | |
soh_cah_toa: Generally we don't like to spec things until we think we have a good design, and for NativeCall that probably requires 2+ implementations to agree. | |||
TimToady | the strategy on these things is to make sure we can specify native types and signautures, and make it easy to have traits and pragmas that say whatever extra needs to be said. Beyond that, what sorear++ said... | 03:06 | |
03:07
envi joined
03:08
jfshadow joined
|
|||
jfshadow | rakudo: say "testing" | 03:10 | |
p6eval | rakudo a55346: OUTPUT«testing» | ||
03:12
[Coke] left,
[Coke] joined
|
|||
soh_cah_toa | ok, interesting. never thought about it like that but it makes sense to make sure a design if even possible first | 03:14 | |
TimToady | a lot of p6 design has been like that--just make sure X isn't impossible later, and try to get close enough | 03:16 | |
threading and logic programming fall into that category | |||
soh_cah_toa | definitely | ||
sorear | mls: bug | ||
soh_cah_toa | i've only just started playing w/ NativeCall but so far it seems very dwimmy which is really nice :) | 03:18 | |
03:23
Su-Shee_ joined
|
|||
TimToady | it will also help when we get C structs as normal p6 objects | 03:27 | |
03:27
Su-Shee left
03:33
[Coke] left
03:50
agentzh joined
|
|||
uvtc | nom: say any<foo bar baz> | 04:00 | |
p6eval | nom 88d801: OUTPUT«any()» | ||
uvtc | nom: say any <foo bar baz> | ||
p6eval | nom 88d801: OUTPUT«any("foo", "bar", "baz")» | ||
04:01
kaare_ joined
|
|||
uvtc | niecza: say any<foo bar baz> | 04:01 | |
p6eval | niecza v8-55-g0db7bb8: OUTPUT«any()» | ||
uvtc | nom: my $j = any<foo bar baz>; if 'foo' eq $j {say 'yes'} else {say 'no'} | 04:03 | |
p6eval | nom 88d801: OUTPUT«no» | ||
uvtc | Seems like it would be useful if that gave me a warning. | ||
nom: my $j = 'foo'|'bar'|'baz'; if 'foo' eq $j {say 'yes'} else {say 'no'} | 04:04 | ||
p6eval | nom 88d801: OUTPUT«yes» | ||
moritz | good morning | 04:06 | |
phenny | moritz: 01:52Z <soh_cah_toa> tell moritz it's soh-cah-toa. note the difference in hyphens b/c github doesn't allow underscores | ||
uvtc | moritz: thanks for fixing that thing with the yada yada operator that I brought up the other night/morning. :) moritz++ | 04:07 | |
moritz | phenny: tell soh_cah_toa you have commit access to perl6/book now, welcome | 04:10 | |
phenny | moritz: I'll pass that on when soh_cah_toa is around. | ||
moritz | uvtc: my pleasure | ||
soh_cah_toa | moritz: yay thanks! :) | ||
phenny | soh_cah_toa: 04:10Z <moritz> tell soh_cah_toa you have commit access to perl6/book now, welcome | ||
sorear | uvtc: any <foo bar baz> | 04:11 | |
hmm | |||
uvtc | sorear, yes, I just meant that, if the user leaves out the space by accident, it would be nice if Perl 6 complained about it. | ||
Otherwise it seems like it could lead to a bug that's difficult to spot. As in: | 04:13 | ||
nom: my $j = any<foo bar baz>; if 'foo' eq $j {say 'yes'} else {say 'no'} | |||
p6eval | nom 88d801: OUTPUT«no» | ||
uvtc | when it looks to the user like the answer *should* be 'yes' | ||
sorear | TimToady: should any<foo bar> even parse? | 04:14 | |
TimToady: it feels to me like after any it should be looking for a term | |||
moritz | perl6: sub f { 1, 2, 3 }; say f[1] | 04:15 | |
04:15
birdwindupbird joined
|
|||
p6eval | pugs, rakudo a55346, niecza v8-55-g0db7bb8: OUTPUT«2» | 04:15 | |
moritz | same thing | ||
moritz likes it | 04:16 | ||
04:16
satyavvd joined
|
|||
moritz | phenny tell masak that the bug mentioned in irclog.perlgeek.de/perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it | 04:18 | |
TimToady | any is just a listop, so it can have 0 args | ||
moritz | phenny: tell masak that the bug mentioned in irclog.perlgeek.de/perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it | ||
phenny | moritz: I'll pass that on when masak is around. | ||
benabik | Does postcircumfix {} make any sense on a junction though? | 04:19 | |
moritz | sure, if the junction is made of hashes or pairs | ||
benabik | Ah, true. | 04:20 | |
04:20
satyavvd left
|
|||
lue | I'm currently trying to figure out how to redo my Pod 6 viewer, and this is how I've thought of handling that the contents of a block might be text or another block: gist.github.com/1172689 | 04:21 | |
[of course, TIMTOWTDI, so I probably ended up thinking of the hardest way to go about it] | 04:22 | ||
uvtc | TimToady: Sorry, I don't understand. If `any<foo bar>` does indeed parse, what's it actually mean? Seems to me like it should mean `any("foo", "bar")`. | 04:23 | |
moritz | lue: re updating modules.perl6.org, there's a script web/build-project-list.pl which is run regularly (hourly or so) | 04:24 | |
uvtc: it's the same as any(){'foo', 'bar'} | |||
lue | ah, that's how it's done. Now I know there's no procedure I have to go through after pushing :) | 04:25 | |
uvtc | nom: any() {'foo', 'bar'} | ||
p6eval | nom 88d801: OUTPUT«===SORRY!===Confused at line 1, near "any() {'fo"» | ||
lue | nom: say any<foo bar baz>.perl; | ||
p6eval | nom 88d801: OUTPUT«any()» | ||
TimToady | you can't just put a space before a subscript | ||
soh_cah_toa | btw, speaking of pod 6, it looks like comment declarator blocks are nyi in 2011.07. are they in nom? (can't check myself, don't have nom installed) | 04:26 | |
uvtc | nom: any(){'foo', 'bar'} | ||
p6eval | nom 88d801: ( no output ) | ||
TimToady | nom: any() + 42 | 04:28 | |
p6eval | nom 88d801: ( no output ) | ||
TimToady | nom: say any() + 42 | ||
p6eval | nom 88d801: OUTPUT«any()» | ||
TimToady | subscripting is not special | ||
nom: say any().sqrt | |||
p6eval | nom 88d801: OUTPUT«any()» | 04:29 | |
uvtc | Interesting. So, I was accidentally trying to subscript the Junction. | ||
TimToady | yeah | ||
if we catch it, it has to be syntactically | |||
since any @empty should still work | |||
04:30
masak joined
|
|||
uvtc | Is accessing a hash with a key referred to as "subscripting" (just like accessing an item in an array)? | 04:30 | |
TimToady | yes | ||
also indexing | |||
uvtc | Ah, right. Of course. Thanks. | 04:31 | |
04:32
masak left
04:36
drbean joined
|
|||
dalek | href="https://modules.perl6.org:">modules.perl6.org: ebc9830 | lue++ | web/fame-and-profit.html: Added description of the panda badge to fame-and-profit.html |
04:38 | |
04:38
satyavvd joined
04:52
Chillance joined
|
|||
uvtc | nom: my @a = <foo bar>; my @b := @a; say @a =:= @b; | 04:56 | |
p6eval | nom 88d801: OUTPUT«Bool::True» | ||
uvtc | rakudo: my @a = <foo bar>; my @b := @a; say @a =:= @b; | ||
p6eval | rakudo a55346: OUTPUT«Bool::False» | ||
uvtc | niecza: my @a = <foo bar>; my @b := @a; say @a =:= @b; | 04:58 | |
p6eval | niecza v8-55-g0db7bb8: OUTPUT«Bool::True» | ||
TimToady | rakudo didn't really do binding right | ||
05:00
roen joined
|
|||
lue hides | 05:01 | ||
05:09
uvtc left,
soh_cah_toa left
05:18
jevin left
05:20
jevin joined
05:24
frhodes left
05:27
s1n left
05:35
frhodes joined
05:41
abercrombie left
|
|||
moritz | rakudo didn't really do =:= right, iirc | 05:47 | |
05:54
envi left,
wtw joined
|
|||
woosley | Hi, perl6 command can not excute out of its directory for nom branch? pastebin.com/wyVaYQZz | 05:56 | |
05:56
[particle] joined
05:57
Chillance left
|
|||
woosley | that is what happens after 'make install ' | 05:57 | |
05:58
[particle]1 left
|
|||
TimToady | which perl6 did it find when you ran it without the ./ ? | 05:59 | |
moritz | woosley: how old is the installed nom? | ||
TimToady | and do you have a rakudo/master installed somewhere? | 06:00 | |
woosley | moritz: $./perl6 --version | 06:02 | |
This is perl6 version 2011.04-995-gb9db729 built on parrot 3.5.0 revision RELEASE_3_5_0-89-gf7985d1 | |||
TimToady: No, I have only one rakudo copy | 06:03 | ||
06:03
masak joined
|
|||
masak | morning, channel. | 06:03 | |
phenny | masak: 04:18Z <moritz> tell masak that the bug mentioned in irclog.perlgeek.de/perl6/2011-08-25#i_4325834 is already submitted against master, and we have a failing test for it | ||
masak | oh, excellent. | 06:04 | |
moritz | woosley: that's ancient | ||
06:04
envi joined
|
|||
moritz | woosley: try a nom that's about 900 commits later :-) | 06:04 | |
06:06
simcop2387 left,
Su-Shee_ is now known as Su-Shee
|
|||
woosley | moritz: thanks, I will try | 06:06 | |
masak wonders whether to follow up irclog.perlgeek.de/cqrs-perl6/2011-04-15 somehow | 06:15 | ||
really enjoyed that evening. and I/we've learned a bunch since then. | 06:16 | ||
06:18
simcop2387 joined
06:26
koban joined,
koban left
|
|||
masak | <sorear> wait, next you're going to tell me that if the client crashes between changing the schedule and updating .curStudents, the 0.0001% chance of database corruption is acceptable? | 06:27 | |
(from #cqrs-perl6) | |||
sorear: I didn't notice until now: it's the application on the server that would have to crash. | |||
not the client. | 06:28 | ||
operations may not be atomic, but one command may still trigger several events. as it would in this case. | |||
sorear: so your concern is still valid, but it would require an application crash. | 06:30 | ||
06:32
REPLeffect left
|
|||
moritz | and these events all happen within a transation that's rolled back if the server crashes? | 06:33 | |
masak | no, and that's the thing. | 06:36 | |
an event represents something that has definitely, irrevocably happened. it cannot be rolled back for model reasons. | |||
as PerlJam++ said, we basically trade away immediate consistency for eventual consistency and some kind of protocol to uphold it. | 06:40 | ||
moritz | so upon server startup you check all stored incoming data and check if all the events have been triggered? | 06:44 | |
06:46
REPLeffect joined
|
|||
masak | no, the thing that checks would likely be a decoupled, independent consumer of the events. | 06:48 | |
06:49
spetrea joined
|
|||
masak | that's basically what this "saga" thing is about. enforcing long-term consistency and thus getting back a bit of what we lost by avoiding database transactions. | 06:49 | |
06:51
mj41 joined,
am0c left
06:53
am0c joined
07:10
Reaganomicon joined
07:29
mkramer1 left,
mkramer joined
07:54
thou left
08:04
rhr left
08:05
rhr joined
08:13
daxim joined
08:17
satyavvd left
|
|||
moritz wonders how much of that cqrs thing is cool aid, and how much is actually useful | 08:21 | ||
masak | two things. since I learned what "cool aid" is a metaphor for, I've come to really dislike the expression. I believe the word is "macabre". :/ en.wikipedia.org/wiki/Drinking_the_Kool-Aid | 08:22 | |
I don't think I'm being oversensitive. death cults isn't a particularly funny/productive metaphor. | 08:23 | ||
moritz | ok, I didn't know that background | ||
sorry about that | |||
masak | not your fault. but now you know, too. | 08:24 | |
secondly. everything can be overhyped, even good ideas. | 08:25 | ||
I genuinely believe CQRS is a good idea which isn't well-known enough. | |||
the reactions I've been getting from people over the last half year range from "yeah, we did that back in the day, it was great" to "I'm not sure it'll be worth it for our particular domain". | 08:26 | ||
for me personally, not many things have come close to being this catalytic in terms of re-thinking the whole application stack. | 08:28 | ||
mberends | I think CQRS is just common sense applied to read-mostly shared databases. Without the calling it that, many transactional systems have evolved towards similar architectures when the need arose. | ||
masak | I even think differently about non-business applications nowadays. | ||
CQRS itself is just a very simple idea: treat Commands and Queries as if they were different types of requests. | 08:29 | ||
moritz | in some sense SQL views are already a step into that direction | 08:31 | |
they make reading care less about normalization | |||
masak | only on the conceptual level. | 08:33 | |
the JOINs are still done per-read. | |||
moritz | there are also precomputed views | ||
masak | ok, I don't know about those. | ||
in the case of separate read sides updated through events, the JOINs are done per-event. | |||
i.e. per-write. | 08:34 | ||
so, again, as mberends says, in read-mostly applications... | |||
does anyone have a good example of a write-mostly application? :) | |||
moritz | logging | ||
mberends | auditing (tamper proof logging) | 08:35 | |
I think CQRS is also mainly Greg Young's packaging of common sense, for sale to those who cannot work it out for themselves. | 08:36 | ||
moritz | data acquisition (at least if you look at the acquisition side only) | ||
many devices in our lab are only concerned with writing stuff to a buffer, and leave the reading to another phyiscal device | 08:37 | ||
masak | mberends: I don't dispute that. he says it himself. | ||
mberends: the sad thing is that there's such a need for it. | |||
moritz has a theory why that is the case | 08:38 | ||
08:39
dark_x joined
|
|||
moritz | the traditional state keeping is often the simplest thing that could possibly work, at least in the beginning | 08:39 | |
and stop sticking to that pattern does require some active thought | |||
masak | moritz: I read up a bit on precomputed views. they seem based on the Observer pattern, just like events are. | 08:40 | |
08:41
lue left
|
|||
masak | I'm sad to see so much of the industry being shoved around by what they database model they decided on early in the project. | 08:41 | |
any set of patterns to counteract that will be an improvement. | |||
s/what they/what/ | 08:44 | ||
08:47
orafu left
|
|||
mberends | the NoSQL movement seems to be good at understanding what applications require, and structuring solutions appropriately. In that sense the SQL standard has been a dead hand at the wheel (tool:hammer :: problem:nail). | 08:47 | |
moritz is still a bit afraid of giving up referential integrity | 08:49 | ||
08:49
orafu joined
|
|||
mberends | you don't have to, there are also relational DB's without the SQL layer over them | 08:50 | |
08:52
lue joined
|
|||
mberends | frameworks are often a pain, when you hit their limitations, and SQL imposes its framework on your applications. The typical ORM has an impedance mismatch, giving the app developer pain. | 08:54 | |
masak | moritz: it's a matter of which one you value more: referential integrity or (horizontal) scalability. | 08:55 | |
turns out you *can't* both be referentially integrated and scalable. | 08:57 | ||
moritz | ok, that has a pretty clear answer for the projects I'm currently thinking of :-) | ||
masak | guess that's the kernel of the SAP theorem, actually. | ||
moritz | and it makes sense | 08:58 | |
masak | sorry, *CAP theorem. | ||
en.wikipedia.org/wiki/CAP_theorem | |||
moritz: I'm sending an email off to the ddd-cqrs list about what you just said about the consistency/scalability tradeoff. | 09:02 | ||
I'm curious to read their reactions. | 09:03 | ||
moritz | masak: another thing I'm not sure about is how far to denormalize the read side | 09:05 | |
masak | that's a thing I haven't explored enough either. | ||
09:08
woosley left
|
|||
mberends | Database tuning implies varying the degree of denormalization for an appropriate balance of write versus read performance. The application users determine where the balance lies (no hard and fast rule). | 09:08 | |
09:09
REPLeffect left,
OuLouFu joined,
OuLouFu left,
OuLouFu joined,
orafu left
09:10
OuLouFu is now known as orafu
09:14
agentzh left
|
|||
mberends | Persisted views are an easy mechanism for hiding the denormalization from the application. For another example, adding an index to a table effectively keeps a denormalized copy of key fields and row addresses for faster reading versus slower writing. | 09:15 | |
09:17
agentzh joined
09:20
amkrankruleuen joined
09:21
odoacre left,
odoacre joined
09:23
REPLeffect joined
|
|||
masak | indeed. | 09:24 | |
09:27
mishin joined
|
|||
mls | morning perl6! | 09:33 | |
benabik: thanks for pushing the die_ii fix! | 09:34 | ||
masak | morning mls! | 09:36 | |
mls | seen TimToady | 09:37 | |
aloha | TimToady was last seen in #perl6 3 hours 37 mins ago saying "and do you have a rakudo/master installed somewhere?". | ||
09:40
am0c left
09:44
miso2217 left,
miso2217 joined
09:48
odoacre left
09:51
roen left
|
|||
mls | about the Num -> Rat conversion: gist.github.com/1173109 | 09:58 | |
makes rakudo die instead of looping forever | |||
(hmm, actually it should read $a < 0 || $c < 0) | |||
the current situation with INT/Rat operations silently overflowing is pretty bad | 10:00 | ||
Int | |||
10:00
perlhack joined
|
|||
mberends | yo perlhack ! | 10:01 | |
perlhack | it's nice day. | ||
mberends | |||
moritz | mls: would it be possible to downgrade the precision (and warn) instead of dying? | ||
mls | possible: yes, but I question if it's desireable | 10:02 | |
10:03
perlhack left
|
|||
mls | putting an Instant in a Rat is simply not going to work on a 32bit system | 10:03 | |
If you subtract two Instants you'll still want a sane result, downgrading the precision can't help you | 10:04 | ||
moritz | nom: say now | 10:06 | |
p6eval | nom 88d801: OUTPUT«Instant:1314353208.20827» | ||
mls | 64bit ;) | ||
moritz | I know | ||
mberends | but S02 says that Rat defaults to Rat64 precision, even on 32 bit hardware, so as long as Rat is to spec your precision should be safe. | ||
moritz | nom: say 2**32 / 1314353208 | ||
p6eval | nom 88d801: OUTPUT«3.26774208778741» | ||
moritz | yes, not much space left in 32 bits :/ | ||
mberends | that's the Y2038 problem | 10:07 | |
mls | Checking S02... (Is Int 32bit?) | ||
moritz | Int is supposed to be arbitrary size | 10:08 | |
perl6: say 2 ** 65 | |||
p6eval | pugs, niecza v8-55-g0db7bb8: OUTPUT«36893488147419103232» | ||
..rakudo a55346: OUTPUT«3.68934881474191e+19» | |||
moritz | and Rat is supposed to have Int as numerator and int64 as denominator | 10:09 | |
tadzik | good morning | 10:10 | |
mberends | mls: no, Int with an uppercase 'I' is bigint if done to spec. Native int varies with hardware, like in the C language. | ||
o/ tadzik | |||
mls | well, nom's Int don't work as specced | 10:12 | |
Ints | |||
moritz | indeed | 10:13 | |
10:15
sayu joined
|
|||
sayu | rakudo: say 34 + 34; | 10:17 | |
p6eval | rakudo a55346: OUTPUT«68» | 10:18 | |
mls | Parrot's integer.pmc automatically upgrades to bignum, but nom's code unboxes into two I registers and calls the mul opcode | ||
sayu | rakudo: say 34 + 34 | ||
p6eval | rakudo a55346: OUTPUT«68» | ||
moritz | mls: and that's a fundamental problem | ||
mls: need to provide Perl 6 Int objects to our users, so we need an object for that | 10:19 | ||
mls: if we stored an Integer PMC, we'd have two objects (and a lot of GC pressure) | |||
that's both slow and inefficient | |||
*memory inefficient | 10:20 | ||
mls: and what's more, parrot's get_integer vtable doesn't allow you to return anything but a native int | |||
mberends | I do plan to enhance my "biggishint" library (in zavolaj/examples) some time to provide a decent bigint facility. | 10:21 | |
10:21
mishin left
10:22
uasi_ left,
mishin joined
|
|||
mberends | the main thing to enhance is scale, going above its current 64KB storage limit | 10:23 | |
mls | So nom's Int == int is something that needs to be changed? | 10:27 | |
moritz | yes | ||
10:28
mkramer left,
mkramer joined
|
|||
mls | so you can only except some decent optimizations if you use "int" and know what you're doing | 10:30 | |
moritz | ... or when there's much more static analysis in place than what we have now | 10:31 | |
sayu | What's qw in perl6? | ||
moritz | qw/ ... / or simpler < ... > | 10:32 | |
nom: say <foo bar baz>.perl | |||
p6eval | nom 88d801: OUTPUT«("foo", "bar", "baz")» | ||
sayu | rakudo: my @kak <Fred Vilma Kaki>; say @kak[]; | ||
p6eval | rakudo a55346: OUTPUT«===SORRY!===Confused at line 22, near "my @kak <F"» | ||
mberends | sayu: you forgot the = | 10:33 | |
eiro | sayu, there is also << that is a clever version of qw with interpolation | ||
my $v = "toto"; my @z = << $toto tata tutu >>; | |||
sayu | ok, thanks | 10:35 | |
tadzik | rakudo: my @kak = <Fred Vilma Kaki>; say @kak[] | ||
p6eval | rakudo a55346: OUTPUT«FredVilmaKaki» | 10:36 | |
tadzik | rakudo: my @kak = <Fred Vilma Kaki>; say @kak | ||
p6eval | rakudo a55346: OUTPUT«FredVilmaKaki» | ||
tadzik | . o O ( There was Kaki in Flintstones? ) | ||
10:37
dark_x left
|
|||
sayu | moritz: What's nom? | 10:38 | |
10:42
daxim left
10:43
im2ee joined
|
|||
sayu | rakudo : sub add($x, $y) {return $x + $y}; say add(23 34); | 10:46 | |
rakudo: sub add($x, $y) {return $x + $y}; say add(23 34); | |||
10:46
daxim joined
|
|||
p6eval | rakudo a55346: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22» | 10:46 | |
sayu | How should that sub should look like to work? | 10:47 | |
tadzik | you forgot a comma | 10:50 | |
masak | sayu: add(23, 34) | ||
tadzik | rakudo: sub add($x, $y) {return $x + $y}; say add(23, 34) | ||
p6eval | rakudo a55346: OUTPUT«57» | ||
tadzik | sayu: nom is the new development branch of rakudo | ||
masak | sayu: in Perl 6 expressions, you can't put two terms in a row. | ||
10:52
Trashlord left
|
|||
sayu | ok | 10:52 | |
10:54
Trashlord joined
|
|||
masak | std: say 23 34 | 10:54 | |
p6eval | std 516268a: OUTPUT«===SORRY!===Two terms in a row at /tmp/NR8UipnRir line 1:------> say 23 ⏏34 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 120m» | ||
sayu | Can you guys recommend a tutorial to learn more about perl6? | 11:00 | |
masak | perl6.org/documentation/ | 11:01 | |
strangelyconsistent.org/blog/list-of-posts starting from June 1. | 11:02 | ||
perl6advent.wordpress.com/ | |||
perlgeek.de/en/article/5-to-6 | 11:03 | ||
11:03
stepnem left
|
|||
masak realizes that he should make a post just with an index to all of his June blogging month blog posts | 11:03 | ||
sayu | masak: That would be great. | 11:04 | |
masak | I can do that tonight. for now, please use strangelyconsistent.org/blog/list-of-posts :) | 11:06 | |
sayu | masak: Thanks for the suggestions. You are great man. | ||
11:06
stepnem joined
|
|||
masak | also, if something is missing or unclear in the posts, let me/us know. | 11:06 | |
we'll be happy to help and improve the docs. | |||
11:06
drbean left
|
|||
daxim | sayu, masak: ahmadzawawi.blogspot.com/2011/08/le...masak.html | 11:07 | |
masak | whoa :) | ||
well, there you go then. | |||
azawawi++ | 11:08 | ||
11:10
MayDaniel joined
11:12
araujo left
11:13
araujo joined
11:25
frhodes left
|
|||
daxim | ank lives! fixingsoftware.blogspot.com/2011/08...roved.html | 11:33 | |
masak | *sigh* | 11:35 | |
moritz | daxim: and you give him publicity | 11:36 | |
masak | that guy seems to be hurting somehow and unable to accept hugs. | ||
moritz | I know this mostly off-topic here, but I feel I'm missing something about the twitter UI | 11:37 | |
can I somehow add my saved searches to the default "timeline" view? | 11:38 | ||
ie showing all posts from people that I follow OR that match one of my searches? | |||
masak | not that I know. | 11:47 | |
maybe Google knows, with the correct prodding. | |||
moritz: maybe you need to make your own client. | 11:48 | ||
11:54
pnu left
11:55
drbean joined
11:57
pnu joined,
sayu left
11:59
mishin left
|
|||
tadzik | heh. But we will eventually have Perl 6. And this guys, well, they still have C++... | 12:04 | |
colomon | :) | 12:05 | |
moritz | tadzik: you mean there's enough space on the internetz for TWO programming languages to coexists? you must be nuts :-) | 12:06 | |
tadzik | Yeah, what was I thinking! PYTHONPYTHONPYTHONPYTHONPYTHONPYTHON | 12:07 | |
heh, someone got to my blog searching for "non blocking io perl6" | 12:08 | ||
masak | C++ to Perl 6: "this internetz isn't big enough for both of us." | 12:12 | |
moritz | tadzik: regarding IO::Select, have you tried running the modules.perl6.org update script locally? | 12:14 | |
tadzik | moritz: nope, will do | ||
Use of uninitialized value $error in print at web/build-project-list.pl line 188. | 12:20 | ||
oddness | 12:21 | ||
12:23
arthur-_ joined
|
|||
moritz | the META.info is valid json | 12:24 | |
12:30
birdwindupbird left,
birdwindupbird joined
12:32
kaare_ left
|
|||
tadzik | yeah | 12:36 | |
okay, I'm moving out for some laptop-free vacations | |||
bbomonday or so | |||
o/ | |||
moritz | \o | ||
have fun! | |||
masak | tadzik: \o | 12:37 | |
12:46
bluescreen10 joined
12:50
ribasushi_ joined
12:51
ribasushi left,
ribasushi_ is now known as ribasushi
12:54
woosley joined
|
|||
takadonet | morning all | 13:02 | |
13:05
lichtkind joined
|
|||
lichtkind | jnthn: current nom gets always mem access faults | 13:06 | |
13:11
jerome left
13:12
jerome joined
13:14
jerome left
13:15
jerome joined,
jerome left,
jerome_ joined
13:16
wtw left
13:18
jevin left
13:19
jevin joined
13:22
drbean left
13:30
kaare_ joined
|
|||
bbkr_ | tadzik: there is hope, you can take netbook :) | 13:34 | |
dalek | href="https://modules.perl6.org:">modules.perl6.org: ed348b4 | moritz++ | web/build-project-list.pl: fix page update for IO::Select The problem was that IO::Select did not have a description line on github, and the update script used that instead of the description from the META.info file. This commit now changes the update script to use the description from META.info, and only falls back to the github repo if META.info has no "description" field. |
13:42 | |
masak | mberends: also, the set of disruptive inventions and the set of "repackaged" ideas aren't necessarily disjunct. | 13:46 | |
13:47
donri joined
|
|||
bbkr_ | :p5 regexp modifier is NYI? | 13:47 | |
masak | in Rakudo, yes. | 13:48 | |
moritz | alpha had it (at least partially) | ||
PerlJam | I think it's Not Yet Reinvented. | ||
what moritz said | |||
masak | alpha had it because PGE had a p5 frontend. | ||
PerlJam | (good morning btw) | ||
masak | morning, PJ | 13:49 | |
Pugs also had it, methinks. | |||
moritz | I think we have a lot of other more urgent things to do right now :-) | ||
masak: yep, but it didn't have proper Perl 6 regexes :-) | |||
13:51
takadonet left
13:52
abercrombie joined
|
|||
masak | writing p5 regex grammar/actions for nqp shouldn't be too hard at this point. | 13:52 | |
it just needs a dedicated person to do it. | |||
bbkr_ | I don't argue here - p5 regexps support in P6 is ultra-low priority. I asked because MongoDB can store PCRE regexps, but this require P5 syntax. I'm sure most ppl can live without it. | ||
13:53
uasi joined
|
|||
PerlJam | more people just need to adopt Perl 6 Regex :) | 13:53 | |
moritz | note that PCRE != P5 | ||
PerlJam | moritz: if you stand far enough away they look the same. ;) | 13:54 | |
bbkr_ | i'm aware of that. but PCRE and Perl5 regexps are compatible in 95%. | ||
moritz | .oO( "From a distance" |
13:55 | |
) | |||
13:57
sayu joined
|
|||
masak | a lot of things are compatible with Perl 5 regexes to 95% | 13:57 | |
13:57
MayDaniel left
13:58
MayDaniel joined
13:59
[sbp] joined,
[sbp] is now known as sbp`,
sbp left,
sbp` is now known as sbp
14:00
sorear_ joined,
sunnavy_ joined
|
|||
moritz | phenny: tell tadzik that github.com/perl6/modules.perl6.org...ed348b4f9b makes IO::Select show up on modules.perl6.org again. | 14:01 | |
phenny | moritz: I'll pass that on when tadzik is around. | ||
14:01
breinbaa1 joined,
MOAR-f001i5h joined,
aindilis left
|
|||
bbkr_ | it should be named PCin95E in fact :) | 14:01 | |
ok, thanks for the info. time to go spend some time at the beautiful lake with P6 hacking during weekend. | |||
14:01
showi left,
_ilbot left,
PerlJam left,
sorear left,
breinbaas left
|
|||
bbkr_ | nom: my $x = class is {}; $x.new | 14:01 | |
14:01
sunnavy left,
f00li5h left
|
|||
p6eval | nom 88d801: ( no output ) | 14:01 | |
14:02
sayu left,
showi joined,
jnthn left,
mtk left,
dalek left,
jnthn joined,
mtk joined
14:03
dalek joined,
ChanServ sets mode: +v dalek,
uasi left,
uasi joined,
slavik joined
14:05
_sri left,
_sri joined,
PerlJam joined,
buubot_backup left,
_ilbot joined
|
|||
masak | nom: my $x = class is 42 {}; $x.new; say "alive" | 14:06 | |
p6eval | nom 88d801: OUTPUT«===SORRY!===Unable to parse $*PKGDECL definition at line 1, near "42 {}; $x."» | ||
masak | nom: my $x = class is {}; $x.new; say "alive" | ||
p6eval | nom 88d801: OUTPUT«alive» | ||
masak | std: my $x = class is {}; $x.new; | ||
p6eval | std 516268a: OUTPUT«ok 00:01 121m» | ||
masak | huh. | ||
14:07
buubot_backup joined
|
|||
bbkr_ | "is" is treated as class name | 14:07 | |
14:07
clkao left,
clkao joined
|
|||
bbkr_ | std: class is {}; | 14:07 | |
p6eval | std 516268a: OUTPUT«ok 00:01 118m» | ||
bbkr_ | not a bug | 14:08 | |
14:08
chitragupt joined
|
|||
masak | that, or STD is just wrong in this case. | 14:09 | |
oh! | |||
no, I see what you're saying. | |||
rakudo: say is | |||
p6eval | rakudo a55346: OUTPUT«Could not find sub &is in main program body at line 22:/tmp/rASMzmjb8m» | ||
moritz | nom: my $x = anon class is 42 { } | 14:10 | |
p6eval | nom 88d801: OUTPUT«===SORRY!===Cannot use anon scope with class at line 1, near "42 { }"» | ||
moritz | nom: my $x = class :: is 42 { } | ||
p6eval | nom 88d801: OUTPUT«===SORRY!===Unable to parse $*PKGDECL definition at line 1, near "is 42 { }"» | ||
PerlJam | nom: class is { } | ||
p6eval | nom 88d801: ( no output ) | ||
moritz | std: class :: is Int { } | ||
p6eval | std 516268a: OUTPUT«ok 00:01 117m» | ||
moritz | nom: class :: is Int { } | ||
p6eval | nom 88d801: ( no output ) | ||
moritz | nom: my $x = class :: is Int { }; say $x | 14:11 | |
p6eval | nom 88d801: OUTPUT«::()» | ||
bbkr_ | nom: class is {}; class is is is {}; # even this works as expected :) | 14:12 | |
p6eval | nom 88d801: OUTPUT«===SORRY!===Illegal redeclaration of class 'is' at line 1, near "{}; # even"» | ||
moritz | (predictive parsing)++ | 14:13 | |
14:13
jaldhar left
14:15
kaare_ left
14:31
miso2217 left,
wolfman2000 left,
mberends left,
pothos left,
y3llow left,
kthakore left,
plobsing_ left,
rhr left,
Khisanth left,
Woodi left,
huf left,
sjn left,
domm left,
literal left,
slavik left,
showi left,
MOAR-f001i5h left,
breinbaa1 left,
daxim left,
sftp left,
cggoebel left,
shachaf left,
daemon left,
scottp left,
jnthn left,
sbp left,
[particle] left,
dual left,
snarkyboojum left,
imarcusthis left,
aloha left,
gabiruh left,
broquaint left,
Gothmog_ left,
renormalist|work left,
phenny left,
nsh- left,
Juerd left,
Grrrr left,
jjore left
14:32
dukeleto left,
\patch left,
molaf_ left,
jedai_ left,
mikehh left,
cognominal left,
yath_ left,
athomason left,
mikemol left,
bs338 left,
felipe left,
TimToady left,
jlaire left,
eiro left,
Grimnir_ left
14:33
colomon left,
yves left,
cotto_work left,
eternaleye left,
jferrero left,
pmichaud left,
tadzik left,
BinGOs left,
beppu left,
jfried left,
ascent_ left,
dju left,
MayDaniel left,
jfshadow left,
fhelmberger left,
nine left,
lumi_ left,
LoRe_ left,
zamolxes left,
jasonmay left,
dalek left,
mtk left,
jevin left,
arthur-_ left,
im2ee left,
Reaganomicon left,
simcop2387 left,
ZaphrodZenovka left,
cosimo left,
beekor left,
saaki left,
itz left,
kshannon_ left,
sunnavy_ left,
araujo left,
Trashlord left,
envi left,
masak left,
PacoLinux__ left,
sili left,
Patterner left,
gfldex left,
xinming left,
yahooooo left,
cotto left,
uasi left,
woosley left,
bbkr_ left,
pochi left,
szbalint_ left,
takesako left,
sorear_ left,
abercrombie left,
jerome_ left,
lichtkind left,
agentzh left,
orafu left,
Su-Shee left,
daniel-s left,
Helios left,
rml left,
sivoais left,
felher left,
senobmeht left,
awwaiid_ left,
c1sung left,
moritz left,
kst left,
betterworld left,
Util left,
robinsmidsrod left,
Yappoko___ left,
_ilbot left,
_sri left,
ribasushi left,
cexsum left,
maja left,
silug_ left,
Lorn left,
mls left,
avar left,
benabik left,
mux left,
ruz left,
hatseflats left,
ingy left,
kcwu left,
krakan left,
szabgab left,
charsbar__ left,
jql left,
clkao left,
PerlJam left,
mj41 left,
domidumont left,
p6eval left,
kfo_ left,
TiMBuS left,
frettled_ left,
meraxes left,
flussence left,
baest left,
jdhore left,
arnsholt left,
uniejo left,
jesk left,
chitragupt left,
buubot_backup left,
bluescreen10 left,
pnu left,
REPLeffect left,
amkrankruleuen left,
wooden left,
revdiablo left,
JodaZ_ left,
nsh left,
mathw left,
Tene left,
PZt left,
mdxi left,
ranguard left,
Maddingue left,
skangas left,
HarryS left
14:36
mkramer left,
donri left,
spetrea left,
jrockway left
14:37
tewk left,
Bucciarati left
14:38
DarthGandalf left
14:44
mkramer joined,
Bucciarati joined,
wamba joined,
DarthGandalf joined,
tewk joined,
jrockway joined,
donri_ joined,
spetrea_ joined,
HarryS_ joined,
skangas joined,
chitragupt joined,
clkao joined,
buubot_backup joined,
_ilbot joined,
PerlJam joined,
_sri joined,
slavik joined,
uasi joined,
dalek joined,
mtk joined,
jnthn joined,
showi joined,
WAAGDAK joined,
breinbaa1 joined,
sunnavy_ joined,
sorear_ joined,
sbp joined,
MayDaniel joined,
abercrombie joined,
jevin joined,
jerome_ joined,
lichtkind joined,
woosley joined,
ribasushi joined,
bluescreen10 joined,
arthur-_ joined,
pnu joined,
araujo joined,
Trashlord joined,
daxim joined,
im2ee joined,
miso2217 joined,
REPLeffect joined,
amkrankruleuen joined,
agentzh joined,
orafu joined,
rhr joined,
calvino.freenode.net sets mode: +v dalek,
Reaganomicon joined,
mj41 joined,
simcop2387 joined,
envi joined,
masak joined,
[particle] joined,
Su-Shee joined,
jfshadow joined,
PacoLinux__ joined,
colomon joined,
ruz joined,
sftp joined,
wolfman2000 joined,
sili joined,
Patterner joined,
molaf_ joined,
Khisanth joined,
mberends joined,
ZaphrodZenovka joined,
pothos joined,
y3llow joined,
dual joined,
plobsing_ joined,
kthakore joined,
cosimo joined,
bbkr_ joined,
cexsum joined,
domidumont joined,
maja joined,
beekor joined,
daniel-s joined,
silug_ joined,
gfldex joined,
Juerd joined,
Lorn joined,
xinming joined,
mls joined,
cggoebel joined,
yahooooo joined,
p6eval joined,
cotto joined,
avar joined,
kfo_ joined,
benabik joined,
jdhore joined,
jedai_ joined,
saaki joined,
calvino.freenode.net sets mode: +v p6eval,
mikehh joined,
pochi joined,
itz joined,
szbalint_ joined,
cognominal joined,
TiMBuS joined,
wooden joined,
Helios joined,
takesako joined,
frettled_ joined,
kshannon_ joined,
snarkyboojum joined,
yves joined,
fhelmberger joined,
cotto_work joined,
eternaleye joined,
imarcusthis joined,
revdiablo joined,
Woodi joined,
sivoais joined,
felher joined,
jferrero joined,
senobmeht joined,
pmichaud joined,
awwaiid_ joined,
yath_ joined,
tadzik joined,
JodaZ_ joined,
nsh joined,
shachaf joined,
eiro joined,
mathw joined,
nine joined,
huf joined,
aloha joined,
gabiruh joined,
broquaint joined,
c1sung joined,
Grimnir_ joined,
meraxes joined,
sjn joined,
athomason joined,
mikemol joined,
domm joined,
literal joined,
Tene joined,
mux joined,
Gothmog_ joined,
flussence joined,
bs338 joined,
baest joined,
felipe joined,
BinGOs joined,
moritz joined,
beppu joined,
lumi_ joined,
kst joined,
jfried joined,
renormalist|work joined,
betterworld joined,
phenny joined,
ranguard joined,
nsh- joined,
krakan joined,
daemon joined,
TimToady joined,
LoRe_ joined,
Util joined,
hatseflats joined,
PZt joined,
ingy joined,
jlaire joined,
mdxi joined,
zamolxes joined,
scottp joined,
jasonmay joined,
Grrrr joined,
kcwu joined,
jjore joined,
arnsholt joined,
robinsmidsrod joined,
dukeleto joined,
uniejo joined,
ascent_ joined,
dju joined,
Yappoko___ joined,
diakopter joined,
prammer joined,
lestrrat joined,
tylercurtis joined,
ruoso joined,
sjohnson joined,
cxreg joined,
zb joined,
apejens joined,
geekosaur joined,
spacebat joined,
szabgab joined,
\patch joined,
charsbar__ joined,
jesk joined,
jql joined,
Maddingue joined,
donri_ left,
donri joined
14:51
jevin left,
jedai joined,
jevin joined
14:52
wamba left,
jedai_ left
14:55
woosley left,
woosley joined
|
|||
masak | got a few ideas for what to blog about in the weekend: gist.github.com/1172972 | 14:58 | |
comments/suggestions welcome. | |||
moritz | masak: I vote for the macros | 15:03 | |
15:04
Holy_Cow joined
15:06
xinming left
15:07
xinming joined
15:08
Alias joined,
srynearson joined,
srynearson left
|
|||
PerlJam | masak: I vote for -n/-p (mainly because that's the one I'd write myself :) | 15:10 | |
15:10
Holy_Cow left
|
|||
PerlJam | masak: the one I'd most like to see would be the series on Little Animal Farm | 15:11 | |
I guess that'd be "ones" | |||
15:13
kaare_ joined
|
|||
TimToady | I like -n/-p | 15:14 | |
and we already know you like tests :P | 15:15 | ||
masak | wow, you people want everything, don't you? :P | 15:17 | |
lichtkind | dalek: seen thou | ||
masak sets his blog rate to "high" | |||
lichtkind | dalek: /seen thou | ||
dalek: help | 15:18 | ||
masak | lichtkind: why do you think dalek does seen? (or help?) | 15:19 | |
15:19
kaare_ left
|
|||
lichtkind | masak: i wanted to know when thou was last time on | 15:20 | |
15:20
hirschnase joined
|
|||
masak | lichtkind: bit of an X/Y problem, then, isn't it? :) | 15:21 | |
seen thou | |||
aloha | thou was last seen in #perl6 22 hours 45 mins ago joining the channel. | ||
lichtkind | it was wrong bot | ||
thank you masak | |||
masak | seen how dangerous it is to have a bot trigger command be something as common as the word 'seen' | 15:23 | |
aloha | Sorry, I haven't seen how dangerous it is to have a bot trigger command be something as common as the word 'seen'. | ||
masak suspected that | |||
well, s/dangerous/potentially annoying/, but still. | |||
15:24
domidumont left,
uasi left
|
|||
cognominal | masak++ | 15:25 | |
masak | already gotten two (actual) comments by people on the gist. makes me realize that I really need a commenting system on the blog... :) | 15:26 | |
either that, or I'll blog using gists from now on. :P | |||
15:28
agentzh left
|
|||
masak decommutes | 15:28 | ||
15:28
masak left
15:34
thou joined
|
|||
lichtkind | masak++ | 15:35 | |
masak++ (funny) | |||
mls | closing memleaks: gist.github.com/1173686 | 15:38 | |
TimToady: another question about exception handling and the call stack: | 15:39 | ||
say an exception of type A is caught and the handler in turn throws an exception of type B. the call stack is not unrolled, so can type B get caught by a handler in the "to-be-unrolled" part of the call chain? | 15:41 | ||
moritz | mls: did you know that you can use 'git diff' for generating such patches? | ||
mls | yes ;) | 15:42 | |
moritz | depending on what you do now, it could be less work :-) | ||
mls | no ;) | ||
15:43
anbz joined,
mj41 left
15:44
anbz left
15:45
daxim left
|
|||
mls | back to the exceptions: That looks to me like an unwanted side effect of not unrolling the stack, as for the handler that catches B the exception from the CATCH A block comes as a surprise... | 15:46 | |
sub foo { CATCH B {} ; die A}; { foo(); CATCH A { die B} } | 15:47 | ||
(not really perl6 syntax...) | |||
(how does lisp handle this?) | 15:48 | ||
TimToady | the CATCH B should never see the B exception | 15:49 | |
at the end of CATCH A, it notices there's an unresolved B, and continues on up the chain from there | |||
foo has returned, so it's not in the chain | 15:50 | ||
15:50
abercrombie left
|
|||
TimToady | S04:1032 is what catches B, and sends it on up the chain | 15:51 | |
it doesn't restart from the beginning of the current dynamic scope | |||
"one-pass semantics comes to exception handlers" as it were | 15:52 | ||
mls | so it skips the not-unrolled part when it rethrows the exception? | ||
TimToady | yes | 15:53 | |
that's what that code is intended to do, anyway | |||
mls | the code doesn't rethrow at all ;) | ||
TimToady | I wasn't going to be that picky about your comment :) | ||
mls | tricky stuff, those perl6 exceptions | 15:55 | |
flussence *finally* has a test stats thing that's reasonably fast and works more or less correctly | 15:58 | ||
mls | so in parrot when I catch an exception I have to patch the call context so that callframe et al work in the handler, and at rethrow time I have to restore the call chain to the original value. Hmm, sounds doable. | 15:59 | |
(pmichaud++ will probably hate it ;) ) | |||
flussence | (I don't know what I was doing wrong the previous attempt, but I kept getting failures about a missing pmc/*.h file after one compile even though I was running git clean -dfx. Ended up using a separate checkout dir for each revision and that worked) | 16:00 | |
16:00
anbz_ joined
|
|||
mls | Anyway, thanks TimToady++. Back to memleak hunting... | 16:00 | |
16:01
im2ee left
16:02
im2ee joined
16:05
toby_tyler joined
16:06
toby_tyler left
16:13
kst left
|
|||
dalek | d: e3c970e | larry++ | STD.pm6: include any<foo bar> in illegal forms We've been checking for bare 'say' and such; the misuse of 'any' can be in the same spot, but deserves a different message since it's (probably) not intended to default to $_. Also, both messages are fatal now. (In the long run, the %deftrap hash probably wants to be a trait on the proto sub so that user-defined functions can get the same treatment.) |
16:13 | |
16:14
kst joined
|
|||
TimToady | sorear: ^^ | 16:14 | |
16:14
anbz_ left
16:15
perlhack joined
16:16
birdwindupbird left,
beekor left
16:19
perlhack left
|
|||
TimToady | phenny tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least. | 16:27 | |
phenny: tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least. | 16:28 | ||
phenny | TimToady: I'll pass that on when masak is around. | ||
TimToady | moritz: actually, Rat is specced to have uint64 in the denominator, since we don't need two signs | 16:33 | |
and it doubles our precision :) | 16:34 | ||
moritz | TimToady: right | ||
TimToady | for some definition of double... | ||
moritz | .oO( that's what they mean with "double precision" floating point operations ... ) |
16:38 | |
TimToady wants double accuracy floating point numbers | 16:39 | ||
niecza: m:P5/"/ | 16:42 | ||
p6eval | niecza v8-55-g0db7bb8: OUTPUT«Unhandled exception: Autoloading NYI at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 4598 (STD Regex.tweak @ 6)  at /home/p6eval/niecza/src/STD.pm6 line 489 (STD C191_ANON @ 2)  at /home/… | ||
TimToady | std: m:P5/"/ | 16:43 | |
p6eval | std 516268a: OUTPUT«ok 00:01 133m» | ||
16:46
wamba joined
16:48
Tedd1 joined
17:07
MayDaniel left
|
|||
moritz | t/spec/S02-whitespace_and_comments/begin_end_pod.t seems to have regressed | 17:11 | |
dalek | kudo/nom: 2742f6d | moritz++ | src/binder/multidispatch.c: fix memory leaks, patch by mls++ |
17:17 | |
17:19
daniel-s left
17:21
im2ee left
17:22
im2ee joined
|
|||
mls | Thanks moritz! | 17:22 | |
I guess nqp also leaks: gist.github.com/1173901 | |||
I haven't done much testing with the patch, though. | |||
moritz | mls: at your convenience, please submit a patch that adds your nick to CREDITS | ||
+ mem_sys_free(info); | 17:23 | ||
+ if (info->types) | |||
isn't that a dangerous ordering? | |||
I mean I'd *first* check the elemnts of info and *then* free it | 17:24 | ||
mls | Oh, yes. Bad copy&paste. Please reorder ;) | ||
17:25
wamba left
|
|||
moritz tests | 17:25 | ||
mls | Credits patch: gist.github.com/1173907 ;) | 17:26 | |
mikemol | Should be trivial, but I'm looking forward to seeing the Perl6 solution to rosettacode.org/wiki/Ternary_logic | ||
TimToady | (he's looking forward to seeing ∧, ∨, ⊃ and ≡ operators :) | 17:27 | |
mikemol | ;) | ||
mikemol imageines TimToady just copied "∧, ∨, ⊃ and ≡" from my line in #rosettacode. :) | |||
*imagines | 17:28 | ||
flussence | I wrote one of those already! | ||
TimToady | got it in one | ||
flussence | github.com/flussence/Mathematical-...s/Sets.pm6 | ||
mikemol | flussence: If it fits, it sounds like a good opportunity to demonstrate pulling in existing modules. | ||
TimToady | this isn't sets though | ||
mikemol | ...and it doesn't fit. >.> | ||
flussence | aw | 17:29 | |
.oO( time to add more multis... ) |
|||
moritz | I'd go with Bool::True, Bool::False and Bool | ||
then you can just say thing like | |||
multi prefix(Bool:U: $) { Bool } | |||
hm, but 'and' and 'or' short-circuit, so one can't easily add multis | 17:30 | ||
lichtkind | i built nom again and it still fails under ubuntu 64 bit | ||
moritz | lichtkind: what exactly fails? | 17:31 | |
mls | afk, weekend... | ||
lichtkind | moritz: all i got was speicherzugriffsfehler | ||
mye mls | |||
moritz | lichtkind: when? | ||
mls | mye lichtkind! | ||
lichtkind | hahah | ||
i ment bye | |||
thou: cheers | |||
TimToady | flussence: also, sets are defined as associative already in p6, so .list.any is a bit inefficient once rakudo supports associative sets | ||
moritz | lichtkind: at your convenience, please read catb.org/~esr/faqs/smart-questions.html | 17:32 | |
lichtkind | moritz: after starting an almost no script just use v6; and creating 2 lists | ||
moritz | that's weird | ||
lichtkind | it is | ||
its a fresh git clone just compiles | 17:33 | ||
TimToady | rakudo: my $s = set(<a b c>); say $s<a>; # sb True | 17:34 | |
p6eval | rakudo a55346: OUTPUT«Bool::True» | ||
TimToady | ooh, yay | ||
thou | lichtkind: ¡hola! | 17:35 | |
sorear_ | good * #perl6 | ||
17:35
sorear_ is now known as sorear
|
|||
flussence | TimToady: I know the code's probably doing a lot wrong, I'm hoping someone else takes it seriously enough to come along and take it off my hands :) | 17:35 | |
moritz | good *, sorear | ||
lichtkind missed the set command | 17:36 | ||
TimToady | nom: my $s = set(<a b c>); say $s<a>; # sb True | ||
p6eval | nom 88d801: OUTPUT«Could not find sub &set in mu <anon> at /tmp/6tOaXkrO0L:1 in mu <anon> at /tmp/6tOaXkrO0L:1» | ||
TimToady | ooh a pun :) | ||
flussence | also, this is looking a bit more realistic of a target now :) github.com/flussence/specgraphs/ra...-tests.png | 17:37 | |
TimToady | 'in mu <anon>'? | ||
moritz | TimToady: nom does't know about the mainline yet (in backtraces) | ||
TimToady: and should filter out the 'mu' when the type of the code object isn't known | |||
TimToady | moo | 17:38 | |
17:38
Chillance joined
|
|||
sjohnson | nom: "just another perl 6 hacker".say | 17:42 | |
p6eval | nom 88d801: OUTPUT«just another perl 6 hacker» | ||
sjohnson | nom: "rekcah 6 lrep rehtona tsuj".reverse.say | 17:43 | |
p6eval | nom 88d801: OUTPUT«rekcah 6 lrep rehtona tsuj» | ||
sjohnson | 0_0 | ||
moritz | well, list-reversing a one element list isn't very spectacular | 17:44 | |
try .flip | |||
17:44
masak joined
|
|||
masak | #perl6! \o/ | 17:44 | |
phenny | masak: 16:28Z <TimToady> tell masak separating your entry database from your query database is really an ancient idea; James Martin was advocating it in the 70s, at least. | ||
masak | yes, it is! :) | 17:45 | |
I only wish it had hit the mainstream along with all the default crap we keep deploying. | |||
oh, but thanks for the reference. it's good to have those. I'll look for articles by James Martin. | 17:46 | ||
guessing it's this guy: en.wikipedia.org/wiki/James_Martin_(author) | |||
sjohnson | i'm no p6 hacker! | 17:47 | |
nom: "rekcah 6 lrep rehtona tsuj".flip.say | |||
p6eval | nom 88d801: OUTPUT«just another perl 6 hacker» | ||
sjohnson | ahh, there we go. moritz++ | ||
sorear | masak! | 17:48 | |
lichtkind | has a list generator to be a recursive one? or can there be direct ones, meaning a function that can directly calculate the content of an list member without predecessor? | 17:49 | |
sorear | lichtkind: I think you want "map" | 17:50 | |
moritz | lichtkind: there are lots of ways to generate lists | ||
sorear | rakudo: my @list := map * ** 2, 0..*; say @list[^20] | ||
p6eval | rakudo a55346: OUTPUT«0149162536496481100121144169196225256289324361» | ||
sorear | rakudo: my @list := map * ** 2, 0..*; say ~@list[^20] | ||
p6eval | rakudo a55346: OUTPUT«0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361» | ||
moritz | lichtkind: gather/take, map, loop + pushing to an array (ok, not lazy), the series operator, infix:<xx> | 17:51 | |
lichtkind | yes but i mean the intrinsic list generator of an list object | ||
has that to be recursive? | |||
moritz | what is "the intrinsic list generator of an list object"? | ||
an implementation detail? | |||
lichtkind | moritz: something like reify | 17:52 | |
moritz | lichtkind: reify is a method, not a generator | 17:53 | |
lichtkind | i meant the method that reify calls | ||
what i have in mind is eg a series of squares ($n * $n) which are created from a lazy list | 17:54 | ||
moritz | internally List stores a code object which is called when more items are reified | 17:55 | |
is that what you mean? | |||
if so, it's not recursive | |||
masak | I usually think of gather/take as the "intrinsic list generator". | 17:56 | |
lichtkind | moritz: but when i want element 5 , 1..5 will be generated and i want to be jsut generated 5 | 17:58 | |
sorear | then no, that's not how Perl 6 lists work. | 17:59 | |
lichtkind | sorear: thank you very much | 18:01 | |
and i thougt perl 6 can everything | |||
masak | lichtkind: it can, just not out of the box. | 18:02 | |
moritz | it's Turing complete :-) | ||
lichtkind | moritz: so is ook | ||
i mean that i have to create an own list object | |||
masak | lichtkind: maybe you just need something like a memoized function of an integer argument? | 18:03 | |
not a list. | |||
lichtkind: again with this X/Y stuff... it's the second time today :P | |||
lichtkind | masak: sounds reasonable | ||
18:03
wamba joined
|
|||
lichtkind | masak: im chewing on this topic since patricks talk | 18:04 | |
masak | that's good. | ||
I am, too :) | |||
pmichaud++ | |||
lichtkind | pmichaud++ | ||
masak | pmichaud is a truly reaified guy with a PLAN :) | 18:05 | |
ergh, *reified | |||
dalek | p: 0bfcef6 | moritz++ | src/6model/multi_dispatch.c: fix a multi dispatch memory leak, patch by mls++ |
18:06 | |
lichtkind | hej they found it | 18:07 | |
great | |||
masak | mls++! | 18:09 | |
TimToady | well, they found one of it anyway | ||
or two of it, depending on how you count | |||
lichtkind building | 18:10 | ||
masak pavement | 18:13 | ||
TimToady | still goes up to 1.5G compiling the setting | 18:14 | |
lichtkind | yay, works | 18:15 | |
moritz | TimToady: yep, it was only a rather small leak (while sorting candidates, not on invocation) | 18:16 | |
lichtkind | thats very good | ||
so i can base my slide sfor turino on working nom snippets | |||
TimToady | commuting & | 18:19 | |
lichtkind | mls++, moritz++ | 18:20 | |
18:26
Tene left
18:33
soh_cah_toa joined
18:36
birdwindupbird joined
18:48
gfldex left
18:50
gfldex joined
18:52
risou_awy joined,
woosley left
18:53
risou_awy is now known as risou
18:57
soh_cah_toa left,
wolfman2000 left
18:59
soh_cah_toa joined
19:04
mberends left,
hirschnase left,
hirschnase joined
19:07
hirschnase left
19:13
mberends joined
|
|||
mberends | \o/ 32 bit compiling the setting in nom now uses under 800MB, so a 1GB machine can do it again by closing Firefox, xchat etc. | 19:15 | |
flussence | yay | 19:16 | |
19:29
bluescreen10 left
|
|||
mberends | on 32 bit, instants-and-durations.t still hangs and consumes all the memory it can get :-( | 19:32 | |
moritz | mberends: maybe comment it out from spectest.data until we have a fix | 19:33 | |
mberends | yes, good idea :) | ||
19:41
Caldrin joined
|
|||
masak | rakudo: say <ugga>, <b l m>.roll(3) X~ <ugga> | 19:43 | |
p6eval | rakudo a55346: OUTPUT«uggauggabuggamuggalugga» | ||
masak | nom: say <ugga>, <b l m>.roll(3) X~ <ugga> | ||
p6eval | nom 2742f6: OUTPUT«uggaugga mugga bugga mugga» | ||
Caldrin | Hi! I try to learn perl6 currently. In the module IO::Socket::INET I found the line $!PIO = Q:PIR { %r = root_new ['parrot';'Socket'] }; | ||
I can not find any documentation on the meaning of this Q:PIR. | |||
Can anyone please point me to some docu where I can learn what this does? | |||
moritz | Caldrin: it's a non-standard extension in Rakudo to access low level parrot functionality | ||
masak | Caldrin: all the rest of the setting also compiles down to PIR. this just injects it directly. | 19:44 | |
Caldrin | So that's the solution to implement socket handling, I assume? | ||
masak | and a fine solution it is! :) | 19:45 | |
nom: say '', <b l m>.roll(3) X~ <ugga> | 19:46 | ||
p6eval | nom 2742f6: OUTPUT«ugga lugga mugga bugga» | ||
19:46
bluescreen10 joined
|
|||
moritz | when we implement low-level stuff, we can either use stuff that parrot implements (or wraps), or we can try wrap C stuff ourselves | 19:46 | |
parrot stuff is usually less work for us, and we have people to yell if it goes wrong on some platform :-) | |||
masak | nom: say "a", "b" | 19:47 | |
p6eval | nom 2742f6: OUTPUT«ab» | ||
Caldrin | masak: I don't doubt this. In Perl5 the module inherits from IO::Handle which in turn offers a few functions more, especially $socket.say(); | ||
I was looking to implement this say in Perl6 IO::Socket::INET too for learning and checking where it would suite best. | 19:48 | ||
moritz | Caldrin: probably IO::Socket | ||
masak | nom: say join '', <A R G H> »x» (3..7).roll | ||
p6eval | nom 2742f6: OUTPUT«AAAARRRRGGGGHHHH» | ||
masak | :) | ||
Caldrin | moritz: Yes, I figured this would be the right place. | ||
masak | oh wait, that rolls just once. | ||
Caldrin | I thank you for your help. | 19:49 | |
masak | nom: say join '', $_ x (3..7).roll for <A R G H> | ||
p6eval | nom 2742f6: OUTPUT«AAAAAARRRRRGGGGGGHHH» | ||
masak | nom: say join '', ($_ x (3..7).roll for <A R G H>) | ||
p6eval | nom 2742f6: OUTPUT«AAAAARRRRRRRGGGGHHHHHH» | ||
masak | \o/ | ||
TimToady | add some !!! too :) | ||
moritz | :-) | ||
masak | nom: say join '', ($_ x (3..7).roll for <A R G H !>) | ||
p6eval | nom 2742f6: OUTPUT«AAAAAARRRRGGGGGGHHHHHHH!!!» | ||
TimToady | boring | ||
nom: say join '', ($_ x (3..7).roll for <A R G H !>) | 19:50 | ||
p6eval | nom 2742f6: OUTPUT«AAAAAAARRRGGGGGGHHH!!!!» | ||
TimToady | that's better | ||
masak | :P | ||
nom: say "I", "E" x 50, " 802.11" | 19:52 | ||
p6eval | nom 2742f6: OUTPUT«IEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 802.11» | ||
TimToady | n | ||
masak | :) | ||
nom: say '/\\' x my $j = 25, ' hup! ', '\\/' x $j | 19:53 | ||
p6eval | nom 2742f6: OUTPUT«Use of uninitialized value in numeric contextCannot assign to a non-container in mu <anon> at /tmp/_ViPinUuSf:1 in mu <anon> at /tmp/_ViPinUuSf:1» | ||
masak | hm, I expected that to be item assignment... | ||
nom: say '/\\' x (my $j = 25), ' hup! ', '\\/' x $j | |||
p6eval | nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/» | ||
TimToady | niecza: say '/\\' x my $j = 25, ' hup! ', '\\/' x $j | 19:54 | |
moritz | what's the relative precedence of x and = ? | ||
p6eval | niecza v8-55-g0db7bb8: OUTPUT«25 hup! » | ||
masak | nom: say '/\\' x (my $j = 10), ' hup! ', '\\/' x $j | ||
p6eval | nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/» | ||
masak | moritz: = has two precedences, IIRC. | ||
item and list. | |||
moritz wonders if masak++ just watched the Ministry of Silly Walks sketch by Monty Python | |||
masak: I know | |||
masak | moritz: no, but I will now, on YouTube :) | 19:55 | |
I'm just being Friday evening silly on my own. | |||
moritz | masak: ah, infix:<x> is tigher than both infix:<=> forms | ||
19:56
Caldrin left
|
|||
moritz | which usually makes perfect sense :-) | 19:56 | |
TimToady | you wouldn't need a temp variable in forth | 19:57 | |
moritz | well, you can do just 'bout anything with the stack in forth :-) | ||
by the same token you can declare a global-ish @stack in perl 6 and reuse that everywhere when you want to avoid temp variables :-) | 19:58 | ||
not that I would recommend that to anybody... | 19:59 | ||
TimToady | nom: say join ' hup! ', </\ \/>>>x>>10 | ||
p6eval | nom 2742f6: OUTPUT«/\/\/\/\/\/\/\/\/\/\ hup! \/\/\/\/\/\/\/\/\/\/» | ||
TimToady | nom: say join ' hup! ', </o\ \o/>>>x>>10 | 20:00 | |
p6eval | nom 2742f6: OUTPUT«/o\/o\/o\/o\/o\/o\/o\/o\/o\/o\ hup! \o/\o/\o/\o/\o/\o/\o/\o/\o/\o/» | ||
20:00
jevin left
|
|||
masak | who needs temp variables and stacks when we have join? :P | 20:00 | |
moritz: thanks for reminding me of that sketch. :) | 20:01 | ||
nom: say <do re mi fa so la ti>.roll(5) | 20:02 | ||
p6eval | nom 2742f6: OUTPUT«re so la fa so» | ||
masak | quite singable, actually. | ||
TimToady | not a final cadence though | 20:03 | |
masak | no, there's the promise of more after that. | ||
20:03
jevin joined
|
|||
TimToady | I sometimes sing my wife's SSN before mine; here's ends on re, mine ends on do :) | 20:04 | |
*hers | 20:05 | ||
masak | I'd like to hear that sometime :) | ||
moritz | TimToady: so together you get 'redo'? :-) | ||
TimToady | but then you could steal our identity :) | ||
masak | TimToady: that's U.S. think, and really not Swedish think ;) | 20:06 | |
TimToady: over here, we all have SSNs, and we're not afraid to use them. | |||
masak wouldn't mind giving a lightning talk about gist.github.com/1149245 sometime | 20:08 | ||
TimToady | yet | ||
masak | TimToady: if there are worrying tendencies or causes for concern, I don't see them. | ||
20:09
birdwindupbird left
|
|||
moritz | I guess it depends on how they are used | 20:09 | |
PerlJam | masak: I don't get it ... the Perl 5 version is clearly much more readable ;) | ||
masak | PerlJam: you're joking, but... yes, it is. for non-sixers. | 20:10 | |
PerlJam: maybe the lightning talk should highlight that as well. | |||
moritz | afaict in the US if you know somebody's SSN, people take that as authentication that you are that person | ||
masak | what? that's crazy! :) | 20:11 | |
lue | hello planet o/ | ||
20:11
skangas left
|
|||
TimToady | I remember having a conversion with a REXX programmer in which he maintained that five pages of REXX were more readable than five lines of Perl :) | 20:11 | |
20:11
skangas joined
|
|||
PerlJam | masak: there's more to read, ergo it's more readable. There's hardly anything to the Perl 6 version. You might accidentally elide the whole on first glance. | 20:11 | |
TimToady | *conversation | ||
masak | PerlJam: :P | ||
TimToady | I don't think any conversion happened there... | ||
PerlJam | s/whole/whole thing/ | ||
lue | for the record, I find P5 code to be completely illegible (what the heck is Dog->walk ?) | ||
masak | lue: it's a Dog pointing to the walk :P | 20:12 | |
because it needs to go for a walk. | |||
TimToady | lue: that's because the designer of P5 couldn't decide whether he liked Dogs or Cats better. | ||
masak considers the course "teaching OO by misleading examples" | |||
20:13
mj41 joined
|
|||
lue | Actually, I chose that example because I know it (P6 did s/->/./ IIUC), but most of P5 code I see is confusing and not worth trying to decode. The non-readability goes both ways | 20:13 | |
masak | nom: role Walking {}; class Dog does Walking {}; class Cat {}; Cat.walk | ||
p6eval | nom 2742f6: OUTPUT«Method 'walk' not found for invocant of class 'Cat' in mu <anon> at /tmp/Oj9GmLJBtw:1 in mu <anon> at /tmp/Oj9GmLJBtw:1» | ||
TimToady would take a course entitled "misleading by teaching OO examples" | |||
masak | you can't walk a Cat. | ||
lue: you have a point. | 20:14 | ||
lue | Of course you can! [How the cat would react to it is a different matter...] | ||
masak | lue: on the other hand, when you learn the superficial differences in syntax, Perl 5 and Perl 6 feel very much alike. | ||
(as you can see from the gist...) :P | |||
PerlJam | masak: your two implementations of choose-column don't feel at all alike | ||
:) | 20:15 | ||
flussence | you can't walk a Cat, but you can walk a tree | ||
masak | PerlJam: it's really the same code! just removed a bit of boiler-plate in the second version! | ||
using setting builtins, and so on... | |||
PerlJam | masak: looks like line noise ;) | ||
masak | *lol* | ||
20:15
Holy_Cow joined
|
|||
masak | "Perl 6: we're so Perl that even the Perl 5 people look at us weirdly!" | 20:16 | |
20:16
Holy_Cow left
|
|||
flussence | (min :by loops pretty useful, never knew about that one...) | 20:16 | |
s:1st/p/k | |||
masak | flussence: I hadn't used it before writing that line, but there it was right when I needed it. | ||
lue | masak: what gist? | 20:17 | |
masak ♥ Perl 6 | |||
lue: gist.github.com/1149245 | |||
lue | nvm, found it. | ||
PerlJam | Perl 6 magically anticipates your needs and provides them even before you know what you need. | ||
lue | waitaminute, P5 doesn't have Inf ‽ | 20:18 | |
TimToady | not in integers | ||
masak | lue: you kids so spoiled :P | ||
moritz | lue: it's kinda platform dependent if it has or not | ||
masak | did we ever work out the typology of Int in Perl 6? | ||
moritz | $ perl -wE 'say 0+"Inf"' | ||
inf | |||
masak | er, of Inf. | 20:19 | |
oh, maybe I should use that instead, then. | |||
TimToady | it's a floater | ||
masak | I don't mind. | ||
all I do with it is compare it to the first integer that comes along. | |||
flussence | (hm, I would've thought 1.0/0.0 would return inf too) | 20:20 | |
masak | the Inf never leaves the method. | ||
flussence: why would you think that!? | |||
flussence | IEEE told me it does :( | ||
masak says this with real surprise, as someone who believed that too 15 years ago | |||
flussence: true. | |||
flussence: I still find it non-immediate. | 20:21 | ||
moritz | except that in Perl 5, scalar types are not exposed to the user | ||
TimToady | obviously it should return ±Inf | ||
masak | no, not obviously :) | ||
moritz | so 0 is really the same as 0e0 in p5 | ||
lue remembers the joke proof he wrote a while ago, and sets out to put it on the web | |||
PerlJam | flussence: how can you listen to anyone that sounds like a scream? | ||
masak | flussence: by definition, division x/y gives the number z such that yz=x. for y=0, there's no such z. | 20:22 | |
TimToady | well, it really depends on the exact value of ±0 that you've divided by | ||
masak | TimToady: you're being very nonstandard right now ;) | ||
TimToady | I'm being calculating | ||
flussence | perl6: say 1/0 | ||
p6eval | niecza v8-55-g0db7bb8: OUTPUT«Infinity» | ||
..pugs: OUTPUT«*** Illegal division by zero at /tmp/9Ljf45Iozv line 1, column 5 - line 2, column 1» | |||
..rakudo a55346: OUTPUT«Inf» | |||
flussence | blargh | ||
masak | en.wikipedia.org/wiki/Non-standard_analysis | ||
masak hugs Pugs | 20:23 | ||
sorear: "Infinity"? | |||
TimToady | you get closer to Inf as you approach 0, but you can't say which side you're approaching it from unless you know in advance | ||
masak | TimToady: the Riemann sphere actually solves this! | ||
TimToady | so more of a calculus notion | ||
masak | in the complex plane, paradoxiacally, there's only one infinity. | 20:24 | |
TimToady | well, but nom has a memory leak with the sphere | ||
masak | :P | ||
it's very poetic, in a sense. | |||
flussence wonders whether there's practical use for a TooBigToRepresentNum type separate from Inf | |||
masak | 0 is "right here". Inf is "very, very far away". | ||
flussence | (I'm not suggesting such a horrible name ever gets added, of course) | ||
masak | "what direction should I walk?" -- "doesn't matter, you'll get there. it's on the other side of this giant sphere." | 20:25 | |
moritz | fwiw Mathematica has a separate ComplexInfinity symbol :-) | ||
masak | moritz: which one is bigger, the normal Infinity, or ComplexInfinity? :P | ||
TimToady | well, Mathematica probably has a builtin function to do what you're doing | ||
moritz | masak: both, but ComplexInfinity is more Complex, of course :-) | 20:26 | |
masak | moritz: bet it needs more therapy, too. | ||
dark and brooding Infinity. | |||
TimToady | Infanity, is more like | ||
moritz | did you mean "Insanity"? | 20:27 | |
TimToady | Infantity | ||
moritz -> insane sleeping | |||
masak | everyone seems to ignore the Elefanity in the room. | ||
TimToady | dream sweets | ||
flussence | try not to dream of insane complexity :) | ||
20:27
hirschnase joined
|
|||
TimToady | I am Confantiy | 20:27 | |
moritz remembers to tooth up his brushes before going to sleep | 20:28 | ||
TimToady | *Confanity, confang it! | ||
masak | moritz: süße Träume | ||
TimToady | traumatic SUSE? | ||
masak | Konrad, most like. | ||
20:28
mj41 left
|
|||
masak | no wait, that's with a Z. | 20:28 | |
TimToady | let's keep going, and see if we can give moritz++ a migraine when he backlogs tomorrow | 20:30 | |
20:30
hirschnase left
|
|||
masak | I'm already all exfaunted. | 20:31 | |
lue | I have the perfect solution to division by zero, and I'll be uploading the proof momentarily. | 20:32 | |
masak | *groan* :) | 20:33 | |
nom: say <in en con comp trau>.roll, <sanity fanity lexity fang matic faunted>.roll | |||
p6eval | nom 2742f6: OUTPUT«confang» | ||
masak | TimToady wins, confang it! :) | ||
20:34
mkramer1 joined
|
|||
lue | .oO(trausanity) |
20:36 | |
masak | lue: that's the kind of sanity that is *so* sane, that it's traumatic. | ||
"Yes, I'm afraid he was deeply scarred by his sanity." | |||
nom: say <in en con comp trau>.roll, <sanity fanity lexity fang matic faunted>.roll | 20:37 | ||
p6eval | nom 2742f6: OUTPUT«enfaunted» | ||
masak is immediately enfaunted with this new word | |||
20:37
mkramer left
|
|||
PerlJam | .oO(infanted?) |
20:39 | |
masak | clearly something different. | ||
lue | nom: say <in en con comp trau frotz>.roll, <sanity fanity lexity fang matic faunted>.roll | 20:40 | |
p6eval | nom 2742f6: OUTPUT«compfaunted» | ||
masak | :) | ||
"compfaunted". I know that feeling. | |||
lue | [this set of dice is fun. I could play all day!] | 20:41 | |
masak | lue: invent a game around them, and I'll play it with you. | 20:42 | |
20:43
jevin left
20:46
jevin joined
|
|||
lue | divison by zero proof (remember, supposed to be joking): rdstar.wordpress.com/2011/08/26/the-mu-proof/ | 20:48 | |
nom: say <in en con comp trau frotz>.roll, <sanity fanity lexity fang matic faunted>.roll | 20:49 | ||
p6eval | nom 2742f6: OUTPUT«infaunted» | ||
20:51
abercrombie joined
|
|||
masak | I'm getting infaunted by this exercise. | 20:51 | |
abercrombie | The memory leak problem got resolved? | 20:54 | |
masak | lue: that paper is kinda funny. but only because it's completely frotzfang. :P | ||
lue | .oO(I was worried the humor might have gone a bit stupid) |
||
masak | lue: you remind me of me when I was your age :) | 20:55 | |
half my age ago. | |||
lue wonders if now he'll someday walk to hotels with towels on his head | 20:56 | ||
masak | quite possibly. | 20:57 | |
20:58
im2ee left
20:59
im2ee joined
|
|||
lue | [the scary part is, that sounds like a fun thing to do] | 21:02 | |
masak .oO( the transmogrifying process has already begun... ) | 21:03 | ||
TimToady | abercrombie: not the Big One | ||
21:04
breinbaa1 left
21:05
breinbaas joined
|
|||
TimToady | the sphere still chews up all my memory, anyway | 21:06 | |
lue | .oO(two more 'words' for the game dice: "trans" and "mogrify") |
||
TimToady | if you have con you should have pro, so we can get profanity | 21:08 | |
lue | .oO(If profanity ever comes up, we must damn() --- er, curse() --- all objects involved) |
21:10 | |
21:13
spetrea_ left
|
|||
lue | Now I have to invent a game, seeing as words like 'frotzlexity' can come up :) | 21:15 | |
masak | You could call the game 'frotzlexity'. | 21:24 | |
flussence | hm, I just realised p5 File::Temp tempdir() only cleans up at exit, and I'm making one tempdir per revision :( | 21:27 | |
21:27
bluescreen10 left
|
|||
flussence | and now my ~/.local/tmp is 11GB... not as bad as I'd feared. | 21:28 | |
21:29
cexsum left
21:30
fridim_ joined
21:31
molaf_ left
|
|||
lue | .oO(this laptop's original HDD was 12GiB!) |
21:33 | |
sorear | my first hdd was 2GiB. I feel old. | 21:34 | |
diakopter | hah | 21:35 | |
masak | 2GiB is a lot for a HDD. | ||
my first one had something like 120MiB. | |||
diakopter too | |||
flussence | I've rescued many a PC from the trash, so I know all about tiny hard drives... :) | ||
masak | but I had floppies-only computers before that. | 21:36 | |
yes. actual floppy disks. | |||
the kind that don't work anymore. | |||
flussence | 360KB ones? :) | ||
colomon | We got a floppy disk drive AND a cassette drive for our first computer. | ||
lue | I got my laptop for free, because the teacher that gave it to me didn't need it anymore (they upgrade to new macs _all the time_!) | ||
masak | flussence: yes. | ||
sorear | masak: my father loves to talk about saving up money to buy a 5 MiB HD for his previously HD-less computer. | 21:37 | |
flussence | I tried putting DOS 6 on one of those once. It didn't fit. | ||
lue | masak: were they bigger than 3.5" ? | ||
masak | lue: 5.25" | ||
flussence | lue: 3.5" only go down to 720KB, iirc | ||
masak | lue: and bendable. | ||
colomon | and before that 8" | ||
masak | flussence: yes. | ||
flussence | (depends on how they're formatted, I suppose) | ||
lue | ooh. [I routinely feel I missed out on a great era of computing. Nowadays stupid handheld things rule the realm] | 21:38 | |
I found a 5.25 floppy once, and used it as a bookmark in one of our many books related to computers (hopefully I can find that floppy back someday...) | |||
mberends | istr the Apple ][ formatted only 143KB on one side of a 5.25" floppy | 21:39 | |
double sided drives were more expensive back in the day | 21:40 | ||
colomon | but you could always buy single sided and punch holes in them to make them double sided. ;) | 21:41 | |
errr, the disks, not the drives. | |||
flussence | I didn't even *have* a PC until about 2001-ish. Then I got given easy access to a lot of discarded hardware and went through about 10 years of x86 in a few months... that was a weird time | ||
(I think I had two 5.25 drives on windows XP at one point...) | |||
sorear | lue: it doesn't matter if you can find the disk anymore | 21:42 | |
lue | When it comes to computers, I think old > new (e.g. IF > graphical games). I'm jealous of you all :/ | ||
sorear | lue: floppy disks are made with a very low-coercivity material, they demagnitize in the Earth's field with a half-life of 5-10 years | ||
21:43
cexsum joined
|
|||
sorear | old floppies are junk | 21:43 | |
flussence | .oO( good thing I have several backups of these doomII disks! ) |
||
lue | sorear: if&when I find it back, it'll be purely for the "I have a floppy disk! That's *floppy*!" value, not to use it (it was some old game I wouldn't care to play) | ||
mberends | we had fun once writing a boot splash screen on the second side of a 5.25" disk, that said "fatal error: diskette upside down" and pranking victims. | 21:44 | |
21:44
pochi left
|
|||
sorear | mberends: oh, you had to physically remove and flip disks once? | 21:44 | |
masak | lue, sorear: ascii.textfiles.com/archives/3191 | ||
colomon | sorear: yes | 21:45 | |
mberends | disks that formatted on one side only were cheaper, there were lower quality standards. We bought the cheap ones, cut notches as colomon++ said and used the failed side anyway at our own risk. | 21:46 | |
21:46
pochi joined
|
|||
flussence | sort-of relevant: redd.it/juzpa | 21:48 | |
sorear | mberends: was it like resistors, they make 1000 disks, test them, sell the ones that have two good sides for a premium, throw out the zero-sided disks, and sell the rest as 1-sided? | ||
mberends | sorear: exactly | ||
lue | [that article might explain why I got mostly IO errors from that 3.5" Infocom floppy I tried not too long ago] | 21:49 | |
sorear | punch cards were so much better for information storage | ||
mberends | easier to edit, in a way | 21:50 | |
21:50
mkramer1 left
|
|||
sorear | also, paper objects last longer than magnetized films | 21:50 | |
TimToady | my first computer's storage was 3 40-step (hand-punched) punch cards | ||
sorear imagines archaeologists in the year 3800 discovering a pile of punch cards off the Dead Sea | |||
TimToady | well, my school's computer, really | ||
the first computer I ever actually owned myself was an Amiga 1000 | 21:51 | ||
mberends | ooh, 16 bits! | ||
TimToady | well, I'm actually much more familiar with PDP-11, if you want 16 bits | 21:52 | |
mberends began with a TRS-80 in 1979 | 21:53 | ||
lue wonders if colleges will still hold these awesome relics of computer history by the time he gets there. | |||
sorear | s/colleges/museums | 21:54 | |
TimToady | there's a computer history museum about 1/2 mile from my home that is full of such beasties | ||
sorear | lue: also look for a Web site called "The Retrocomputing Museum", it's full of entertaining things like an ENIAC emulator | 21:55 | |
flussence | my school had rooms full of Acorn/512k Mac machines while I was there. They threw them all out for generic PCs :( | 21:56 | |
21:59
[Coke] joined
22:04
eternaleye left
22:07
donri left
22:10
im2ee left
22:13
envi left
22:22
pernatiy joined
|
|||
lue realizes he should have brought up ℵ and ℶ during the discussion of different infinities | 22:27 | ||
22:29
eternaleye joined
22:34
donri joined
22:35
rlb3_ joined
|
|||
TimToady | lue: not all languages are alphabetic :P | 22:37 | |
er, alephbetic... | |||
lichtkind | an aleph | 22:38 | |
i got: PARROT VM: Could not load bytecode | |||
Incompatible versions of `perl6_ops' oplib, possibly due to loading bytecode generated by an old version of Parrot. Found 3.6.0 but loaded 3.7.0 | |||
is there anything i should change in the makefile? | |||
lue | Just for the heck of it, I should try my hand at implementing infinite cardinals sometime in Perl6. | 22:39 | |
[but right now I'm busy creating frotzlexity] | 22:42 | ||
22:44
pernatiy left
|
|||
masak | \o/ | 22:49 | |
22:52
pernatiy joined
|
|||
lue | [I think I made life harder by requiring analyzing of English sentences for part of the game. I'll make my first commit soon that explains everything.] | 22:53 | |
masak | blog post! strangelyconsistent.org/blog/why-te...y-you-code | ||
feel free to reddit or HN this one ;) | 22:54 | ||
PerlJam | masak++ (I really like the octopus analogy) | 22:56 | |
masak | thanks. it almost snuck into my CQRS talk at YAPC::EU. :) | 22:57 | |
22:58
yath_ left
|
|||
masak | oops, a few '<'s didn't get escaped properly. fixing. | 22:59 | |
23:00
envi joined
|
|||
lue | masak: s/throuws/throws/ in the first ¶ | 23:00 | |
PerlJam | masak: So ... when should tests be written? :) | ||
masak | lue: thanks. fixing. | ||
PerlJam | wow, I must've read too fast because I didn't notice any of the typoes and such at all | 23:01 | |
masak | PerlJam: if you ask me, the longer you don't have tests, the worse off you are. by that logic, tests should be written "first". | 23:02 | |
mberends | .oO( how is test formed? ) |
||
masak | PerlJam: but I'm not a stranger to taking a step back and, say, actually doing some design and/or thinking about the domain before that. | ||
mberends: they need to do way instain ad-hoc manual testing. | 23:03 | ||
mberends | my pary is with the tester | 23:04 | |
PerlJam | masak: but if you write the tests first and you don't quite understand the problem domain, don't you end up writing tests that you're just going to throw away anyway? | ||
masak | mberends: ;) | ||
PerlJam | (I'm playing a little bit of a devil's advocate here, I already know my answers to these questions :) | ||
masak | PerlJam: sometimes, yes. but I'd rather throw away/change the tests than the code. | 23:05 | |
23:05
Moukeddar joined,
Moukeddar left
|
|||
PerlJam | masak: and isn't it double the work to write the code that does whatever you want and the code that tests it? | 23:05 | |
masak | only if you compare it to never testing your code at all. not even manual tests, I mean. | 23:07 | |
23:07
jaldhar joined
|
|||
sorear | usually I have to write code in order to figure out what I'm doing | 23:08 | |
so first I write code, then I write tests, then I rewrite the code | |||
masak | sorear: I find that some design concerns don't really materialize until I'm deep down into implementing the solution. | ||
sorear | lichtkind: delete the old files and reinstall rakudo | ||
masak | ok, new improved version uploaded. thanks for your feedback. | 23:09 | |
PerlJam | There have been a couple of people that I have never been able to convince that automated testing is a big enough of a win to warrant the "extra" time it takes to write them (their perception). I'm just looking for other words to use for next time. | ||
masak | PerlJam: it takes extra time to put on your swimfins before diving into the water. | 23:10 | |
that doesn't seem to be a very strong argument against swimfins. | |||
PerlJam | perhaps it's that fundamental thing that these people don't grok: you will *always* write code that you throw away simply because you're figuring out the problem domain | ||
lue | masak++ # great post | ||
flussence | I figured out how to do stacked lines: github.com/flussence/specgraphs/ra...-tests.png | ||
lue wants to any(find,make) a UTUM badge | 23:11 | ||
23:11
drbean joined
|
|||
masak | lue: cool! | 23:11 | |
masak goes to sleep | |||
PerlJam | so they end up with this false economy idea where "you only write code once" | ||
masak | 'night, UTUM-camels | ||
PerlJam | good night masak! | ||
pleasant dreams | |||
23:12
masak left
|
|||
PerlJam takes kids elsewhere for a bit | 23:12 | ||
23:13
rlb3_ left
|
|||
mberends | flussence: would you consider switching to SVG format? It would be an initial step backwards to go forwards, but there are many benefits. Perl 6 emitters, for example. | 23:15 | |
23:15
jevin left
|
|||
flussence | SVG is already doable, I only put PNG in there because Github won't display the svg files | 23:16 | |
mberends | flussence++: excellent! | ||
flussence | (just run `perl draw_graph.pl svg` in there, the format-specific stuff is defined on line 46-ish) | 23:17 | |
23:19
jaldhar left,
jaldhar joined
23:20
jevin joined
|
|||
TimToady | phenny: tell masak "receptible" and "pund", unless they were punned. | 23:24 | |
phenny | TimToady: I'll pass that on when masak is around. | ||
23:26
donri left
23:34
Psyche^ joined
23:38
Patterner left,
Psyche^ is now known as Patterner
|
|||
cognominal | nom: grammar is HLL::Grammar | 23:44 | |
p6eval | nom 2742f6: OUTPUT«===SORRY!===Unable to parse $*PKGDECL definition at line 1, near "HLL::Gramm"» | ||
cognominal | nom: grammar A is HLL::Grammar | 23:45 | |
p6eval | nom 2742f6: OUTPUT«===SORRY!===No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are::(Attribute $attr, Any $rw):(Attribute $attr, Any $readonly):(Routine $r, Any $rw):(Parameter $param, Any $readonly):(Parameter $param, Any $rw):(Parameter … | ||
23:53
pernatiy left
23:55
Tene joined
23:57
fridim_ left
|