Richard A. O'Keefe | 4 Jul 08:32

PADS and Erlang

I'm currently slogging my way through the PADS manual and papers.
PADS is a toolkit for Processing Ad-hoc Data Streams, that is
for stuff like web logs, termcap, anything that's more complex
than you could comfortably process with AWK but less standardised
than XML.

PADS/C takes a data description and generates C code that you can
call to parse a data stream, either all at once or some at a time.
You get a converter to XML and a crude tabulator/statistics tool
for free with this.  The input language is somewhere between a
grammar and C data declarations.

PADS/ML does the same kind of thing, with a slightly different
but semantically similar input language that looks more like ML.
Sadly, the ML in question is not SML, but OCaml.  I am as fond
of high speed as the next hacker, but fond as I am of SML, I've
never been able to stomach OCaml syntax.

Some of the applications of PADS are clearly in Erlang's general
area: one of the running examples is some AT&T phone logs which
are really very very large (so that you would have to be either
a lunatic or a disc salesman to suggest converting them to
[textual] XML).

It might be interesting to speculate on the relationship between
PADS (or "Data Description Languages" in general) and Erlang.
I'm not sure that a PADS/Erlang would be much use, because you
can probably get most of the way with the binary matching syntax
parsing binaries.

(Continue reading)

Ulf Wiger | 5 Jul 14:53

Re: PADS and Erlang

Very nice to hear. I've been quite interested in PADS since I heard
Kathleen Fisher present it a few years ago, but I've limited myself
to mentioning it on occasion, hoping that someone else would find
it interesting too.  (-:

BR,
Ulf W

2008/7/4 Richard A. O'Keefe <ok <at> cs.otago.ac.nz>:
> I'm currently slogging my way through the PADS manual and papers.
> PADS is a toolkit for Processing Ad-hoc Data Streams, that is
> for stuff like web logs, termcap, anything that's more complex
> than you could comfortably process with AWK but less standardised
> than XML.
>
> PADS/C takes a data description and generates C code that you can
> call to parse a data stream, either all at once or some at a time.
> You get a converter to XML and a crude tabulator/statistics tool
> for free with this.  The input language is somewhere between a
> grammar and C data declarations.
>
> PADS/ML does the same kind of thing, with a slightly different
> but semantically similar input language that looks more like ML.
> Sadly, the ML in question is not SML, but OCaml.  I am as fond
> of high speed as the next hacker, but fond as I am of SML, I've
> never been able to stomach OCaml syntax.
>
> Some of the applications of PADS are clearly in Erlang's general
> area: one of the running examples is some AT&T phone logs which
> are really very very large (so that you would have to be either
(Continue reading)


Gmane