chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] working with bit- and byte-level structures


From: Martin DeMello
Subject: Re: [Chicken-users] working with bit- and byte-level structures
Date: Wed, 16 Apr 2008 11:38:44 -0700

Ah - okay, if it's serialisation-specific, it's not what I'm looking
for. I was looking for an analogue to the C trick of interpreting a
block of bits as a struct quickly and efficiently.

martin

On Wed, Apr 16, 2008 at 11:16 AM, john <address@hidden> wrote:
> The idea behind packedobjects is to be able to use an abstract syntax
>  for describing what gets bit packed into messages to be sent across a
>  network. The syntax is loosely based on ASN.1 but uses s-expressions
>  to avoid the need for an ASN.1 compiler. The encoding is based on
>  unaligned Packed Encoding Rules (PER). So if you are looking at
>  packing data into messages in a machine independent way it might be
>  useful.
>
>  Cheers,
>
>  John.
>
>
>
>  On 16/04/2008, Martin DeMello <address@hidden> wrote:
>  > Interesting post on one of the advantages of C++ - I just wondered how
>  >  such problems are handled in the scheme world
>  >
>  >  
> ------------------------------------------------------------------------------------------------------
>  >  What you can do in C++ that you *can't* do in Java is define a class
>  >  whose in-memory representation maps directly to the format of data in
>  >  memory, and then say "I want to treat this large swath of memory as if
>  >  it were an array of Foo objects" - and gain all of the abstraction of
>  >  calling object methods on that data, with zero performance penalty for
>  >  instantiating thousands of objects.
>  >
>  >  It's not something you want to do every day, but on the rare occasion
>  >  you need it, C++ comes closest to letting you have your cake and eat
>  >  it too.
>  >
>  >  -- Avdi Grimm on the pragmaticprogrammers mailing list
>  >  
> ------------------------------------------------------------------------------------------------------
>  >
>  >  I ran into this exact problem when trying to access a packed C data
>  >  structure from OCaml - I had to write a bunch of code to index into
>  >  the block, pull out a chunk of bytes and then write accessor functions
>  >  to do bitshifting and bitmasking to retrieve the individual members
>  >  from the struct, without much "higher level" help from OCaml. I'm
>  >  imagining some combination of C and chicken would do a nicer job of
>  >  this, and naturally I'd want to do it with as little C as possible. I
>  >  found http://chicken.wiki.br/packedobjects but I couldn't tell if it
>  >  could work directly with a block of memory or it there'd be a lot of
>  >  from/to overhead.
>  >
>  >  martin
>  >
>  >
>  >  _______________________________________________
>  >  Chicken-users mailing list
>  >  address@hidden
>  >  http://lists.nongnu.org/mailman/listinfo/chicken-users
>  >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]