Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 29 2017 16:05
    janyljumadinova removed as member
  • Aug 29 2017 16:05
    janyljumadinova removed as member
  • Feb 13 2017 16:45

    hawkw on rewrite

    (compare)

  • Feb 13 2017 16:45

    hawkw on rewrite

    (compare)

  • Feb 13 2017 16:28

    hawkw on refactor

    (compare)

  • Feb 12 2017 18:30
    hawkw opened #22
  • Feb 12 2017 18:28
    hawkw opened #21
  • Jan 11 2016 03:04

    hawkw on master

    Relicense to dual MIT/Apache-2.… Merge pull request #6 from cmr/… (compare)

  • Jan 11 2016 03:04
    hawkw closed #6
  • Jan 11 2016 03:04
    hawkw closed #5
  • Jan 11 2016 03:04
    hawkw commented #6
  • Jan 11 2016 02:34
    cmr opened #6
  • Jan 11 2016 02:33
    cmr opened #8
  • Jan 11 2016 01:31
    hawkw synchronize #20
  • Jan 11 2016 01:31

    hawkw on move_list

    Remove staged_api attribute as … (compare)

  • Jan 11 2016 01:31

    hawkw on develop

    Remove staged_api attribute (it… (compare)

  • Jan 11 2016 01:28
    hawkw assigned #20
  • Jan 11 2016 01:28
    hawkw labeled #20
  • Jan 11 2016 01:28
    hawkw opened #20
  • Jan 11 2016 01:28

    hawkw on move_list

    (compare)

ybura
@ybura
Hey! We were chatting on Tumblr about your project! My name's Liza btw
Eliza Weisman
@hawkw
Hi!
So I can definitely point you at a couple of what I've kind of mentally flagged as "things that I would make a Google Summer of Code intern do", if you're interested, or I can also find some Rust resources I like, if you like.
How long have you been messing with it?
ybura
@ybura
I just started last month in my down time at work, I got through the Guessing Game and started reading about the syntax in greater depth.
Eliza Weisman
@hawkw
The Guessing Game? (I haven't seen that yet, sorry)
(just curious)
ybura
@ybura
It's one of the tutorial projects in the official language docs. https://doc.rust-lang.org/stable/book/guessing-game.html
Eliza Weisman
@hawkw
Oh, nifty! I don't think that was there when Iw as getting started with Rust.
ybura
@ybura
Ah, yeah I think this was released fairly recently
Eliza Weisman
@hawkw
Cool!
So have you encountered the different Rust release channels yet?
ybura
@ybura
I have not.
Eliza Weisman
@hawkw
Oh, okay. Just thought I'd ask - one of the big issues in my "wouldn't it be nice if..." pile is that I would really like all the Seax components to build against all three Rust release channels. But there's plenty of other contributions I'd happily welcome.
(Right now, the VM core only builds against nightly Rust; it uses a bunch of language features that aren't in stable yet)
The other sort of big thing that comes to my mind immediately is testing – I would love to see higher coverage scores for a bunch of stuff. But obviously that's sort of like grunt work, I don't want to just be like, "Oh, you want to help out? Test all my crappy code for me 'cause I'm lazy!"
Might be a good way to practice basic Rust syntax though.
Eliza Weisman
@hawkw
This is sort of a new thing for me; most of the projects I've worked with other people on have been things that we've started working on together? Here I have a lot of code written, and I am not really all that sure what the best way to bring a new contributor up to speed is.
ybura
@ybura
Hmm, well I can start taking a look at your build system and maybe start working on some kind of testing framework?
Eliza Weisman
@hawkw
Sure!
So the builds are run with Cargo, the Rust build tool. I think that's mentioned in the Rust tutorials.
ybura
@ybura
Ok great! Btw I won't be able to do much in the next few days as I'm getting my wisdom teeth out tomorrow morning, so I won't be doing much tomorrow and probably Saturday and Sunday.
Eliza Weisman
@hawkw
Oh, that's quite alright. This whole project is basically just for fun at this point, don't get stressed about it. My classes start up at the end of the week, anyway, so I'll probably be busy with moving in & such. :)

Project structure used to be, like, a big blob of sadness with everything in the same git repo; now, each component is in its own repository, and they get published to crates.io automagically on version tagged commits.

The main repo, seax, has the command-line app for invoking the compiler and running binaries and stuff. It's probably the least well-developed component, I haven't put a lot of work into it yet. It depends on pretty much everything else.

seax_util is utility stuff that pretty much everything else depends on. It's got the VM's instruction and data types (which were just moved here moved from the VM crate), stuff for encoding and decoding bytecode files, and some reusable stuff for compilers, including traits for AST nodes and a symbol table implementation. Eventually I'd like to write multiple compilers targeting the VM (I'd love some kind of ML, or a toy Haskell...), so that code will eventually get used in multiple places, I hope.

Eliza Weisman
@hawkw
seax_svm is the actual virtual machine, its eval method and stuff, and seax_scheme is the Scheme compiler.
Everything has tests in its own crate, and there are a handful of 'integration' style tests in the main crate.
The tests are mostly just written using the built-in Rust testing stuff. I've used QuickCheck in Haskell (and ScalaCheck, which is basically the same thing), so when I saw the Rust port I got really excited, but I've only written a few QuickCheck property tests. I'd love to have more. There are also a handful of benchmarks, but they're basically just the integration tests but timed.
I've also lately been using macros a bit to avoid having to copy and paste lots of testing code, but that's localised to a few of the newer tests.
ybura
@ybura
Gotcha, ok. Well I'll start poking around as soon as I feel better. I'm excited to begin contributing haha, I've never actually had the guts to contribute to any open source projects.
Eliza Weisman
@hawkw
Please, take your time! I'd appreciate pretty much any contributions honestly, this is currently pretty much a hobby project, and with my classes starting up again, I will probably be writing a lot more code for other things.
There's kind of a whole lot of testing code, and some of it is probably pretty ugly, so don't hesitate to ask questions.
ybura
@ybura
Got it, my classes don't begin until September so I may be asking quite a few questions in the next few weeks, but since yours are starting soon I understand if it takes you a while to get to them.
Eliza Weisman
@hawkw
I should be free enough to to answer questions pretty quickly, it's actually writing code I'll probably have less time for. ^^
I have Codecov.io set up to show what lines of code are currently covered by the tests, so that might be a good place to start.
It has a "Suggestions" feature that might be really useful to you.
Hopefully, most of my code is well-documented enough that you should be able to know what behaviour to expect in tests, but if that's not the case, that's 100% my fault, so do let me know.
Thanks so much for wanting to chip in, I really appreciate it!
ybura
@ybura
Ok great! Yeah it's no problem, your project sounds pretty interesting! I look forward to learning Rust well enough to actually make a meaningful contribution. :P
Eliza Weisman
@hawkw
Oh good! Once you get a better grasp on the language, if you're still interested, there's plenty of stuff to work on that might be a bit more fun than testing. :D
ybura
@ybura
Oh definitely haha, well I gotta get to bed but I'll ping you if (let's be real, when) I have any questions.
Eliza Weisman
@hawkw
Good night!
ybura
@ybura
Good night!