comp.lang.ada
 help / color / mirror / Atom feed
From: frankenstein <klohmuschel@yahoo.de>
Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3?
Date: Sun, 2 Aug 2009 02:48:47 -0700 (PDT)
Date: 2009-08-02T02:48:47-07:00	[thread overview]
Message-ID: <788d6773-e3e1-4140-a44d-e1a5bf69fb05@e11g2000yqo.googlegroups.com> (raw)
In-Reply-To: b768d55e-27de-44e2-a154-d2eae4b8ea4a@k19g2000yqn.googlegroups.com

As an addendum: I shall post in the following some bits of my matrix
class. Sorry there are no comments and it lacks all my pretty
printing, slicing and mapping over matrix stuff. However, you should
get an idea. Scroll down until you reach the example of the matrix
matrix multiplication. If you want to bench it againts a C code: use
google for the C code of a matrix matrix multiplication:

copy the code enclosed into a file e.g. foo.scm

and on the command line: bigloo -Obench foo.scm, and time a.out. If
you want to increase the size use 1024 e.g. in (do-main 1024).

Some basics to the class: read through it and you will encounter 3
classes: 64-bit, 32-bit and realmat

you create an n-dimensioanal matrix as follows: (mk-f64mat i j ... n
val: 0.0e0)
you access the values: (f64m& i j ... n)
you store values: (f64m! i j ... n value)

same goes for f32, and realmat. update and accessing is done by the
macro and should be sufficient fast.

Raueber Hotzenplotz


==
(module matrix
   (export
    (class f64mat
       mat
       (rank::bint (default 1))
       (dims::pair-nil (default '(1)))
       (print-index?::bool (default #t)))
    (class f32mat
       mat
       (rank::bint (default 1))
       (dims::pair-nil (default '(1)))
       (print-index?::bool (default #t)))
    (class realmat
       mat
       (rank::bint (default 1))
       (dims::pair-nil (default '(1)))
       (print-index?::bool (default #t)))
    (inline make-matrix::obj  op::pair-nil #!key   (val 0.0e0) (type
(lambda (x y) (make-vector x y))))
     (inline make-matrix-local::obj  op::pair-nil  #!key (val 0.0e0)
(type (lambda (x y) (make-vector x y))))
    (inline mk-f64mat::f64mat  #!rest op::pair-nil #!key (val 0.0e0))
    (inline mk-f32mat::f32mat  #!rest op::pair-nil #!key (val 0.0))
    (inline mk-realmat::realmat #!rest  op::pair-nil #!key (val 0.0))
    (macro aref-set-helper fun::obj x::obj i::bint  .  op::obj)
    (macro f64m&  mat::f64mat . op::obj)
    (macro f32m& mat::f32mat . op::obj)
    (macro realm& mat::realmat . op::obj)
    (macro f64m!c  mat::f64mat val::double . op::obj)
    (macro f64m!  mat::f64mat  . op::obj)
    (macro f32m!c  mat::f32mat val::real . op::obj)
    (macro f32m!  mat::f32mat val::real . op::obj)
    (macro realm!c  mat::realmat val::real . op::obj)
    (macro realm!  mat::realmat val::real . op::obj)))




(define-inline (.1st. x::pair-nil) (car x))
(define-inline (.2nd. x::pair-nil) (cadr x))
(define-inline (.3rd. x::pair-nil) (caddr  x))



(define-inline (make-matrix-local::obj  op::pair-nil
				  #!key (val 0.0e0)
				  (type (lambda (x y) (make-vector x y))))
   (if (=fx 1 (length op))
       (type (car op) val)
       (let ([mx::vector (make-vector (car op))])
	  (do [(oi 0 (+fx oi 1))]
	      [(=fx oi (car op))]
	      (vector-set! mx oi (make-matrix-local  (cdr op) val: val type:
type)))
	  mx)))



(define-inline (make-matrix::obj  op::pair-nil
				  #!key (val 0.0e0)
				  (type (lambda (x y) (make-vector x y))))
   (if (=fx 1 (length op))
       (type (car op) val)
       (let ([mx::vector (make-vector (car op))])
	  (do [(oi 0 (+fx oi 1))]
	      [(=fx oi (car op))]
	      (vector-set! mx oi (make-matrix  (cdr op) val: val type:
type)))
	  mx)))





(define-inline (mk-f64mat::f64mat  #!rest  op::pair-nil #!key (val
0.0e0))
   (let* ((indx::bint (-fx (length op) 1)))
      (if (<fx indx 2)
	  (begin
	     (error "mk-f64mat in matrix.scm" "you would have to pass at
least 1 dimension"  op))
	  (begin
	     (let* ((val::double (list-ref op indx))
		    (op::pair (take op (-fx indx 1))))
		;(print op val indx)
		(instantiate::f64mat (mat (make-matrix-local op val:  val type:
(lambda (x y) (make-f64vector x y))))
				     (rank (length op))
				     (dims op)))))))


(define-inline (mk-f64matr::f64mat  #!rest op::obj)
   (instantiate::f64mat (mat (make-matrix-local op val:  0.0e0 type:
(lambda (x y) (make-f64vector x y))))
			(rank (length op))
			(dims op)))



(define-inline (mk-f32matr::f32mat  #!rest op::obj)
   (instantiate::f32mat (mat (make-matrix-local op val: 0.0 type:
(lambda (x y) (make-f32vector x y))))
			(rank (length op))
			(dims op)))



(define-inline (mk-f32mat::f32mat  #!rest  op::pair-nil #!key (val
0.0))
   (let* ((indx::bint (-fx (length op) 1)))
      (if (<fx indx 2)
	  (begin
	     (error "mk-f32mat in matrix.scm" "you would have to pass at
least 1 dimension"  op))
	  (begin
	     (let* ((val (list-ref op indx))
		    (op::pair (take op (-fx indx 1))))
		(instantiate::f32mat (mat (make-matrix-local op val:  val type:
(lambda (x y) (make-f32vector x y))))
				     (rank (length op))
				     (dims op)))))))



(define-inline (mk-realmatr::realmat  #!rest op::obj)
   (instantiate::realmat (mat (make-matrix-local op val: 0.0 type:
(lambda (x y) (make-vector x y))))
			 (rank (length op))
			 (dims op)))


(define-inline (mk-realmat::realmat  #!rest  op::pair-nil #!key (val
0.0))
   (let* ((indx::bint (-fx (length op) 1)))
      (if (<fx indx 2)
	  (begin
	     (error "mk-realmat in matrix.scm" "you would have to pass at
least 1 dimension"  op))
	  (begin
	     (let* ((val::double (list-ref op indx))
		    (op::pair (take op (-fx indx 1))))
		(instantiate::realmat (mat (make-matrix-local op val:  val type:
(lambda (x y) (make-vector x y))))
				     (rank (length op))
				     (dims op)))))))





(define-macro (m& x::obj i::bint  .  op::obj)
   (if (null? op)
       `(vector-ref ,x ,i)
       `(a& (vector-ref ,x ,i)  ,@op)))


(define-macro (m!  x::obj val::obj i::bint  .  op::obj)
   (if (null? op)
       `(vector-set! ,x ,i ,val)
       `(a! (vector-ref ,x ,i)  ,@op)))



(define-macro (f64m&  mat::f64mat . op::obj)
   `(with-access::f64mat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (f64vector-ref xx yy))
			mat   ,@op)))


(define-macro (f32m&  mat::f32mat . op::obj)
   `(with-access::f32mat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (f32vector-ref xx yy))
			mat   ,@op)))

(define-macro (realm&  mat::realmat . op::obj)
   `(with-access::realmat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (vector-ref xx yy))
			mat   ,@op)))




(define-macro (f64m!  mat::f64mat  . op::obj)
   (let* ((indx::bint (-fx (length op) 1))
	  (val::double (list-ref op indx))
	  (op::pair (take op indx)))
      `(with-access::f64mat ,mat (mat)
	  (aref-set-helper (lambda (xx yy) (f64vector-set! xx yy ,val))
			   mat   ,@op))))


(define-macro (f32m!  mat::f32mat  . op::obj)
   (let* ((indx::bint (-fx (length op) 1))
	  (val::double (list-ref op indx))
	  (op::pair (take op indx)))
      `(with-access::f32mat ,mat (mat)
	  (aref-set-helper (lambda (xx yy) (f32vector-set! xx yy ,val))
			   mat   ,@op))))


(define-macro (realm!  mat::realmat  . op::obj)
   (let* ((indx::bint (-fx (length op) 1))
	  (val::double (list-ref op indx))
	  (op::pair (take op indx)))
      `(with-access::realmat ,mat (mat)
	  (aref-set-helper (lambda (xx yy) (vector-set! xx yy ,val))
			   mat   ,@op))))


(define-inline (aref-set-helper-new fun::obj x::obj i::bint   op::obj)
   (if (null? op)
       (fun x i)
       (aref-set-helper-new fun (vector-ref x i)  (car op) (cdr op))))


(define-macro (aref-set-helper fun::obj x::obj i::bint  .  op::obj)
   (if (null? op)
       `(,fun ,x ,i)
       `(aref-set-helper ,fun (vector-ref ,x ,i)  ,@op)))






(define-macro (f64m!c  mat::f64mat val::double . op::obj)
   `(with-access::f64mat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (f64vector-set! xx yy ,val))
			mat   ,@op)))


(define-macro (f32m!c  mat::f32mat val::real . op)
   `(with-access::f32mat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (f32vector-set! xx
yy ,val)))))


(define-macro (realm!c  mat::realmat val::real . op::obj)
   `(with-access::realmat ,mat (mat)
       (aref-set-helper (lambda (xx yy) (vector-set! xx yy ,val))
			mat   ,@op)))



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Test: matrix -matrix multiplication
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; we craete a matrix here:
;; (mk-f64mat rows cols val: 0.0e0)
;; will create a 64bit matrix of size (rows x cols)
;;
;; we can update individual values by:
;; (f64m! matrix i j value)
;; matrix is the matrix
;; i, j are the indices (based and rows runs first)
;; value is the value
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-inline (mkmatrix::f64mat rows::bint cols::bint)
   (let ((mx::f64mat (mk-f64mat  rows cols val: 0.0e0))
	 (count::double 0.5e0))
      (do ((i 0 (+fx i 1)))
	  ((=fx i rows))
	  (let ((row (make-f64vector cols 0.0e0)))
	     (do ((j 0 (+fx j 1)))
		 ((=fx j cols))
		 (f64m! mx i j count)
		 (set! count (+fl count 0.5)))))
      mx))




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; we do the matrix matrix multiplication
;;
;; we cann access values in the matrix class by:
;; (f64m& matrix i j)
;; and we set values by: (f64m! matrix i j value)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-inline (mmult::f64mat rows::bint cols::bint m1::f64mat
m2::f64mat)
   (let ((m3::f64mat (mk-f64mat  rows cols val: 0.0e0)))
      (do ((i 0 (+fx 1 i)))
	  ((=fx i rows))
	  (do ((j 0 (+fx 1 j)))
	      ((=fx j cols))
	      (let ((val::double 0.0e0))
		 (do ((k 0 (+fx 1 k)))
		     ((=fx k cols))
		     (set! val (+fl val
				    (*fl (f64m& m1 i k)
					 (f64m& m2  k j)))))
		 (f64m! m3  i j val))))
      m3))




(define (do-main size::bint)
   (let ((mm::double 0.0e0)
	 (m1::f64mat (mkmatrix  size size))
	 (m2::f64mat (mkmatrix size size)))
      (set! mm (mmult size size m1 m2))
      (let ((r0 (vector-ref (f64mat-mat mm) 0)))
	 (print (f64vector-ref r0 0)))))


(do-main 512)
==

On Aug 1, 8:46 pm, frankenstein <klohmusc...@yahoo.de> wrote:
> On Jul 29, 12:14 am, Jon Harrop <j...@ffconsultancy.com> wrote:
>
> > fft1976 wrote:
> > If you're using VS then I highly recommend F# for numerical work, largely
> > because it makes parallelism so easy.
>
> > > Gambit-C Scheme (one of the best of LISPs, IMO): about 2x slower than
> > > C (single core only), but you have to work to get within 2x (unlike
> > > OCaml), and if you want it fast, it can't be safe (switch controlled).
>
> > Bigloo?
>
> Bigloo is a good option for numerical work and sometimes beats my
> Fortran F90 code. I am not a Fortran 90 expert but that Bigloo stacks
> up  well compared to Fortran tells a lot.
>
> Fact #1: We must forget about the language shootout page because it is
> and always has been a kinda like of Micky Mouse benchmark (any idot
> who thought he might make up for an excellent programmer posted crappy
> code and once posted it is forever in google's history and a lot of
> other idiots will use the result from the benchmark). RIP language
> shotout page.
>
> Fact 2: The performance of Bigloo especillay for larger problems where
> your simulations will consume 12 hours and more on processor times and
> will use 2GB of associated main memory and more  does not come for
> free. You will have to program your intended code with this in mind.
> HOWEVER, turning Bigloo into a numerical powerhorse for large data
> simulations is straightforward:
>
> a) use from the very beginning on *fx, *fl ... native Bigloo operators
> (IT IS VERY easy to use them and the compiler will help you out a lot
> to spotting type mismatches; however, you won't have to use your gun
> as you likely would by using OCaml and shooting yourself to stop the
> battling for types).
>
> b) use f32 or f64 arrays (I created my own array class) whenever
> possible. especially use f32 for large data simulations since it makes
> a whole lot of a difference if your data are half the size in the main
> memory in 32-bits mode than as it would be in 64-bits even though
> internal calculations are always automatically casted to Bigloo its C
> type double.
>
> c) use classes to make code clearer: classes are very fast in Bigloo.
>
> d) whenever you have to read in binary data (note there are some
> issues with f32 bits; read Bigloo its mailing list) use or check for
> the following undocumented functions and your code will fly: (ieee-
> string->double), (ieee-string->float), (double->ieee-string), (float-
>
> >ieee-string), etc.
>
> e) use -Obench option when compiling, -Obench covers more or less all
> Bigloo to C related and associated compiler options with speed in mind
> (no bound checking etc.).
>
> f) add types to your code to make it readable for others and for your
> pleasure to read and understand your own code during your debugging
> excercise:
>
> ==
> (define (add-vector::vector vec1::vector vec2::vector name::bstring
> x::bint y::my-class)
>   (...))
> ==
>
> I haven't realaesed it yet but I have fully fledged with a whole lot
> of bells and whistles bindings to:
>
> - full clapack (linear algebra package converted from Fortran to C by
> f2c freely downloadable from the net)
> - full DISLIN (high level plotting routine)
> - binding to a random number generator
> - binding to a mie scattering code
> - a matrix class (for creating n dimensional f32 and f64 matrices,
> mapping over n-dimensional matrices, pretty printing, slicing, etc.)
> which does a fantastic job and is up to the task speed wise.
>
> NOTE: Translating code from an imperative language lets say Fortran to
> Bigloo is easy. A lot of Fortran code consists of do loops which
> Bigloo you might uses as well:
>
> ==
> (do ((i 0 (+fx i 1))
>      ((=fx i dim))
>      (do ... etc.
> ==
>
> The only issue: Bigloo like C is 0 based and in my case I always think
> in row order instead of Fortran column order scheme.
>
> If you don't use Bigloo and recipies and suggestions posted above
> Bigloo is dog slow. However, it is really very simple and comes more
> or less at no cost to tailor it to a bespoken powerhorse.
>
> Whenever anyone writes a binding for a well respected external C
> library which a lot of people might be  interested in please make it
> public (yes, yes, I for mself haven't done it yet for dislin and
> clapack, etc.). In the hope scientists will stop using Micky Mouse
> languages like Matlab or Python with is a pain in the ass.
>
> Bigloo also makes available classes for java. However, I have no idea
> if this works well or not and if there are people out there who are
> using Bigloo in Java for numerical work.
>
> That said: a big question mark: I haven't seen any detailed
> descriptions of Bigloo and how to employ threads to use dual-core or
> multi processors even in numerical code.
>
> If anone likes to come forward please do so and report of your
> experience using Bigloo in a multi processor farm.
>
> Thanks, Rumpelstilzchen




  parent reply	other threads:[~2009-08-02  9:48 UTC|newest]

Thread overview: 285+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-18 14:19 Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? Andrea Taverna
2009-07-18 14:42 ` Richard Harter
2009-07-18 14:53 ` Francois PIETTE
2009-07-18 15:23   ` Ludovic Brenta
2009-07-18 18:27     ` Andrea Taverna
2009-07-18 18:46       ` Pascal Obry
2009-08-04 20:09         ` Hendrik Boom
2009-08-04 21:35           ` Jon Harrop
2009-07-18 18:57       ` Andrea Taverna
2009-07-18 15:18 ` Pascal J. Bourguignon
2009-07-19 13:50   ` Andrea Taverna
2009-07-19 14:06     ` Pascal J. Bourguignon
2009-07-20 10:13   ` Nicholas Paul Collin Gloucester
2009-08-04 20:12     ` Hendrik Boom
2009-07-21 12:03   ` Jon Harrop
2009-07-21 13:25     ` Mark T.B. Carroll
2009-07-18 15:50 ` Ludovic Brenta
2009-07-18 16:31   ` Hibou57 (Yannick Duchêne)
2009-07-18 19:48   ` Georg Bauhaus
2009-07-20 10:34   ` Nicholas Paul Collin Gloucester
2009-07-23 22:58   ` A few Ada questions Andrea Taverna
2009-07-24  0:28     ` Ludovic Brenta
2009-07-24  9:07       ` AdaMagica
2009-07-28  9:48         ` Making a nonlimited type controlled by means of a controlled component Ludovic Brenta
2009-08-14 22:21           ` Randy Brukardt
2009-08-14 22:51             ` Adam Beneschan
2009-07-24  7:00     ` A few Ada questions Dmitry A. Kazakov
2009-07-24 15:26       ` Colin Paul Gloster
2009-07-24 15:01         ` Dmitry A. Kazakov
2009-07-18 16:27 ` Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? BGB / cr88192
2009-07-18 17:41 ` Ben Bacarisse
2009-07-20 10:39   ` Nicholas Paul Collin Gloucester
2009-07-20 16:17     ` Ben Bacarisse
2009-07-21 12:10     ` Jon Harrop
2009-07-21 14:40       ` Colin Paul Gloster
2009-07-22  0:25         ` Andrew Reilly
2009-07-19  1:04 ` Andrew Reilly
2009-07-19 13:14   ` mockturtle
2009-07-19 13:35   ` Andrea Taverna
2009-07-19 15:28     ` Pascal J. Bourguignon
2009-07-19 17:30       ` Hibou57 (Yannick Duchêne)
2009-07-19 18:02       ` Georg Bauhaus
2009-07-19 19:09         ` Hibou57 (Yannick Duchêne)
2009-07-19 19:14         ` Pascal J. Bourguignon
2009-07-19 19:51           ` Georg Bauhaus
2009-07-19 19:52 ` tm
2009-07-20  9:57 ` Jean-Pierre Rosen
2009-07-20 13:42   ` Hibou57 (Yannick Duchêne)
2009-07-20 14:37   ` tm
2009-07-20 15:14     ` Jean-Pierre Rosen
2009-07-24  7:26       ` tm
2009-07-24  8:10         ` Dmitry A. Kazakov
2009-07-25 17:39           ` Frank J. Lhota
2009-07-25 18:12             ` Dmitry A. Kazakov
2009-07-24 21:15         ` Wolfgang Ehrhardt
2009-07-24 22:29           ` bartc
2009-07-26 10:55             ` tm
2009-07-26 12:14               ` bartc
2009-07-26 13:21                 ` Pascal J. Bourguignon
2009-07-26 15:43                   ` bartc
2009-07-20 15:46     ` Georg Bauhaus
2009-07-20 16:08     ` Ben Bacarisse
2009-07-20 19:48     ` Tetrahedral Quartz
2009-07-26  2:26   ` wwilson
2009-07-20 12:15 ` Nicholas Paul Collin Gloucester
2009-07-20 12:59   ` Mark T.B. Carroll
2009-07-20 13:18     ` Nicholas Paul Collin Gloucester
2009-07-20 13:21       ` Mark T.B. Carroll
2009-07-20 14:49         ` Nicholas Paul Collin Gloucester
2009-07-20 18:33   ` Cesar Rabak
2009-07-20 18:49     ` Hibou57 (Yannick Duchêne)
2009-07-20 19:35       ` Cesar Rabak
2009-07-20 21:54         ` Georg Bauhaus
2009-07-21  7:39         ` Dmitry A. Kazakov
2009-07-21 14:30           ` Cesar Rabak
2009-07-21 15:17             ` Martin
2009-07-20 19:23     ` Georg Bauhaus
2009-07-20 19:55       ` Cesar Rabak
2009-07-21 12:49       ` Colin Paul Gloster
2009-07-20 19:44     ` Nicholas Paul Collin Gloucester
2009-07-20 20:14       ` Cesar Rabak
2009-07-20 22:22         ` Ludovic Brenta
2009-07-21  1:33           ` Cesar Rabak
2009-07-21  7:54             ` Ludovic Brenta
2009-07-21  7:59             ` Dmitry A. Kazakov
2009-07-21 13:08               ` Colin Paul Gloster
2009-07-21 12:43                 ` Dmitry A. Kazakov
2009-07-21 14:48                 ` Cesar Rabak
2009-07-21 14:45               ` Cesar Rabak
2009-07-21 15:46                 ` Dmitry A. Kazakov
2009-07-21 17:34                   ` Colin Paul Gloster
2009-07-21  8:56             ` Jean-Pierre Rosen
2009-07-21  9:31               ` Georg Bauhaus
2009-07-21 15:02               ` Cesar Rabak
2009-07-21 16:42                 ` Georg Bauhaus
2009-07-21 18:00                   ` Cesar Rabak
2009-07-22 14:10                     ` Colin Paul Gloster
2009-07-22 14:54                       ` Cesar Rabak
2010-03-24  2:46                       ` Robert Love
2010-03-25 15:51                         ` Colin Paul Gloster
2009-07-21 17:37                 ` Colin Paul Gloster
2009-07-21 14:08             ` Hibou57 (Yannick Duchêne)
2009-07-21 13:38         ` Colin Paul Gloster
2009-07-21 15:25           ` Cesar Rabak
2009-07-21 17:48             ` Colin Paul Gloster
2009-07-23 18:47               ` Jon Harrop
2009-07-23 19:20                 ` Colin Paul Gloster
2009-07-23 21:51                   ` Jon Harrop
2009-07-24  1:08                   ` Cesar Rabak
2009-07-24  7:04                     ` Dmitry A. Kazakov
2009-07-22 19:29   ` sjw
2009-07-22 20:05     ` Dmitry A. Kazakov
2009-07-23 12:01     ` Colin Paul Gloster
2009-07-24  1:19       ` Cesar Rabak
2009-07-24  8:50         ` Georg Bauhaus
2009-07-24 15:56           ` Colin Paul Gloster
2009-07-24 16:52         ` Colin Paul Gloster
2009-07-24 18:36           ` Cesar Rabak
2009-07-24 21:46           ` Robert A Duff
2009-07-25 14:32             ` jimmaureenrogers
2009-07-25 17:31             ` Cesar Rabak
2009-07-21 12:25 ` Jon Harrop
2009-07-21 11:41   ` Martin
2009-07-21 14:09     ` Jon Harrop
2009-07-21 13:41       ` Martin
2009-07-21 13:45         ` Martin
2009-07-21 13:58         ` Dmitry A. Kazakov
2009-07-21 16:06         ` Jon Harrop
2009-07-21 15:54           ` Georg Bauhaus
2009-07-22  9:37             ` Jon Harrop
2009-07-22  9:19               ` Georg Bauhaus
2009-07-22  7:53           ` Martin
2009-07-22  9:18             ` Jon Harrop
2009-07-21 23:17         ` Robert A Duff
2009-07-21 14:12   ` Andrea Taverna
2009-07-21 14:14     ` Hibou57 (Yannick Duchêne)
2009-07-21 14:38     ` Hibou57 (Yannick Duchêne)
2009-07-21 15:29       ` Mark T.B. Carroll
2009-07-21 16:10     ` Jon Harrop
2009-07-22  8:16       ` Martin
2009-07-22 18:59         ` Jon Harrop
2009-07-24  8:15     ` tm
2009-07-24  9:31       ` Jon Harrop
2009-07-24  9:42         ` Georg Bauhaus
2009-07-24 13:03           ` Jon Harrop
2009-07-24 10:15         ` tm
2009-07-24 13:11           ` Jon Harrop
2009-07-24 13:01             ` tm
2009-07-24 14:42               ` Jon Harrop
2009-07-25  1:15         ` wwilson
2009-07-25  6:05           ` robertwessel2
2009-07-25  9:24             ` Dmitry A. Kazakov
2009-07-26  2:10             ` wwilson
2009-07-26  3:27               ` Andrew Reilly
2009-07-26 10:08                 ` bartc
2009-07-27 11:28               ` Colin Paul Gloster
2009-07-28  5:01                 ` wwilson
2009-07-28 10:13                   ` Colin Paul Gloster
2009-07-28 12:29                   ` Dave Seaman
2009-07-28 12:42                     ` Peter Hermann
2009-07-28 18:35                     ` wwilson
2009-07-21 13:09 ` parnell
2009-07-28 20:57 ` fft1976
2009-07-28 21:59   ` Georg Bauhaus
2009-07-28 22:01   ` Ludovic Brenta
2009-07-30  3:04     ` fft1976
2009-07-30  6:47       ` Martin
2009-07-28 23:14   ` Jon Harrop
2009-08-01 19:46     ` frankenstein
2009-08-01 21:56       ` Paul Rubin
2009-08-01 23:28         ` Jon Harrop
2009-08-02 10:07         ` frankenstein
2009-08-02 18:55           ` Jon Harrop
2009-08-02  9:48       ` frankenstein [this message]
2009-07-29  0:40   ` Oxide Scrubber
2009-07-29  2:52     ` fft1976
2009-07-29  4:46       ` Oxide Scrubber
2009-07-29  7:50   ` Elena
2009-07-29 15:06     ` Andrea Taverna
2009-07-29  8:11   ` Ray Blaak
2009-07-29  9:57     ` learn2code
2009-07-29 11:38       ` Oxide Scrubber
2009-07-29 14:03         ` learn2code
2009-07-29 14:35           ` Pascal J. Bourguignon
2009-07-29 17:02           ` Oxide Scrubber
2009-08-03 11:19             ` oxhiderubber
2009-07-29 21:10           ` Jon Harrop
     [not found]         ` <kctwcdo5pewe.1ut3dcff8axm0$.dlg@40tude.net>
2009-07-29 21:18           ` Jon Harrop
2009-07-29 16:36       ` Colin Paul Gloster
2009-07-29 17:22       ` Ray Blaak
2009-07-29 18:44     ` Martin
2009-07-29 20:58       ` Jon Harrop
2009-07-29 15:19   ` Andrea Taverna
2009-07-29 19:25     ` Jon Harrop
2009-07-30  2:11   ` tmoran
2009-07-30  2:34     ` fft1976
2009-07-30  2:48       ` Paul Rubin
2009-07-30  3:40         ` fft1976
2009-07-30  3:53           ` Paul Rubin
2009-07-30  6:51           ` Georg Bauhaus
2009-07-30  7:52             ` fft1976
2009-07-30  8:34               ` Ludovic Brenta
2009-07-30 16:10               ` Georg Bauhaus
2009-07-30 17:09                 ` fft1976
2009-07-30 17:20                   ` Pascal Obry
2009-07-30 17:28                     ` fft1976
2009-07-30 17:47                     ` Isaac Gouy
2009-07-31 10:48                       ` Georg Bauhaus
2009-07-30 17:23                 ` Ludovic Brenta
2009-07-30 17:59                 ` Isaac Gouy
2009-07-30 19:38                   ` fft1976
2009-07-30 21:44                     ` Isaac Gouy
2009-07-30 22:14                       ` Paul Rubin
2009-07-31 10:27                         ` Georg Bauhaus
2009-07-31 11:13                     ` Georg Bauhaus
2009-07-31 11:29                   ` Georg Bauhaus
2009-07-31 16:38                     ` Isaac Gouy
2009-07-30 16:25             ` Isaac Gouy
2009-07-30 12:28     ` Colin Paul Gloster
2009-07-30 11:49       ` Martin
2010-03-23 12:31 ` balson
2010-03-23 12:56 ` balson
2010-03-23 13:24   ` Georg Bauhaus
2010-03-23 15:05     ` Maciej Sobczak
2010-03-23 17:52       ` Georg Bauhaus
2010-03-24  6:33       ` Martin Krischik
2010-03-24  8:31         ` Maciej Sobczak
2010-03-23 16:50   ` Warren
2010-03-23 20:29     ` Patrick Scheible
2010-03-24 15:07       ` Warren
2010-03-24 21:11         ` Patrick Scheible
2010-03-24 21:27           ` Pascal J. Bourguignon
2010-03-24 22:14             ` Adam Beneschan
2010-03-24 23:15               ` Patrick Scheible
2010-03-24 23:24                 ` Adam Beneschan
2010-03-24 23:28                 ` Patricia Shanahan
2010-03-25  1:52                   ` John B. Matthews
2010-03-25 16:42               ` Andrew Haley
2010-03-26 23:54               ` Pascal J. Bourguignon
2010-03-24 21:36         ` Adam Beneschan
2010-03-26  7:58           ` Martin Krischik
2010-04-12 11:03           ` Ole-Hjalmar Kristensen
2010-03-24  6:28     ` Martin Krischik
2010-03-24 15:10       ` Warren
2010-03-25  2:19         ` Mike Sieweke
2010-03-25 13:48           ` Robert A Duff
2010-03-25 15:42       ` Colin Paul Gloster
2010-03-26 15:54     ` blmblm
2010-03-26 19:18       ` Warren
2010-03-27  0:03         ` Pascal J. Bourguignon
2010-03-23 17:12   ` J-P. Rosen
2010-03-23 17:41     ` Jim Balson
2010-03-23 17:54       ` Pascal Obry
2010-03-23 18:34         ` jpwoodruff
2010-03-23 20:34           ` Patrick Scheible
2010-03-23 20:33         ` Patrick Scheible
2010-03-23 20:39           ` Pascal Obry
2010-03-24  6:24           ` Martin Krischik
2010-03-23 19:33       ` Adam Beneschan
2010-03-23 22:02         ` Mensanator
2010-03-31  6:55         ` David Thompson
2010-03-31  8:08           ` Martin Krischik
2010-03-24 15:15       ` Warren
2010-03-25 15:46       ` Colin Paul Gloster
2010-03-27  0:53       ` Andrea Taverna
2010-03-27  6:19         ` Gautier write-only
2010-03-23 17:31   ` Patrick Scheible
  -- strict thread matches above, loose matches on Subject: below --
2010-03-23 18:57 cbcurl
2010-03-23 20:27 ` John B. Matthews
2010-03-23 21:34   ` Adam Beneschan
2010-03-24  2:08     ` John B. Matthews
2010-03-24 15:23       ` Warren
2010-03-24 16:57         ` Adam Beneschan
2010-03-24 20:00           ` Warren
2010-03-24 20:48             ` Adam Beneschan
2010-03-25 13:45               ` Warren
2010-03-26  8:20                 ` Martin Krischik
2010-03-26 19:21                   ` Warren
2010-03-28 15:07                     ` Martin Krischik
2010-03-29 13:28                       ` Warren
2010-03-26  8:05             ` Martin Krischik
2010-03-26  8:02           ` Martin Krischik
2010-03-26 19:24             ` Warren
2010-03-28 14:54               ` Martin Krischik
2010-03-29 13:31                 ` Warren
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox