[bitc-dev] Progress report

Tom Bachmann e_mc_h2 at web.de
Mon Jun 19 11:50:53 EDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Just a few bugs/observations (I know it is not officially released, yet):

- - in the relnotes (yes, I know they're not yet current) you state:
  "This [new default program entry point is bitc.main.main] has the
  additional advantage that argument types for main need not be
  explicitly specified in the source"

  Either this statement or bitcc is wrong:
  source:
  ;copied from the unit tests (original file compiled cleanly)
  (bitc-version "0.10")
  (provide main bitc.main)
  (import stdio bitc.stdio)

  ;(define (main.main argVec:(vector string))
  (define (main.main argVec)
    (stdio.write-char stdio.stdout (stdio.read-char stdio.stdin))
    (stdio.write-char stdio.stdout #\{linefeed})
    (the int32 0))

  compiler output (gcc):
  bitc.out: In function `main':
  bitc.out:339: error: `K_6string' undeclared (first use in this
   function)
  bitc.out:339: error: (Each undeclared identifier is reported only once
  bitc.out:339: error: for each function it appears in.)
  bitc.out:339: error: `argVec' undeclared (first use in this function)
  bitc.out:340: error: syntax error before ')' token

- - bitc_string_lenght seems to be declared extern, but no implementation
  is provided - should I link one more library? (this is at least my
  speculation, substitute with a better description)

  source:
  (bitc-version "0.10")
  (provide main bitc.main)

  (import stdio bitc.stdio)

  (define (main.main argv:(vector string))
    (do ((i:(mutable word) 0 (set! i (+ i 1))))
       ((>= i (vector-length argv)) #t)
      (stdio.write-string stdio.stdout (vector-nth argv i))
      (stdio.write-char stdio.stdout #\linefeed))
    (the int32 0))

  compiler output (gcc):
  /tmp/ccc0LZjn.o: In function `_24bitc_DTstring_DTstring_HY_GTlist':
  bitc.out:(.text+0x287): undefined reference to `bitc_string_length'
  bitc.out:(.text+0x2d4): undefined reference to `bitc_string_nth'
  collect2: ld returned 1 exit status

- - is closure conversion implemented or not? I still have the example
  here where you said it needs closure conversion, and it still does not
  compile.

- - also, you state in the release notes that you are looking for a bsd
  licensed arbitrary precision integer math library. I'm not aware of
  any, but gmp is lgpl'd, if that helps.
- --
- -ness-
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFElsfdvD/ijq9JWhsRAm47AJ9rQr7q/72XeTluHVZR4IaogZTY8ACfRSob
+PfGEl1cOU8A3Sjnd/LQEmE=
=EhIU
-----END PGP SIGNATURE-----


More information about the bitc-dev mailing list