Ticket #2533: generic-negative-index-report

File generic-negative-index-report, 26.9 KB (added by japple, 7 years ago)
Line 
1Sun Sep  7 09:40:46 PDT 2008 
2  * #2533: Generic functions that take integral arguments should work the same way as their prelude counterparts
3
4New patches:
5
6[#2533: Generic functions that take integral arguments should work the same way as their prelude counterparts
7**20080907164046] {
8hunk ./report/haskell98-revised-bugs.html 144
9+
10+<p><li> [September 2008] <strong>Page 187-188, Chapter 17, List
11+utilities.</strong> The "<code>generic</code>" functions should behave
12+the same way as the <tt>Prelude</tt> functions for negative
13+arguments. The ones listed in the report call <tt>error</tt>,
14+while the <tt>Prelude</tt> versions simply treat negative numbers
15+as 0. The implementations are replaced by:
16+<pre>
17+genericTake             :: (Integral a) => a -> [b] -> [b]
18+genericTake n _ | n <= 0 = []
19+genericTake _ []        =  []
20+genericTake n (x:xs)    =  x : genericTake (n-1) xs
21+
22+genericDrop             :: (Integral a) => a -> [b] -> [b]
23+genericDrop n xs | n <= 0 = xs
24+genericDrop _ []        =  []
25+genericDrop n (_:xs)    =  genericDrop (n-1) xs
26+
27+genericSplitAt          :: (Integral a) => a -> [b] -> ([b],[b])
28+genericSplitAt n xs | n <= 0 =  ([],xs)
29+genericSplitAt _ []     =  ([],[])
30+genericSplitAt n (x:xs) =  (x:xs',xs'') where
31+    (xs',xs'') = genericSplitAt (n-1) xs
32+</pre>
33+
34hunk ./report/lib-code/List.hs 184
35+genericTake n _ | n <= 0 = []
36hunk ./report/lib-code/List.hs 186
37-genericTake 0 _         =  []
38-genericTake n (x:xs)
39-   | n > 0              =  x : genericTake (n-1) xs
40-   | otherwise          =  error "List.genericTake: negative argument"
41+genericTake n (x:xs)    =  x : genericTake (n-1) xs
42hunk ./report/lib-code/List.hs 189
43-genericDrop 0 xs        =  xs
44+genericDrop n xs | n <= 0 = xs
45hunk ./report/lib-code/List.hs 191
46-genericDrop n (_:xs)
47-   | n > 0              =  genericDrop (n-1) xs
48-   | otherwise          =  error "List.genericDrop: negative argument"
49+genericDrop n (_:xs)    =  genericDrop (n-1) xs
50hunk ./report/lib-code/List.hs 194
51-genericSplitAt 0 xs     =  ([],xs)
52+genericSplitAt n xs | n <= 0 =  ([],xs)
53hunk ./report/lib-code/List.hs 196
54-genericSplitAt n (x:xs)
55-   | n > 0              =  (x:xs',xs'')
56-   | otherwise          =  error "List.genericSplitAt: negative argument"
57-       where (xs',xs'') =  genericSplitAt (n-1) xs
58+genericSplitAt n (x:xs) =  (x:xs',xs'') where
59+    (xs',xs'') = genericSplitAt (n-1) xs
60}
61
62Context:
63
64[very minor typos in section 5.6
65[email protected]**20080317131229]
66[note typo in 3.17.2, rule 8, on the errata webpage
67[email protected]**20080317105732]
68[typo in section 3.17.2, rule 8, for pattern-matching n+k.
69[email protected]**20080317104257]
70[Note buffering issues in an example program in Chapter 7, I/O.
71[email protected]**20080218121534]
72[minor typo (spotted by Stefan O'Rear)
73[email protected]**20061127105938]
74[typo in Prelude index for 'break' - example was incorrect
75[email protected]**20061017151603]
76[note ongoing errata page in the README
77[email protected]**20061017150914]
78[TAG Revised version of Haskell'98, converted from CVS
79[email protected]**20060920213004]
80[New lexical bug discovered.  --: introduces a comment, but should be a varsym.
81malcolm**20051213124051]
82[Bug discovered by Russell O'Connor: approxRational operates over closed
83malcolm**20050815141344
84 intervals, not open intervals.
85]
86[Note deficiencies in the printed index.
87malcolm**20050610151719]
88[Finally!  HTML rendering of the FFI Addendum.
89chak**20050423142704]
90[Fix date.
91malcolm**20050104171703]
92[Remove a further ambiguity in section 3.17.2 #6.
93malcolm**20050104171422]
94[New bug discovered in the context-free syntax.
95malcolm**20040916102328
96 (Also tidy source to 80-column width.)
97]
98[small changes
99ijones**20040801214942]
100[Implemented a few fixes we talked about on IRC:
101ijones**20040801211834
102 
103 (12:10:13) Marvin--: SyntaxLaptop: the example Setup.lhs on page 3 is wrong, it should import defaultMain and set main = defaultMain
104 (12:10:46) Marvin--: SyntaxLaptop: and I think we call it sdist, not src-dist?
105 (12:20:38) Marvin--: SyntaxLaptop:  \"funky, path\\\\name\"   is really broken, it should be  "funky, path\\name"
106 (12:20:47) Marvin--: the escapes comes from being in a haskell string in the module! :)
107 
108 (12:22:10) Marvin--: hmm, now I think I remember what the issue with the dashes was
109 (12:23:08) Marvin--: oh, and it should be documented exactly what paths look like
110 (12:23:43) Marvin--: page 18 says import Distribution.Make (setup), that damn well should be defaultMain too ;-)
111 (13:14:15) igloo: Oh, Marvin, am I being dopey or does the new spec not answer my questions about eh example at the start?
112 (13:14:37) igloo: e.g. how does it know which files are part of the package
113]
114[added more details about Setup.description fields
115ijones**20040801153645]
116[Added a bunch of information about the package description.
117ijones**20040731220145]
118[Missing operator =<< from the table of fixities.
119malcolm**20040730094342]
120[Page number.
121malcolm**20040729101800]
122[Clarify the order of matching in a named field pattern.
123malcolm**20040729095415]
124[* added "clean" target to setup script spec.
125ijones**20040726042016
126 * updated test case for package description file.
127 * Added note about chasing dependencies and "modules" field:
128    Note that in the future, though the Modules field will be
129    available, it will not be necessary to provide it for building
130    executables and libraries.  Instead, the user will provide only the
131    "Main-Is" field (for executables) and the "Exposed-Modules" field
132    (for libraries).  The system will chase down dependencies from
133    those modules and include them in the library or source
134    distributions.
135]
136[Cleaned up package description stuff
137ijones**20040626212122
138 
139 FIX/TODO: Provide BNF-type grammar, especially for field contents,
140 remove below checklist and questions, fix package filename.
141 
142 Added example package description and more syntax.  Please
143 double-check.
144]
145[* Added new personas:
146ijones**20040626203617
147 ** Peter Packager, as an umbrella for Rowland et al
148 ** Isabella Installer, as someone who uses Peter's packages
149 
150 * Added some notes on the personas to clarify against the perception
151   that they are non-overlapping roles.
152 
153 * Added a little "layered tools" section, just to get this on record.
154 
155 * Some reformatting
156]
157[Change maintainer's name.  Make it pass W3C HTML validation.
158malcolm**20040611154256]
159[Add new bug reports
160simonpj**20040611134227]
161[Fix index bugs
162simonpj**20040611134211]
163[Line break changes only
164simonpj**20040611134114]
165[Mostl suggestions from Graham Klyne.
166ijones**20040606212608
167 
168 * Changed pkg.desc to Setup.description.  Open to suggestions on this.
169   Made an "entity" so it can be easily changed.
170 
171 * changed "tests and design notes may be omitted" to "design notes may
172   be omitted" in order to change emphasis.
173 
174 * Clarified that --prefix and --install-prefix are for file locations
175   only, having nothing to do with "grafting" or whatever.
176]
177[* changed #!runhugs (etc) to #!/usr/bin/env runhugs
178ijones**20040606204207
179 * Small formatting stuff
180 
181 * Implemented Keith Wansbrough's suggestions.
182 
183 ** noted that the #! line isn't a requirement, just a convinience.
184    Clarified that you can compile and run the Setup script if you want.
185 
186 ** Clarified that user and system modules where exposed modules
187    overlap can both be registered.  "(However, one may register a
188    system package which exposes a module with the same name as a user
189    package, and vice-versa.)"
190 
191 ** some "setup" to "./Setup.lhs"
192 
193 ** Added rubric of --user having no effect when together with
194    --install-prefix.
195]
196[Added more justification and explanation of the Setup script.
197ijones**20040606200737]
198[Changed HPS to Cabal.
199ijones**20040606013107
200 
201 Some reformatting of code.
202]
203[Reverted changes from pkgname=version to pkgname-version.
204ijones**20040525141058]
205[* Changed "library" for "tool" in a number of places
206ijones**20040525015138
207 * Made this into an "entity" so it's easy to change back.
208 * changed pkgname-num to pkgname=num (revert if you want)
209 
210 * Changed "no provision for installing the compiled files anywhere
211   other than the place specified in the --prefix flag" to something
212   more accurate, since the "install" command actually has
213   --install-prefix.
214 
215 * Added "main modules" to list of things needed in a package
216   description
217]
218[* Changed article ID to hps
219ijones**20040525004702
220 * Changed date
221 * added &hps; entity, so we can change the name if we want :)
222]
223[System packagers: mention that we expect there to be external tools
224simonmar**20040518132509
225 which can take a Haskell package and generate a template RPM spec
226 file etc.
227]
228[Markup, s/shared/global/
229simonmar**20040518114011]
230[mainly markup
231simonmar**20040518112707]
232[uninstall updates
233simonmar**20040518110748]
234[Simon's updates
235simonmar**20040518104910]
236[Typos, and add an extra blank line in #! scripts to make them legal
237ross**20040517150404
238 literate scripts.
239]
240[Lots of updates (mostly markup).
241simonmar**20040517145437]
242[markup & simple changes
243simonmar**20040511122438]
244[Add the draft Haskell Package System spec
245simonpj**20040511114510]
246[Update description of forkProcess; add descriptions for
247wolfgang**20040506121110
248 rtsSupportsBoundThreads, runInBoundThread and runInUnboundThread
249]
250[Final version of 1.0
251chak**20031201064035]
252[* 6.3: Footnote regarding __STDC_ISO_10646__ added to text introducing
253chak**20031117091137
254        `CWString'.
255]
256[6.3:
257chak**20031112045811
258  - Stated explicitly that memory allocated by `newCString' and friends
259    can be deallocated by `MarshalAlloc.free'
260  - Improved documentation
261]
262[Bump RC #
263chak**20031105082456]
264[* 6.2: CWChar -> CWchar
265chak**20031105082053
266 * 6.3: CWChar -> CWchar
267]
268[* 5.3: Fixed typo
269chak**20031102104034
270 * 5.7: Fixed a mistake in the type of `peekByteOff' and `pokeByteOff' (the
271        type variable constrained by `Storable' must be different from the
272        parameter of the `Ptr')
273 * 6.3: Improved documentation
274]
275[Bumped RC #
276chak**20031031073258]
277[* 5.5  : Added `FinalizerEnvPtr', `newForeignPtrEnv', and
278chak**20031031072645
279          `addForeignPtrFinalizerEnv'
280 * 6.3  : Added John Meacham proposal for `wchar_t' support as well localised
281          string marshalling; in particular, this adds `CWString' and
282          `CWStringLen' as well as the `CWString' and the `CAString' family
283          of marshalling routines.  In addition, `charIsRepresentable' was
284          added.
285]
286[Started restructuring the document to make it another addendum
287wolfgang**20030918220221
288 to the FFI addendum
289]
290[Remove this file, as it has been replaced by threads.tex a long time ago.
291wolfgang**20030918220119]
292[Changes since RC11:
293chak**20030801064356
294 * 5.5: Swapped argument order of `newForeignPtr' and `addForeignPtrFinalizer'
295]
296[Added a section dealing with what primitives have to be modified or added:
297wolfgang**20030613212044
298 forkIO, forkOS, isCurrentThreadBound and forkProcess
299]
300[Zap the old proposals, leave only Proposal 4.
301wolfgang**20030613131032]
302[* 5.5  : added `newForeignPointer_' and renamed `foreignPtrToPtr' to
303chak**20030612051407
304          `unsafeForeignPtrToPtr'
305 * Fixed typos
306]
307[* 3.3  : Clarified use of foreign functions of pure type
308chak**20030609145753
309 * 4.1.1: Clarified the meaning of foreign imports without a & that have a
310          non-functional type in Haskell
311 * 5.1  : Clarified the scope of safe use of unsafePerformIO
312 * 5.5  : "pre-emptive" dropped in footnote regarding finalizers.
313 * Typos throughout
314]
315[The relevant nhc98 version number is 1.04.
316simonmar**20030530161511]
317[Build the PDF version automatically too.
318simonmar**20030530161302]
319[Add the library "policy document" to this page, so it can now be found
320simonmar**20030530161125
321 in a standard place.  We don't claim it's an addendum, however.
322]
323[date Hugs compliance
324ross**20030530160646]
325[Add a simple web page
326simonmar**20030530152623]
327[RC 10:
328chak**20030522093809
329 * 1:     Mentioning interaction with foreign threads as an open problem.
330 * 2 & 3: Removed `threadsafe' again, as the proposal for thread support is
331          still evolving and it is not yet clear whether a new safety level
332          is required.
333 * 5.5:   Added the type synonym `FinalizerPtr' and rewrite the documentation
334          of finalizers.
335 * 5.6:   Clarified the description of `StablePtr'
336 * 5.8:   Added `finalizerFree'
337 * 6.2:   All the types in CTypes must be newtypes that are exported
338          abstractly.
339]
340[RC 9:
341chak**20030521121917
342 * 5.8: `MarshallAlloc.reallocBytes' is no longer permitted on memory
343        allocated with `alloca' or `allocaBytes'.
344 
345 * Added extra COPYING file and a Makefile for a tarball (as requested by Igloo
346   for Debian)
347]
348[Add Kevin and John as some-time editors
349simonpj**20030516152624]
350[Add Proposal 4
351simonpj**20030506112030]
352[Third proposal, from S&S
353simonpj**20030501105432]
354[Corrected a typo in the formal semantics;
355wolfgang**20030430224539
356 Added a paragraph about a possible change to the semantics to the "Issues" section
357]
358[Model forkIO in the semantics
359wolfgang**20030425175748
360 Remove the \ret action, as it is not needed
361 Explicitly state an important invariant
362 Clean up a bit
363]
364[Added a completely new and much better [:-)] proposal, as Part II of the
365wolfgang**20030425150459
366 document.
367]
368[Add ack
369simonpj**20030408081826]
370[Fix <= typo, which is fixed in the printed version
371simonpj**20030408081819]
372[commit bug files
373simonpj**20030407154030]
374[H98 revised bug list
375simonpj**20030407150715]
376[Added a simple proposal for setting and getting widget properties.
377simona**20030404183730]
378[Added Vicenzo's comment.
379simona**20030320104603]
380[A summary of the GUI Task force discussions.
381simona**20030320001237
382 
383 This document contains summaries of the discussions on the mailing lists.
384 It is hopefulle useful in specifying the CGA.
385]
386[reorder sections
387simonpj**20030303111221]
388[Added sections about (my version of) the proposed extensions to the
389wolfgang**20030216224823
390 FFI syntax, about the proposed addition to the libraries, and about
391 unresolved issues.
392]
393[Explained the reason for it all in the introduction. Fix a few typos.
394wolfgang**20030207134530]
395[Corrected a mix up with RC numbers
396chak**20030122090159]
397[* Clarified the lexis of C identifiers and C header file names
398chak**20030122084826]
399[* In `ForeignPtr', added `mallocForeignPtrArray' and `mallocForeignPtrArray0'
400chak**20030122054714
401 * Clarified spec of allocations functions adding constraints taken from the
402   corresponding C routines
403]
404[* `mallocBytes' and `allocaBytes' must align memory sufficiently for any
405chak**20030114122100
406   basic foreign type that fits into the allocated block
407 * Using Ross' wording of the size/alignment constraint on Storable
408]
409[Imported the grammar style used by the FFI Addendum (v0.5a)
410chak**20030114065833]
411[Added a `ffi.ps' target to Makefile
412chak**20030114065553]
413[Well, it's 2003 now.
414chak**20030113141748]
415[% * Removed typos in the description of the module `ForeignPtr'
416chak**20030113141628
417 % * Added Peter Gammie to the list of acknowledged people
418 % * `addForeignPtrFinalizer' guarantees that finalizers for a single foreign
419 %   pointer are executed in the opposite order as they were added.
420 % * Added the constraint "sizeOf x `mod` alignment x = 0" to `Storable'
421 % * Added Ross Paterson to the list of acknowledged people
422]
423[More small changes to
424simonpj**20030113130856
425 
426   a) formatting
427   b) index entries
428 
429 Many due to Ross Paterson, Simon Marlow, Malcolm Wallace.
430 
431 This is pretty much exactly what CUP will publish as the Haskell 98 book.
432 (I say "pretty much" because CUP got a set of sources a month or two ago,
433 and have been modifying them independently, so some formatting changes
434 might differ slightly.)
435]
436[Corrected two typos (one of them in rule FCALL1).
437wolfgang**20030110193146
438 Added a note to the syntax for a native thread in section 3.
439]
440[corrected a minor inconsistency in rule (FCALL2)
441wolfgang**20030110173418]
442[Added TEXINPUTS=../styles: to the front of the LaTeX command so it
443reid**20030110172623
444 doesn't assume people have hacked their paths.
445 
446 A
447]
448[Reqts from Wolfgang
449simonpj**20030110155330]
450[Threads stuff
451simonpj**20030110154508]
452[Add style files
453simonpj**20030110154454]
454[More stuff
455simonpj**20030110151416]
456[Add threads document
457simonpj**20030109172335]
458[Added query about meaning of 'threadsafe' (from ffi mailing list 29 Nov 2002).
459reid**20030105221826
460 
461 It is not clear from the report what 'threadsafe' means but my best
462 guess suggests that the report is wrong to say that implementations
463 which support a single Haskell thread may safely ignore the
464 'threadsafe' keyword.  Indeed, it seems that such implementations
465 should either add extra locking or reject 'threadsafe' ffi
466 declarations.
467]
468[added the second proposal
469wolfgang**20030105174024]
470[Added summary of final outcome of finalizers doc to introduction.
471reid**20030105153611
472 
473 Created a file to hold threads proposal/comments and put my proposal
474 in there and left a place for Wolfgang to put his proposal in next to
475 it.
476]
477[Minor changes to
478simonpj**20021210115111
479 
480   a) formatting
481   b) index entries
482   c) cross references (to 'chapter' not 'section' now the
483      Report is a book)
484 
485 All due to Ross Paterson
486]
487[Add ctSec to the export list for Time
488simonpj**20021210114858]
489[* Changed order of arguments of `mkIOError' and `annotateIOError' to match
490chak**20021209055208
491   with the current implementation in GHC's FFI libraries.
492 * Added change log entry for Sven's changes
493]
494[Tweak title to match formatted version.
495ross**20021203121723
496 Also gave the brief table of contents a more compact layout.
497]
498[Delete extraneous <
499ross**20021203111441]
500[Fix indexing of a few operators, particularly (\\), which was making a
501ross**20021203102722
502 a small mess.
503]
504[HTML formatting fixes.
505ross**20021203011714]
506[wibbles
507simonpj**20021202151600]
508[Add haskell.idx to avoid bootstrap problems
509simonpj**20021202145634]
510[--------------------------------
511simonpj**20021202145333
512        This version should typeset the
513        Haskell 98 language and libraries
514        as a single book rather than as
515        two separate reports.
516        --------------------------------
517]
518[Add subsection sed-ery; minor changes to tex.hs
519simonpj**20021202145306]
520[--------------------------------
521simonpj**20021202112203
522        Just pre-CUP-publication version
523        --------------------------------
524 
525 Includes all the changes that are in the CUP published version,
526 but still as two separate reports.  Next thing to do is to merge them.
527]
528[* Fixed prototypes for hs_init, hs_exit, and hs_set_argv.
529panne**20021117142646
530 * Added hs_free_stable_ptr and hs_free_fun_ptr.
531]
532[Mentioned hs_free_fun_ptr, which is important for the same reasons
533panne**20021117140030
534 hs_free_stable_ptr is.
535]
536[Nit-picking: hs_freeStablePtr => hs_free_stable_ptr. This is more
537panne**20021117134336
538 consistent with hs_perform_gc and hs_set_argv. Furthermore, it's the
539 name Hugs already uses.
540]
541[Added text about problems with shared thunks.
542reid**20021021092435
543 Rambles a bit - feel free to edit.
544]
545[Added dissenting note to the claim that case for Haskell finalizers
546reid**20021016080535
547 was stronger in presence of concurrency.  IMHO, SimonPJ's example
548 didn't demonstrate the claim because it was an argument to be able to
549 finalize _Haskell_ objects which contain C objects using Haskell
550 finalizers and so didn't actually involve ForeignPtrs at all.
551 
552 Minor cleanups - e.g., changing back-references to forward references,
553 clarifying that 'finalizer' meant 'Haskell finalizer', etc.
554]
555[Eliminate some duplication, and fix up the structure a bit.
556simonmar**20021015130700
557 
558 Alastair, I'm afraid I removed one or two of your comments that were
559 simply out of place or duplicated points made elsewhere.  We don't
560 want to make the document any more hard to read than the email thread
561 that it is supposed to be summarising.
562]
563[Added my comments from last night.
564reid**20021015112907
565 
566 The structure of the document isn't quite ideal (too many forward
567 references) but didn't want to mess with it too much.
568 
569 There were conflicts with the previous commit which I did my best to
570 resolve.  I don't think I broke anything but I couldn't always
571 identify what had been changed in the previous commit so I may not
572 have been successful.
573]
574[various additions
575simonmar**20021015094750]
576[attributions wibble
577simonmar**20021014170758]
578[Add finalizer rationale document.
579simonmar**20021014170314]
580[typo
581chak**20020913020928]
582[Add new preface
583simonpj**20020912080711]
584[* Added mallocForeignPtr and mallocForeignPtrBytes.
585chak**20020912061623
586 
587 * Added hs_perform_gc().
588]
589[Clarified that all operations in Bits are member functions of the
590chak**20020911073130
591 type class.  Reverse the meaning of the sign of the second argument
592 for `rotate' and `shift' (this makes it the same as GHC used all
593 the time).  `bitSize' on `Integer' etc is now undefined.
594 
595 Allowing multiple calls to hs_init() and clarified the constraints
596 on the relative timing between hs_set_argv() and
597 getProgName/getArgs.
598]
599[Added some clarifications
600chak**20020910134905]
601[* 1.4:   Clarified the wording
602chak**20020910122304
603 * 4.1.4: clarified that header files
604          do not impact the semantics of foreign calls, but may be required
605          for correct code generation by some systems
606 * 5.5:   Finalisers must be external functions to facilitate the
607          implementation on Haskell systems that do not support pre-emptive
608          concurrency
609]
610[I've applied all the changes discussed over the last 2 moniths that
611reid**20020809113244
612 received some support and no dissent.
613 
614   Changes since RC5:
615   * Author list: changed Alastair Reid's institution
616   * 4.1.1: Removed [lib] from impent syntax and discussion
617   * 4.1.3: Added parentheses round FunPtr ft to make it easier to
618            understand a tolerably complex type.
619   * 4.1.4: Removed all mention of library objects
620   * 6:     Specified that HsBool==int in table2
621            Relabelled column 1 in table 3 (C symbol -> CPP symbol)
622            Replaced 0 and 1 with HS_BOOL_FALSE/TRUE
623 
624 You will need this file:
625 
626   http://www.cse.unsw.edu.au/~chak/haskell/grammar.sty
627 
628 to build it.  (I came close to adding this file to the repo but
629 figured that Manuel must have a reason for not having done so
630 himself.)
631 
632 Changes not applied:
633 
634 - I really, really want to resolve the ForeignPtr issues soon.
635 
636     http://www.mail-archive.com/[email protected]/msg00655.html
637     http://www.mail-archive.com/[email protected]/msg00544.html
638     http://www.mail-archive.com/[email protected]/msg00545.html
639 
640 - I'd like to see a standard way to call the GC from C
641 
642     http://www.mail-archive.com/[email protected]/msg00565.html
643 
644   Note that Hugs and GHC have had this for ages except that we call the
645   function 'performGC' and there's no way to control how many generations
646   are collected.
647 
648 - I see the question of Function prototypes as a portability problem
649   waiting to happen.  Either Hugs and GHC are right (you should use the
650   user-supplied header file or NHC is right (you should ignore the
651   header file).  They can't both be right if we want portable code
652   so the report should be clear about which one is right.
653 
654   (Given my druthers, I'd drop header files from the foreign import syntax
655   and say that you have to specify it on the command line or propose that
656   we standardize some variant of the GHCism {-# -include "foo.h" #-}.  But
657   I'm not excited enough about it to push hard for this.)
658 
659 - Changes to hs_init
660 
661     http://www.mail-archive.com/[email protected]/msg00539.html
662]
663[* 5.6: Clarified documentation of `StablePtr's
664chak**20020614083802]
665[Changes discussed on the FFI list:
666chak**20020426074017
667 
668 * Added threadsafe
669 
670 * Replaced `entity' by `impent' and `expent'
671]
672[* 5.8: Clarified documentation for `MarshalAlloc.free'.
673chak**20020409015241
674 * 5.8: Added `MarshalAlloc.realloc'.
675 * 3.2: Clarified the description of foreign types; so far, `IO ()' was
676   strictly speaking not included as a valid return type.  Currently,
677   functions of type `a -> ()' are included.  Do we want this?  Their use
678   might not be portable if they include side effects.
679 * 4.1.5: New section discussing the traps & pitfalls of type promotion with
680   C bindings.
681]
682[Another erratum from Martin D. Kealey.  Added him to the ack section.
683chak**20020204093712]
684[Correction by Martin D Kealey <[email protected]>.
685chak**20020204085240]
686[Renamed the functions constructing `ErrorType's, as `userError' collided with
687chak**20020204083924
688 a function name in the Prelude.
689]
690[Small matters
691simonpj**20020129094641]
692[index changes
693simonpj**20020128173821]
694[Version 1.0, Release Candidate 1
695chak**20020110101621]
696[Late Dec release
697simonpj**20011221160025]
698[Mainly Enum
699simonpj**20011102162648]
700[Changes in Oct
701simonpj**20011101134343]
702[Typos.
703malcolm**20011030182045]
704[Improved wording
705chak**20011030101920]
706[Inlined the rationale
707chak**20011029080711]
708[Integrated pending changes for 1.0.  This is nearly finished now.
709chak**20011028150121]
710[Contd revision
711chak**20011019015206]
712[More tinies
713simonpj**20011004162852]
714[October release
715simonpj**20011002090927]
716[- revised preface & intro
717chak**20010926140705
718 - corrected special ids
719]
720[Precedence of (:)
721simonpj**20010924162941]
722[Literate layout
723simonpj**20010924150601]
724[End Sept
725simonpj**20010924144048]
726[Export lists cumulative
727simonpj**20010913132908]
728[Simon
729simonpj**20010911161917]
730[Simon
731simonpj**20010911130428]
732[Operators and such
733simonpj**20010910110937]
734[Operators and such
735simonpj**20010910110623]
736[Sept 10
737simonpj**20010910083158]
738[End August
739simonpj**20010831160308]
740[Processed notes
741chak**20010830161317]
742[Edited to reflect pre-ICFP discussion on version 1.11.
743chak**20010830160350]
744[August release
745simonpj**20010823164141]
746[Modules
747simonpj**20010823161927]
748[Lexical mainly
749simonpj**20010823161657]
750[Fix typos only.
751malcolm**20010823154804]
752[Done while away at c-- workshop
753simonpj**20010820075753]
754[* Revised the spec of which types can be marshalled as arguments
755chak**20010819101012
756 * Checked all FIXMEs
757]
758[Covering all current marshalling libraries.
759chak**20010818150804]
760[Covering all language-independent marshalling modules now.
761chak**20010818031102]
762[Added most of the language independent marshalling functionality.
763chak**20010817021249]
764[Add Makefile
765simonpj**20010814154343]
766[Small stuff
767simonpj**20010814153833]
768[Extended the description of the FFI libraries.
769chak**20010814085540]
770[Many small changes
771simonpj**20010814074825]
772[* Started on the section about Marshalling libraries
773chak**20010809073419
774 * Covered the intro and the modules Int, Word, and Ptr
775]
776[Add README
777simonpj**20010710123527]
778[Simon
779simonpj**20010618095243]
780[More towards the revised report
781simonpj**20010611131005]
782[Adjusting revision number to be consistent with previous releases.
783chak**20010609125505]
784[Initial revision
785chak**20010609125214]
786[Small revision to May release (deriving, tuples)
787simonpj**20010530134712]
788[May 2001 release
789simonpj**20010530105906]
790[Towards the revised Reports
791simonpj**20010529154000]
792[Ix and a few typos
793simonpj**20010528143947]
794[Empty log message
795simonpj**20010405162240]
796[Empty log message
797simonpj**20010328150423]
798Patch bundle hash:
799b403c25c80f43ed03e790ffd64c468c20f6cd5df