Re: [Haskell-cafe] I for one welcome our new Robotic Overlords

2011-09-28 Thread Karel Gardas

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


Re: [Haskell-cafe] I for one welcome our new Robotic Overlords

2011-09-28 Thread Joachim Breitner
Hi,

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.

Greetings,
Joachim

-- 
Joachim nomeata Breitner
  m...@joachim-breitner.de  |  nome...@debian.org  |  GPG: 0x4743206C
  xmpp: nome...@joachim-breitner.de | http://www.joachim-breitner.de/



signature.asc
Description: This is a digitally signed message part
___
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

2011-09-28 Thread Yves Parès
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?

2011/9/28 Karel Gardas karel.gar...@centrum.cz

 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-cafehttp://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] I for one welcome our new Robotic Overlords

2011-09-28 Thread Karel Gardas

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

2011-09-28 Thread Yves Parès
 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.
I guessed one would have to re-compile her/his code with every platform (but
is that a big deal?).


2011/9/28 Karel Gardas karel.gar...@centrum.cz

 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

2011-09-28 Thread Karel Gardas


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

2011-09-28 Thread Erik de Castro Lopo
Karel Gardas wrote:

 
 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.

I happen to know (because I'm trying to fix it) that GHCI is broken
(since about 6.8) on PowerPC.


Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/

___
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

2011-09-28 Thread Karel Gardas

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

2011-09-28 Thread Yves Parès
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.

2011/9/28 Karel Gardas karel.gar...@centrum.cz

 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

2011-09-28 Thread Karel Gardas

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


[Haskell-cafe] I for one welcome our new Robotic Overlords

2011-09-27 Thread Jeremy Shaw
When the robots take over, do you want them to be developed using a  
sane language like Haskell or Agda? Or some dangerous untyped OO  
language? I think the answer is obvious.


The question is, How?. The robots will not be developed by us, but  
by the children of today. So, we must reach their pure minds before  
they have been unsafely coerced by the evil unbelievers who do not  
worship the gods λ, Π, and ω.


My long term vision is:

A company which produces an extensible robotics platform for children  
and adults ages 8 and up. The platform would be very open, extensible,  
and hackable.


The robotic programming languages would be based around concepts like  
functional reactive programming, dependent types, etc.


Children would begin with a simple FRP language to control the robot.  
They would solve simple problems like go forward until an object is  
encountered. As the young masters grow, they can tackle more  
difficult problems such as maze solving. Even later they can delve  
into more advanced subjects like computer vision, speech recognition  
and synthesis, or mind control rays.


The short term vision can be summarized in one word leverage.

We need to find an existing robotic platform which can be easily  
targeted somehow using Haskell or Agda. Perhaps something that can be  
targeted using atom or lava? Maybe something Arduino based?


I have created a wiki page here to record your suggestions and ideas:

http://haskell.org/haskellwiki/RoboticOverlords

The requirements now are something that is:

 - hackable/open
 - easily obtained
 - reasonable in price
 - can easily be targeted via Haskell

The only candidate I know of so far is lego mindstorms via the NXT  
package on hackage, Though some could argue that lego mindstorms are  
not reasonably priced.


http://hackage.haskell.org/package/NXT

Let's here your ideas!
- jeremy



___
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

2011-09-27 Thread Antoine Latter
On Tue, Sep 27, 2011 at 4:01 PM, Jeremy Shaw jer...@n-heptane.com wrote:

 Let's here your ideas!

Here's a post outlining Arduino + Haskell via Atom:

http://leepike.wordpress.com/2010/05/31/twinkle-twinkle-little-haskell/

Atom might be a tool to use for any number of targets, but I haven't
used it so I really don't know how it might fit into FRP style
programming.

Antoine

___
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

2011-09-27 Thread Anthony Cowley
On Sep 27, 2011, at 2:01 PM, Jeremy Shaw jer...@n-heptane.com wrote:

 When the robots take over, do you want them to be developed using a sane 
 language like Haskell or Agda? Or some dangerous untyped OO language? I think 
 the answer is obvious.
 
 The question is, How?. The robots will not be developed by us, but by the 
 children of today. So, we must reach their pure minds before they have been 
 unsafely coerced by the evil unbelievers who do not worship the gods λ, Π, 
 and ω.

Timing: you have it. 

I presented the work behind https://github.com/acowley/roshask at IROS 2011 
just this morning. ROS is possibly the most widely used robotics middleware 
today, and you can now use Haskell to work with existing ROS components. 

While FP isn't hugely popular among the robotics community (I've been pitching 
functional approaches here for several years), this time around I am optimistic 
that we've turned the corner, or at least started that process. There was a lot 
of support, and developers behind other large projects expressed eagerness to 
rely more heavily on the compositionally of good old functions.

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.

In short, you can just about achieve your vision today with a TurtleBot from 
Willow Garage and roshask.

Anthony


 
 My long term vision is:
 
 A company which produces an extensible robotics platform for children and 
 adults ages 8 and up. The platform would be very open, extensible, and 
 hackable.
 
 The robotic programming languages would be based around concepts like 
 functional reactive programming, dependent types, etc.
 
 Children would begin with a simple FRP language to control the robot. They 
 would solve simple problems like go forward until an object is encountered. 
 As the young masters grow, they can tackle more difficult problems such as 
 maze solving. Even later they can delve into more advanced subjects like 
 computer vision, speech recognition and synthesis, or mind control rays.
 
 The short term vision can be summarized in one word leverage.
 
 We need to find an existing robotic platform which can be easily targeted 
 somehow using Haskell or Agda. Perhaps something that can be targeted using 
 atom or lava? Maybe something Arduino based?
 
 I have created a wiki page here to record your suggestions and ideas:
 
 http://haskell.org/haskellwiki/RoboticOverlords
 
 The requirements now are something that is:
 
 - hackable/open
 - easily obtained
 - reasonable in price
 - can easily be targeted via Haskell
 
 The only candidate I know of so far is lego mindstorms via the NXT package on 
 hackage, Though some could argue that lego mindstorms are not reasonably 
 priced.
 
 http://hackage.haskell.org/package/NXT
 
 Let's here your ideas!
 - jeremy
 
 
 
 ___
 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