[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Mirage tutorial errors
Another top tip for learning OCaml is to do: $ opam install utop And then use that as your interactive top-level on *NIX. It's awesome. If you are using a browser, then try out the Javascript interactive toplevel: http://try.ocamlpro.com -anil On 17 Oct 2012, at 19:47, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote: > Hi Yiming, > > Lwt is a lightweight threading library for OCaml. You can find out more > about it here: > http://www.openmirage.org/wiki/tutorial-lwt > > ...along with some tutorials that work on Mirage (using the monolithic > version, > but the principles are the same). You can find out more at the homepage as > well: > > http://ocsigen.org/lwt > > However, if you are learning OCaml from scratch, you should learn the basics > first. We're working on an O'Reilly book due early next year, but the best > currently available text is: > http://files.metaprl.org/doc/ocaml-book.pdf > ...as well as: > http://caml.inria.fr/pub/docs/oreilly-book > > I'd encourage you to build simple servers using the tutorials there, and then > move onto Mirage once you are a little more familiar with the basics. Feel > free > to ask any specific question on this list. > > We are indeed planning to refresh the tutorial before the first beta release, > and that'll probably happen in November sometime when I'm back. > > best, > Anil > > On 13 Oct 2012, at 10:07, Yiming Zhang <sdiris@xxxxxxxxx> wrote: > >> Hi, Anil >> >> Thank you for your suggestions. So now my first goal is to write a RAM-based >> KV (or more simply, just a KV) in Linux using OCaml. But I don't know >> anything about Lwt. Is it "light weight thread"? And how to use it with >> OCaml for future migration to Mirage? Please suggest me some references. >> >> And according to your advice, I decide to totally forget the old monolithic >> version of Mirage. But a tutorial of the new version of Mirage about 'what >> is it', 'how to develop on it' and 'how to develop it' is definitely very >> important for my research. Do you have a plan for the tutorial? >> >> Thank you for your help! >> Yiming >> >> -----邮件原件----- >> 发件人: Anil Madhavapeddy [mailto:anil@xxxxxxxxxx] >> 发送时间: 2012年10月5日 2:00 >> 收件人: Yiming Zhang >> 抄送: cl-mirage@xxxxxxxxxxxxxxx >> 主题: Re: Mirage tutorial errors >> >> On 4 Oct 2012, at 09:03, Yiming Zhang <sdiris@xxxxxxxxx> wrote: >> >>> Thanks Anil for the suggestions. I followed the instructions from >>> http://www.openmirage.org/wiki/install and have successfully run the >>> UNIX binary of mirage-www. I then cloned the tutorial from >>> git://github.com/mirage/mirage-tutorial and roll it back to last year >>> (# git reset b8efbd; # git checkout -f HEAD), but when I 'cd slides && >>> make', the following errors happened. What's the problem? >>> >>> ******************************************* >>> root@debian:~/old/mirage-tutorial/slides# make >>> ./scripts/build_socket_crunch.sh >>> + BIN=crunch_server >>> ++ which mir-run >>> + MIR_RUN= >>> make: *** [run-socket_crunch] Error 1 >>> ******************************************* >> >> You only need to roll back the tutorial version if you are using the old >> version of Mirage (the monolithic one). It sounds like you installed the >> latest version using OPAM, so you should use the HEAD of the tutorial. >> Note that the *content* in Mirage tutorial is out-of-date at the moment, so >> you'll either need to install the old monolithic one at this point, or >> explore the new one. >> >> Note my previous statement that you can get very far at this stage without >> using Mirage at all, as you should be able to build much of the key/value >> store logic in pure Lwt/UNIX (and normal OCaml), and port it to Mirage as a >> second step. I'd really recommend you do this, as you need to learn OCaml >> too, and learning a language and an experimental OS and a hypervisor at the >> same time might not be the most effective way :-) >> >>> >>> I also noted that there are two mirage-tutorials as well as >>> mirage-wwws, respectively in git://github.com/mirage/XXX and git://github. >> com/avsm/XXX. >>> To my understanding, the latter is for the monolithic version, right? >> >> The mirage/* repos are the master ones, and the avsm/ ones are my personal >> working copies which may be out of date or broken. >> >> -anil= >> >> > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |