[rust-dev] building on SunOS, regex

Mohd. Bilal Husain bilal at bilalhusain.com
Sun Apr 1 10:34:28 PDT 2012


1. Thanks a ton for the detailed instructions. Although I do understand it
in parts, I am not sure if I am able to comprehend a lot of things. I'll
try and see if I can make some progress.

2. Thanks for pointing to the pcre package.

Apart from that I have a question about bind (probably due to my lack of
functional programming knowledge) and few remarks:

I am following the tutorial at http://doc.rust-lang.org/doc/tutorial.html

3. Section 5.2 Bind. I understand that I can option::unwrap(daynum("do"))
to get back the uint.
What is the difference if I skip the bind keyword.
The llvm bitcode files that are generated w/ and w/o appear to be the name.

Sidenote: Is the item 'do' a joke amidst 'mo', 'tu', ... which appear to be
weekdays

4. Suggesting a few edits
a) Section 8.6 - The map functions should read
vec::map([1, 2, 3], plus1);

b) Section 11, line 8 should declare acc mutable
    let mut acc = "";

c) Similary, in section 13 Testing, the variable i must be mutable so line
7 should read
    let mut i = -100;

And again, I am feeling intimidated for posting this on dev mailing list.


On 1 April 2012 22:08, Graydon Hoare <graydon at mozilla.com> wrote:

> On 01/04/2012 2:49 AM, Mohd. Bilal Husain wrote:
>
>> 1. How to compile for SunOS.
>>  From what I understand, I first need a precompiled snapshot for SunOS#
>> which was probably written in Ocaml##
>> I have no clue which earlier version to checkout for the same. Or if the
>> process has been changed.
>>
>
> Re-bootstrapping from rustboot (the original ocaml-based bootstrap
> compiler) is not a good route to a new target. The dialect of the language
> it compiled is long-since obsolete. You'd have to walk it through a year
> and a half of changes, hundreds of builds and snapshots. It would be very
> delicate and hard. The only programs that can process the current rust
> dialect are the existing stage0 snapshots (which we have binary snapshots
> of for 6 hosts presently: {macos,linux}-{x86,x64}, freebsd-x64, win32-x86)
>
> The efficient route to getting a new target is to add support for the
> target architecture, in the form of .S files, to the runtime (if it's not
> already there), then add support to the configuration machinery, driver and
> linkage-driver for the new target. Then keep fiddling with it until it
> produces binaries that run on your target.
>
> If you want a new _host_, you get 'target' mode working (as above) and
> then just cross-compile rustc from an existing host to your new SunOS
> target, and register the output from that cross-compilation as your
> target's new stage0 snapshot.
>
> When you say "compile for SunOS", it depends if you mean as host or as
> target. We're going to be a bit cautious about adding more and more
> supported kinds of host. We added freebsd this time around, partly because
> it's so similar to the macos and linux ports that there was very little
> delta; but every host we support is a new bit of build machinery we have to
> keep online and moving forward in lock-step with the others. That's more
> ongoing porting and maintenance effort for us (mozilla) and at some point
> we're going to draw a line.
>
> We should probably work out some sort of policy about community-supported
> hosts, possibly a way for people to run secondary repos or branches that
> advance at their own pace (rather than as a bottleneck on our master
> branch) while still using mostly-similar infrastructure.
>
> Extra targets, though, I think should usually be welcome in our master
> branch. They cost us much less than extra hosts.
>
>
>  2. Is there support for regular expressions; especially, in alt arms?
>> Also, I couldn't locate regex in std or core module.
>>
>
> There's a pcre module in cargo[1]. We intend to integrate regexp-based
> switching (alt-like) via a syntax extension at some future date, and will
> probably bring re2 or pcre or something into libstd once we have a
> plausible story for optional std components, but have not done any work on
> this yet.
>
> -Graydon
>
> [1] https://github.com/mozilla/**cargo-central<https://github.com/mozilla/cargo-central>
> ______________________________**_________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/**listinfo/rust-dev<https://mail.mozilla.org/listinfo/rust-dev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20120401/bedde848/attachment.html>


More information about the Rust-dev mailing list