Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: string variables in Printf.* calls: Bug, or lack of understanding?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: bonnardv@p...
Subject: Re: string variables in Printf.* calls: Bug, or lack of understanding?
[English summary at the end]

>> Dans ce cas, comment avoir un record (en Caml-light):
>> 
>> type Rec = { x: ('a, 'b, 'c) printf__format };;
>> 
>> ne marche pas (variable 'a non lie'e).
>
>Apprenez le langage.  type ('a, 'b, 'c) Rec = ...

Je veut bien, mais le record a plus de 10 champs ce qui 
fait 30 variables de type pour qqchose qui n'est pas 
polymorphe ! (Meme si pour Caml-light il l'est, du point 
de vu du 'domaine du probleme' comme on dit, on a des 
chaines indiquand un format; il n'y a aucun 
polymorphisme la dedans.)

De plus je ne sais pas comment innitialiser les champs:

let f = { x = "toto" };;

ne fonctionne pas.

Tout cela signifie t'il que l'ordre dans lequel est fait 
le typage est important ?

******** 

I want to have a record (in Caml-light) with printf 
format strings.

type Rec = { x: ('a, 'b, 'c) printf__format };;

doesn't work because the vars a, b end c aren't bound.

I have more then 10 fields in the record so does it 
means I need 30 type vars ?

Also I don't know how to create an instance of this 
type.

BTW does the type-system depend on the order in which 
things are typed ?


Valentin Bonnard
mailto:bonnardv@pratique.fr
http://www.pratique.fr/~bonnardv (Informations sur le C++ en Francais)