Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2013-09-12

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 stevan joined #perl11
00:04 stevan_ joined #perl11
00:15 stevan joined #perl11
00:44 rurban joined #perl11
00:57 rurban joined #perl11
01:37 rurban joined #perl11
02:52 rurban Thinking about special small strings fit into a pointer, <8 chars in 64bit. http://lua-users.org/wiki/FastStringPatch
03:13 rurban This is also nice: http://wiki.luajit.org/New-Garbage-Collector#Rationale
03:46 rurban joined #perl11
05:00 rurban joined #perl11
06:05 rurban joined #perl11
06:05 bulk88_2 joined #perl11
07:06 rurban joined #perl11
08:06 rurban joined #perl11
09:07 rurban joined #perl11
10:07 rurban joined #perl11
11:08 rurban joined #perl11
12:08 rurban joined #perl11
13:09 rurban joined #perl11
13:58 rurban joined #perl11
14:06 dalek p2/p2: bc2d1cd | rurban++ | Makefile:
14:06 dalek p2/p2: silence syn/greg.c make rule (not in potion)
14:06 dalek p2/p2:
14:06 dalek p2/p2: syn/greg.c may be bootstrapped from syn/greg.y
14:06 dalek p2/p2: review: https://github.com/perl11/p2/commit/bc2d1cd51d
14:08 travis-ci joined #perl11
14:08 travis-ci [travis-ci] perl11/p2#42 (p2 - bc2d1cd : Reini Urban): The build is still failing.
14:08 travis-ci [travis-ci] Change view : https://github.com/perl11/p2/compare/4cc121c99bc5...bc2d1cd51d4c
14:08 travis-ci [travis-ci] Build details : http://travis-ci.org/perl11/p2/builds/11281346
14:08 travis-ci left #perl11
14:15 dalek p2/p2: a59cbbb | rurban++ | / (2 files):
14:15 dalek p2/p2: add PN_SHIFT to the API: potion_tuple_shift for the parser
14:15 dalek p2/p2: review: https://github.com/perl11/p2/commit/a59cbbbff9
14:17 travis-ci joined #perl11
14:17 travis-ci [travis-ci] perl11/p2#43 (p2 - a59cbbb : Reini Urban): The build was fixed.
14:17 travis-ci [travis-ci] Change view : https://github.com/perl11/p2/compare/bc2d1cd51d4c...a59cbbbff95d
14:17 travis-ci [travis-ci] Build details : http://travis-ci.org/perl11/p2/builds/11281581
14:17 travis-ci left #perl11
14:18 rurban_ heisenbugs still
14:27 bluescreen joined #perl11
14:35 rurban joined #perl11
15:11 Hinrik joined #perl11
15:19 Hinrik I was reading http://perl11.org/p2/design-decisions.html and wondering if the idea is to support using multiple (native) threads in a single process
15:24 Hinrik I'm curious because with native threads and coroutines (which seem to be already planned), one could implement the Actor model à la Akka (Scala) and Celluloid (Ruby)
15:54 dalek p2/p2: 7a5e2e0 | rurban++ | / (15 files):
15:54 dalek p2/p2: doc: update for YAPC::Asia 2013
15:54 dalek p2/p2:
15:54 dalek p2/p2: finish Files list (sync with gh-pages 016d932d7b4df3ed8d60ccdf5afc205066cde13f)
15:54 dalek p2/p2: review: https://github.com/perl11/p2/commit/7a5e2e0abe
15:55 rurban joined #perl11
15:58 travis-ci joined #perl11
15:58 travis-ci [travis-ci] perl11/p2#44 (p2 - 7a5e2e0 : Reini Urban): The build was broken.
15:58 travis-ci [travis-ci] Change view : https://github.com/perl11/p2/compare/a59cbbbff95d...7a5e2e0abebb
15:58 travis-ci [travis-ci] Build details : http://travis-ci.org/perl11/p2/builds/11285919
15:58 travis-ci left #perl11
16:07 dalek p2/p2: 1eb208b | rurban++ | test/closures/passing.pl.notyet:
16:07 dalek p2/p2: deref: change test/closures/passing.pl \& passing test
16:07 dalek p2/p2:
16:07 dalek p2/p2: \ is not parsed yet to OP_DEREF
16:07 dalek p2/p2: review: https://github.com/perl11/p2/commit/1eb208bd38
16:11 travis-ci joined #perl11
16:11 travis-ci [travis-ci] perl11/p2#45 (p2 - 1eb208b : Reini Urban): The build is still failing.
16:11 travis-ci [travis-ci] Change view : https://github.com/perl11/p2/compare/7a5e2e0abebb...1eb208bd3877
16:11 travis-ci [travis-ci] Build details : http://travis-ci.org/perl11/p2/builds/11286693
16:11 travis-ci left #perl11
16:41 rurban joined #perl11
17:27 stevan joined #perl11
17:36 rurban Hinrik: I'm not sure yet if to follow lua (just coros, no threads), perl6 (coros and threads, but manual event loops) or mult. coros in mult. threads with preemptive scheduler (like in checkthreads). aio only needs coros. threads are only to distribute CPU over multi cores, and have a switching and GC overhead. locking also a bit.
17:36 rurban what's missing in core is yield to other threads, and async/await.
17:41 Hinrik hm, what's checkthreads?
17:48 Hinrik having threads to utilize all CPU cores is what I had in mind
17:49 Hinrik but yeah, certainly harder to implement than not
17:51 Hinrik I'm just really interested in concurrent/parallel programming, and languages which have coroutines and real threads are very interesting that regard
17:51 Hinrik I miss both of those when I write Perl 5 code
18:03 bulk88_3 joined #perl11
18:27 rurban joined #perl11
19:26 rurban joined #perl11
19:33 stevan joined #perl11
19:40 rurban joined #perl11
19:40 rurban https://github.com/yosefk/checkedthreads is what I like most so far
19:42 rurban_ and coros cannot access lexical vars from other enviroment, it needs to make a stack-local copy. functional = results only via return or pipe-like channels
19:43 rurban_ from outer env
19:44 rurban_ and there should be special syntax for threaded parallelization, like pfor, pinvoke
19:45 rurban_ and pmap, like race and hyper in perl6
19:46 rurban_ basically like a better Go
19:48 stevan joined #perl11
20:17 bulk88 joined #perl11
20:18 rurban joined #perl11
20:34 rurban joined #perl11
21:08 stevan_ joined #perl11
21:19 rurban_ one more GC bug left, crash in size of mixins
21:29 rurban_ fixed it
21:32 dalek p2/p2: 08c3166 | rurban++ | core/gc.c:
21:32 dalek p2/p2: fix gc crash on mixins: restore old potion mixin size calc.
21:32 dalek p2/p2:
21:32 dalek p2/p2: During a GC we are not allowed to use bind/call/send because there are
21:32 dalek p2/p2: still temp. POTION_COPIED objects around. A mixin has the size of an obj + ivs
21:32 dalek p2/p2: review: https://github.com/perl11/p2/commit/08c31660c6
22:03 rurban_ Hinrik: Yes, the actor model with message-passing semantics is the goal. each can object receive messages across threads, just the timing is not specified, and must be handled seperately (yield, wait)
22:04 rurban_ and continuations are first-class (callcc is called here)
22:05 Hinrik yeah, sounds about right
22:07 rurban_ The p2 library aio is basically the same as Celluloid (Ruby), I believe. That's already in (libuv based). Probably 30x faster than in ruby
22:09 rurban_ not multi-threaded, just fast events and fast callbacks
22:14 rurban_ The Scala actors library looks really nice. http://lamp.epfl.ch/~phaller/doc/haller07coord.pdf
22:47 rurban joined #perl11
23:02 Hinrik 30x faster? That's a big difference. Celluloid::IO uses nio4r (https://github.com/celluloid/nio4r) though, which uses libev
23:03 Hinrik on the standard/MRI Ruby implementation, that is

| Channels | #perl11 index | Today | | Search | Google Search | Plain-Text | summary