[Haskell-cafe] ANN: Mueval 0.5.1, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4

Gwern Branwen gwern0 at gmail.com
Thu Aug 21 17:00:16 EDT 2008

Evening folks. So it's that time again, to do a Mueval announcement! This time I'd like to announce version 0.6.4, & 0.6.3. And 0.6.2. And 0.6.1. And 0.6. And 0.5.1.

These releases have some nice stuff to them; perhaps the most interesting aspect is that I've carried through on my threats^Wpromises, and Lambdabot in #haskell now uses Mueval.

All the stuff from the previous ANNs still apply here: you can get it at <http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mueval>, do a 'darcs get --lazy http://code.haskell.org/mubot/', cabal-install mueval, and so on.

0.6.4 does add an additional dependency, on haskell-src-exts, for use in some experimental parsing code, so you'll now need that in addition to Hint, utf8-string, and show. (Upgrading Hint is mandatory, utf8-string unnecessary, and show nice but certainly not necessary.)

Same as usual.

* SmallCheck support

* A new option, --loadfile, which loads a given *.{l}hs file with a module and makes its function available for evaluation. This is a complex option; see the README.
* Cleaner output, thanks to a needless show call sjanssen identified.

* Speed improvements (shorter timeouts, optimizations)
* Mueval imports many more modules by default, so one can freely use standard functions from Control.Monad, for example; this also brings with it many test examples from #haskell.
* experimental --noimports flag, to disable default imports (such as the above, and also of the Prelude). This was motivated by Lambdabot's Caleskell, but I'm not sure why it doesn't interact well with --loadfile (and so doesn't work with Lambdabot).

* Saizan contributed some significant improvements to error reporting and thread handling, so the infamous time-out errors are replaced by normal errors more reminiscent of GHCi.

* Fixed an issue with lazy printing of results
* Exceptions are now caught and printed more prettily; again, thanks to Saizan
* Forced a dependency on the latest Hint; this fixes an error where one could successfully evaluate:
 bash-3.2$ mueval -e '1 + 1 {- addition example -}'
but not:
 bash-3.2$ mueval -e '1 + 1 -- addition example'

* Added a --rlimits option. I decided that the POSIX resource limits were causing too many people problems. So now non-time resource limits are disabled unless specifically requested with --rlimits.
* mmorrow contributed some experimental parsing patches intended to catch subtle invocations of dangerous functions. If haskell-src-exts is too burdensome a dependency, Mueval/Context.hs and mueval.cabal can be easily edited to remove the dependency.

* Qualified imports do not work. That is, one cannot do $ mueval -e 'M.map (+1) $ M.fromList [(1,2)]' or whatever and expect the proper Data.Map functions to be substituted in. This is a weakness in the GHC API, AFAIK. It is possible that this will be fixed in future versions of Hint or GHC, but I do not expect that to happen for months.
* Many limits in System.Posix.Resource are simply completely broken for many users; that is, *no* value can be set using them. I have been unable to figure out the heck why this is the case (I can't reproduce it), and AFAIK no one has filed a bug with the GHC developers, so this probably won't be fixed anytime soon.

Secure wwics P415 SASP Comirex mailbomb ISADC Sayeret SBI Jatti
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20080821/1c6a0097/attachment.bin

More information about the Haskell-Cafe mailing list