Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

There actually was a syntax error, but one that Guile and my syntax highlighter failed to report: I was missing a double quote. (A variety of other errors, the result of Hoot not having full list and string support just yet, could not have helped.)

Glad you found the error! What list/string support have you found missing?

I had to define filter, count, and delete. A variety of other issues I've since found: 

  • There is no inexact->exact, which means it has to be approximated with FFI when an exact integer is needed (i.e. in list-ref).
  • Division of a float by an integer inexplicably winds up as positive infinity?
  • I'm not sure that this is Hoot-specific, but having type predicates in define-typed-record would be nice, especially given that interactive debugging doesn't yet work.

Ah, SRFI-1 stuff. Yeah we don't ship any SRFIs currently. Could borrow it from Guile or any portable implementation, though. We'll be filling in more of this as we go on now that we more-or-less have R7RS-small covered.

Regarding inexact->exact, the equivalent R7RS-small procedure is simply 'exact', available in (scheme base). Likewise, 'inexact' is also available from that module. Hoot 0.5.0 will have inexact->exact, though, as part of the (guile) module. Either way, there's no need to use the FFI for this as R7RS-small has you covered.

For float/integer division, do you happen to have an example of two numbers that produce positive infinity? I can't reproduce on my end with the numbers I've tried.

The define-record-type syntax includes definition of a predicate.  For example: (define-record-type <foo> (make-foo bar) foo? (bar foo-bar)) ...or did I misunderstand?

Thanks for the feedback!

Syntax errors are really hard to catch right now. I've had an issue where I used a-very-long-identifier and a-very-long-identifiers (plural form) and couldn't figure out what the error was. If I could've been alerted to the fact I had not defined that, it'd be easy to figure out; or at least if I was given line/column numbers for the error.