Re: [Haskell-cafe] Does GHC 7.8 make targeting bare metal ARM any easier?
Hello Jeremy, I'd also like to see GHC compiling for ARM bare metal. Honestly speaking I've avoided Raspberry Pi, but rather settled on ARMv7. Side note: BeagleBone is excellent for this as you get all the TI supported tools together with JTAG debugging just for free from TI (including ARM compilers if you care about this) and also you get full documentation for its Sitara 335x SoC. Anyway, back to the GHC topic. I find it too invasive to go straight from POSIX/libc dependency to nothing on bare-metal. Instead of this while analyzing the situation for myself I've rather settled on POSIX RTOS which is much less weight that general purpose Linux distro and yet it provides a lot of API which makes GHC RTS porting work much easier. So as my hobby time permits I'm working on GHC port to RTEMS[1] which is a single-process, multi-threaded RTOS with POSIX API supported. On its devel mailing list you may find that Raspberry Pi BSP was already submitted for inclusion. Generally speaking, I also hope that since this work is much less invasive on GHC, it has higher chance of a merge into GHC HEAD once ready... Cheers, Karel [1]: http://www.rtems.org/ On 03/20/13 02:07 AM, Jeremy Shaw wrote: There have been at least a couple projects, such as hOp and HaLVM which attempt to run GHC on the bare metal or something similar. Both these projects required a substantial set of patches against GHC to remove dependencies things like POSIX/libc. Due to the highly invasive nature, they are also highly prone to bitrot. With GHC 7.8, I believe we will be able to cross-compile to the Raspberry Pi platform. But, what really appeals to me is going that extra step and avoiding the OS entirely and running on the bare metal. Obviously, you give up a lot -- such as drivers, network stacks, etc. But, there is also a lot of potential to do neat things, and not have to worry about properly shutting down an embedded linux box. Also, since the raspberry pi is a very limited, uniform platform, (compared to general purpose PCs) it is feasible to create network drivers, etc, because only one chipset needs to be supported. (Ignoring issues regarding binary blobs, undocumented chipsets, usb WIFI, etc). I'm wondering if things are any easier with cross-compilation support improving. My thought is that less of GHC needs to be tweaked? - jeremy ___ Glasgow-haskell-users mailing list glasgow-haskell-us...@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] [Haskell-beginners] ghc and android
Hello, rather than native GHC run on top of Android, I would recommend to have a look at GHC HEAD and attempt to cross-compile to Android. On ghc-cvs@ mailing list I've seen some work done for cross-compiling to QNX/BlackBerry OS 10 so I think Androind should be also doable with some work... Cheers, Karel On 01/ 2/13 05:29 PM, Bernhard Urban wrote: On Tue, Jan 1, 2013 at 3:41 PM, Brandon Allbery wrote: On Tue, Jan 1, 2013 at 9:13 AM, Bernhard Urban wrote: The main issue: The GHC runtime relies on glibc I have to assume this is not meant literally, because ghc works on OS X and *BSD. Right. I was talking about the situation on Linux, hopefully I'm totally wrong with that statement :) How can I build GHC without glibc on Linux? What should I use instead? That would certainly help. Thanks, Bernhard ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell (GHC 7) on ARM
On 06/10/12 03:06 PM, Ben Gamari wrote: Let the list know if you encounter any issues. I'll try to dust off my own development environment once I get back to the states next week to ensure that everything still works. I've been meaning to setup the PandaBoard as a build slave as Karel's has been failing for some time now (perhaps you could look into this, Karel?). Hi Ben, my builder machine is i.MX53 Quick Start Board and it's not failing due to software or hardware issue, but simply GHC HEAD is broken on ARM since February this year. Over the weekend I've tried to git bisect to get the culprit patch, but so far no results. I'll continue or better both ARM machines I do have available here will continue working on this. Cheers, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] building ghc on arch linux ARM?
On 04/10/12 07:03 PM, Joey Hess wrote: BTW, the other problem with Haskell on arm is that AFAIK there is no ghci, and so also no Template Haskell, and so if you're writing Real World utilities that you want to be maximally portable, this means you have to avoid using an increasing number of libraries. This rules Yesod right out; I've avoided using lenses as I'd have to write much manual boilerplate, etc. Ben Gamari already submitted his ARM/Linker support so GHCi is already kind of working, i.e. is built but at least on my setup still fails on majority of tests so there are still some outstanding issues probably. Anyway, things are moving forward... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] building ghc on arch linux ARM?
On 04/ 9/12 10:35 AM, Graham Klyne wrote: It ships with Debian, along with the full Haskell Platform built for ARM and lots of other libraries. Other than speed, it's fine. Hmmm... I wonder if it will squeeze onto a Raspberry Pi :) It should, if not report a bug since I regularly test on ARMv7 (even GHC buildbot is using ARMv7) (side note: GHC HEAD currently broken), but Raspberry Pi provides just Broadcom BCM2835 which should be ARM1176JZFS, i.e. ARMv5. But rest assured, ARMv5 should be supported by GHC... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] building ghc on arch linux ARM?
On 04/ 9/12 01:03 AM, Francesco Mazzoli wrote: No, it is not possible to build GHC without GHC. Building GHC on ARM is going to be extremely tricky (I'm not sure anyone has ever done it). It's not that tricky at the end. Just install LLVM 3.0 and some OS supplied unregisterised GHC. Grab 7.4.1. sources and attempt to compile. This should produce even registerised build for you as a result of project initiated last summer by Stephen Blackheath. If you are curious about its history read some posts on http://ghcarm.wordpress.com/ Cheers, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] The best way to call Java from Haskell?
On 10/11/11 08:23 AM, Michael Snoyman wrote: So for my use case, I don't care at all about interacting with Java code, I simply want to be able to turn my existing Haskell code into a JAR file. This seems like a much simpler undertaking, but I'm still not aware of any way to get this to happen right now either. LambdaVM do exactly what you like, but is experimental and unfortunately out-dated. It's based on pre ghc 6.8: $ ./compiler/stage1/ghc-inplace --version The Glorious Glasgow Haskell Compilation System, version 6.7.20081028 anyway, for hello world like examples it's working well, although benchmarking shows that it's slower on the same code then frege for example (testing just naive fib to compare recursion speed) I've contacted author several times and asked for updating or help with updating it to latest GHC HEAD but received no reply so far and unfortunately my Haskell knowledge is kind of enough to write just this hello world... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] DSL for data definition (e.g. compiling Haskell type defs into Google's protocol buffers type defs)
Forgotten note: GHC's Generics as described here: http://haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/GHC-Generics.html#t:Datatype -- is not yet clear to me, I'm searching for more information about this in the meantime... Karel On 10/ 4/11 08:33 PM, Karel Gardas wrote: Hello, thanks a lot to Edward, Jose, Ryan and Stephen for fast reply in this thread. I see I've not been that precise in specification of what I need exactly so I need to add this: I've changed a little bit definition of person to: data PersonType = Person { id :: Int , name :: String , email :: Maybe String } deriving (Show, Data, Typeable) so I have `PersonType' as type constructor and Person as value constructor (or data constructor) -- speaking using terms from Real World Haskell, Chapter 3[1]. And now I see that none of typeOf/dataTypeOf/toContr is applicable to *type constructor* but all are applicable to *value/data constructor*. Ditto happen when testing Color versus RED, GREEN, BLUE. At least GHCi complains this way: *Main> typeOf Color :0:8: Not in scope: data constructor `Color' *Main> typeOf PersonType :0:8: Not in scope: data constructor `PersonType' But, I'd like to start processing of data definition from the *type constructor*. So: emit_proto PersonType 1 emit_proto Color 1 Is that possible at all? I mean in the scope/context of GHC's Data/Data.Data/Data.Typeable etc. modules. (w/o considering TH now). Thanks! Karel [1]: http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html On 10/ 4/11 06:02 PM, Karel Gardas wrote: Hello, I'm trying to find out if it's possible to use Haskell data type definition capability to define types and compile defined types into other languages, for example into Google's protocol buffers data definition language. So basically speaking I'm thinking about using Haskell sub-set as a data-definition DSL together with some functions which will generate some code based on supplied defined data types. My idea is: data Person = Person { id :: Int , name :: String , email :: Maybe String } deriving (Show, Data, Typeable) emit_proto Person 1 where emit_proto is function which will translate Person data type definition into Google's proto language (the 1 is index from which start to index type's fields) by traversing data type definition and translating all its children plus do some header/footer generation etc: message Person { required int32 id = 1; required string name = 2; optional string email = 3; } I've looked for something like that and found SYB papers which works on top of data instance (i.e. actual data, not data type). I also found JSON lib which again works on top of data and not data type. I've tried to look into Data.Typetable etc, but have not found function which will print data type's field name and field type name (although JSON lib seems to use field name for JSON generation so I'll need to investigate this more). I've tested `typeOf' function and it's quite useful, but its limitation is that it's not working on ADT name: data Color = RED|GREEN|BLUE *Main> typeOf Color :1:8: Not in scope: data constructor `Color' *Main> typeOf RED Main.Color and I would need that in order to translate Color defined above into enum like: enum Color { RED = 0; GREEN = 1; BLUE = 2; } My question is: do you think I'm looking into good direction (i.e. Data/Typeable) or do you think I'll need to use something different for data definition DSL (Template Haskell?, or impossible in Haskell so write my own language with full parser? etc?) Thanks for any idea or opinion on this! Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] DSL for data definition (e.g. compiling Haskell type defs into Google's protocol buffers type defs)
Hello, thanks a lot to Edward, Jose, Ryan and Stephen for fast reply in this thread. I see I've not been that precise in specification of what I need exactly so I need to add this: I've changed a little bit definition of person to: data PersonType = Person { id :: Int , name :: String , email :: Maybe String } deriving (Show, Data, Typeable) so I have `PersonType' as type constructor and Person as value constructor (or data constructor) -- speaking using terms from Real World Haskell, Chapter 3[1]. And now I see that none of typeOf/dataTypeOf/toContr is applicable to *type constructor* but all are applicable to *value/data constructor*. Ditto happen when testing Color versus RED, GREEN, BLUE. At least GHCi complains this way: *Main> typeOf Color :0:8: Not in scope: data constructor `Color' *Main> typeOf PersonType :0:8: Not in scope: data constructor `PersonType' But, I'd like to start processing of data definition from the *type constructor*. So: emit_proto PersonType 1 emit_proto Color 1 Is that possible at all? I mean in the scope/context of GHC's Data/Data.Data/Data.Typeable etc. modules. (w/o considering TH now). Thanks! Karel [1]: http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html On 10/ 4/11 06:02 PM, Karel Gardas wrote: Hello, I'm trying to find out if it's possible to use Haskell data type definition capability to define types and compile defined types into other languages, for example into Google's protocol buffers data definition language. So basically speaking I'm thinking about using Haskell sub-set as a data-definition DSL together with some functions which will generate some code based on supplied defined data types. My idea is: data Person = Person { id :: Int , name :: String , email :: Maybe String } deriving (Show, Data, Typeable) emit_proto Person 1 where emit_proto is function which will translate Person data type definition into Google's proto language (the 1 is index from which start to index type's fields) by traversing data type definition and translating all its children plus do some header/footer generation etc: message Person { required int32 id = 1; required string name = 2; optional string email = 3; } I've looked for something like that and found SYB papers which works on top of data instance (i.e. actual data, not data type). I also found JSON lib which again works on top of data and not data type. I've tried to look into Data.Typetable etc, but have not found function which will print data type's field name and field type name (although JSON lib seems to use field name for JSON generation so I'll need to investigate this more). I've tested `typeOf' function and it's quite useful, but its limitation is that it's not working on ADT name: data Color = RED|GREEN|BLUE *Main> typeOf Color :1:8: Not in scope: data constructor `Color' *Main> typeOf RED Main.Color and I would need that in order to translate Color defined above into enum like: enum Color { RED = 0; GREEN = 1; BLUE = 2; } My question is: do you think I'm looking into good direction (i.e. Data/Typeable) or do you think I'll need to use something different for data definition DSL (Template Haskell?, or impossible in Haskell so write my own language with full parser? etc?) Thanks for any idea or opinion on this! Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] DSL for data definition (e.g. compiling Haskell type defs into Google's protocol buffers type defs)
Hello, I'm trying to find out if it's possible to use Haskell data type definition capability to define types and compile defined types into other languages, for example into Google's protocol buffers data definition language. So basically speaking I'm thinking about using Haskell sub-set as a data-definition DSL together with some functions which will generate some code based on supplied defined data types. My idea is: data Person = Person { id :: Int , name :: String , email :: Maybe String } deriving (Show, Data, Typeable) emit_proto Person 1 where emit_proto is function which will translate Person data type definition into Google's proto language (the 1 is index from which start to index type's fields) by traversing data type definition and translating all its children plus do some header/footer generation etc: message Person { required int32 id = 1; required string name = 2; optional string email = 3; } I've looked for something like that and found SYB papers which works on top of data instance (i.e. actual data, not data type). I also found JSON lib which again works on top of data and not data type. I've tried to look into Data.Typetable etc, but have not found function which will print data type's field name and field type name (although JSON lib seems to use field name for JSON generation so I'll need to investigate this more). I've tested `typeOf' function and it's quite useful, but its limitation is that it's not working on ADT name: data Color = RED|GREEN|BLUE *Main> typeOf Color :1:8: Not in scope: data constructor `Color' *Main> typeOf RED Main.Color and I would need that in order to translate Color defined above into enum like: enum Color { RED = 0; GREEN = 1; BLUE = 2; } My question is: do you think I'm looking into good direction (i.e. Data/Typeable) or do you think I'll need to use something different for data definition DSL (Template Haskell?, or impossible in Haskell so write my own language with full parser? etc?) Thanks for any idea or opinion on this! Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] CAL or Frege as a Haskell replacement on JVM?
Hello, since there is no Haskell compiler/interpreter for JVM yet (considering LambdaVM outdated), then the question for kind of Haskell replacement on this platform is either CAL[1] or Frege[2]. I'd like to ask here those who have used either of those languages for your experience with it/them, what's more similar to Haskell (at least from your point of view) and what you like more as a Haskell replacement on JVM. Thanks! Karel [1]: http://openquark.org/Welcome.html [2]: http://code.google.com/p/frege/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] I for one welcome our new Robotic Overlords
On 09/28/11 12:41 PM, Yves Parès wrote: Yes, but compilation might be damn slow. I forget about the SheevaPlugs (ARMv5 Kirkwood 1,2 GHz)! They are kind of cheap for what they offer, it's a very nice embedded platform. Yes, or you can even attempt to install some ARMv5 linux on ARMv7 platform. They usually provide 1GB RAM and even dual-cores these days... and yet you will be able to run your code on low-power ARMv5 in your robot... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] I for one welcome our new Robotic Overlords
On 09/28/11 11:06 AM, Yves Parès wrote: This means not only kernel should be the same (w.r.t. its API/functionality) but also standard libc and other runtime libraries. Yes, this is what I understood. I wasn't talking about portable *binaries*, just about the ARM platforms which were efficient enough to run GHC. Ah, then ARMv5 with 128MB RAM might be sufficient enough for simple Haskell app compiled by GHC. I do have ARMv5 with 32MB RAM (good'n'old NSLU2) but have not tested anything on it yet... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] I for one welcome our new Robotic Overlords
Hi, On 09/28/11 10:35 AM, Joachim Breitner wrote: Am Mittwoch, den 28.09.2011, 09:30 +0200 schrieb Karel Gardas: Please note GHCi support is still missing... which implies that Template Haskell does not work. So if you are considering using TH in your library when it is avoidable, remember that you are making your code unusable on most non-x86-architectures. Following http://hackage.haskell.org/trac/ghc/wiki/Platforms -- it seems GHCi should be working on x86, x86_64, PowerPC and SPARC. There is ongoing work to make it working on ARM. Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] I for one welcome our new Robotic Overlords
On 09/28/11 10:42 AM, Yves Parès wrote: So currently, it's okay to make Haskell code that targets Android smartphones, the Beagleboard, the Raspberry Pi or the OpenPandora as long as you use the development version of GHC? No, it's not that easy. As cross-compiling is not working (yet!) then your development and runtime platform needs to be the same. This means not only kernel should be the same (w.r.t. its API/functionality) but also standard libc and other runtime libraries. This means that since Android is using different libc than let say your ARM development board with Ubuntu installed, then you are not able to develop Android binary on Ubuntu/ARM development system. So what you can do now is really just develop (or build) on ARM/Linux and deploy/run on the same ARM/Linux. Anyway, this is current stage, but IIRC people are working on making real cross-compilation working so this may change in the near future... Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] I for one welcome our new Robotic Overlords
On 09/28/11 12:47 AM, Anthony Cowley wrote: I am not aware of as good a story for Arduino-level development. Atom may be an appropriate foundation for such an effort, but I also hope that we can get GHC ARM support sorted out, and then use platforms like the forthcoming Raspberry Pi as the computational core of an inexpensive robotics platform. W.r.t. GHC ARM I would like to note that basic support is already merged into GHC HEAD. Cross-compiling is still missing, but if you can live with for example OMAP4/OMAP3/i.MX53 based board for development on native ARM/Linux and use ARM/Linux as your robotics platform then it should be usable for you already. Please note GHCi support is still missing... Thanks, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GHC/ARM registerised port
Hello, Stephen Blackheath, David Terei and me are working together on ARM registerised port of GHC. The port is using LLVM as a code generator and is kind of working already. (GHCi support still missing) If you are curious and would like to try the code, please read last two paragraphs containing instructions what to do here[1]. This blog[2] is my personal attempt to document the project at least from my point of view. If you would just like to go straight to the code for code review or to follow progress directly, then github.com repo[3] is the right link for you. Thanks for testing, bug reporting and/or patches! Karel [1]: http://ghcarm.wordpress.com/2011/07/06/armv7-thumb-vfpv3-support-and-github-com/ [2]: http://ghcarm.wordpress.com/ [3]: https://github.com/kgardas/ghc ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHC7 build problem
On 06/11/11 09:37 PM, Edward Z. Yang wrote: Yes, the tree was broken for some time between yesterday and today, and you appear to have gotten unlikely. It should have been fixed now, so you should try again. It's probably not fixed yet, since even last night build fails on opensolaris builder: http://darcs.haskell.org/ghcBuilder/builders/kgardas-opensolaris-x86-head/256/7.html Thanks, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Why not Darcs?
On 04/22/11 01:34 AM, Maciej Marcin Piechotka wrote: On Thu, 2011-04-21 at 21:29 +0100, Andrew Coppin wrote: I'm sure this must be a VFAQ, but... There seems to be universal agreement that Darcs is a nice idea, but is unsuitable for "real" projects. Even GHC keeps talking about getting rid of Darcs. Can anybody tell me what the "problems" with Darcs actually are? I believe the biggest problem was (i.e. when migration started) that there is no big-name-hosting supporting darcs. When code.haskell.org went down people were cut off from code. http://www.patch-tag.com/ is not enough for you? Cheers, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHC > 6.8.2 on IA64-Linux platform (Itanium)
Hello Sergei! nice to hear from you! In fact I've been dealing with this issue a little bit and just "fixed" Adjustor issue myself and then just hour before your email came I discovered your excellent gentoo patches! Kudos to zygoloid for his excellent MBlock.h patch! Also you have saved my own time by noting that your patches are already upstream. I've been already thinking about submitting new issue and attaching them there. So I'll just modify platforms wiki and add some notes how to go over IA/Linux ghc 6.8.2 <-> 7.0.1 gab by using gentoo's patches. Thanks! Karel On 01/ 3/11 09:20 PM, Sergei Trofimovich wrote: On Sun, 02 Jan 2011 18:09:05 +0100 Karel Gardas wrote: I'd like to compile more recent than 6.8.2 GHC on itanium-linux system I do have access to, but I'm kind of unlucky with this. I'm trying unregisterised build (of 6.12.3 and 6.10.4) and it always fails with: "inplace/bin/ghc-stage2" -H32m -O-package-name dph-base-0.4.0 -hide-all-packages -i -ilibraries/dph/dph-base/. -ilibraries/dph/dph-base/dist-install/build -ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/dist-install/build -Ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/include-optP-include -optPlibraries/dph/dph-base/dist-install/build/autogen/cabal_macros.h -package array-0.3.0.1 -package base-4.2.0.2 -package ghc-prim-0.2.0.0 -package random-1.0.0.2 -Odph -funbox-strict-fields -haddock -fcpr-off -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -O2 -XGenerics -fno-warn-deprecated-flags -Wwarn -odir libraries/dph/dph-base/dist-install/build -hidir libraries/dph/dph-base/dist-install/build -stubdir libraries/dph/dph-base/dist-install/build -hisuf hi -osuf o -hcsuf hc -c libraries/dph/dph-base/./Data/Array/Parallel/Base/Hyperstrict.hs -o libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o ghc-stage2: internal error: evacuate: strange closure type 15 (GHC version 6.12.3 for ia64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted make: *** [all] Error 2 [snip] I've also seen, the last available GHC in Debian for IA64 platform is 6.8.2 -- which I'm using for bootstrap btw so debian will not help me here with some clever patch which would change recent ghc to be buildable... So, I'd like to ask here: is there anybody who was lucky enough to find appropriate set of options or any other magic way how to compile more recent GHC sources to the _stable_ compiler binary on IA64/Linux? If so, please let me know. Hello Karel! You have hit a nasty Garbage Collector bug in ghc. I (re)discovered it some months ago too. There is yet some patches to make stuff work on ia64. I think it will be simpler for you to get gentoo's ia64 binaries (unregisterised) and bootstrap ghc-HEAD yourself. http://code.haskell.org/~slyfox/ghc-ia64/ghc-bin-6.12.3-ia64-haddock.tbz2 http://mirrors.kernel.org/gentoo/distfiles/ghc-bin-6.12.3-ia64-haddock.tbz2 We, gentoo, apply patches for ghc-6.12.3 to make magic happen (all gone upstream and ghc-7.0/ghc-7.0.1) http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ In case you will decide to bootstrap stable ghc-6.12.3 the following patches should suffice. == required patches == * GC patch (the critical one, fixes bug you have posted) http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-6.12.3-ia64-storage-manager-fix.patch?revision=1.1&view=markup * you need to pass -G0 to gcc when you build ghc. Gentoo does it in a special manner: we add the following to mk/build.mk: SRC_HC_OPTS += -optc-G0 Your approach might be different. It solves known(?) limitation of small object's section size. == nice to have patches == * remove crufty linker flags in order to able to link ghc on recent binutils http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-6.12.3-ia64-fixed-relax.patch?revision=1.1&view=markup * f.i.w calls on ia64 (fixes terminfo and thus interactive darcs, otherwise it will SIGSEGV) http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-6.12.3-ia64-use-libffi-for-foreign-import-wrapper.patch?view=markup * If you plan to build haddock using unregistered ghc you'll need one more patch to export needed API (backported from -HEAD). http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/ghc/files/ghc-6.12.3-ghciless-haddock-3558.patch?revision=1.1&view=markup Good luck! ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GHC > 6.8.2 on IA64-Linux platform (Itanium)
Hello, [sorry for cross-post, I assume Itanium interest is quite rare these days so to grab attention of Itanium/Haskell people I send to both haskell-cafe and ghc list] I'd like to compile more recent than 6.8.2 GHC on itanium-linux system I do have access to, but I'm kind of unlucky with this. I'm trying unregisterised build (of 6.12.3 and 6.10.4) and it always fails with: "inplace/bin/ghc-stage2" -H32m -O-package-name dph-base-0.4.0 -hide-all-packages -i -ilibraries/dph/dph-base/. -ilibraries/dph/dph-base/dist-install/build -ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/dist-install/build -Ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/include-optP-include -optPlibraries/dph/dph-base/dist-install/build/autogen/cabal_macros.h -package array-0.3.0.1 -package base-4.2.0.2 -package ghc-prim-0.2.0.0 -package random-1.0.0.2 -Odph -funbox-strict-fields -haddock -fcpr-off -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -O2 -XGenerics -fno-warn-deprecated-flags -Wwarn -odir libraries/dph/dph-base/dist-install/build -hidir libraries/dph/dph-base/dist-install/build -stubdir libraries/dph/dph-base/dist-install/build -hisuf hi -osuf o -hcsuf hc -c libraries/dph/dph-base/./Data/Array/Parallel/Base/Hyperstrict.hs -o libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o ghc-stage2: internal error: evacuate: strange closure type 15 (GHC version 6.12.3 for ia64_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Aborted make: *** [all] Error 2 I even attempted unoptimized build with mk/build.mk containing this: GhcUnregisterised=YES GhcWithNativeCodeGen=NO SplitObjs=NO SRC_HC_OPTS= -H64m -O0 GhcStage1HcOpts= -O0 GhcStage2HcOpts= -O0 GhcLibHcOpts = -O0 but this time ghc segfaults while compiling: "inplace/bin/ghc-stage2" -H64m -O0-package-name dph-base-0.4.0 -hide-all-packages -i -ilibraries/dph/dph-base/. -ilibraries/dph/dph-base/dist-install/build -ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/dist-install/build -Ilibraries/dph/dph-base/dist-install/build/autogen -Ilibraries/dph/dph-base/include-optP-include -optPlibraries/dph/dph-base/dist-install/build/autogen/cabal_macros.h -package array-0.3.0.1 -package base-4.2.0.2 -package ghc-prim-0.2.0.0 -package random-1.0.0.2 -Odph -funbox-strict-fields -haddock -fcpr-off -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -O0 -fno-warn-deprecated-flags -Wwarn -odir libraries/dph/dph-base/dist-install/build -hidir libraries/dph/dph-base/dist-install/build -stubdir libraries/dph/dph-base/dist-install/build -hisuf hi -osuf o -hcsuf hc -c libraries/dph/dph-base/./Data/Array/Parallel/Base/Hyperstrict.hs -o libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o make[1]: *** [libraries/dph/dph-base/dist-install/build/Data/Array/Parallel/Base/Hyperstrict.o] Segmentation fault I've also seen, the last available GHC in Debian for IA64 platform is 6.8.2 -- which I'm using for bootstrap btw so debian will not help me here with some clever patch which would change recent ghc to be buildable... So, I'd like to ask here: is there anybody who was lucky enough to find appropriate set of options or any other magic way how to compile more recent GHC sources to the _stable_ compiler binary on IA64/Linux? If so, please let me know. Thanks a lot, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] [URGENT] DNS problems at haskell.org?
Hello, please read: http://www.reddit.com/r/haskell/comments/encrv/whats_happened_to_haskellorg_did_someone_forget/c19guw1 Thanks, Karel On 12/17/10 03:19 PM, Stephane Bortzmeyer wrote: On Fri, Dec 17, 2010 at 05:01:45PM +0300, Eugene Kirpichov wrote a message of 82 lines which said: For a couple of friends of mine, hackage.haskell.org happens to resolve to something strange (parked domain), though haskell.org works ok. This might be something to tell to haskell.org admins. Indeed, someone forgot to pay the bill and the domain will soon be sold or deleted. % whois haskell.org ... Last Updated On:17-Dec-2010 10:12:28 UTC ... Sponsoring Registrar:Network Solutions LLC (R63-LROR) ... Registrant ID:DOMAIN-RESALE Registrant Name:Pending Renewal or Deletion ... Name Server:NS1.PENDINGRENEWALDELETION.COM Name Server:NS2.PENDINGRENEWALDELETION.COM ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Manatee - The Haskell/Gtk+ Integrated Live Environment first version release!
On 11/12/10 04:37, Andy Stewart wrote: > Hi all, > > I have write Simple Manual at http://haskell.org/haskellwiki/Manatee > > Enjoy! :) Hello! I'm trying to follow installation steps on OpenSolaris 2009.06, but glib installation fails with: $ cabal install --user glib Resolving dependencies... Downloading glib-0.12.0... /tmp/glib-0.12.015451/glib-0.12.0/Gtk2HsSetup.hs:25:0: warning: #warning Setup.hs is guessing the version of Cabal. If compilation of Setup.hs fails use -DCABAL_VERSION_MINOR=x for Cabal version 1.x.0 when building (prefixed by --ghc-option= when using the 'cabal' command) [1 of 2] Compiling Gtk2HsSetup ( /tmp/glib-0.12.015451/glib-0.12.0/Gtk2HsSetup.hs, /tmp/glib-0.12.015451/glib-0.12.0/dist/setup/Gtk2HsSetup.o ) /tmp/glib-0.12.015451/glib-0.12.0/Gtk2HsSetup.hs:56:2: Module `Distribution.Simple.PackageIndex' does not export `lookupPackageId' cabal: Error: some packages failed to install: glib-0.12.0 failed during the configure step. The exception was: ExitFailure 1 My cabal is: $ cabal --version cabal-install version 0.8.2 using version 1.8.0.2 of the Cabal library And ghc is: $ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.10.4 Do you have any idea what to do with this failure? i.e. is my cabal old or is it something different... Thanks, Karel PS: Manatee screenshots are amazing and your code lines list even more! > > -- Andy > > Andy Stewart writes: > >> Hi all, >> >> I am proud to announce the release my gtk2hs project : Manatee - The >> Haskell/Gtk+ Integrated Live >> Environment >> >> http://hackage.haskell.org/package/manatee >> >> Screenshots at : http:goo.gl/MkVw >> Code at https://patch-tag.com/r/AndyStewart/ beginning with manatee-* >> >> Manatee is Haskell integrated environment written in Haskell. >> >> The goal of the Manatee project is to provide a fast, safe and flexible >> integrated environment for haskell hacking. >> >> You can consider it is new environment mix Gnome and Emacs. >> Like Gnome to provide friendly graphics interface and work efficient like >> Emacs. >> >> Manatee use multi-processes framework, any sub-module running in separate >> process to protected core >> won't crash. So it >> minimize your losses when some unexpected exception throw in extension. >> >> Now i have implement below sub-modules in Manatee: >> >> Editor >> Webkit Browser >> File Manager >> Image Viewer >> IRC Client >> Multimedia Player >> PDF Viewer >> Process Manager >> RSS/Atom reader >> >> >From some friends feedback, manatee can't work in XMonad, i will fix it >> >soon. >> You can play it in Gnome. Enjoy! :) >> >> Below are steps to build Manatee: >> >> 1) Install C library: In Debian use below command: >> >> sudo aptitude install libgtksourceview2.0-dev libgconf2-dev libwebkit-dev >> libcurl4-openssl-dev >> libgtkimageview-dev libpoppler-glib-dev poppler-data libtagc0-dev -y >> >> 2) Install Gtk2hs: >> >> cabal install gtk2hs-buildtools gtk >> >> And make sure HOME.cabalbin/ in your PATH. >> >> 3) Install Manatee: >> >> cabal install manatee-core manatee-anything manatee-browser manatee-editor >> manatee-filemanager >> manatee-imageviewer manatee-ircclient manatee-mplayer manatee-pdfviewer >> manatee-processmanager >> manatee-reader manatee >> >> That's all, then type command manatee to play it! :) >> >> "manatee-core" "manatee-anything" "manatee" are core packages, must be >> install, other extension package you can choose you want. >> >> Example, if you not install manatee-imageviewer, when you open Image >> file, manatee will call default image-viewer in your system instead. >> >> Manatee will show you "search interface" when you startup it. >> You can type some filepath or url to open it, >> example, you can type Haskell file to open in editor, >> and type url to open in browser. >> >> Below are quick play keys: >> >> "F2" ==> startProcessManager >> "F3" ==> startFeedReader >> "F4" ==> startFileManager >> "F5" ==> startBrowser >> "F6" ==> loginIrcDefaultChannel >> "F7" ==> startIrc >> >> Manatee project still in early develop stage, just core framework >> finish, many details still not perfect. >> >> But i think it's good start to build Real-World application in Haskell. >> >> Below are high task in my TODO list: >> >> Perfect current sub-module: >> IDE features, code completion >> browser JavaScript framework >> graphics custom system >> etc. >> >> Terminal emulator: >> support MVC design, not like VTE widget >> >> Mail-client >> >> BT-Client >> >> Proxy bridge: >> to build uniform proxy interface to fighting GFW!!! >> >> Jabbar client: >> video support etc. >> >> Spell checker >> >> CHM viewer >> >> DVI viewer >> >> LaTex editor >> >> PS viewer >> >>
[Haskell-cafe] Haskell/JDK/tail-calls etc. (please vote on bug No. 6804517)
Hello, from time to time request for Haskell running on top of Java's VM pops on the haskell related mailing list and then usually dies off when someone mentions that JDK does not have proper support for tail-calls. I think haskell community might do something with this fact or at least attempt to do something with it. I think the proper request for enhancement is here: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6804517 if you agree with it (as it's proposed on the rfe's mentioned blog article[1]), then please either join or if you are already a member of SDN then just login and vote for this bug. That's something we can do for free and will take just few minutes yet perhaps push a little bit more weight behind this bug (err, just 4 votes now, why's that?). Thanks, Karel [1]: http://blogs.sun.com/jrose/entry/tail_calls_in_the_vm ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] CAL experience
Hello, as this is really friendly forum, I'd like to ask to perhaps solve my wonder. From time to time I'm seeing people here recommending Scala as a kind of replacement for non-existent Haskell on Java/JVM platform. My wonder is: why the people here do not recommend CAL, which at least to me, looks much more closer to Haskell than Scala is. Are there any bad experiences with this language and OpenQuark platform? I'm asking since I'm currently playing with it and plan to use it for java objects data processing. Thanks, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] iPhone/Android and Haskell [Was: Embedded funcional programming?]
On 08/08/10 03:08, Mathew de Detrich wrote: > Well the other issue is of course that Android being available on a wide > variety of phones, not all of which run ARM (the phone I am about to get for > example has a custom built CPU), although I guess one could use a "generic" > ASM branch for "mobile" devices (if one exists). btw the phone I am about to > receive is a Samsung Galaxy-S, which has a hummingbird chip (no idea what > Assembler Instruction set it uses, I believe its a closed chip) This should be S5PC110 if I google correctly which is "just" yet another ARM Cortex A8: http://www.samsung.com/global/business/semiconductor/newsView.do?news_id=1043 Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] iPhone/Android and Haskell [Was: Embedded funcional programming?]
On 08/08/10 01:44, Don Stewart wrote: > > Only problem is rewriting the GHC runtime in Java... :-) > Perhaps I don't understand the problem domain correctly, but IMHO this project was already once done in LambdaVM: http://wiki.brianweb.net/LambdaVM/LambdaVM. Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell on the iPhone
Ryan Trinkle wrote: > Rick, > > I know some work has been done on JVM - iirc, Don Stewart did some work back > in the day, www.cse.unsw.edu.au/~pls/thesis/dons-thesis.ps.gz, but I'm not > sure how comprehensive it is. > > Is anyone else interested in JVM-based Haskell targets? Hello, certainly I am. I think it would be great if someone might combine Haskell code with what's already written in Java (i.e. all those app servers or development environments). In the past I've given a try to LambdaVM[1][2] and it looked like a sane approach to get there. Unfortunately I'm not so power-haskell user to be able to update this patch forward to more recent GHC. I've also submitted ticket for it[3]. Cheers, Karel [1]: http://wiki.brianweb.net/LambdaVM/LambdaVM [2]: http://www.cs.rit.edu/~bja8464/lambdavm/ [3]: http://hackage.haskell.org/trac/ghc/ticket/2959 > > > Ryan > > On Mon, Jun 22, 2009 at 20:42, Rick R wrote: > >> This is definitely good news! >> >> So... who's doing the Android/JVM target? ;) >> >> >> >> On Mon, Jun 22, 2009 at 7:37 PM, Daniel Peebles wrote: >> >>> How exciting! I fully support the creation of a new mailing list about >>> iphone+haskell :) >>> >>> On Mon, Jun 22, 2009 at 6:30 PM, Ryan Trinkle wrote: Dear Haskellers, Recently, there's been a groundswell of activity in the Haskell >>> community regarding the Haskell's use in developing iPhone games. The iPhone is a powerful, innovative platform (with a great monetization scheme, to >>> boot), and it's not surprising that many of us would want to develop apps for >>> it in our favorite language. I am proud to announce today that my company, iPwn Studios Inc., is currently preparing to release an open source patch to GHC that allows >>> it to output binaries for iPhone OS. The patch will be released under a BSD license as soon as possible and hopefully integrated into the GHC >>> main-line in the near future. As the first (to my knowledge) Haskell-based game studio, iPwn Studios is committed to giving back to the Haskell >>> community through open source - contributing to a rising tide that lifts us all. I would like to take this opportunity to propose the creation of a haskell-iphone mailing list, so that all Haskellers working with the >>> iPhone - whether for profit or for pleasure - can come together to make Haskell >>> a force to be reckoned with in the burgeoning iPhone App marketplace. Best wishes, Ryan Trinkle President, iPwn Studios Inc. P.S.: If you wish to be involved in the preparation of the GHC patch or >>> in the creation of iPwn Studios' first game, don't hesitate to contact me >>> by email (ryant5...@gmail.com), AIM (RyanT5000), or IRC (RyanT5000 on irc.freenode.net). ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe >>> ___ >>> Haskell-Cafe mailing list >>> Haskell-Cafe@haskell.org >>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>> >> >> >> -- >> "The greatest obstacle to discovering the shape of the earth, the >> continents, and the oceans was not ignorance but the illusion of knowledge." >> >> - Daniel J. Boorstin >> >> >> ___ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> >> > > > > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHC needs a 64 bit machine to be fast?
Hello, perhaps you are hit by following issue? http://hackage.haskell.org/trac/ghc/ticket/594 Cheers, Karel FFT wrote: > Not that this is a very good benchmark, but I compiled the nearly > equivalent C and Haskell (1st, recursive version) programs from this > blog post: > > http://donsbot.wordpress.com/2008/06/04/haskell-as-fast-as-c-working-at-a-high-altitude-for-low-level-performance/ > > There, in both versions, 1e9 iterations take 1.8s. > > However, in my timing on 32-bit Linux machines, the C version is 5-10 > times faster. Does the bitness of the OS make a big difference? > > Here are my timings on a 3.4GHz Pentium D: > > C : 4.072s (GCC 4.2.4) > Haskell : 22.481s (GHC 6.10.2 and 6.8.2 are about the same here) > > I used the exact same compiler options as in the blog post. I only added > > import System > import Text.Printf > > to the Haskell program, which seems to be missing. > > Suspiciously, "ghc -O2 --make" is almost as fast at 24.438s (6.10.2) > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Hugs on iPhone
John A. De Goes wrote: > > Go ahead sell your GPL application. I'll get your code, build the > application, and sell it for less than half of what you're selling it for. > > How exactly will you make your money, then? Ask RedHat how they make money from RHEL while Oracle and CentOS are exact copies of it. Ask RedHat/JBoss how they make money from JBoss AS when all the source code is available in their repository. Probably, it's not only about the software anymore, but also about the service you get with the software subscription... Although I agree that this applies only to software which crossed some kind of complexity already (hence service is needed) and that majority of phone apps might not fall into this category yet especially if they are not tied to some kind of server based services. Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell Logo Voting has started!
Sorry for newcomer silly question, but where is the voting page located? Thanks, Karel ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe