On Jan 6, 2008 1:20 AM, Dimi Paun <dimi@xxxxxxxxxxx> wrote: > Oh please, I hope you're not being serious! I mean Haskell is cool > and all, but it is rather obscure for the vast majority of people, > and the last thing we need is yet another strange language mixed in > such a critical part of the system. > > The entire point of having a scripting language in the init scripts > is for the admins to have a chance of making small adjustments easily. > If we use Haskell, we lose 99.99% of the population right there. > We might as well just code them in C: that would provide for faster > start-up AND it will be accessible to most people. It is obscure, and I agree it's very hard to justify putting more languages in the mix. Haskell has a few advantages over C. It's very easy to write a wrapper in Haskell that checks if file 'foo' is newer than the binary that it's trying to execute, and if so, to compile the new file, load up the new binary and keep running. You can also have it redirect any error output anywhere you like. The difference between Haskell and Python is that instead of calling an interpreter that byte-compiles a script and runs the byte-compiled code in a VM, it calls a compiler to convert the Haskell into C-- code, and then calls gcc to compile that into native code. (At least that's what GHC does.) This 'just in time' compiling is slow the first time, but cached conveniently by the file system for each subsequent run. XMonad takes full advantage of this architecture so that you can literally edit your configuration, press a key command and see your new config loaded in real time. There are other aspects to the VM vs native machine code arguement that are still important. For example, getting to a 'prompt' in the vm on top of a running process is much harder and requires more boiler plate in Haskell, whereas Python has it embedded in its standard libs. -Yaakov -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list