~ubuntu-branches/ubuntu/wily/coq-doc/wily

« back to all changes in this revision

Viewing changes to dev/doc/changes.txt

  • Committer: Bazaar Package Importer
  • Author(s): Stéphane Glondu, Stéphane Glondu, Samuel Mimram
  • Date: 2010-01-07 22:50:39 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100107225039-n3cq82589u0qt0s2
Tags: 8.2pl1-1
[ Stéphane Glondu ]
* New upstream release (Closes: #563669)
  - remove patches
* Packaging overhaul:
  - use git, advertise it in Vcs-* fields of debian/control
  - use debhelper 7 and dh with override
  - use source format 3.0 (quilt)
* debian/control:
  - set Maintainer to d-o-m, set Uploaders to Sam and myself
  - add Homepage field
  - bump Standards-Version to 3.8.3
* Register PDF documentation into doc-base
* Add debian/watch
* Update debian/copyright

[ Samuel Mimram ]
* Change coq-doc's description to mention that it provides documentation in
  pdf format, not postscript, closes: #543545.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
=========================================
 
2
= CHANGES BETWEEN COQ V8.1 AND COQ V8.2 =
 
3
=========================================
 
4
 
 
5
A few differences in Coq ML interfaces between Coq V8.1 and V8.2
 
6
================================================================
 
7
 
 
8
** Datatypes
 
9
 
 
10
List of occurrences moved from "int list" to "Termops.occurrences" (an
 
11
alias to "bool * int list").
 
12
 
 
13
** Functions
 
14
 
 
15
Eauto: e_resolve_constr, vernac_e_resolve_constr -> simplest_eapply
 
16
Tactics: apply_with_bindings -> apply_with_bindings_wo_evars
 
17
Eauto.simplest_apply -> Hiddentac.h_simplest_apply
 
18
Evarutil.define_evar_as_arrow -> define_evar_as_product
 
19
Old version of Tactics.assert_tac disappears
 
20
Tactics.true_cut renamed into Tactics.assert_tac
 
21
Constrintern.interp_constrpattern -> intern_constr_pattern
 
22
Hipattern.match_with_conjunction is a bit more restrictive
 
23
Hipattern.match_with_disjunction is a bit more restrictive
 
24
 
 
25
** Universe names (univ.mli)
 
26
 
 
27
 base_univ -> type0_univ  (* alias of Set is the Type hierarchy *)
 
28
 prop_univ -> type1_univ  (* the type of Set in the Type hierarchy *)
 
29
 neutral_univ -> lower_univ (* semantic alias of Prop in the Type hierarchy *)
 
30
 is_base_univ -> is_type1_univ
 
31
 is_empty_univ -> is_lower_univ
 
32
 
 
33
** Sort names (term.mli)
 
34
 
 
35
  mk_Set -> set_sort
 
36
  mk_Prop -> prop_sort
 
37
  type_0 -> type1_sort
 
38
 
 
39
=========================================
 
40
= CHANGES BETWEEN COQ V8.0 AND COQ V8.1 =
 
41
=========================================
 
42
 
 
43
A few differences in Coq ML interfaces between Coq V8.0 and V8.1
 
44
================================================================
 
45
 
 
46
** Functions
 
47
 
 
48
Util: option_app -> option_map
 
49
Term: substl_decl -> subst_named_decl
 
50
Lib: library_part -> remove_section_part
 
51
Printer: prterm -> pr_lconstr
 
52
Printer: prterm_env -> pr_lconstr_env
 
53
Ppconstr: pr_sort -> pr_rawsort
 
54
Evd: in_dom, etc got standard ocaml names (i.e. mem, etc)
 
55
Pretyping: 
 
56
 - understand_gen_tcc and understand_gen_ltac merged into understand_ltac
 
57
 - type_constraints can now say typed by a sort (use OfType to get the
 
58
   previous behavior)
 
59
Library: import_library -> import_module
 
60
 
 
61
** Constructors
 
62
 
 
63
Declarations: mind_consnrealargs -> mind_consnrealdecls
 
64
NoRedun -> NoDup
 
65
Cast and RCast have an extra argument: you can recover the previous
 
66
  behavior by setting the extra argument to "CastConv DEFAULTcast" and
 
67
  "DEFAULTcast" respectively
 
68
Names: "kernel_name" is now "constant" when argument of Term.Const
 
69
Tacexpr: TacTrueCut and TacForward(false,_,_) merged into new TacAssert
 
70
Tacexpr: TacForward(true,_,_) branched to TacLetTac
 
71
 
 
72
** Modules
 
73
 
 
74
module Decl_kinds: new interface
 
75
module Bigint: new interface
 
76
module Tacred spawned module Redexpr
 
77
module Symbols -> Notation
 
78
module Coqast, Ast, Esyntax, Termast, and all other modules related to old
 
79
  syntax are removed
 
80
module Instantiate: integrated to Evd
 
81
module Pretyping now a functor: use Pretyping.Default instead
 
82
 
 
83
** Internal names
 
84
 
 
85
OBJDEF and OBJDEF1 -> CANONICAL-STRUCTURE
 
86
 
 
87
** Tactic extensions
 
88
 
 
89
- printers have an extra parameter which is a constr printer at high precedence
 
90
- the tactic printers have an extra arg which is the expected precedence 
 
91
- level is now a precedence in declare_extra_tactic_pprule
 
92
- "interp" functions now of types the actual arg type, not its encapsulation
 
93
  as a generic_argument
 
94
 
 
95
=========================================
 
96
= CHANGES BETWEEN COQ V7.4 AND COQ V8.0 =
 
97
=========================================
 
98
 
 
99
See files in dev/syntax-v8
 
100
 
 
101
 
 
102
==============================================
 
103
= MAIN CHANGES BETWEEN COQ V7.3 AND COQ V7.4 =
 
104
==============================================
 
105
 
 
106
CHANGES DUE TO INTRODUCTION OF MODULES
 
107
======================================
 
108
 
 
109
1.Kernel
 
110
--------
 
111
 
 
112
  The module level has no effect on constr except for the structure of
 
113
section_path. The type of unique names for constructions (what
 
114
section_path served) is now called a kernel name and is defined by
 
115
 
 
116
type uniq_ident = int * string * dir_path (* int may be enough *)
 
117
type module_path =
 
118
  | MPfile of dir_path    (* reference to physical module, e.g. file *)
 
119
  | MPbound of uniq_ident (* reference to a module parameter in a functor *)
 
120
  | MPself of uniq_ident  (* reference to one of the containing module *)
 
121
  | MPdot of module_path * label
 
122
type label = identifier
 
123
type kernel_name = module_path * dir_path * label
 
124
                   ^^^^^^^^^^^   ^^^^^^^^   ^^^^^
 
125
                        |           |         \
 
126
                        |           |          the base name
 
127
                        |           \
 
128
                       /             the (true) section path
 
129
   example:                          (non empty only inside open sections)
 
130
   L = (* i.e. some file of logical name L *)
 
131
   struct
 
132
     module A = struct Def a = ... end
 
133
   end
 
134
   M = (* i.e. some file of logical name M *)
 
135
   struct
 
136
     Def t = ...
 
137
     N = functor (X : sig module T = struct Def b = ... end end) -> struct
 
138
       module O = struct
 
139
         Def u = ...
 
140
       end
 
141
       Def x := ... <M>.t ... <N>.O.u ... X.T.b ... L.A.a
 
142
 
 
143
   <M> and <N> are self-references, X is a bound reference and L is a
 
144
reference to a physical module.
 
145
 
 
146
  Notice that functor application is not part of a path: it must be
 
147
named by a "module M = F(A)" declaration to be used in a kernel
 
148
name.
 
149
 
 
150
  Notice that Jacek chose a practical approach, making directories not
 
151
modules. Another approach could have been to replace the constructor
 
152
MPfile by a constant constructor MProot representing the root of the
 
153
world.
 
154
 
 
155
  Other relevant informations are in kernel/entries.ml (type
 
156
module_expr) and kernel/declarations.ml (type module_body and
 
157
module_type_body).                                                              
 
158
 
 
159
2. Library
 
160
----------
 
161
 
 
162
i) tables 
 
163
[Summaries] - the only change is the special treatment of the
 
164
global environmet.
 
165
 
 
166
ii) objects 
 
167
[Libobject] declares persistent objects, given with methods:
 
168
 
 
169
   * cache_function specifying how to add the object in the current
 
170
       scope;
 
171
   * load_function, specifying what to do when the module 
 
172
       containing the object is loaded; 
 
173
   * open_function, specifying what to do when the module 
 
174
       containing the object is opened (imported);
 
175
   * classify_function, specyfying what to do with the object,
 
176
       when the current module (containing the object) is ended. 
 
177
   * subst_function
 
178
   * export_function, to signal end_section survival
 
179
 
 
180
(Almost) Each of these methods is called with a parameter of type
 
181
object_name = section_path * kernel_name
 
182
where section_path is the full user name of the object (such as
 
183
Coq.Init.Datatypes.Fst) and kernel_name is its substitutive internal
 
184
version such as (MPself<Datatypes#1>,[],"Fst") (see above)
 
185
 
 
186
 
 
187
What happens at the end of an interactive module ?
 
188
==================================================
 
189
(or when a file is stored and reloaded from disk)
 
190
 
 
191
All summaries (except Global environment) are reverted to the state
 
192
from before the beginning of the module, and:
 
193
 
 
194
a) the objects (again, since last Declaremods.start_module or
 
195
   Library.start_library) are classified using the classify_function.
 
196
   To simplify consider only those who returned Substitute _ or Keep _.
 
197
 
 
198
b) If the module is not a functor, the subst_function for each object of
 
199
   the first group is called with the substitution 
 
200
   [MPself "<Datatypes#1>" |-> MPfile "Coq.Init.Datatypes"].
 
201
   Then the load_function is called for substituted objects and the
 
202
   "keep" object. 
 
203
   (If the module is a library the substitution is done at reloading).
 
204
 
 
205
c) The objects which returned substitute are stored in the modtab
 
206
   together with the self ident of the module, and functor argument
 
207
   names if the module was a functor.
 
208
 
 
209
   They will be used (substituted and loaded) when a command like 
 
210
     Module M := F(N)    or
 
211
     Module Z := N 
 
212
   is evaluated
 
213
 
 
214
 
 
215
The difference between "substitute" and "keep" objects
 
216
========================================================
 
217
i) The "keep" objects can _only_ reference other objects by section_paths
 
218
and qualids. They do not need the substitution function.
 
219
 
 
220
They will work after end_module (or reloading a compiled library),
 
221
because these operations do not change section_path's
 
222
 
 
223
They will obviously not work after Module Z:=N.
 
224
 
 
225
These would typically be grammar rules, pretty printing rules etc.
 
226
 
 
227
 
 
228
 
 
229
ii) The "substitute" objects can _only_ reference objects by
 
230
kernel_names. They must have a valid subst_function. 
 
231
 
 
232
They will work after end_module _and_ after Module Z:=N or 
 
233
Module Z:=F(M).
 
234
 
 
235
 
 
236
 
 
237
Other kinds of objects:
 
238
iii) "Dispose" - objects which do not survive end_module
 
239
     As a consequence, objects which reference other objects sometimes
 
240
     by kernel_names and sometimes by section_path must be of this kind...
 
241
 
 
242
iv) "Anticipate" - objects which must be treated individually by
 
243
    end_module (typically "REQUIRE" objects)
 
244
 
 
245
 
 
246
 
 
247
Writing subst_thing functions
 
248
=============================
 
249
The subst_thing shoud not copy the thing if it hasn't actually
 
250
changed. There are some cool emacs macros in dev/objects.el 
 
251
to help writing subst functions this way quickly and without errors.
 
252
Also there are *_smartmap functions in Util.
 
253
 
 
254
The subst_thing functions are already written for many types,
 
255
including constr (Term.subst_mps), 
 
256
global_reference (Libnames.subst_global),
 
257
rawconstr (Rawterm.subst_raw) etc
 
258
 
 
259
They are all (apart from constr, for now) written in the non-copying
 
260
way.
 
261
 
 
262
 
 
263
Nametab
 
264
=======
 
265
 
 
266
Nametab has been made more uniform. For every kind of thing there is
 
267
only one "push" function and one "locate" function. 
 
268
 
 
269
 
 
270
Lib
 
271
===
 
272
 
 
273
library_segment is now a list of object_name * library_item, where
 
274
object_name = section_path * kernel_name (see above)
 
275
 
 
276
New items have been added for open modules and module types
 
277
 
 
278
 
 
279
Declaremods
 
280
==========
 
281
Functions to declare interactive and noninteractive modules and module
 
282
types.
 
283
 
 
284
 
 
285
Library
 
286
=======
 
287
Uses Declaremods to actually communicate with Global and to register
 
288
objects.
 
289
 
 
290
 
 
291
OTHER CHANGES
 
292
=============
 
293
 
 
294
Internal representation of tactics bindings has changed (see type
 
295
Rawterm.substitution).
 
296
 
 
297
New parsing model for tactics and vernacular commands
 
298
 
 
299
  - Introduction of a dedicated type for tactic expressions
 
300
    (Tacexpr.raw_tactic_expr)
 
301
  - Introduction of a dedicated type for vernac expressions
 
302
    (Vernacexpr.vernac_expr)
 
303
  - Declaration of new vernacular parsing rules by a new camlp4 macro
 
304
    GRAMMAR COMMAND EXTEND ... END  to be used in ML files
 
305
  - Declaration of new tactics parsing/printing rules by a new camlp4 macro
 
306
    TACTIC EXTEND ... END  to be used in ML files
 
307
 
 
308
New organisation of THENS:
 
309
tclTHENS tac tacs : tacs is now an array
 
310
tclTHENSFIRSTn tac1 tacs tac2 :
 
311
  apply tac1 then, apply the array tacs on the first n subgoals and
 
312
  tac2 on the remaining subgoals (previously tclTHENST)
 
313
tclTHENSLASTn tac1 tac2 tacs :
 
314
  apply tac1 then, apply tac2 on the first subgoals and apply the array
 
315
  tacs on the last n subgoals
 
316
tclTHENFIRSTn tac1 tacs = tclTHENSFIRSTn tac1 tacs tclIDTAC (prev. tclTHENSI)
 
317
tclTHENLASTn tac1 tacs  = tclTHENSLASTn tac1 tclIDTAC tacs
 
318
tclTHENFIRST tac1 tac2  = tclTHENFIRSTn tac1 [|tac2|]
 
319
tclTHENLAST tac1 tac2   = tclTHENLASTn tac1 [|tac2|] (previously tclTHENL)
 
320
tclTHENS tac1 tacs = tclTHENSFIRSTn tac1 tacs (fun _ -> error "wrong number")
 
321
tclTHENSV same as tclTHENS but with an array
 
322
tclTHENSi : no longer available
 
323
 
 
324
Proof_type: subproof field in type proof_tree glued with the ref field
 
325
 
 
326
Tacmach: no more echo from functions of module Refiner
 
327
 
 
328
Files contrib/*/g_*.ml4 take the place of files contrib/*/*.v.
 
329
Files parsing/{vernac,tac}extend.ml{4,i} implements TACTIC EXTEND andd
 
330
  VERNAC COMMAND EXTEND macros
 
331
File syntax/PPTactic.v moved to parsing/pptactic.ml
 
332
Tactics about False and not now in tactics/contradiction.ml
 
333
Tactics depending on Init now tactics/*.ml4 (no longer in tactics/*.v)
 
334
File tacinterp.ml moved from proofs to directory tactics
 
335
 
 
336
 
 
337
==========================================
 
338
= MAIN CHANGES FROM COQ V7.1 TO COQ V7.2 =
 
339
==========================================
 
340
 
 
341
The core of Coq (kernel) has meen minimized with the following effects:
 
342
 
 
343
kernel/term.ml      split into kernel/term.ml,      pretyping/termops.ml
 
344
kernel/reduction.ml split into kernel/reduction.ml, pretyping/reductionops.ml
 
345
kernel/names.ml     split into kernel/names.ml,     library/nameops.ml
 
346
kernel/inductive.ml split into kernel/inductive.ml, pretyping/inductiveops.ml
 
347
 
 
348
the prefixes "Is" ans "IsMut" have been dropped from kind_of_term constructors,
 
349
e.g. IsRel is now Rel, IsMutCase is now Case, etc.
 
350
 
 
351
 
 
352
=======================================================
 
353
= PRINCIPAUX CHANGEMENTS ENTRE COQ V6.3.1 ET COQ V7.0 =
 
354
=======================================================
 
355
 
 
356
Changements d'organisation / modules :
 
357
--------------------------------------
 
358
 
 
359
  Std, More_util                -> lib/util.ml
 
360
 
 
361
  Names                         -> kernel/names.ml et kernel/sign.ml
 
362
    (les parties noms et signatures ont �t� s�par�es)
 
363
 
 
364
  Avm,Mavm,Fmavm,Mhm  ->  utiliser plut�t Map (et freeze alors gratuit)
 
365
  Mhb                 ->  Bij
 
366
 
 
367
  Generic est int�gr� � Term (et un petit peu � Closure)
 
368
 
 
369
Changements dans les types de donn�es :
 
370
---------------------------------------
 
371
  dans Generic: free_rels : constr -> int Listset.t
 
372
                  devient : constr -> Intset.t
 
373
 
 
374
  type_judgement ->  typed_type
 
375
  environment    ->  context
 
376
  context        ->  typed_type signature
 
377
 
 
378
 
 
379
ATTENTION:
 
380
----------
 
381
 
 
382
  Il y a maintenant d'autres exceptions que UserError (TypeError,
 
383
  RefinerError, etc.)
 
384
 
 
385
  Il ne faut donc plus se contenter (pour rattraper) de faire
 
386
  
 
387
                try . .. with UserError _ -> ...
 
388
 
 
389
  mais �crire � la place
 
390
 
 
391
                try ... with e when Logic.catchable_exception e -> ...
 
392
 
 
393
 
 
394
Changements dans les fonctions :
 
395
--------------------------------
 
396
 
 
397
        Vectops.
 
398
          it_vect          ->  Array.fold_left
 
399
          vect_it          ->  Array.fold_right
 
400
          exists_vect      ->  Util.array_exists
 
401
          for_all2eq_vect  ->  Util.array_for_all2
 
402
          tabulate_vect    ->  Array.init
 
403
          hd_vect          ->  Util.array_hd
 
404
          tl_vect          ->  Util.array_tl
 
405
          last_vect        ->  Util.array_last
 
406
          it_vect_from     ->  array_fold_left_from
 
407
          vect_it_from     ->  array_fold_right_from
 
408
          app_tl_vect      ->  array_app_tl
 
409
          cons_vect        ->  array_cons
 
410
          map_i_vect       ->  Array.mapi
 
411
          map2_vect        ->  array_map2
 
412
          list_of_tl_vect  ->  array_list_of_tl
 
413
 
 
414
        Names
 
415
          sign_it        -> fold_var_context (se fait sur env maintenant)
 
416
          it_sign        -> fold_var_context_reverse (sur env maintenant)
 
417
 
 
418
        Generic
 
419
          noccur_bet     -> noccur_between
 
420
          substn_many    -> substnl
 
421
 
 
422
        Std 
 
423
          comp           ->  Util.compose
 
424
          rev_append     ->  List.rev_append
 
425
 
 
426
        Termenv
 
427
          mind_specif_of_mind  -> Global.lookup_mind_specif
 
428
                ou Environ.lookup_mind_specif si on a un env sous la main
 
429
          mis_arity      ->  instantiate_arity
 
430
          mis_lc         ->  instantiate_lc     
 
431
 
 
432
        Ex-Environ       
 
433
          mind_of_path      -> Global.lookup_mind
 
434
 
 
435
        Printer
 
436
          gentermpr     ->   gen_pr_term
 
437
          term0         ->   prterm_env 
 
438
          pr_sign       ->   pr_var_context
 
439
          pr_context_opt -> pr_context_of
 
440
          pr_ne_env      -> pr_ne_context_of
 
441
 
 
442
        Typing, Machops
 
443
          type_of_type     ->  judge_of_type
 
444
          fcn_proposition  ->  judge_of_prop_contents
 
445
          safe_fmachine    ->  safe_infer
 
446
 
 
447
        Reduction, Clenv
 
448
          whd_betadeltat      -> whd_betaevar
 
449
          whd_betadeltatiota  -> whd_betaiotaevar
 
450
          find_mrectype       -> Inductive.find_mrectype
 
451
          find_minductype     -> Inductive.find_inductive
 
452
          find_mcoinductype   -> Inductive.find_coinductive
 
453
 
 
454
        Astterm
 
455
          constr_of_com_casted -> interp_casted_constr
 
456
          constr_of_com_sort   -> interp_type
 
457
          constr_of_com        -> interp_constr
 
458
          rawconstr_of_com     -> interp_rawconstr
 
459
          type_of_com          -> type_judgement_of_rawconstr
 
460
          judgement_of_com     -> judgement_of_rawconstr
 
461
 
 
462
        Termast
 
463
          bdize                -> ast_of_constr
 
464
 
 
465
        Tacmach
 
466
          pf_constr_of_com_sort -> pf_interp_type
 
467
          pf_constr_of_com      -> pf_interp_constr
 
468
          pf_get_hyp            -> pf_get_hyp_typ
 
469
          pf_hyps, pf_untyped_hyps -> pf_env (tout se fait sur env maintenant)
 
470
 
 
471
        Pattern
 
472
          raw_sopattern_of_compattern -> Astterm.interp_constrpattern
 
473
          somatch               -> is_matching
 
474
          dest_somatch          -> matches
 
475
 
 
476
        Tacticals
 
477
          matches               -> gl_is_matching
 
478
          dest_match            -> gl_matches
 
479
          suff                  -> utiliser sort_of_goal
 
480
          lookup_eliminator     -> utiliser sort_of_goal pour le dernier arg
 
481
 
 
482
        Divers
 
483
          initial_sign     -> var_context
 
484
 
 
485
        Sign
 
486
          ids_of_sign      -> ids_of_var_context (or Environ.ids_of_context)
 
487
          empty_sign       -> empty_var_context
 
488
 
 
489
        Pfedit
 
490
          list_proofs      -> get_all_proof_names
 
491
          get_proof        -> get_current_proof_name
 
492
          abort_goal       -> abort_proof
 
493
          abort_goals      -> abort_all_proofs
 
494
          abort_cur_goal   -> abort_current_proof
 
495
          get_evmap_sign   -> get_goal_context/get_current_goal_context
 
496
          unset_undo       -> reset_undo
 
497
 
 
498
        Proof_trees
 
499
          mkGOAL           -> mk_goal
 
500
 
 
501
        Declare
 
502
          machine_constant ->   declare_constant (+ modifs)
 
503
 
 
504
        ex-Trad, maintenant Pretyping
 
505
          inh_cast_rel        -> Coercion.inh_conv_coerce_to
 
506
          inh_conv_coerce_to  -> Coercion.inh_conv_coerce_to_fail
 
507
          ise_resolve1        -> understand, understand_type
 
508
          ise_resolve         -> understand_judgment, understand_type_judgment
 
509
 
 
510
        ex-Tradevar, maintenant Evarutil
 
511
          mt_tycon            -> empty_tycon
 
512
 
 
513
        Recordops
 
514
          struc_info          -> find_structure
 
515
 
 
516
Changements dans les inductifs
 
517
------------------------------
 
518
Nouveaux types "constructor" et "inductive" dans Term
 
519
La plupart des fonctions de typage des inductives prennent maintenant
 
520
un inductive au lieu d'un oonstr comme argument. Les seules fonctions
 
521
� traduire un constr en inductive sont les find_rectype and co.
 
522
 
 
523
Changements dans les grammaires
 
524
-------------------------------
 
525
 
 
526
 . le lexer (parsing/lexer.mll) est maintenant un lexer ocamllex
 
527
 
 
528
 . attention : LIDENT -> IDENT  (les identificateurs n'ont pas de
 
529
                                 casse particuli�re dans Coq)
 
530
 
 
531
 . Le mot "command" est remplac� par "constr" dans les noms de
 
532
 fichiers, noms de modules et non-terminaux relatifs au parsing des
 
533
 termes; aussi les changements suivants "COMMAND"/"CONSTR" dans
 
534
 g_vernac.ml4, VARG_COMMAND/VARG_CONSTR dans vernac*.ml*
 
535
 
 
536
 . Les constructeurs d'arguments de tactiques IDENTIFIER, CONSTR, ...n
 
537
   passent en minuscule Identifier, Constr, ...
 
538
 
 
539
 . Plusieurs parsers ont chang� de format (ex: sortarg)
 
540
 
 
541
Changements dans le pretty-printing
 
542
-----------------------------------
 
543
 
 
544
 . D�couplage de la traduction de constr -> rawconstr (dans detyping)
 
545
    et de rawconstr -> ast (dans termast)
 
546
 . D�placement des options d'affichage de printer vers termast
 
547
 . D�placement des r�aiguillage d'univers du pp de printer vers esyntax
 
548
 
 
549
        
 
550
Changements divers
 
551
------------------
 
552
 
 
553
 . il n'y a plus de script coqtop => coqtop et coqtop.byte sont
 
554
   directement le r�sultat du link du code
 
555
   => debuggage et profiling directs
 
556
 
 
557
 . il n'y a plus d'installation locale dans bin/$ARCH
 
558
 
 
559
 . #use "include.ml"  =>  #use "include"
 
560
   go()               =>  loop()
 
561
 
 
562
 . il y a "make depend" et "make dependcamlp4" car ce dernier prend beaucoup
 
563
   de temps