Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-11-06

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

All times shown according to UTC.

Time Nick Message
00:01 timotimo hm, so how do i find the patch for that ...
00:02 timotimo cygx: https://gist.github.com/timo/49dcb80d6ce40e0613f5 - here you can see how you can grab objects out of a SC, perhaps that helps?
00:03 timotimo since they have consecutive IDs, you can probably just grab things until you only get exceptions any more
00:18 cygx timotimo: thanks
00:18 cygx if I find the time, I'll take a look
00:18 cygx right now, I'm having too much fun trying to bypass NativeCall altogether
00:40 timotimo oh?
00:40 timotimo as in, you're putting the stuff from CALL-ME into your module directly?
00:40 timotimo i've wanted to do the same thing to measure performance benefit for generating code for individual methods rather than re-using the same method for general calling
02:02 dalek joined #moarvm
02:46 vendethiel joined #moarvm
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:00 lizmat_ joined #moarvm
03:49 ShimmerFairy joined #moarvm
04:44 konobi so... seems that moarvm doesn't build on Illumos
04:45 konobi seems that '-mt' gets added to a CFLAGS if the os is "solaris" regardless of wether we're using a gcc toolchain
04:47 konobi and... it fails at the minilua stage
04:48 timotimo uh oh
04:48 timotimo welllll, you could build the jit stuff on another system and just move the resulting files over
04:48 konobi specifically dynasm.lua
04:49 timotimo right, that's exactly what we got lua for
04:51 konobi http://pastebin.com/p6ePDTUW
04:52 timotimo er, what?
04:52 timotimo that's a very weird thing to have ... it can't be a different lua version... so ... wha?
04:53 konobi it is though... 2015.09
04:53 timotimo hum?
04:54 konobi is it using some other tool underneath?
04:54 timotimo shouldn't be
04:54 timotimo i mean, it explicitly runs ./3rdparty/dynasm/minilua
04:54 timotimo so it can't accidentally pick up something from your system
04:55 timotimo and it's probably not relying on some libc thing that's different in illumos' libc?!
04:56 konobi well, uunless it's solaris specific
04:57 timotimo shouldn't be
04:57 konobi weird
04:58 timotimo i don't know how to lua. it seems like it just uses "tonumber"
04:59 konobi and i doubt it's an endianness issue
04:59 timotimo right
04:59 timotimo "if n % 1 ~= 0" - is this about checking for Nan?
05:00 konobi not a lua person either =0/
05:00 timotimo on line 599 of dynasm_x86.lua you could add some debug statements
05:00 timotimo like what exactly n is
05:00 timotimo with "wwarn(n)"
05:02 konobi sec
05:05 konobi oh... odd
05:05 konobi src/jit/emit_x64.dasc:226: warning: 1.844674407371e+19: | mov [rbp-0x8],  TC;
05:05 konobi src/jit/emit_x64.dasc:226: error: bad integer number `-0x8': | mov [rbp-0x8],  TC;
05:05 timotimo dude whaaaaaaat
05:06 timotimo wait
05:06 konobi all the same number
05:06 timotimo hm, -0x8 is the expr
05:10 timotimo i know hardly anything about lua and the minilua code is Pall-styled, which i have a hard time getting used to
05:11 konobi well, there's 2 bugs on illumos then ^_^
05:11 konobi (SmartOS specifically in this case)
05:13 timotimo okay, bedtime. see you around! and thanks for potentially adding 1 more OS to our list :)
06:35 domidumont joined #moarvm
07:20 nwc10 http://blog.pyston.org/2015/11/03/102/ -- Pyston 0.4 released
07:21 domidumont joined #moarvm
07:30 brrt joined #moarvm
07:31 nwc10 brrt: http://blog.pyston.org/2015/11/03/102/ -- Pyston 0.4 released
07:31 brrt ohai nwc10
07:31 brrt lemessee
07:31 brrt is all jit work in python land these days?
07:31 nwc10 I wasn't thinking that
07:31 brrt nwc10: i found this one interesting: http://wingolog.org/archives/2015/11/03/two-paths-one-peak-a-view-from-below-on-high-performance-language-implementations
07:31 nwc10 it's not fair for me to summarise it
07:32 brrt well, a lot of it is
07:33 brrt the wingolog article is of sufficient interest that i was considering reviewing it on the blog
07:34 brrt because a lot of what he said rings true, although we have of course made very different decisions, and i think the local-optimising path is not as bleak as he claims
07:34 nwc10 I think, more accurately - I don't want to pre-bias you before you read the pyston blog, to see if you comment on the same thing that I was thinking about
07:35 brrt 'A baseline jit tier, which sits between the interpreter and the LLVM JIT.  This tier approaches the performance of the LLVM tier but has much lower startup overhead.' - that is, ahem, very interesting
07:36 brrt 'Conspicuously absent from this list is better LLVM optimizations.  Our LLVM tier has been able to do well on microbenchmarks, but on “real code” it tends to have very little knowledge of the behavior of the program, even if it knows all of the types.'
07:36 brrt at some level it is good to have your suspicions be validated, on the other level it's quite sad
07:38 nwc10 the latter one was the one I noticed. And how they commented that (roughly) "great, we inline the call to len(). But then that code makes a decision about what to call next"
07:38 nwc10 so method JIT doesn't work as well as tracing
07:38 nwc10 I think the first flipped in and out of my head
07:38 nwc10 and I'd not really noticed " approaches the performance of the LLVM tier"
07:38 nwc10 that's almost saying "we can make this tier fast for less work than making LLVM fast"
07:38 brrt uhuh
07:39 brrt that is, i think, the silver lining here
07:39 brrt for us
07:39 nwc10 they did the work, to confirm your/jnthn's suspicions
07:40 nwc10 also, it's much faster to clone pyston than pypy
07:40 nwc10 OK, so pypy has far more historical revisions
07:40 nwc10 but, um, git vs mercurial, I think is the real reason
07:40 brrt aye
07:40 nwc10 I was going to try building both to
07:40 nwc10 1) see if I can
07:40 nwc10 2) see how long
07:41 nwc10 3) see what startup is like
07:41 brrt good luck with pypy :-P
07:41 nwc10 yeah.
07:41 brrt i tried that not so long ago
07:41 nwc10 hence point (1)
07:41 nwc10 which should have been (0) I think :-)
07:41 brrt it didn't work, and i forgot why
07:41 nwc10 although Rubinius is even more tempramental
07:42 nwc10 but I have a suspicion that Rubinius is no longer that interesting
07:42 brrt hmm
07:42 brrt rubinius was buildable last time i was interested in it; but i admit that was some time ago
07:42 nwc10 failed for me on a bug standard Ubuntu desktop
07:42 nwc10 but had worked previously on a Debian desktop
07:42 nwc10 (different vintage)
07:43 brrt hmmm
07:43 brrt i had failed to consider that might be a difference
07:43 brrt (i'm spoiled from the perl world, clearly)
07:43 nwc10 there shouldn't be
07:43 nwc10 but I guess it was particular packages with different versions
07:45 brrt but, i don't hear anything about rubinius either
07:45 nwc10 it seemed to want to download binaries of a particular LLVM version
07:46 brrt i only recently noticed that fedora had sneakily stuck jruby under the name of ruby, and that it works
07:46 brrt pyston?
07:46 brrt (is there a meetup for dynamic language implementers somewhere?)
07:47 nwc10 no, Rubinisu
07:47 nwc10 sorry, not clear
07:49 brrt rubinius was fully self-hosting last time i looked at it?
07:49 nwc10 I don't know.
07:49 brrt again, that was long ago
07:50 brrt ok, i have a stupid, and somewhat embarassing, idea
07:50 brrt wrt to even-moar-jit
07:50 brrt i can rip out most templates until i'm left with something that i know compiles correctly
07:50 brrt then refactor the backend for my own sane understanding
07:50 brrt then add templates piecemeal
07:51 brrt because, templates have been historically added for another purpose, which is to experiment with the expressiveness of the expression tree
07:52 brrt i am, in short, sick of sitting in gdb and figuring out where in a >2000loc codebase my next bug or omission is
07:52 brrt (although doing so helped a lot in figuring out compiler-bugs, so all is not bad)
08:17 nwc10 grumble: /home/nc/pyston_deps/llvm-trunk
08:17 nwc10 er
08:17 nwc10 AssertionError: Expected to find repo directory at /home/nc/pyston_deps/llvm-trunk
08:18 nwc10 assumptions about an entire $expletive LLVM clone, and at an expeltive $expletive location messing up the tope level of my home directory
08:26 brrt oh, that is $expletive
08:26 * brrt is currently building pypy
08:27 nwc10 I'm currently *cloning* llvm
08:27 brrt that is likely to take some time...
08:28 nwc10 it is. even git doesn't enjoy that
08:28 brrt it seems sometimes the topic of performance sometimes is treated as both mysterious and emotionally significant
08:29 brrt and... that's entirely similar to discussions about something like energy
08:30 brrt and that's why both discussions never go anywhere..
08:33 brrt at least not with 'the general public'
08:38 zakharyas joined #moarvm
09:10 brrt ugh, nonconcurrent builds for pypy
09:11 nwc10 single core, all the way?
09:17 brrt :-(
09:17 brrt oh, it's been nice enough to do the actual c compilation bit in parallel
09:26 brrt and surprisingly much of it, too
09:29 brrt wow, it finished
09:40 brrt nwc10: i've a question about brittain
09:40 brrt when a governmental service is prefixed by HM, like HMGS
09:41 brrt does HM stand for Her Majesty?
09:41 brrt (i've noticed a few of them do)
09:41 nwc10 yes. (currently)
09:41 brrt and i suppose in the future it will be His'
09:41 brrt wow
09:41 brrt that is archaic
09:42 brrt (dutch organisations have the same, of course, when starting with K)
09:54 arnsholt brrt: Any particular reason you're building PyPy?
09:54 brrt same as nwc10
09:55 brrt see if i can
09:55 arnsholt Heh =)
09:55 arnsholt I've been told it takes a (long) while
10:03 brrt it took 1,5 hours
10:03 brrt for me
10:09 tokuhir__ joined #moarvm
10:37 jnthn wowser, so backlog...
10:39 nwc10 OK, time ./build/Release/pyston -c 'print "Hi"' says about 0.04s
10:39 nwc10 packaged pypy, so somewhat old, takes 0.149
10:39 nwc10 er, scrub that
10:39 nwc10 second and subsequent times pypy is 0.29s
10:44 timotimo so pypy is faster with a cold cache? :P
10:44 nwc10 good point
10:44 nwc10 0.029
10:45 timotimo ah
10:45 nwc10 PEBKAC
10:59 dalek MoarVM/sync-without-uv: e7e8421 | jnthn++ | src/io/syncfile. (2 files):
10:59 dalek MoarVM/sync-without-uv: Start teasing sync file I/O away from libuv.
10:59 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/e7e84214d2
11:00 timotimo ^- this'll give us much easier access to isatty, too
11:00 jnthn Yeah, that's one of the two tickets I was planning to address today
11:02 timotimo do we have a good way towards letting the user decide if they want to use $*IN synchronously or asynchronously?
11:02 jnthn Not yet
11:03 timotimo i suppose at least it'll be much easier to just open a numbered file descriptor as an IO object
11:03 jnthn That's also somewhat on my todo list
11:03 timotimo neato
11:20 ilmari jnthn: do you prefer adding the encoderep opcode to be a separate commit from adding the underlying replacement character functionality?
11:20 jnthn ilmari: Yes, please, if it's no hassle; in the unlikely event of a regression it makes it easier to see what caused it.
11:22 dalek MoarVM/sync-without-uv: ebc1f67 | jnthn++ | src/ (2 files):
11:22 dalek MoarVM/sync-without-uv: Use platform "abstraction" for OS I/O functions.
11:22 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/ebc1f675ff
11:22 ilmari jnthn: no problem
11:28 ilmari https://github.com/MoarVM/MoarVM/pull/289
11:29 ilmari https://github.com/perl6/nqp/pull/251
11:30 ilmari https://github.com/rakudo/rakudo/pull/576
11:31 jnthn ilmari: In 381f0979b it looks like we leak repl_bytes
11:32 ilmari doh, indeed
11:32 jnthn Otherwise I'm happy
11:34 brrt \o/ jnthn++
11:35 jnthn Comment of the day discovered while seeing how libuv does something:
11:35 jnthn * IOW it's all just a clusterfuck and we should think of something that
11:35 jnthn * makes slighty more sense.
11:35 jnthn :-)
11:36 brrt that sums up my feeling about (cross-platform) IO as well
11:39 ilmari jnthn: fixed
11:39 brrt offtopic; the whole mobile site trend has helped a lot at making websites readable at high zoom levels
11:41 arnsholt Indeed. Even Hacker News is not quite completely terrible on mobile these days
11:42 ilmari jnthn: the RT ticket suggests a more specific exception type, but I don't know how to do that from moarvm, so it's just an adhoc one for now
11:43 jnthn That's fine for now
11:43 jnthn Oh...just spotted the "/* XXX: May overflow */" in the UTF-16...
11:43 * jnthn sees why
11:43 jnthn Hm, but UTF-16 code wasn't updated for NFG either
11:44 jnthn And I didn't implement the streaming decode for it either
11:44 ilmari it probably won't because the buffer is allocated assuming -every- char needs a surrogate
11:44 ilmari s/probably/usually/
11:44 jnthn Yeah
11:49 jnthn Anyway, will merge. :)
11:49 ilmari heh, I haven't written my first perl6 program yet, and here I am patching the implementation instead ;)
11:49 jnthn ;)
11:49 jnthn heh, another reassuring libuv comment
11:49 jnthn /* Buffer overflow (a warning status code) is expected here. */
11:49 jnthn :-)
11:50 brrt well, at least they're honest about it :-)
11:50 brrt http://www.gnu.org/software/guile/ <- this page looks much better than i had expected
11:51 brrt (arnsholt: shame their actual content has degraded so much)
11:55 dalek MoarVM: 4fe6edb | (Dagfinn Ilmari Mannsåker)++ | .dir-locals.el:
11:55 dalek MoarVM: Add basic .dir-locals.el file
11:55 dalek MoarVM:
11:55 dalek MoarVM: Doesn't handle function parameter indentation, but better than
11:55 dalek MoarVM: nothing.
11:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4fe6edb10f
11:55 dalek MoarVM: dbe50d3 | (Dagfinn Ilmari Mannsåker)++ | src/strings/ (4 files):
11:55 dalek MoarVM: Throw exceptions on unencodeable characters
11:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/dbe50d31e4
11:55 dalek MoarVM: af4434c | (Dagfinn Ilmari Mannsåker)++ | src/ (15 files):
11:55 dalek MoarVM: Allow specifying a replacement string for unencodeable characters
11:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/af4434c19b
11:56 jnthn dalek didn't report it all, but all was merged
11:59 brrt aha
11:59 brrt oh, cool
12:00 brrt ilmari++
12:08 ilmari jnthn: we should probably do something similar for the decode part
12:08 ilmari e.g. on malformed utf8
12:19 jnthn ilmari: Yeah, though we also need to refactor that somewhat to not throw exceptions deep in the decoder itself also
12:26 dalek MoarVM/sync-without-uv: e6787a0 | jnthn++ | src/ (2 files):
12:26 dalek MoarVM/sync-without-uv: Ensure standard handles are binary mode on Win32.
12:26 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/e6787a05ff
12:26 dalek MoarVM/sync-without-uv: dedfb1a | jnthn++ | / (5 files):
12:26 dalek MoarVM/sync-without-uv: Specialized function for getting file size.
12:26 dalek MoarVM/sync-without-uv:
12:26 dalek MoarVM/sync-without-uv: Emulating all of stat on Windows just for checking file size is quite
12:26 dalek MoarVM/sync-without-uv: wasteful.
12:26 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/dedfb1a44e
12:30 timotimo jnthn: what little piece of equipment would we use to figure out why "use NativeCall; sub foobar() is native<barbaz> {*}" causes a surprisingly large precompilation file?
12:30 timotimo is it about the grammar getting a trait merged in?
12:37 jnthn timotimo: Throw a MVM_dump_backtrace(tc); into the repossession code
12:37 jnthn YOu must be repossessing things
12:37 timotimo right
12:37 jnthn That'll tell you where
12:37 timotimo i'm asking for cygx
12:38 timotimo but since i know my way around the code a little, i'll go ahead and investigate a bit more
12:50 timotimo i don't have a lot of clue about repossessions that ought to happen, but this seems strange: when running just "use Test", canonpath gets called from the module loader code does a substitution. that calls into match, into something not annotated with proper line info, then into !alt and that triggers cache_add from inside Perl6/Metamodel
12:50 timotimo does that mean there's a cache that wants sc write barriers disabled around access to it?
12:51 timotimo ah, nice, there's only a single cache_add in all of the metamodel
12:51 timotimo so i wouldn't even have to hunt
12:53 dalek MoarVM/sync-without-uv: 39abfc9 | jnthn++ | src/io/fileops.c:
12:53 dalek MoarVM/sync-without-uv: Just use syncfile for standard handles always.
12:53 dalek MoarVM/sync-without-uv:
12:53 dalek MoarVM/sync-without-uv: Now we've detangled it from libuv and can see it just uses standard
12:53 dalek MoarVM/sync-without-uv: system functions. This fixes issues like being unable to read from
12:53 dalek MoarVM/sync-without-uv: $*IN on a thread depending what kind of input we had.
12:53 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/39abfc90f7
12:54 timotimo hm. adding scwbdisable before and scwbenable after that piece of code doesn't change the repossession from "use Test" from !alt
12:57 timotimo perhaps the cache method wants that treatment, too, but it doesn't appear in that traceback
12:59 timotimo doesn't change the behavior in this case at all ...
13:31 * jnthn back from nomming rajma
13:36 lizmat .oO( how did rajma feel about that? :-)
13:36 jnthn :P
13:37 lizmat ah, a popular vegetarian Indian dish  :-)
13:37 jnthn Yeah. It was quite different.
13:38 jnthn (From any of the others I've done)
13:38 lizmat Czech style ?
13:38 jnthn No, I mean different from other vegetarian Indian dishes I've cooked :)
13:38 lizmat aha, ok
13:39 jnthn I've no idea how faithfully I'm recreating them compared to how they'd be in India. I just know they're tasty. :)
13:43 dalek MoarVM/sync-without-uv: 3b837c4 | jnthn++ | src/ (2 files):
13:43 dalek MoarVM/sync-without-uv: Don't try to use _O_BINARY on POSIX.
13:43 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/3b837c45d7
13:48 jnthn Righty, spectest for that running on Windows, and about to start on Linux.
13:51 jnthn Then I'll cross my fingers and hope OSX is POSIX enough :)
14:02 jnthn Darn, close...
14:04 nwc10 no plan survives contact with the enemy?
14:04 jnthn We'll see. :)
14:11 brrt joined #moarvm
14:15 jnthn yup, busted repl
14:31 dalek MoarVM/sync-without-uv: 0944be7 | jnthn++ | src/io/syncfile.c:
14:31 dalek MoarVM/sync-without-uv: Make syncfile EOF detection not need to seek.
14:31 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/0944be7f2b
15:14 dalek Heuristic branch merge: pushed 65 commits to MoarVM/even-moar-jit by bdw
15:22 jnthn *sigh* So yeah, consoles will need special handling on Windows, it seems. Can't just use file I/O and have it work out.
15:22 dalek MoarVM/even-moar-jit: 245fb1b | brrt++ | src/jit/ (2 files):
15:22 dalek MoarVM/even-moar-jit: Remove templates which are compiled incorrectly
15:22 dalek MoarVM/even-moar-jit:
15:22 dalek MoarVM/even-moar-jit: The original set of templates was developed with the expressivity
15:22 dalek MoarVM/even-moar-jit: of the template language as our main concern, but this meant that
15:22 dalek MoarVM/even-moar-jit: the JIT compiler had to support a complex set of operations
15:22 dalek MoarVM/even-moar-jit: right from the start. This simplifies that set so that we can
15:22 dalek MoarVM/even-moar-jit: add and test features in relative isolation.
15:22 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/245fb1b1ea
15:22 brrt :-(
15:22 brrt why should that be so jnthn?
15:23 jnthn Because _read on a console, no matter how you tweak the handle, seems to always immediately return empty
15:24 JimmyZ linenoise uses stdin
15:25 jnthn linenoise manages to make things worse than cmd.exe in some ways too :P
15:25 JimmyZ ah, it's ReadConsoleInput
15:25 jnthn Right
15:26 jnthn Plus that's almost certainly going to end up giving you utf-16
15:26 JimmyZ yeah
15:26 jnthn Anyway, will need to fix that before I can flip most sync I/O over to being libuv free
15:27 jnthn My test to check you can read from $*IN with my patch actually passes
15:27 jnthn But that's for the pipe case
15:27 jnthn Not sure I can write a test for the console case.
15:28 zakharyas joined #moarvm
15:28 JimmyZ when I was coding with libuv, it cant read pipe if the fd is stdin
15:29 dalek MoarVM/sync-without-uv: fa93f8d | jnthn++ | src/platform/io.h:
15:29 dalek MoarVM/sync-without-uv: Platform abstraction for isatty.
15:29 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/fa93f8d929
15:29 dalek MoarVM/sync-without-uv: e155617 | jnthn++ | src/io/syncfile.c:
15:29 dalek MoarVM/sync-without-uv: Cope with non-file handles better.
15:29 dalek MoarVM/sync-without-uv: review: https://github.com/MoarVM/MoarVM/commit/e155617d81
15:30 JimmyZ but, I was on windows
15:30 jnthn Me too :)
15:30 jnthn Things work out pretty fine now on Linux
15:31 jnthn Anyway, will continue with that next week, I think
15:32 JimmyZ so, windows--, as far as I know the thread api on windows is also not as good as posix api
15:32 JimmyZ :P
15:55 tokuhiro_ joined #moarvm
16:27 brrt JimmyZ i wouldn't say that, though
16:27 brrt windows basically uses threading as a first-class building block
17:22 dalek MoarVM/utf8-c8: 1beea0b | jnthn++ | / (9 files):
17:22 dalek MoarVM/utf8-c8: Work in progress UTF-8 Clean-8bit encoding.
17:22 dalek MoarVM/utf8-c8:
17:22 dalek MoarVM/utf8-c8: For allowing us to round-trip filenames and so forth. Only partially
17:22 dalek MoarVM/utf8-c8: implemented so far.
17:22 dalek MoarVM/utf8-c8: review: https://github.com/MoarVM/MoarVM/commit/1beea0b43f
17:23 jnthn TimToady: Feedback welcome on the scheme described in the comment at https://github.com/MoarVM/MoarVM/commit/1beea0b43f#diff-a4256d18385e5a354be1e440143d138aR3
17:56 tokuhiro_ joined #moarvm
18:06 TimToady looks reasonable to me, offhand, as long as it doesn't blow up our cross-product of stringy types
18:08 jnthn TimToady: No, that's the "beauty" of it: it's just a Str
18:08 jnthn An NFG Str where some synthetics happen to be recognized as special by one particular encoding.
18:09 TimToady yes, forgot that part by the time I got to the end :)
18:09 jnthn :)
18:09 jnthn OK
18:09 TimToady too long; did read :)
18:09 jnthn :P
18:09 * jnthn is trying to work out a talk submission for LPW
18:10 TimToady just pick one of the xmas bugs and fix it live :P
18:11 jnthn :D
18:12 jnthn Think it'll be a mix of reminiscence, some of my favorite examples from over the years maybe with the odd new one, and a little looking at what happens next. :)
18:17 nwc10 I need some more thought to properly cynically predict what happens next. But my first thoughts are that everyone complains that there is no ecosystem (ignoring reality and the Perl 5 embedding), and vow not to use it, but fairly soon it sneaks into places as a pretty awesome multi-core glue language for co-ordinating single-threaded languages.
18:17 nwc10 and at some point folks discover that it's NFG
18:17 nwc10 in particular, that it's NFG in O(1)
18:19 nwc10 I wonder who will be the first to steal NFG
18:25 lizmat joined #moarvm
18:26 colomon joined #moarvm
18:37 TimToady well, Swift already does something like NFG, iirc
18:43 nwc10 I started reading the docs. It seems a bit LTA than that, given "As a result, the number of characters in a string cannot be calculated without iterating through the string to determine its extended grapheme cluster boundaries. If you are working with particularly long string values, be aware that the characters property must iterate over the Unicode scalars in the entire string in order to determine the characters for that string. " https://developer
18:43 nwc10 did that get truncated?
18:44 tadzik yes
18:44 tadzik up to developer.
18:44 nwc10 ah OK. URL was https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html
18:45 jnthn So, not O(1)
18:45 * jnthn away-ish
18:51 zakharyas joined #moarvm
18:54 TimToady joined #moarvm
18:54 leont joined #moarvm
18:57 Peter_R joined #moarvm
20:31 konobi howdy
20:31 konobi timotimo: ollo!
20:33 timotimo hey
20:42 konobi any more ideas on that lua thing?
21:22 timotimo no :(
21:22 timotimo maybe brrt has an idea?
21:24 timotimo brrt, on konobi's illumos system minilua fails to parse negative offsets from rbp (or something?) saying "not a valid integer"
21:42 vendethiel joined #moarvm
22:24 Ven joined #moarvm
22:44 tokuhiro_ joined #moarvm
22:56 vendethiel joined #moarvm

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