From: Dustin Sallings <dustin@spy.net>
To: David Brown <caml-list@davidb.org>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] newbie type problem
Date: Fri, 24 Oct 2003 01:21:14 -0700 [thread overview]
Message-ID: <087CB9D7-05FB-11D8-B1A2-000393DC8AE4@spy.net> (raw)
In-Reply-To: <20031024005258.GA5049@davidb.org>
On Thursday, Oct 23, 2003, at 17:52 US/Pacific, David Brown wrote:
> You may want to consider putting the data for a given transaction type
> into its own type, and having that be the target of the hashtbl.
>
> type transaction_info = {
> mutable counts : int;
> mutable times : int;
> }
That's exactly what I did, 'cept my time is a float. :)
> Then your results could just be a
>
> (int * (string, transaction_info) Hashtbl.t) list
Well, part of the problem is that my log files aren't necessarily
sequential, so I have to be able to go back to any point in time and
update the thing. Other than that, that's about right (from what I can
read of that syntax so far).
> BTW, this actually seems like a good problem for learning the language.
> I seem to always choose things too difficult, and end up getting
> frustrated.
It's still plenty foreign to me, but this is complex enough to help me
out with a bunch of concepts in the language. What amazes me is the
lack of resources I've been able to find in ocaml so far (just
googling). It seems like caml's been around for a while, and it works
quite well.
I wrote these log processor things in python originally because I know
it pretty well, but it doesn't run very fast. In my early tests, ocaml
and bigloo ran at roughly the same speed, and caml seems very foreign
to me. However, recently, I've had a few instability problems with
bigloo under certain circumstances. I rewrote that app in ocaml and it
was many, many times faster and it worked more reliably.
> BTW, I have found the .mli files for the libraries to be the best
> documentation.
Yeah, but I still couldn't figure out how to make a Map, assuming
that's what I really wanted in the first place. A hash table that
iterates in key sorted order would make my app faster and reduce
complexity. I want to see it actually work first, though. :)
--
SPY My girlfriend asked me which one I like better.
pub 1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net>
| Key fingerprint = 87 02 57 08 02 D0 DA D6 C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2003-10-24 8:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-24 6:11 Dustin Sallings
2003-10-23 23:32 ` David Brown
2003-10-24 6:54 ` Dustin Sallings
2003-10-24 0:52 ` David Brown
2003-10-24 8:21 ` Dustin Sallings [this message]
2003-10-24 12:49 ` Andrew Lenharth
2003-10-24 13:22 ` Remi Vanicat
2003-10-29 7:23 ` Florian Hars
2003-10-29 8:03 ` Dustin Sallings
2003-10-29 16:27 ` Florian Hars
2003-10-24 9:25 ` Hendrik Tews
2003-10-24 16:23 ` Dustin Sallings
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=087CB9D7-05FB-11D8-B1A2-000393DC8AE4@spy.net \
--to=dustin@spy.net \
--cc=caml-list@davidb.org \
--cc=caml-list@inria.fr \
/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