From: Lutz Donnerhacke <lutz@iks-jena.de>
Subject: Re: Generic thinbinding toolkit for C
Date: Mon, 24 Nov 2003 10:20:00 +0000 (UTC)
Date: 2003-11-24T10:20:00+00:00 [thread overview]
Message-ID: <slrnbs3mqf.mc.lutz@taranis.iks-jena.de> (raw)
In-Reply-To: 3FBEF03D.6E3474BE@nospam.cogeco.ca
* Warren Gay wrote:
> Note also that because you're starting with C code, I don't expect
> the resulting thin binding to be strongly typed. It might be stronger
> with the help of hints/config entries, but I would not have the
> unrealistic expectation that the spec is going to be strongly typed.
Currently I get a strongly typed thin binding. The generated object code
contains a single "INT 80" line in most cases.
Your proposal with wrapper bindings works an can be automated. Intrestingly
enough you do not need any tool for this job, because you have to specify
the necessary API yourself (it can't be derivated from the header files as
proven upthreads). When you did this, you are finished anyway, because you
have the wrapper code and directly importable linker objects for Ada. Done.
> That is the job for the thick binding, which is now easier for you to
> write!
Thick binding is completely different. For thick binding you redesign the
API the Ada way. Then you transform this API to the called library API.
I prefer stronly typed thin bindings. This is an slightly expanded API very
close to the original one. The only enhancements consist of Ada style
parameter passing, Ada style constants and semantically different types
based on the same implementation type (i.e. type Filename is new C_String;)
> I can call getuid() from Ada, almost as easily as I can from C. The
> _problem_ is that I don't have a spec for that function (with the
> matching sized type), for every platform.
Yep.
> With a generated thin binding that includes the necessary spec,
> calling getuid() from Ada becomes effortless and is in all other
> respects, including efficiency, on par with C.
Because you don't have the size of the types, you have to introduce a level
of indirection into the wrapper code. You can't access those values, unless
you use wrapper code as well. Therefor every wrapper will copy data twice or
more to call the library. This will be inefficient at least.
> So if I can determine the size and types of the return value for getuid(),
> then there is no reason thinbind cannot generate a spec, a type (if
> necessary), and a pragma import statement. In this case, no
> C wrapper code is required and everyone is still happy.
You will generate an Ada-Spec from external programms? You will get horrible
problems with compile time errors at the Ada side when switching to a
different platform? Good luck.
>> This hints file has to contain the API, because it can't regained from the
>> C header code (too much type information is missing).
>
> This of course, depends on how far down the road to compiling
> you want to go. The C compiler knows about types. There is no
> theoretical reason that thinbind could not also (only the amount
> of complexity and work, but no worse than GCC).
The C compiler does know nothing about types. The real types are defined in
the semantics (man page). The C compiler does know only about base types.
> You constantly look for defeat. Look for solutions: that's what
> programmers normally do. Otherwise, we might as well shut everything down
> and say "it's too hard", and watch golf instead.
Ada style solution:
1.0k kernel.ads
27k kernel-calls.adb
601k kernel-calls.ads
26k kernel-linux_i86.adb
29k kernel-linux_i86.ads
Example:
.file "test_kernel.adb"
.version "01.01"
gcc2_compiled.:
.section .rodata
.LC0:
.string "kernel-linux_i86.adb"
.LC1:
.string "kernel-calls.adb"
.LC2:
.ascii "Hello world.\n"
.data
.type outs.68,@object
.size outs.68,13
outs.68:
.ascii "Hello world.\n"
.text
.align 4
.globl _start
.type _start,@function
_start:
pushl %esi
pushl %ebx
movl $4,%eax
movl $1,%ebx
movl $outs.68,%ecx
movl $13,%edx
#APP
int $0x80
#NO_APP
movl %eax,%esi
movl %ebx,%eax
movl %esi,%ebx
#APP
int $0x80
#NO_APP
popl %ebx
popl %esi
ret
.Lfe1:
.size _start,.Lfe1-_start
.ident "GCC: (GNU) 2.8.1"
Spark style solution:
1.0k kernel.ads
3.0k kernel-io.adb
12k kernel-io.ads
1.0k kernel-io-chdir.adb
1.0k kernel-io-close.adb
1.0k kernel-io-creat.adb
1.0k kernel-io-fchdir.adb
1.0k kernel-io-fullpath_to_long.adb
2.0k kernel-io-getdents.adb
1.0k kernel-io-getdents_empty.adb
2.0k kernel-io-getdents_read.adb
1.0k kernel-io-integer_to_permissions.adb
1.0k kernel-io-link.adb
1.0k kernel-io-llseek.adb
1.0k kernel-io-mkdir.adb
2.0k kernel-io-mode_to_string.adb
1.0k kernel-io-open.adb
1.0k kernel-io-open_flags_to_long.adb
1.0k kernel-io-permissions_to_integer.adb
1.0k kernel-io-permission_to_string.adb
1.0k kernel-io-read.adb
1.0k kernel-io-rename.adb
1.0k kernel-io-string_to_fullpath.adb
1.0k kernel-io-string_to_long.adb
1.0k kernel-io-unlink.adb
1.0k kernel-io-write.adb
6.0k kernel-linux_i86.adb
26k kernel-linux_i86.ads
3.0k kernel-processes.adb
7.0k kernel-processes.ads
1.0k kernel-processes-cstring_array_from_collection.adb
1.0k kernel-processes-cstring_nul_count.adb
1.0k kernel-processes-fork.adb
1.0k kernel-processes-kill_all.adb
1.0k kernel-processes-kill_group.adb
1.0k kernel-processes-kill_my_group.adb
1.0k kernel-processes-kill_process.adb
1.0k kernel-processes-signal_to_long.adb
1.0k kernel-processes-sysexit.adb
1.0k kernel-processes-wait.adb
1.0k kernel-processes-wait_group.adb
1.0k kernel-processes-wait_my_group.adb
3.0k kernel-processes-waitpid.adb
1.0k kernel-processes-wait_process.adb
-------------------------------------------------------------------------------
Semantic Analysis Summary
-------------------------------------------------------------------------------
Summary of:
Verification Condition files (.vcg)
Simplified Verification Condition files (.siv)
in the directory: /var/home/lutz/work/ada/src/kernel
VCs for kernel_/processes/cstring_nul_count
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 7 | DOIT
2 | start | assert @ 7 | DOIT
3 | assert @ 7 | assert @ 7 | yes
4 | assert @ 7 | assert @ 7 | yes
5 | assert @ 7 | rtc check @ 10 | yes
6 | assert @ 7 | rtc check @ 11 | DOIT
7 | start | finish | yes
8 | assert @ 7 | finish | DOIT
9 | assert @ 7 | finish | yes
-------------------------------------------------------------------------------
VC Hashs for kernel_/processes/cstring_nul_count
1 : efe586a0bd3de1bb8b8f2cc880f46a98
2 : 75e2c969ead1d0dea799bf625d14e3a7
6 : 4d2360999a219c96aa8045a50b190c05
8 : 673f9713dfc6afd15b10a0e3a4e30cdf
VCs for kernel_/io/write
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 9 | yes
2 | start | rtc check @ 10 | yes
3 | start | check @ 11 | yes
4 | start | rtc check @ 12 | yes
5 | start | rtc check @ 12 | yes
6 | start | rtc check @ 16 | yes
7 | start | rtc check @ 17 | DOIT
8 | start | rtc check @ 19 | yes
9 | start | rtc check @ 20 | yes
10 | start | rtc check @ 23 | yes
11 | start | finish | yes
12 | start | finish | yes
13 | start | finish | yes
-------------------------------------------------------------------------------
VC Hashs for kernel_/io/write
7 : dc437863df9e7bbc38a3b6a01eea04aa
VCs for kernel_/linux_i86/syscall1
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 62 | yes
2 | start | rtc check @ 63 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/mode_to_string
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 21 | yes
2 | start | rtc check @ 28 | yes
3 | start | rtc check @ 29 | yes
4 | start | assert @ 32 | yes
5 | start | assert @ 32 | yes
6 | start | assert @ 32 | yes
7 | assert @ 32 | rtc check @ 34 | yes
8 | assert @ 32 | rtc check @ 35 | yes
9 | assert @ 32 | assert @ 38 | yes
10 | assert @ 32 | assert @ 38 | yes
11 | assert @ 32 | assert @ 38 | yes
12 | assert @ 38 | rtc check @ 40 | yes
13 | assert @ 38 | rtc check @ 41 | yes
14 | assert @ 38 | assert @ 44 | yes
15 | assert @ 38 | assert @ 44 | yes
16 | assert @ 38 | assert @ 44 | yes
17 | assert @ 44 | rtc check @ 46 | yes
18 | assert @ 44 | rtc check @ 47 | yes
19 | assert @ 44 | rtc check @ 48 | yes
20 | assert @ 44 | rtc check @ 49 | yes
21 | assert @ 44 | rtc check @ 50 | yes
22 | assert @ 44 | rtc check @ 51 | yes
23 | assert @ 44 | rtc check @ 52 | yes
24 | assert @ 44 | finish | yes
25 | assert @ 44 | finish | yes
26 | assert @ 44 | finish | yes
27 | assert @ 44 | finish | yes
28 | assert @ 44 | finish | yes
29 | assert @ 44 | finish | yes
30 | assert @ 44 | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/open
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | rtc check @ 10 | yes
3 | start | rtc check @ 11 | yes
4 | start | rtc check @ 13 | yes
5 | start | rtc check @ 14 | yes
6 | start | rtc check @ 17 | yes
7 | start | finish | yes
8 | start | finish | yes
9 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/chdir
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/wait_group
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 7 | yes
2 | start | rtc check @ 8 | yes
3 | start | rtc check @ 9 | yes
4 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/syscall4
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 134 | yes
2 | start | rtc check @ 135 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/close
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 5 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/link
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/getdents
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 21 | yes
2 | start | rtc check @ 21 | yes
3 | start | rtc check @ 24 | yes
4 | start | rtc check @ 25 | yes
5 | start | rtc check @ 27 | yes
6 | start | rtc check @ 29 | yes
7 | start | finish | yes
8 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/creat
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | rtc check @ 9 | yes
3 | start | rtc check @ 10 | yes
4 | start | rtc check @ 12 | yes
5 | start | rtc check @ 13 | yes
6 | start | rtc check @ 16 | yes
7 | start | finish | yes
8 | start | finish | yes
9 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/kill_my_group
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | rtc check @ 6 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/waitpid
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 77 | yes
2 | start | rtc check @ 82 | yes
3 | start | rtc check @ 83 | yes
4 | start | rtc check @ 85 | yes
5 | start | finish | yes
6 | start | finish | yes
7 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/syscall0
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 38 | yes
2 | start | rtc check @ 39 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/wait
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/permission_to_string
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 7 | yes
2 | start | rtc check @ 8 | yes
3 | start | rtc check @ 8 | yes
4 | start | rtc check @ 9 | yes
5 | start | rtc check @ 9 | yes
6 | start | rtc check @ 9 | yes
7 | start | rtc check @ 9 | yes
8 | start | finish | yes
9 | start | finish | yes
10 | start | finish | yes
11 | start | finish | yes
12 | start | finish | yes
13 | start | finish | yes
14 | start | finish | yes
15 | start | finish | yes
-------------------------------------------------------------------------------
VCs for test_kernel
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 16 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/unlink
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/kill_all
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 5 | yes
2 | start | rtc check @ 5 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/open_flags_to_long
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 14 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/wait_my_group
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/read
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | rtc check @ 6 | yes
3 | start | rtc check @ 11 | yes
4 | start | rtc check @ 12 | yes
5 | start | finish | yes
6 | start | finish | yes
7 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/fchdir
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 5 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/getdents_read
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 34 | yes
2 | start | rtc check @ 35 | yes
3 | start | rtc check @ 39 | yes
4 | start | rtc check @ 40 | yes
5 | start | rtc check @ 43 | yes
6 | start | rtc check @ 44 | yes
7 | start | rtc check @ 45 | yes
8 | start | rtc check @ 46 | yes
9 | start | rtc check @ 46 | yes
10 | start | assert @ 46 | yes
11 | assert @ 46 | assert @ 46 | yes
12 | assert @ 46 | rtc check @ 49 | yes
13 | assert @ 46 | rtc check @ 50 | yes
14 | start | rtc check @ 57 | yes
15 | start | rtc check @ 57 | yes
16 | assert @ 46 | rtc check @ 57 | yes
17 | assert @ 46 | rtc check @ 57 | yes
18 | start | finish | yes
19 | start | finish | yes
20 | start | finish | yes
21 | start | finish | yes
22 | assert @ 46 | finish | yes
23 | assert @ 46 | finish | yes
24 | assert @ 46 | finish | yes
25 | assert @ 46 | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/syscall5
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 158 | yes
2 | start | rtc check @ 159 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/string_to_fullpath
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | assert @ 6 | yes
3 | assert @ 6 | assert @ 6 | yes
4 | assert @ 6 | rtc check @ 9 | yes
5 | start | rtc check @ 11 | yes
6 | assert @ 6 | rtc check @ 11 | yes
7 | start | finish | yes
8 | assert @ 6 | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/sysexit
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/kill_process
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | rtc check @ 6 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/fork
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 5 | yes
2 | start | rtc check @ 6 | yes
3 | start | rtc check @ 8 | yes
4 | start | rtc check @ 9 | yes
5 | start | rtc check @ 13 | yes
6 | start | finish | yes
7 | start | finish | yes
8 | start | finish | yes
9 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/getdents_empty
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/wait_process
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/errorcode
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 9 | yes
2 | start | rtc check @ 10 | yes
3 | start | rtc check @ 12 | yes
4 | start | finish | yes
5 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/processes/kill_group
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 7 | yes
2 | start | rtc check @ 8 | yes
3 | start | rtc check @ 9 | yes
4 | start | rtc check @ 9 | yes
5 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/syscall3
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 110 | yes
2 | start | rtc check @ 111 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/mkdir
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/linux_i86/syscall2
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 86 | yes
2 | start | rtc check @ 87 | yes
3 | start | finish | yes
-------------------------------------------------------------------------------
VCs for kernel_/io/rename
-------------------------------------------------------------------------------
| | | -- Proved In --
No | From | To | vcg siv plg prv TODO
-------------------------------------------------------------------------------
1 | start | rtc check @ 6 | yes
2 | start | finish | yes
-------------------------------------------------------------------------------
===============================================================================
--------------- Proved By --------------
Total Examiner Simplifier Checker Review Undischarged
Assert 16 0 15 0 0 1
Check 1 0 1 0 0 0
Postcondition 76 28 47 0 0 1
Runtime check 124 0 121 0 0 3
-------------------------------------------------------------------------------
Totals 217 28 184 0 0 5
% Totals 12% 84% 0% 0% 2%
===================== End of Semantic Analysis Summary ========================
> I don't know about you, but watching golf puts me to sleep ;-)
I prefer to program myself, instead of wait for a generic solution.
> Be positive. It helps.
I prefer matching Ada solutions over generated Ada syntax from C code.
next prev parent reply other threads:[~2003-11-24 10:20 UTC|newest]
Thread overview: 382+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-31 21:02 Clause "with and use" Gautier Write-only
2003-10-31 21:51 ` Warren W. Gay VE3WWG
2003-10-31 22:29 ` Randy Brukardt
2003-11-01 13:39 ` Gautier Write-only
2003-11-01 14:32 ` Marius Amado Alves
2003-11-01 16:23 ` Gautier Write-only
2003-11-01 19:59 ` Marius Amado Alves
2003-11-01 3:39 ` Alexandre E. Kopilovitch
2003-11-02 12:03 ` Stephane Richard
2003-11-03 2:26 ` Alexandre E. Kopilovitch
2003-11-01 4:07 ` Alexandre E. Kopilovitch
2003-11-03 8:22 ` Lutz Donnerhacke
2003-11-03 17:37 ` Alexandre E. Kopilovitch
2003-11-01 7:09 ` Russ
2003-11-01 10:29 ` Pascal Obry
2003-11-01 11:57 ` Marius Amado Alves
2003-11-01 13:24 ` Gautier Write-only
2003-11-01 22:12 ` Pascal Obry
2003-11-02 10:45 ` Stephane Richard
2003-11-02 11:34 ` Preben Randhol
2003-11-02 12:04 ` Stephane Richard
2003-11-02 13:03 ` Marin David Condic
2003-11-02 13:10 ` Stephane Richard
2003-11-02 13:49 ` Software vs Hardware productivity (was: Re: Clause "with and use") Marin David Condic
[not found] ` <pn4g71-ned.ln1@beastie.ix.netcom.com>
2003-11-02 22:25 ` Clause "with and use" Marin David Condic
2003-11-04 17:25 ` Warren W. Gay VE3WWG
2003-11-03 14:36 ` Preben Randhol
2003-11-04 9:57 ` Marin David Condic
2003-11-04 11:22 ` Preben Randhol
2003-11-04 12:45 ` Marin David Condic
2003-11-04 15:46 ` Wes Groleau
2003-11-04 16:08 ` Marius Amado Alves
2003-11-06 10:10 ` Preben Randhol
2003-11-18 0:07 ` Brian Gaffney
2003-11-18 1:25 ` Stephane Richard
2003-11-18 8:50 ` Marius Amado Alves
2003-11-18 10:43 ` Preben Randhol
2003-11-18 10:58 ` Marius Amado Alves
2003-11-18 11:33 ` Preben Randhol
2003-11-18 12:11 ` Marius Amado Alves
2003-11-18 13:46 ` Preben Randhol
2003-11-20 3:53 ` Brian Gaffney
2003-11-20 9:20 ` Preben Randhol
2003-11-18 12:33 ` Stephane Richard
2003-11-04 17:37 ` Warren W. Gay VE3WWG
2003-11-05 19:08 ` Russ
2003-11-05 21:11 ` Mark Lorenzen
2003-11-06 3:10 ` Russ
2003-11-06 8:26 ` Vinzent 'Gadget' Hoefler
2003-11-06 18:52 ` Russ
2003-11-06 20:03 ` Martin Dowie
2003-11-07 0:22 ` Robert I. Eachus
2003-11-07 7:02 ` Martin Dowie
2003-11-07 19:04 ` Robert I. Eachus
2003-11-07 19:23 ` Martin Dowie
2003-11-07 19:38 ` Robert I. Eachus
2003-11-07 22:46 ` Martin Dowie
2003-11-09 6:49 ` Robert I. Eachus
2003-11-07 5:04 ` Russ
2003-11-07 20:31 ` Russ
2003-11-07 22:59 ` Martin Dowie
2003-11-07 23:33 ` Martin Dowie
2003-11-08 8:22 ` Russ
2003-11-08 9:04 ` Martin Dowie
2003-11-09 6:59 ` Robert I. Eachus
2003-11-09 14:27 ` Martin Dowie
2003-11-10 7:47 ` Vinzent 'Gadget' Hoefler
2003-11-06 11:53 ` Stephane Richard
2003-11-06 13:36 ` Marin David Condic
2003-11-07 1:15 ` Stephane Richard
2003-11-07 0:09 ` Mark Lorenzen
2003-11-05 21:20 ` Warren W. Gay VE3WWG
2003-11-05 21:48 ` Alexandre E. Kopilovitch
2003-11-03 5:59 ` Russ
2003-11-03 14:32 ` Preben Randhol
2003-11-03 22:11 ` Gautier Write-only
2003-11-04 10:58 ` Preben Randhol
2003-11-04 13:16 ` Hyman Rosen
2003-11-04 15:09 ` Vinzent 'Gadget' Hoefler
2003-11-04 15:49 ` Wes Groleau
2003-11-06 10:55 ` Preben Randhol
2003-11-06 13:03 ` Hyman Rosen
2003-11-06 15:35 ` Preben Randhol
2003-11-06 17:26 ` Warren W. Gay VE3WWG
2003-11-06 20:38 ` Gautier Write-only
2003-11-06 21:12 ` Warren W. Gay VE3WWG
2003-11-07 7:08 ` Russ
2003-11-07 8:48 ` Preben Randhol
2003-11-08 10:56 ` Gautier Write-only
2003-11-08 11:35 ` Preben Randhol
2003-11-11 22:28 ` Gautier Write-only
2003-11-12 12:42 ` Preben Randhol
2003-11-08 19:40 ` Russ
2003-11-10 7:38 ` Preben Randhol
2003-11-10 13:03 ` Marin David Condic
2003-11-10 13:19 ` Preben Randhol
2003-11-10 13:38 ` Marin David Condic
2003-11-11 7:20 ` Russ
2003-11-11 8:12 ` Preben Randhol
2003-11-11 19:43 ` Russ
2003-11-12 12:35 ` Preben Randhol
2003-11-11 8:31 ` Preben Randhol
2003-11-11 8:57 ` Vinzent 'Gadget' Hoefler
2003-11-11 10:10 ` Marin David Condic
2003-11-11 10:49 ` Stephane Richard
2003-11-11 14:17 ` Vinzent 'Gadget' Hoefler
2003-11-11 15:36 ` Wes Groleau
2003-11-11 16:08 ` Preben Randhol
2003-11-11 16:24 ` Vinzent 'Gadget' Hoefler
2003-11-12 12:01 ` Marin David Condic
2003-11-12 13:07 ` Vinzent 'Gadget' Hoefler
2003-11-13 12:12 ` Marin David Condic
2003-11-13 17:49 ` Re-Marketing Ada (was "With and use") Warren W. Gay VE3WWG
2003-11-14 5:00 ` Robert I. Eachus
2003-11-17 2:31 ` Russ
2003-11-17 3:04 ` Chad R. Meiners
2003-11-17 12:06 ` Marin David Condic
2003-11-17 12:49 ` Marius Amado Alves
2003-11-17 12:56 ` Stephane Richard
2003-11-17 13:14 ` Marius Amado Alves
2003-11-17 17:31 ` Warren W. Gay VE3WWG
2003-11-18 11:52 ` Marin David Condic
2003-11-17 20:17 ` Chad R. Meiners
2003-11-18 12:31 ` Marin David Condic
2003-11-18 13:19 ` Stephane Richard
2003-11-18 17:38 ` Marin David Condic
2003-11-18 17:11 ` Chad R. Meiners
2003-11-18 17:58 ` Warren W. Gay VE3WWG
2003-11-18 20:00 ` Chad R. Meiners
2003-11-20 2:07 ` Warren Gay
2003-11-18 21:20 ` Alexandre E. Kopilovitch
2003-11-19 17:12 ` Warren W. Gay VE3WWG
2003-11-18 22:42 ` Stephane Richard
2003-11-19 2:25 ` Wes Groleau
2003-11-19 2:38 ` tmoran
2003-11-19 2:53 ` Stephane Richard
2003-11-19 17:18 ` Warren W. Gay VE3WWG
2003-11-19 12:42 ` Marin David Condic
2003-11-19 13:05 ` Stephane Richard
2003-11-20 12:40 ` Marin David Condic
2003-11-20 13:09 ` Stephane Richard
2003-11-20 13:37 ` Marin David Condic
2003-11-19 17:28 ` Warren W. Gay VE3WWG
2003-11-19 21:57 ` Chad R. Meiners
2003-11-20 2:12 ` Warren Gay
2003-11-20 18:27 ` Stephen Leake
2003-11-20 1:39 ` Wes Groleau
2003-11-20 12:57 ` Marin David Condic
2003-11-20 17:47 ` Warren W. Gay VE3WWG
2003-11-21 12:53 ` Marin David Condic
2003-11-21 17:21 ` Warren W. Gay VE3WWG
2003-11-21 19:06 ` Chad R. Meiners
2003-11-22 4:20 ` Warren Gay
2003-11-22 17:06 ` Chad R. Meiners
2003-11-23 2:17 ` Warren Gay
2003-11-25 0:06 ` Re-Marketing Ada (was "With and use") A new project for generating thin bindings Chad R. Meiners
[not found] ` <3FBF774C.2050108@shore.net>
2003-11-21 17:42 ` Re-Marketing Ada (was "With and use") Warren W. Gay VE3WWG
2003-11-19 21:07 ` Wes Groleau
2003-11-20 9:31 ` Preben Randhol
2003-11-19 17:15 ` Warren W. Gay VE3WWG
2003-11-19 17:52 ` Stephen Leake
2003-11-19 18:15 ` Hyman Rosen
2003-11-20 3:03 ` Warren Gay
2003-11-20 12:19 ` Lutz Donnerhacke
2003-11-20 18:01 ` Warren W. Gay VE3WWG
2003-11-21 10:55 ` Generic thinbinding toolkit for C Lutz Donnerhacke
2003-11-21 18:02 ` Warren W. Gay VE3WWG
2003-11-22 4:25 ` Warren Gay
2003-11-22 5:12 ` Warren Gay
2003-11-24 10:20 ` Lutz Donnerhacke [this message]
2003-11-17 17:29 ` OT: Nuclear Waste (Was Re-Marketing Ada) Warren W. Gay VE3WWG
2003-11-17 18:01 ` Hyman Rosen
2003-11-20 12:14 ` Georg Bauhaus
2003-11-20 15:14 ` Hyman Rosen
2003-11-20 15:41 ` Vinzent 'Gadget' Hoefler
2003-11-20 16:40 ` Hyman Rosen
2003-11-20 17:03 ` Vinzent 'Gadget' Hoefler
2003-11-20 18:59 ` Hyman Rosen
2003-11-21 8:37 ` Vinzent 'Gadget' Hoefler
2003-11-20 19:26 ` Preben Randhol
2003-11-20 22:55 ` Robert I. Eachus
2003-11-21 0:00 ` Jeffrey Carter
2003-11-21 13:25 ` Vinzent 'Gadget' Hoefler
2003-11-21 16:03 ` Robert I. Eachus
2003-11-21 16:31 ` Vinzent 'Gadget' Hoefler
2003-11-20 16:27 ` Georg Bauhaus
2003-11-20 19:25 ` Preben Randhol
2003-11-20 23:54 ` Larry Elmore
2003-11-21 9:25 ` Preben Randhol
2003-11-21 16:13 ` Robert I. Eachus
2003-11-17 18:45 ` Jeffrey Carter
2003-11-17 19:58 ` Warren W. Gay VE3WWG
2003-11-17 21:22 ` Stephane Richard
2003-11-18 18:00 ` Warren W. Gay VE3WWG
2003-11-18 20:02 ` Alexandre E. Kopilovitch
2003-11-19 17:30 ` Warren W. Gay VE3WWG
2003-11-19 20:48 ` Dmytry Lavrov
2003-11-19 21:10 ` Hyman Rosen
2003-11-20 1:34 ` Robert I. Eachus
2003-11-20 10:21 ` Dmytry Lavrov
2003-11-20 13:40 ` Robert I. Eachus
2003-11-20 18:00 ` Alexandre E. Kopilovitch
2003-11-20 23:47 ` Robert I. Eachus
2003-11-21 2:51 ` Alexandre E. Kopilovitch
2003-11-21 9:22 ` Preben Randhol
2003-11-21 16:24 ` Robert I. Eachus
2003-11-29 23:22 ` Dmytry Lavrov
2003-11-30 2:33 ` Robert I. Eachus
2003-11-30 17:40 ` OT: Relativity ,super-luminal communications and time travel (Was OT: Nuclear Waste (Was Re-Marketing Ada)) Dmytry Lavrov
2003-12-01 3:40 ` Robert I. Eachus
2003-12-01 13:02 ` Dmytry Lavrov
2003-12-02 4:38 ` Alexander Kopilovitch
2003-11-20 15:49 ` OT: Nuclear Waste (Was Re-Marketing Ada) Alexandre E. Kopilovitch
2003-11-21 12:59 ` Marin David Condic
2003-11-21 15:29 ` Frank J. Lhota
2003-11-24 17:15 ` Warren W. Gay VE3WWG
2003-11-22 12:33 ` Dmytry Lavrov
2003-11-20 6:31 ` Russ
2003-11-20 11:35 ` Dmytry Lavrov
2003-11-20 18:04 ` Chad R. Meiners
2003-11-20 12:49 ` Georg Bauhaus
2003-11-20 13:02 ` Vinzent 'Gadget' Hoefler
2003-11-20 14:10 ` Robert I. Eachus
2003-11-20 16:12 ` Dmitry A. Kazakov
2003-11-20 16:11 ` Vinzent 'Gadget' Hoefler
2003-11-20 18:16 ` Chad R. Meiners
2003-11-21 8:47 ` Dmitry A. Kazakov
2003-11-21 9:28 ` Preben Randhol
2003-11-21 12:57 ` Dmitry A. Kazakov
2003-11-21 13:25 ` Vinzent 'Gadget' Hoefler
2003-11-21 14:10 ` Dmitry A. Kazakov
2003-11-21 14:24 ` Preben Randhol
2003-11-21 14:36 ` Dmitry A. Kazakov
2003-11-21 14:53 ` Vinzent 'Gadget' Hoefler
2003-11-21 13:57 ` Preben Randhol
2003-11-21 14:00 ` Preben Randhol
2003-11-21 14:27 ` Dmitry A. Kazakov
2003-11-20 16:33 ` Georg Bauhaus
2003-11-21 9:05 ` Dmitry A. Kazakov
2003-11-21 16:36 ` Robert I. Eachus
2003-11-21 17:05 ` Stephane Richard
2003-11-22 10:45 ` Dmytry Lavrov
2003-11-22 10:41 ` Dmytry Lavrov
2003-11-17 23:33 ` Dmytry Lavrov
2003-11-18 0:31 ` Ludovic Brenta
2003-11-18 11:49 ` Dmytry Lavrov
2003-11-18 18:06 ` Warren W. Gay VE3WWG
2003-11-18 7:38 ` Preben Randhol
2003-11-18 7:42 ` Preben Randhol
2003-11-18 7:53 ` Preben Randhol
2003-11-18 16:06 ` Dmytry Lavrov
2003-11-17 22:32 ` Russ
2003-11-18 16:38 ` Robert I. Eachus
2003-11-19 5:36 ` Russ
2003-11-19 15:28 ` Dmytry Lavrov
2003-11-19 20:01 ` Robert I. Eachus
2003-11-20 9:30 ` Preben Randhol
2003-11-20 14:43 ` Robert I. Eachus
2003-11-20 14:55 ` Preben Randhol
2003-11-20 15:24 ` Vinzent 'Gadget' Hoefler
2003-11-20 19:30 ` Preben Randhol
2003-11-19 15:41 ` Robert I. Eachus
2003-11-18 18:12 ` Warren W. Gay VE3WWG
2003-11-18 18:47 ` Hyman Rosen
2003-11-19 0:44 ` Russ
2003-11-19 17:33 ` Warren W. Gay VE3WWG
2003-11-13 22:04 ` Clause "with and use" Wes Groleau
2003-11-14 4:16 ` Marin David Condic
2003-11-12 11:55 ` Marin David Condic
2003-11-12 13:10 ` Vinzent 'Gadget' Hoefler
2003-11-11 19:49 ` Russ
2003-11-11 20:35 ` Russ
2003-11-11 22:06 ` Mark Lorenzen
2003-11-11 22:08 ` Vinzent 'Gadget' Hoefler
2003-11-11 22:20 ` Gautier Write-only
2003-11-11 22:38 ` Vinzent 'Gadget' Hoefler
2003-11-12 12:46 ` Preben Randhol
2003-11-13 7:26 ` Russ
2003-11-13 19:59 ` Chad R. Meiners
2003-11-14 5:09 ` Robert I. Eachus
2003-11-14 6:47 ` Chad R. Meiners
2003-11-14 5:45 ` Russ
2003-11-14 7:51 ` Chad R. Meiners
2003-11-14 7:51 ` Chad R. Meiners
2003-11-14 23:23 ` Russ
2003-11-15 4:39 ` Chad R. Meiners
2003-11-15 11:35 ` Stephane Richard
2003-11-15 12:53 ` Marin David Condic
2003-11-16 0:36 ` Russ
2003-11-16 2:38 ` Chad R. Meiners
2003-11-16 0:19 ` Russ
2003-11-16 1:41 ` Stephane Richard
2003-11-16 2:11 ` Frank J. Lhota
2003-11-16 2:28 ` Stephane Richard
2003-11-16 14:04 ` Hyman Rosen
2003-11-16 6:15 ` Russ
2003-11-16 14:00 ` Hyman Rosen
2003-11-16 13:56 ` Hyman Rosen
2003-11-15 22:12 ` Russ
2003-11-16 2:29 ` Chad R. Meiners
2003-11-16 7:01 ` Russ
2003-11-16 20:02 ` Chad R. Meiners
2003-11-17 2:34 ` Way off topic was: " Robert I. Eachus
2003-11-17 21:12 ` Russ
2003-11-17 21:29 ` Hyman Rosen
2003-11-17 23:28 ` Alexandre E. Kopilovitch
2003-11-17 23:19 ` Wes Groleau
2003-11-15 15:19 ` Robert I. Eachus
2003-11-15 16:15 ` Gautier Write-only
2003-11-15 19:44 ` Frank J. Lhota
2003-11-16 0:02 ` Robert I. Eachus
2003-11-16 10:41 ` Gautier Write-only
2003-11-17 9:04 ` Dmitry A. Kazakov
2003-11-17 14:38 ` Robert I. Eachus
2003-11-17 19:40 ` Russ
2003-11-18 17:01 ` Robert I. Eachus
2003-11-18 8:35 ` Dmitry A. Kazakov
2003-11-16 5:55 ` Russ
2003-11-16 19:31 ` Robert I. Eachus
2003-11-17 1:34 ` Robert I. Eachus
2003-11-15 16:40 ` Gautier Write-only
2003-11-16 0:25 ` Robert I. Eachus
2003-11-16 1:20 ` Wes Groleau
2003-11-16 14:59 ` Gautier Write-only
2003-11-16 19:39 ` Robert I. Eachus
2003-11-16 21:04 ` Wes Groleau
2003-11-16 10:19 ` Gautier Write-only
2003-11-14 7:51 ` Chad R. Meiners
2003-11-11 22:30 ` Stephane Richard
2003-11-11 22:54 ` Vinzent 'Gadget' Hoefler
2003-11-11 14:35 ` Hyman Rosen
2003-11-11 15:04 ` Preben Randhol
2003-11-11 20:01 ` Russ
2003-11-12 12:41 ` Preben Randhol
2003-11-13 6:27 ` Chad R. Meiners
2003-11-13 7:32 ` Anders Wirzenius
2003-11-13 12:29 ` Marin David Condic
2003-11-13 17:51 ` Warren W. Gay VE3WWG
2003-11-14 8:32 ` Dmitry A. Kazakov
2003-11-14 14:51 ` Warren W. Gay VE3WWG
2003-11-17 9:22 ` Dmitry A. Kazakov
2003-11-17 16:42 ` Warren W. Gay VE3WWG
2003-11-18 8:49 ` Dmitry A. Kazakov
2003-11-19 17:46 ` Warren W. Gay VE3WWG
2003-11-20 8:26 ` Dmitry A. Kazakov
2003-11-14 20:44 ` Robert I. Eachus
2003-11-14 9:05 ` Anders Wirzenius
2003-11-14 12:37 ` Georg Bauhaus
2003-11-14 15:18 ` Robert I. Eachus
2003-11-15 13:04 ` Marin David Condic
2003-11-18 22:45 ` Georg Bauhaus
2003-11-11 15:36 ` Robert I. Eachus
2003-11-11 19:46 ` Eachus' Measure of Goodness (was: Clause "with and use") Jeffrey Carter
2003-11-12 16:08 ` Eachus' Measure of Goodness Robert I. Eachus
2003-11-12 17:24 ` Stephane Richard
2003-11-12 17:37 ` tmoran
2003-11-13 3:04 ` Robert I. Eachus
2003-11-13 5:17 ` Jeffrey Carter
2003-11-13 6:28 ` Mark A. Biggar
2003-11-13 9:53 ` Alexandre E. Kopilovitch
2003-11-13 6:37 ` Clause "with and use" Chad R. Meiners
2003-11-13 19:11 ` tmoran
2003-11-14 4:57 ` Robert I. Eachus
2003-11-14 7:05 ` tmoran
2003-11-14 15:06 ` Robert I. Eachus
2003-11-14 15:15 ` Robert Spooner
2003-11-14 15:54 ` Robert I. Eachus
2003-11-11 16:24 ` Vinzent 'Gadget' Hoefler
2003-11-11 17:36 ` Stephane Richard
2003-11-08 20:08 ` Russ
2003-11-09 4:23 ` Alexandre E. Kopilovitch
2003-11-07 15:54 ` Frank J. Lhota
2003-11-06 22:42 ` Dale Stanbrough
2003-11-03 15:35 ` Stephane Richard
2003-11-03 16:26 ` Robert I. Eachus
2003-11-04 7:28 ` Vinzent 'Gadget' Hoefler
2003-11-03 22:04 ` Gautier Write-only
2003-11-03 10:47 ` Dmitry A. Kazakov
2003-11-03 16:30 ` Robert I. Eachus
2003-11-03 22:07 ` Gautier Write-only
2003-11-04 7:28 ` Vinzent 'Gadget' Hoefler
2003-11-06 20:12 ` Gautier Write-only
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox