Proceedings of the 2005 ACM SIGPLAN Workshop on Erlang 2005
DOI: 10.1145/1088361.1088363
|View full text |Cite
|
Sign up to set email alerts
|

Bit-level binaries and generalized comprehensions in Erlang

Abstract: Binary (i.e., bit stream) data are omnipresent in computer and network applications but most functional programming languages currently do not provide sufficient support for them. Erlang is an exception since it does support direct manipulation of binary data, albeit currently restricted to byte streams, not bit streams. To ameliorate the situation, we extend Erlang's built-in binary datatype so that it becomes flexible enough to handle bit streams properly. To further simplify programming on bit streams we th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2006
2006
2016
2016

Publication Types

Select...
1
1
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(5 citation statements)
references
References 1 publication
0
5
0
Order By: Relevance
“…iii) The inference graph can be used to generate a parser for streams S( ). The axioms applied during the reasoning can be translated into actions, similarly to [18]: jumpRight o,s,i corresponds to buffering new data from the stream, and jumpLeft o,s,i or again jumpRight o,s,i to addressing within the buffer in case of already buffered data. join i , forward i and backward i correspond to consuming data and associating it to a field.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…iii) The inference graph can be used to generate a parser for streams S( ). The axioms applied during the reasoning can be translated into actions, similarly to [18]: jumpRight o,s,i corresponds to buffering new data from the stream, and jumpLeft o,s,i or again jumpRight o,s,i to addressing within the buffer in case of already buffered data. join i , forward i and backward i correspond to consuming data and associating it to a field.…”
Section: Discussionmentioning
confidence: 99%
“…None of the following works uses explicitly, to my knowledge, any Horn clause representation of the parsing task. The ERLANG language [10] has a pattern-matching construct whose patterns can be binary comprehensions [18], similar to list comprehensions in functional programming languages. Given a set of bit patterns, the matcher is synthesized by constructing a labeled automaton and expressing the matching as a series of elementary actions: test the size of a field, read bits, test match.…”
Section: Related Workmentioning
confidence: 99%
“…Another way to write code which iterates over a bit stream is to use a bit stream comprehension [6]. This is a construct analogous to a list comprehension [18], which in turn is an expression that is syntactic sugar for the combination of map, filter and concat on lists.…”
Section: Inverting a Bit Stream Using A Comprehensionmentioning
confidence: 99%
“…That is the pattern works as both a filter and a generator. To make this more explicit we can write a drop 0XX function which is equivalent with the previous one using an explicit filter in the following manner: 6 drop 0XX(BitStr) -> << X:3 || <<X:3>> <= BitStr, 2#100 =< X >>.…”
Section: Iterating and Filtering A Bit Stream Using Comprehensionsmentioning
confidence: 99%
See 1 more Smart Citation