MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

structs/records in mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41767] structs/records in mathematica
  • From: sidney at jigsaw.nl (Sidney Cadot)
  • Date: Wed, 4 Jun 2003 08:34:50 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Hi All,

Currently I am involved in a project to read satellite data files into
languages such as IDL and others. We're also considering implementing
a Mathematica interface.

For this application, we need the ability to represent classical
records/structs (as found in imperative languages such as C/Pascal),
having named fields with an associated value.

Since such a type is not directly supported in Mathematica, we'd like
to know if there is a 'standard' way of handling this type of
situation.

We're currently thinking of using a list of rules, e.g.

data = {
  id->"this_or_that",
  value->17.3,
  compound->{id->"compound_id", value->18.4}
}

but this makes selecting a value a bit awkward:

value/.(compound/.data)

since this is syntactically the reverse of what one would expect in a
language like C/Pascal (data.compound.value), and the /. operator is
left-associative (therefore requiring parentheses in case of nested
structs).

Is there perhaps a better way/standard idiom for handling situations
like this?

Best regards,
  Sidney Cadot
  Science and Technology Corp., The Netherlands


  • Prev by Date: Re: MathReader MacOSX misrepresents notebooks
  • Next by Date: btw...
  • Previous by thread: Re: Lines in ContourPlot
  • Next by thread: Re: structs/records in mathematica