caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gerd Stolpmann <info@gerd-stolpmann.de>
To: Paul Snively <psnively@mac.com>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Trouble Defining an Object
Date: Thu, 08 Sep 2005 22:04:40 +0200	[thread overview]
Message-ID: <1126209882.12036.155.camel@localhost.localdomain> (raw)
In-Reply-To: <70DC8B53-7958-4CC6-A979-2CDFE4E03386@mac.com>

That's a purely syntactic issue. Instead of

class foo =
  expr1;
  expr2;
  object ... end

use:

class foo =
  let () = expr1 in
  let () = expr2 in
  object ... end

Only "let var = expr in expr" may be used between "class" and "object".

Gerd

Am Donnerstag, den 08.09.2005, 11:12 -0700 schrieb Paul Snively:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Folks,
> 
> I'm trying to define a class that, given a string containing bytes  
> from, e.g. an MP3, Ogg Vorbis, etc. music, contains that music.  
> Later, of course, I'll make the class actually do something with the  
> data, but for right now I can't even get the code to compile. I'm  
> using the current ocamlsdl and findlib. Here's a copy of my session  
> in the ocamlsdl toplevel:
> - ----------------------------snip snip----------------------------
>          Objective Caml version 3.08.4
> 
> # #require "sdl.sdlmixer";;
> /usr/local/lib/ocaml/site-lib/sdl: added to search path
> /usr/local/lib/ocaml/site-lib/sdl/sdlmixer.cma: loaded
> # open Sdlmixer;;
> # open Filename;;
> # class foo init_song =
>    let name, chan = open_temp_file ~mode:[Open_binary] "foo" "bar" in
>      output_string chan init_song;
>      close_out chan;
>      let the_song = load_music name in
>        object
>      val mutable song = the_song
>        end;;
>                Characters 123-124:
>        output_string chan init_song;
>                                    ^
> Syntax error
> - ----------------------------snip snip----------------------------
> 
> I'm at a loss to understand where the error lies. Any advice would be  
> greatly appreciated.
> 
> Many thanks and best regards,
> Paul
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (Darwin)
> 
> iEYEARECAAYFAkMgfwcACgkQO3fYpochAqKSnQCgtaAHbn6WNPyBf5dymt+E2l8n
> IzEAoIzGA4Xb5igB719KOf/msuEBG/wD
> =HlQ/
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
> 
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
Telefon: 06151/153855                  Telefax: 06151/997714
------------------------------------------------------------


  reply	other threads:[~2005-09-08 20:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-08 18:12 Paul Snively
2005-09-08 20:04 ` Gerd Stolpmann [this message]
2005-09-08 20:52 ` [Caml-list] " Jon Harrop

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1126209882.12036.155.camel@localhost.localdomain \
    --to=info@gerd-stolpmann.de \
    --cc=caml-list@yquem.inria.fr \
    --cc=psnively@mac.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).