Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-02-06

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

All times shown according to UTC.

Time Nick Message
03:15 dalek MoarVM: a7b842c | (Jimmy Zhuo)++ | src/6model/reprs/P6bigint.c:
03:15 dalek MoarVM: small cleanup
03:15 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a7b842c9ce
04:13 btyler joined #moarvm
04:15 harrow joined #moarvm
04:46 harrow joined #moarvm
05:34 harrow joined #moarvm
07:15 TimToady joined #moarvm
07:19 mj41 joined #moarvm
07:57 FROGGS joined #moarvm
08:04 kjs_ joined #moarvm
08:09 woolfy joined #moarvm
08:10 woolfy left #moarvm
08:16 rurban_ joined #moarvm
08:40 dalek joined #moarvm
08:47 zakharyas joined #moarvm
09:01 brrt joined #moarvm
09:02 zakharyas1 joined #moarvm
09:09 kjs_ joined #moarvm
09:40 dalek MoarVM/native-ref: 5aed474 | jnthn++ | / (6 files):
09:40 dalek MoarVM/native-ref: Stub in native reference related ops.
09:40 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/5aed474a32
09:54 btyler joined #moarvm
10:16 avar joined #moarvm
10:38 dalek MoarVM: c0bae2e | lizmat++ | / (6 files):
10:38 dalek MoarVM: Add readlink stub
10:38 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c0bae2e4fb
10:39 jnthn lol, the last two will be a merge conflict between them... :)
10:40 nwc10 I was just thinking something equivalent when reading Liz's commit - it's a shame that there are massive diffs as a side effect of moving auto-generated things around
10:40 nwc10 I'd not thought of conflicts
10:52 lizmat jnthn: sorry, but it should be easily fixed, no?  Or do you want me to revert that last one until you merged ?
10:53 jnthn lizmat: I teach advanced git courses, merge conflicts are the least of my problems. :)
10:53 lizmat ok, *phew*, don't want to put more on your plate
10:54 jnthn Was just amused at the timing; changes to src/core/oplist are relatively rare, then two come along at once :)
10:58 brrt jnthn - can you come by and teach $company at my $day-job even starting git techniques
10:59 brrt they're all like 'whats a remote' over here
11:00 arnsholt My boss is still very suspicious of git. Doesn't want to fall prey to hype-chasing =)
11:00 brrt lol
11:00 jnthn Hype-chasing? It's been almost 10 years... ;)
11:00 arnsholt Yeah, I know
11:01 * brrt lunch &
11:01 arnsholt So he's still on SVN
11:01 arnsholt Thankfully most of his repos I can just use git-svn on =D
11:02 jnthn API design is harder than merge conflicts. Hmmmm...
11:13 nwc10 arnsholt: when it comes to doing the right thing to svn, I'm finding that https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git is pretty damn good
11:13 nwc10 (used git-svn for the previous humane termination of svn and it was not fab)
11:13 nwc10 and oh my, svn...
11:15 nwc10 it was 90 minutes to import a svnadmin dump of our 40,000 commit repo into a clean repo on my work desktop (Which has an SSD)
11:15 nwc10 and I think about 15 for svn2git to import the entire bloody thing into git
11:15 nwc10 one of these is the native tool
11:15 nwc10 one of these is not
11:15 nwc10 https://subversion.apache.org/roadmap.html - Release 1.9.0 - Q2 2014 (tentative)
11:16 nwc10 not as late as Xanudu, Duke Nukem Forever or Perl 6
11:16 kjs_ joined #moarvm
11:16 arnsholt nwc10: And svn2git lets me interact with the SVN repo too?
11:16 nwc10 I find it impossible to search for succesfully, but I know I once read a blog entry about how new svn committers get voted in once a year
11:16 nwc10 and they realised they were in a bad place when that year the list to vote on was empty
11:17 nwc10 arnsholt: "when it comes to doing the right thing to svn" => "when you are allowed to kill it"
11:17 nwc10 no, it doesn't
11:17 nwc10 but it looks to be better for a final conversion
11:17 arnsholt Yeah, that's what I thought
11:17 nwc10 svn was awseome. For a bit.
11:17 nwc10 Then better things arrived
11:17 arnsholt Getting rid of it is currently not an option
11:18 arnsholt The one I'm working with ATM, I might be able to get rid of
11:18 nwc10 but oh my, having had cause to look at the code of both recently the architecture of svn is "no obvious bugs"
11:18 nwc10 git is "obviously no bugs"
11:18 nwc10 and then you wonder why git is so fast
11:18 nwc10 because it's "the simplest thing that could possibly work", and almost no levels of abstraction
11:18 nwc10 (sorry if this sounds like a mix between a rant and a marketing spiel)
11:18 arnsholt The other one, ye olde repo of doom, with a pile of externals and 15 or 20 years of history, not so much
11:19 nwc10 but I'm finding so many little frustrations with the svn tooling
11:19 nwc10 svnlook vs svn
11:19 arnsholt 25G logon/
11:19 nwc10 repos vs checkouts
11:19 arnsholt On a 110G disk >.<
11:19 arnsholt Yeah, it's death by a thousand cuts
11:20 nwc10 no easy way to get some bits of data out
11:20 arnsholt No one thing that really kills it, but the overall experience is just terrible
11:20 nwc10 although I realise now, it feels like svn is a library you code against in C
11:20 nwc10 git is a set of tools you glue together in shell
11:20 nwc10 (or maybe someone wrote something better than shell. any suggestions?)
11:20 arnsholt Heh
11:21 nwc10 and the latter is far better for both Manipulexity and Whipuptitude
11:21 arnsholt The UI of git is pretty crazy, but the feature-set is awesome
11:21 nwc10 arnsholt: once you've proven a conversion works on the smaller repository
11:22 nwc10 can you chip away at the big one subtree by subtree?
11:22 arnsholt Might be possible
11:22 arnsholt Being the repo of doom, it really does want to be several smaller repos
11:22 arnsholt (And the bundled Java 1.4 or something like that *really* has to go)
11:23 nwc10 but Java is Java - surely the code can run on a newer JVM? :-)
11:24 arnsholt Of course it does
11:24 arnsholt But they had some kind of distribution pain at some point I think, and Java not being as widely available 15 years ago
11:24 arnsholt So they just bundled the whole damn thing
11:24 arnsholt And once it's in, it's not going out (obv)
11:25 arnsholt Oh, wait. It's Java 6, not 4
11:25 nwc10 yay.
11:26 arnsholt But still messed up my NQP/JVM hacking, since the bundled "set things up" bashrc file *prepends* to $PATH
11:26 arnsholt Did I mention that I don't like all of my boss's techincal decisions? =)
11:26 nwc10 so that would be the analagous problem  to "I'd like to write code that uses features in v5.12, but /usr/bin/perl is only 5.8.8"?
11:26 arnsholt Sort of
11:26 nwc10 arnsholt: does your current boss like all of his previous self's choices? :-)
11:27 arnsholt He's the keeper of the repo, so it's perfectly tailored to his workflows
11:27 arnsholt So he obviously doesn't see any problems with this approach =p
11:34 lizmat argh, I interpreted the sig wrong in the oplist  :-(
11:37 dalek MoarVM: c50bd77 | lizmat++ | / (3 files):
11:37 dalek MoarVM: Fix prototype on readlink stub
11:37 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c50bd77dd1
11:55 Ven joined #moarvm
11:57 xiaomiao joined #moarvm
11:59 ggoebel111111113 joined #moarvm
12:02 arnsholt joined #moarvm
12:04 lizmat_ joined #moarvm
12:08 FROGGS how does readlink work? it just reads a reads and returns nothing?
12:09 FROGGS lizmat: ^^
12:09 lizmat well, no, it should return a string
12:09 lizmat or fail, presumably
12:09 FROGGS +readlink w(str) r(str) then
12:10 lizmat so the w is for the input, and the r for the output?
12:10 FROGGS w is writing == returning
12:10 dalek joined #moarvm
12:10 FROGGS like in: $w = readlink($r)
12:10 FROGGS that's why the thing you return comes first
12:10 moritz joined #moarvm
12:11 lizmat ok
12:11 * lizmat is learning
12:11 lizmat (I hope)
12:11 FROGGS *g*
12:12 [Coke]_ joined #moarvm
12:13 sivoais joined #moarvm
12:14 rurban__ joined #moarvm
12:14 dalek MoarVM: c27b31d | lizmat++ | / (3 files):
12:14 dalek MoarVM: Hopefully got the readlink sig ok now
12:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c27b31df9c
12:15 woolfy joined #moarvm
12:17 FROGGS looks good to me
12:21 btyler joined #moarvm
12:21 japhb joined #moarvm
12:46 lizmat so I need to return an MVMString from what appears to be a void *:
12:46 lizmat void* uv_fs_t.ptr
12:46 lizmat Stores the result of uv_fs_readlink() and serves as an alias to statbuf.
12:46 lizmat I'm not sure how to do that
12:46 lizmat FROGGS jnthn suggestions?
12:47 FROGGS gimme a sec
12:48 lizmat (MVMString *)req.ptr; # seems too succinct  :-)
12:48 FROGGS no, that's quite wrong :o)
12:50 FROGGS to check that uv_fs_t.ptr is a C string, I'd try to printf it first... like in: fprintf(stderr, "req.ptr = '%s'\n", (char *)req.ptr);
12:52 FROGGS okay, according to http://linux.die.net/man/2/readlink you get a C string, and I guess that libuv null-terminates the string from readlink(2) for us
12:53 lizmat so how do I convert a C string to a MVMString ?
12:54 FROGGS * a result of the specified type. The type must have the MVMString REPR. */
12:54 FROGGS MVMString * MVM_string_ascii_decode_nt(MVMThreadContext *tc, MVMObject *result_type, const char *ascii) {
12:54 FROGGS err
12:54 FROGGS * Decodes a NULL-terminated ASCII string into an NFG string, creating
12:54 FROGGS * a result of the specified type. The type must have the MVMString REPR. */
12:54 FROGGS MVMString * MVM_string_ascii_decode_nt(MVMThreadContext *tc, MVMObject *result_type, const char *ascii) {
12:54 lizmat Hmm... are we sure it's ASCII we get?
12:55 lizmat I would assume UTF8, no?
12:56 jnthn I'd go with UTF8 for now
12:56 lizmat MVM_string_utf8_encode_C_string then?
12:56 jnthn Mostly 'cus I think that's what happens elsewhere
12:56 jnthn No, that's the wrong directly
12:56 FROGGS MVM_string_utf8_decode(tc, type_object, Cbuf, byte_length)
12:57 jnthn encode = MVMString => bytes (e.g. C string)
12:57 jnthn That's the one
12:57 jnthn Just search for existing usages of it.
12:57 FROGGS lizmat: also note that creating an MVMString means that you are creating an object that our GC cares about
12:58 FROGGS creating (and therefore allocating) such a thing might directly trigger a GC run
12:58 jnthn Thankfully, it's probably also being done as the very last thing
12:58 FROGGS ... which will have nice side effects
12:58 jnthn So it's easy this time
12:58 lizmat yeah, the last thing
12:58 jnthn But yes, you do have to be very aware of the GC when working on Moar
12:59 FROGGS would just be nice to review a gist before committing
12:59 jnthn I really should write a MoarVM hackers guide at some point
12:59 lizmat https://gist.github.com/lizmat/c68fda121ea7078e52cc
13:00 lizmat only the "type_object" I'm not sure what to put ?
13:00 lizmat and is the strlen ok?
13:00 jnthn Surely you're missing a return ?
13:00 FROGGS that's not perl :D
13:00 jnthn lizmat: tc->instance->VMString for type_object
13:01 FROGGS jnthn: I don't remember... do we free things we declare const?
13:01 jnthn And yes, srlen
13:01 FROGGS srlen?
13:01 jnthn strlen :)
13:01 lizmat updated the gist
13:01 jnthn .oO( strlen steak )
13:02 jnthn .oO( I really should go shopping for lunch... )
13:02 lizmat visitors, afk&
13:02 jnthn lizmat: Missing ; on end of last line, otherwise looks sane
13:03 FROGGS -    if (uv_fs_readlink(tc->loop, &req, path_s, 0, NULL)) {
13:03 FROGGS +    if (uv_fs_readlink(tc->loop, &req, path_s, NULL)) {
13:03 FROGGS I think
13:04 lizmat yeah, found that just now, FROGGS++
13:04 lizmat and jnthn++
13:04 FROGGS ohh, you have to care about readlink's return value
13:04 jnthn Ain't that what the if is doing?
13:04 FROGGS On success, readlink() returns the number of bytes placed in buf. On error, -1 is returned and errno is set to indicate the error.
13:05 jnthn Oh...
13:05 FROGGS so, you have to record that and pass it off instead of strlen()
13:05 lizmat ah.... ok
13:05 jnthn So you can avoid the strlen
13:05 jnthn Well, that refactor is also good in that you can get rid of the duplicate MVM_free(c_str); too
13:05 jnthn By putting the result into a variable, do the free, then look at it.
13:06 jnthn shopping &
13:06 FROGGS I guess we want to put the text of the possible error codes in an exception?
13:06 FROGGS http://linux.die.net/man/2/readlink
13:06 FROGGS but, that can be put in after it works
13:10 lizmat gist updated again
13:11 FROGGS looks good
13:12 FROGGS I guess an empty string will never happen?
13:12 FROGGS as the result of readlink I mean
13:13 lizmat then I guess we have a failure
13:14 FROGGS probably
13:24 dalek MoarVM: e98ea25 | lizmat++ | src/ (3 files):
13:24 dalek MoarVM: Hopefully final tweaks to get readlink working
13:24 dalek MoarVM:
13:24 dalek MoarVM: jnthn++ FROGGS++ for assistance
13:24 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e98ea2506c
13:27 FROGGS I always enjoy implementing ops in MoarVM
13:27 FROGGS lizmat++
13:28 lizmat $ ./nqp -e 'say(nqp::readlink("/tmp"))'
13:28 lizmat Failed to readlink file: Unknown system error
13:28 lizmat :-(
13:28 lizmat lunch&
13:31 arnsholt lizmat: That should probably fail with some kind of error though, unless your /tmp is a symlink
13:32 FROGGS it should say "The named file is not a symbolic link. "
13:32 FROGGS I guess we cannot use uv_strerror here
13:33 nwc10 if you want to test error messages, force a locale
13:33 nwc10 else you get confused users and bug reports
13:34 FROGGS ohh, and also, it needs to be "if (pathlen >= 0) {"
13:55 zakharyas joined #moarvm
14:11 FROGGS $ nqp-m -e 'say(nqp::readlink("/tmp"))'
14:11 FROGGS Memory allocation failed; could not allocate 18446744073709551528 bytes
14:14 jnthn Whyever not? It's only 18 exabytes...
14:15 FROGGS that's about a gazillion times Data's brane
14:16 FROGGS In "The Measure of a Man", a Starfleet judge rules that Data is not Starfleet property. The episode establishes that Data has a storage capacity of 800 quadrillion bits, (88.81784197 PiB) and a total linear computational speed of 60 trillion operations per second.
14:16 nwc10 or -87
14:31 Peter_R FROGGS, how do those op/s measure up to modern machines?
14:35 FROGGS Peter_R: looks like an Intel Core i7 5960X does 336_000 operations per second
14:35 FROGGS so, Data is quite good
14:36 FROGGS ohh, wait
14:36 FROGGS it is 336_000_000_000 instructions per second
14:37 jnthn Well, if you're doing a cycle = instruction approximation. :)
14:37 jnthn In reality, an instruction might take hundreds of cycles, or one cycle might process several instructions
14:38 nwc10 and the best video I've seen on that (so far) is http://www.infoq.com/presentations/click-crash-course-modern-hardware
14:38 FROGGS the number I've shown is calculated using the Dhrystone benchmark
14:38 FROGGS we should ask Brent Spiner to do that too :o)
14:41 lizmat arnsholt: on OS X, /tmp is a symlink to /private/tmp
14:49 FROGGS lizmat: I have a patch...
14:49 FROGGS lizmat: can I commit or are you working on it?
14:50 nwc10 and a test for readlink on a known dir, known file, and nowknown missingnes?
14:50 lizmat FROGGS: please patch  :-)
14:50 nwc10 (am I being unhelpful?)
14:50 FROGGS nwc10: slightly
14:50 lizmat nwc10: well volunteered :-)
14:50 FROGGS because windows and filesystems and uff
14:51 nwc10 IIRC for Perl 5, readlink dies on systems that don't have the syscall
14:51 nwc10 part of me is tempted to think that it's arguably also more logical for it just to return failure
14:51 dalek MoarVM: a910556 | FROGGS++ | src/io/fileops.c:
14:51 dalek MoarVM: fix readlink, the return value is just an error indicator
14:51 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a910556ceb
14:51 nwc10 (ie nothing is a symlink on an OS that doesn't support them, rather than it being an excepton to ask)
14:51 nwc10 but my brain can argue it both ways
14:52 nwc10 lizmat: there's another bunch of stuff in my stack that hopefully gets unblocked before that
14:52 FROGGS nwc10: I suspect we will return a Failure from P6 land, aye
14:59 lizmat FROGGS: I guess my original approach was best  :-)
15:01 FROGGS :o)
15:01 FROGGS the problem is just that pathlen was 0 on success
15:02 FROGGS so it is not the ssize_t the readlink(2) returns
15:02 FROGGS libuv's documentation quite sucks here
15:02 lizmat $ ./nqp -e 'say(nqp::readlink("/tmp"))'
15:02 lizmat private/tmp
15:02 lizmat YEAH!
15:03 lizmat ah, relative to the original path
15:03 lizmat ok, I can live with that  :-)
15:03 FROGGS me too :o)
15:04 FROGGS MoarVM$ nqp-m -e 'say(nqp::readlink("../p6-Text-CSV/Text/CSV.pm"))'
15:04 FROGGS ../test-t.pl
15:05 FROGGS MoarVM$ nqp-m -e 'say(nqp::readlink("VERSION"))'
15:05 FROGGS Failed to readlink file: invalid argument
15:05 FROGGS MoarVM$ nqp-m -e 'say(nqp::readlink("foobarbaz"))'
15:05 FROGGS Failed to readlink file: no such file or directory
15:05 FROGGS I think that's okay
15:07 kjs_ joined #moarvm
15:07 dalek MoarVM: e0c9bb0 | (Jimmy Zhuo)++ | src/6model/reprs/P6bigint.c:
15:07 dalek MoarVM: fix comment style, FROGGS++
15:07 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/e0c9bb08e1
15:30 Ven joined #moarvm
15:53 dalek MoarVM/native-ref: 13a893c | jnthn++ | src/core/callsite. (2 files):
15:53 dalek MoarVM/native-ref: Add some extra callsites.
15:53 dalek MoarVM/native-ref:
15:53 dalek MoarVM/native-ref: Will be needed by native fetch/store of the code pair container spec.
15:53 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/13a893cfa6
15:53 dalek MoarVM/native-ref: db78722 | jnthn++ | src/6model/containers. (2 files):
15:53 dalek MoarVM/native-ref: Extend container API for native handling.
15:53 dalek MoarVM/native-ref:
15:53 dalek MoarVM/native-ref: This also updates the code_pair container spec to match the extended
15:53 dalek MoarVM/native-ref: API.
15:53 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/db7872224b
16:04 dalek MoarVM: 4e79d84 | (Jimmy Zhuo)++ | src/io/fileops.c:
16:04 dalek MoarVM: free req.ptr in MVM_file_readlink
16:04 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4e79d84040
16:06 jnthn JimmyZ++ # nice catch
16:09 dalek MoarVM/native-ref: 6b4f3fc | jnthn++ | src/ (3 files):
16:09 dalek MoarVM/native-ref: Implement decont_[ins].
16:09 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/6b4f3fcff2
16:11 JimmyZ jnthn: https://raw.githubusercontent.com/rakudo/rakudo/168ca22ffe4652e5e7b34557e1262e45175d546b/src/vm/moar/ops/container.c
16:11 JimmyZ jnthn: I didn't see any get_mu codes, Did I miss something?
16:11 JimmyZ and get_nil() ...
16:12 jnthn JimmyZ: Urgh. But I think they're actually implemented in perl6_ops.c
16:12 jnthn Barely legal XXX C!
16:12 jnthn It's exactly what we do in .h files, though.
16:13 jnthn Declare "there's a function like this somewhere and you'll get it by link time" :)
16:14 JimmyZ yeah, the name make me  thinks it's static :P
16:14 jnthn Uh, yeah...we probalby should not have a non-static thing with an unprefux name...
16:18 dalek MoarVM/native-ref: 94dec40 | jnthn++ | src/ (3 files):
16:18 dalek MoarVM/native-ref: Implement assign_[ins].
16:18 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/94dec40da9
16:52 synopsebot joined #moarvm
17:01 sivoais joined #moarvm
17:10 TimToady you guys do know that filenames are not guaranteed to be utf8?
17:10 * TimToady overnighting in Medford, OR
17:10 TimToady s/ing/ed/
17:13 jnthn TimToady: Yes, but it's an OK first approximation for now, and it may be one of those places where NFG might help us (in so far as we can have a scheme where anything that ain't UTF-8 is handled as a synthetic when we make the thing a Str, so it round-trips)
17:13 jnthn And I'd rather the code consistently gets it not right so it's easy to grep all of those out.
17:13 TimToady I guess that's as good a story as any
17:15 TimToady the alternative is to return either utf8 or blob8 and let the user deal with it, I suppose
17:15 jnthn I'm pretty sure the "make everyone use Buf for filenames" altnerative isn't going to fly with the majority of programmers out there...
17:16 jnthn Since "filenames are strings" is pretty deeply embedded in developer culture everywhere...
17:19 TimToady well, synthetics composed of illegals is also a discontinuity, just elsewherely placed
17:19 TimToady but maybe the concept is useful generally
17:26 FROGGS[mobile] joined #moarvm
17:26 arnsholt jnthn: native-ref is towards fixing the $native++ problem, right?
17:26 FROGGS[mobile]2 joined #moarvm
17:26 FROGGS[mobile]2 joined #moarvm
17:27 jnthn Yes, and is rw accessors for native attributes, and making native arrays work, and... :)
17:27 FROGGS 'is rw' ftw!
17:27 FROGGS bbiab
17:27 arnsholt Indeed. Spiffy stuff going on these days!
17:27 jnthn .oO( Why solve one problem when you can solve 3 at once... )
17:27 arnsholt Quite
17:27 arnsholt Both this and the parametric stuff is good for NativeCall too
17:28 jnthn Anyway, figured out how to do most of the pieces needed.
17:28 jnthn So at the moment working through implementing them.
17:28 jnthn Though, I notice I'm rather hungry so maybe I should pause for dinner :)
17:28 TimToady do native refs know the limit of what they're refing? or are they always singular?
17:30 jnthn TimToady: Always singular at the moment, and naively they go via the same API as something doing a direct update of the thing would.
17:30 jnthn TimToady: However, I'm designing it so spesh will be able to "see through" that safety
17:30 ingy1 joined #moarvm
17:31 jnthn TimToady: Not to mention get rid of the taking/using of native references completely when inlining renders it uninteresting.
17:31 jnthn TimToady: For cases like $native-int++ I intend the static optimizer nail those.
17:32 jnthn The dynamic case is more about when you inline an accessor method for a native attribute.
17:36 TimToady what about visiting a slice of an array?
17:37 TimToady thinking about Go's slice-refs here...
17:38 jnthn Example Perl 6 code that's use what you're thinking of?
17:38 jnthn (So I can make sure we're talking about the same thing... )
17:39 jnthn *that'd
17:39 TimToady can you ++ a native ref (not the thing referred to, but the pointer)?
17:40 * TimToady doesn't know what a native pointer looks like in Perl 6 yet...
17:41 TimToady in Go I think you can ++ a slice and it'll do bounds checking for you
17:41 jnthn Ah
17:41 jnthn No, don't have anything for that yet
17:41 TimToady it seems like an efficiency thing to have bounded pointers
17:41 jnthn But don't think the approach I'm taking will make it impossible to add that later.
17:42 jnthn For now I'd like native arrays to work at all ;)
17:43 jnthn Then we can get clever.
17:43 TimToady okay, just bear it in mind so you don't make it impossible later, thanks
17:54 timotimo jnthn: i'd like to hear how you imagined the "please compile an accessor method for me" thing to be implemented; i.e. which part does what where
17:59 lue joined #moarvm
18:03 jnthn timotimo: OK...but dinner is ready, so after that :)
18:03 jnthn bbiab
18:04 timotimo OK
18:04 timotimo i think i want to get some food my own self
18:10 tgt joined #moarvm
19:22 kjs_ joined #moarvm
19:32 [Coke] ugh, no food. :P
19:34 jnthn Can't eat? :(
19:34 jnthn That's the wurst thing...
19:39 dalek MoarVM/native-ref: 3a55063 | jnthn++ | / (8 files):
19:39 dalek MoarVM/native-ref: Start getting NativeRef REPR fleshed out.
19:39 dalek MoarVM/native-ref:
19:39 dalek MoarVM/native-ref: We put the kind of referenced thing and the primitive type as REPR
19:39 dalek MoarVM/native-ref: data. This means there'll be a minor explosion of types for native
19:39 dalek MoarVM/native-ref: references, but they align well with the way we'll want to do type
19:39 dalek MoarVM/native-ref: specialization, so it's worth it. They'll also be invisible to most
19:39 dalek MoarVM/native-ref: users (except those who go digging).
19:39 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/3a5506326c
19:50 FROGGS joined #moarvm
20:39 * [Coke] retroactively UGHS at jnthn++'s pun
20:51 kjs_ joined #moarvm
21:00 rurban__ joined #moarvm
21:00 dalek MoarVM/native-ref: b268435 | jnthn++ | src/core/hll.c:
21:00 dalek MoarVM/native-ref: Needn't NULL stuff with we calloc.
21:00 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/b268435a49
21:00 dalek MoarVM/native-ref: b989127 | jnthn++ | src/core/hll. (2 files):
21:00 dalek MoarVM/native-ref: Add HLLConfig entries for native ref types.
21:00 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/b989127b96
21:06 ingy joined #moarvm
21:25 dalek MoarVM/native-ref: f951a73 | jnthn++ | src/ (3 files):
21:25 dalek MoarVM/native-ref: Validate native references when adding to HLL.
21:25 dalek MoarVM/native-ref:
21:25 dalek MoarVM/native-ref: This means we can skip any checks later on and Just Use Them.
21:25 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/f951a73377
21:25 dalek MoarVM/native-ref: f7b7985 | jnthn++ | src/6model/reprs/NativeRef.c:
21:25 dalek MoarVM/native-ref: Serialization bits for NativeRef REPR data.
21:25 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/f7b7985708
21:40 dalek MoarVM/native-ref: c76e414 | jnthn++ | src/6model/containers.c:
21:40 dalek MoarVM/native-ref: Stub native_ref container spec.
21:40 dalek MoarVM/native-ref: review: https://github.com/MoarVM/MoarVM/commit/c76e4147af
22:04 FROGGS_ joined #moarvm
22:27 colomon joined #moarvm
22:29 colomon joined #moarvm
22:37 woolfy left #moarvm
22:45 nebuchadnezzar joined #moarvm
23:15 colomon joined #moarvm
23:34 colomon joined #moarvm

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