Re: [Haskell-cafe] Haskell for Physicists
On Tue, Oct 13, 2009 at 9:44 PM, Don Stewart d...@galois.com wrote: http://www.galois.com/blog/2009/10/13/domain-specific-languages-for-domain-specific-problems/ It advocates for Haskell + EDSLs, much as we have been discussing in this thread. I am think that use of EDSLs for Physics (and similar science) are very arguable: To use EDSL domain expert need to know language in which DSL embedded, which is more difficult than learn just DSL. Not better, if EDSL use only subset of base language: 1. because you need to teach this subset (probably rewrite of write new tutorials, books etc..) 2. and if someone use few EDSL with different subsets of base language it can (and probably will) became mess. _So easiness in implementation results in burden for users_ I see such situation in Particle Physics where I am working. All basic software: ROOT, Geant4 are actually EDSLs based on C++ (and crippled C++: CINT). In my opinion this slowdown progress tremendously! I am know many physicists who don't know ever necessary basic of C++, although they use ROOT and Geant4. I am sure that what prevent them from learning C++ will prevent them from learning any other general purpose language. _So my strong opinion that solution is only DSL not EDSL_ Roman. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
_So my strong opinion that solution is only DSL not EDSL_ Why do you think they will learn your DSL, if they don't learn any other language? And if your DSL includes general purpose stuff, like functions, control structures, data structures, you'll re-invent the wheel. Probably porly. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
On Fri, Dec 04, 2009 at 01:43:42PM +, Matthias Görgens wrote: _So my strong opinion that solution is only DSL not EDSL_ Why do you think they will learn your DSL, if they don't learn any other language? I didn't said that they didn't learn any language. They learn languages, but only part that is necessary to do particular task. f.e. ROOT CINT(C++ interpreter) didn't distinguish object from pointer to object, i.e. statement h.ls(); works as well as h-ls(); independently of either h has type TH1F or TH1F*, so beginning ROOT user didn't need know what is pointer, memory management helps him. But early or latter one need to write more complicated code, then one need to spend months to reading big C++ books, and struggling with compilers errors, segfaults etc..^(1) (instead of doing assigned task!) or, what is more usually, trying Ad hoc methods for writing software. So people will learn DSL because: 1. DSL is simpler than general purpose language 2. DSL describe already known domain for user, (one probably don't need monads, continuations, virtual methods, template instantiation etc...etc...) so learning is easy, and didn't consume much time. And if your DSL includes general purpose stuff, like functions, control structures, data structures, you'll re-invent the wheel. Probably porly. You didn't need to reinvent the wheel, because you DSL compiler can produce Haskell code: DSL - General Purpose Language - Executable And ever if you do, it saves allot of time of experts. Roman. (1) In Haskell this probably will sound like: reading allot of small tutorials and articles, grokking monads, struggling with type-check errors, infinite loops, laziness, etc... ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
2009/12/4 Roman Salmin roman.sal...@gmail.com: On Fri, Dec 04, 2009 at 01:43:42PM +, Matthias Görgens wrote: _So my strong opinion that solution is only DSL not EDSL_ Why do you think they will learn your DSL, if they don't learn any other language? I didn't said that they didn't learn any language. They learn languages, but only part that is necessary to do particular task. f.e. ROOT CINT(C++ interpreter) didn't distinguish object from pointer to object, i.e. statement h.ls(); works as well as h-ls(); independently of either h has type TH1F or TH1F*, so beginning ROOT user didn't need know what is pointer, memory management helps him. But early or latter one need to write more complicated code, then one need to spend months to reading big C++ books, and struggling with compilers errors, segfaults etc..^(1) (instead of doing assigned task!) or, what is more usually, trying Ad hoc methods for writing software. So people will learn DSL because: 1. DSL is simpler than general purpose language 2. DSL describe already known domain for user, (one probably don't need monads, continuations, virtual methods, template instantiation etc...etc...) so learning is easy, and didn't consume much time. And if your DSL includes general purpose stuff, like functions, control structures, data structures, you'll re-invent the wheel. Probably porly. You didn't need to reinvent the wheel, because you DSL compiler can produce Haskell code: DSL - General Purpose Language - Executable And ever if you do, it saves allot of time of experts. Roman. (1) In Haskell this probably will sound like: reading allot of small tutorials and articles, grokking monads, struggling with type-check errors, infinite loops, laziness, etc... There is other side. As Matthias Görgens mentioned earlier 1. One have to reinvent control structures. Multiple times. Lets assume that compiler would translate DSL to haskell code. But DSL's expressions which convert into haskell control structures are DSL's control structures. 2. There would be more than one DSL. If they are all EDSL there is no real problems with combining them in one program if necessity arises. Probably there would be ways to combine them if they are DSL but they will require expertise and most likely dirty hacks. 2.1 And all of them will have different conrol structures, abstraction mechanisms. 3. Turing tarpit. Users will constantly require more power and features in DSL. Most likely DSL designers wouldn't be great language designers so DSL will turn into utter mess. 4. One have all power (and libraries of host languages). Of course if he is able to utilize it. This is tradeoff between power and simplicity. If one have too much simplicity he is not able to solve difficult problems. If one have too much power at expense of simplicity he has to struggle with tool to have thing done. And it's possible to sacrifice simplicity and don't gain any power. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
Don Stewart d...@galois.com writes: Hey all, Following up on this, I'm presenting a position paper tomorrow on the use of EDSLs to improve productivity and lower cost when developing code for new high performance architectures (like GPUs). http://www.galois.com/blog/2009/10/13/domain-specific-languages-for-domain-specific-problems/ It advocates for Haskell + EDSLs, much as we have been discussing in this thread. I'm very interested in EDSL in high performance architectures. Can you give me some idea what the performance might be using code written in Haskell+EDSL compared to C/C++? I think, in high performance computing, the efficiency in the resulting binary code largely depends on the problem domain. Can haskell help a lot in optimizing the EDSL to machine binary? And what would be the efficiency in terms of space and time? Xiao-Yong -- c/*__o/* \ * (__ */\ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
Of all the projects that are in the HackageDB, how many, or what % do you say developed an EDSL? daryoush On Tue, Oct 13, 2009 at 3:06 PM, Xiao-Yong Jin xj2...@columbia.edu wrote: Don Stewart d...@galois.com writes: Hey all, Following up on this, I'm presenting a position paper tomorrow on the use of EDSLs to improve productivity and lower cost when developing code for new high performance architectures (like GPUs). http://www.galois.com/blog/2009/10/13/domain-specific-languages-for-domain-specific-problems/ It advocates for Haskell + EDSLs, much as we have been discussing in this thread. I'm very interested in EDSL in high performance architectures. Can you give me some idea what the performance might be using code written in Haskell+EDSL compared to C/C++? I think, in high performance computing, the efficiency in the resulting binary code largely depends on the problem domain. Can haskell help a lot in optimizing the EDSL to machine binary? And what would be the efficiency in terms of space and time? Xiao-Yong -- c/*__o/* \ * (__ */\ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe -- Daryoush Weblog: http://perlustration.blogspot.com/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
В сообщении от 30 сентября 2009 23:42:57 Casey Hawthorne написал: On Wed, 30 Sep 2009 21:24:11 +0200, you wrote: I?m a physicist, so I think they would be attracted by something like Haskell: high level physics modelling at Fortran speeds Haskell: mathematics beyond numerical calculus And, easier to make use of multi-core machines than threaded Fortran. Yes this is good selling point. Fortran (and C++ too) programs heavily rely on global state. And thus are very difficult to parallelize. Frequently only possibility is process-level parallelism. This however has problems too. I suppose one could have a Haskell parser convert Fortran to monadal code. Then, a parser to convert, hopefully, most of the resulting code to pure code. This is interesting but very challenging task. Conversion fortran- monadic code is trade of one mess for another. Since local state and global state are ubiquitous it's difficult to factor out pure functions. Another problem is that fortran functions are usually BIG. Most likely this will require manual intervention. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
Yesterday I was at a talk by Pat Hanrahan on embedded DSLs and GPUs at the nvidia GPU conference: http://www.nvidia.com/object/gpu_technology_conference.html Pat argued that the only way forward to achieve usable computing power for physics on heterogeneous computers (eg. multicore+GPU) is through the use of embedded DSLs to allow physicists to express algorithms without reference to underlying architecture, or even details like data structures. His main example involved using Scala to generate C code for scramjet simulation (ie. we're not talking toy simulations here). He actually mentioned Haskell at one point. I strongly agree with Pat. Unfortunately I can't find slides, or many details of the project, online. It seems to me that Haskell is both an excellent host language for embedding small languages and is also a particularly good language for expressing algorithms for code generation. I think this should be the #1 selling point for Haskell for physicists. The only point I vaguely disagreed with was that Pat seemed to think that dynamic types were essential. For the types of problems he was describing it seemed to me that static types were precisely what you needed. -- Dan On Sat, Oct 3, 2009 at 4:23 AM, Khudyakov Alexey alexey.sklad...@gmail.com wrote: В сообщении от 30 сентября 2009 23:42:57 Casey Hawthorne написал: On Wed, 30 Sep 2009 21:24:11 +0200, you wrote: I?m a physicist, so I think they would be attracted by something like Haskell: high level physics modelling at Fortran speeds Haskell: mathematics beyond numerical calculus And, easier to make use of multi-core machines than threaded Fortran. Yes this is good selling point. Fortran (and C++ too) programs heavily rely on global state. And thus are very difficult to parallelize. Frequently only possibility is process-level parallelism. This however has problems too. I suppose one could have a Haskell parser convert Fortran to monadal code. Then, a parser to convert, hopefully, most of the resulting code to pure code. This is interesting but very challenging task. Conversion fortran- monadic code is trade of one mess for another. Since local state and global state are ubiquitous it's difficult to factor out pure functions. Another problem is that fortran functions are usually BIG. Most likely this will require manual intervention. ___ 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: Fwd: [Haskell-cafe] Haskell for Physicists
And note we are pushing precisely on the use of DSLs in or on Haskell for *portability* of the domain-scientists code in a number of areas right now: * data parallel algorithms (targetting cpu , gpu) Accelerate: http://hackage.haskell.org/package/accelerate-0.6.0.0 Obsidian http://www.cse.chalmers.se/~joels/writing/dccpaper_obsidian.pdf * control systems code: Atom: http://hackage.haskell.org/package/atom * cryptography Cryptol: http://www.galois.com/technology/communications_security/cryptol * avionics verification: http://www.galois.com/blog/2009/05/15/edsls-for-unmanned-autonomous-verification-and-validation/ * financial modelling Paradise: http://www.londonhug.net/2008/08/11/video-paradise-a-dsel-for-derivatives-pricing/ FPF: http://lambda-the-ultimate.org/node/3331 * operating systems: http://www.barrelfish.org/fof_plos09.pdf In all cases we're looking at high level code, the possibility of multiple backends, and constrained semantics enabling extensive optimization and analysis. And -- we're generating code, so there's no benefit to having the language hosted on the JVM or .NET -- Haskell should *own* this space. This may be Haskell's killer app now that DSLs are going mainstream. We have mature technology for good DSLs. Far more resources than Scala. Why isn't Haskell completely dominating this space? I believe it is lack of training and outreach. We need a Write you a DSL for great good! -- Don dpiponi: Yesterday I was at a talk by Pat Hanrahan on embedded DSLs and GPUs at the nvidia GPU conference: http://www.nvidia.com/object/gpu_technology_conference.html Pat argued that the only way forward to achieve usable computing power for physics on heterogeneous computers (eg. multicore+GPU) is through the use of embedded DSLs to allow physicists to express algorithms without reference to underlying architecture, or even details like data structures. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
dons: And note we are pushing precisely on the use of DSLs in or on Haskell for *portability* of the domain-scientists code in a number of areas right now: * data parallel algorithms (targetting cpu , gpu) Accelerate: http://hackage.haskell.org/package/accelerate-0.6.0.0 Obsidian http://www.cse.chalmers.se/~joels/writing/dccpaper_obsidian.pdf Another good example: Cell DSL, for Maple users: A Domain-Specific Language for the Generation of Optimized SIMD-Parallel Assembly Code http://www.cas.mcmaster.ca/~kahl/Publications/TR/Anand-Kahl-2007a_DSL/ a domain-specific language embedded into Haskell that allows mathematicians to formulate novel high-performance SIMD-parallel algorithms for the evaluation of special functions. -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Haskell for closing the gap between specification and code On Wed, Sep 30, 2009 at 1:42 PM, ed...@ymonad.com wrote: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ 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 for Physicists
Hi Edgar No-one seems to have pointed you to the Maestro: http://users.info.unicaen.fr/~karczma/arpap/ The quantum mechanics one might be the most directly useful, but they are all great reads: http://users.info.unicaen.fr/~karczma/arpap/hasiqm.pdf Best wishes Stephen 2009/9/30 ed...@ymonad.com: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ 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 for Physicists
I can't help with the title, but you might show how Haskell can help avoid the subtle bugs that create erroneous results. Start with the dimensional library (http://hackage.haskell.org/package/dimensional). Paul. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell for Physicists
Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Hallo, On 9/30/09, ed...@ymonad.com ed...@ymonad.com wrote: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Haskell for physicists ? -- -alex http://www.ventonegro.org/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Some ideas of highly variable quality: Getting Functional with Physics Bosons, Fermions, and Monads? Haskell for Physicists Purer Programming for Physicists Use Haskell for Physics, and Say 'C'-You-Later - ted On Wed, Sep 30, 2009 at 10:42 AM, ed...@ymonad.com wrote: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ 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 for Physicists
В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) And what if they're in Portuguese? ;) Cheers, Jochem -- Jochem Berndsen | joc...@functor.nl | joc...@牛在田里.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
В сообщении от Среда 30 сентября 2009 22:37:52 вы написали: Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) And what if they're in Portuguese? ;) Nothing is impossible for a man with another dictionary then. (Portuguese- Russian if you don't mind :) ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
reminds me of a well-known story, told to me some years back at cornell: richard feynman was set to deliver a series of lectures in brazil, and he spent a good deal of time learning spanish in preparation; that was until a visting professor from brazil told him he might want to try portuguese instead On Wed, Sep 30, 2009 at 11:44 AM, Khudyakov Alexey alexey.sklad...@gmail.com wrote: В сообщении от Среда 30 сентября 2009 22:37:52 вы написали: Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) And what if they're in Portuguese? ;) Nothing is impossible for a man with another dictionary then. (Portuguese- Russian if you don't mind :) ___ 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 for Physicists
Khudyakov Alexey wrote: В сообщении от Среда 30 сентября 2009 22:25:14 вы написали: Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) I am also interested in seeing the slides (being a physicist myself). Also, that'd be portuguese, not spanish, that would be spoken in Brazil. The dictionary comment still applies though :) I suppose you aimed for cafe but missed. (: Yep, sure did. I just hit `reply' assuming haskell-cafe was in the reply-to. I do that more often than not it seems. Going back to the OP, what area of physics, and how on earth are you going to convert years of fortran users to haskell? I mean, in particle physics (were I came from) it seems as though only recently have they moved from fortran to C++ (note: C was skipped). There are things written in python (like Athena) but, well..., they are unreliable crap (I do like python though). In fact, when I was in undergraduate, not 4 years ago, a PhD student was writing his big QCD project in fortran from the ground up. I'm not even familiar enough with fortran to attempt such a thing (I would have used C). Case in point, I think there are some areas of physics that exist as a communal project (i.e. experimental particle physics) and because of this, you are limited to the tools and data used by your peers (Athena, Geant4, etc...). It is really hard to introduce anything new. So I guess my advice would be to avoid Haskell as a 'replacement' for anything to a physicist (including mathematica -- which I never liked myself). They will immediately ignore you. Approach it as a new tool, and focus on what it can do that software-x can't. That was my take on it though, so it may be a bit incorrect and/or biased. -Jack ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Fwd: [Haskell-cafe] Haskell for Physicists
I´m a physicist, so I think they would be attracted by something like Haskell: high level physics modelling at Fortran speeds Haskell: mathematics beyond numerical calculus 2009/9/30 ed...@ymonad.com Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ 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 for Physicists
On Wed, Sep 30, 2009 at 9:24 PM, Alberto G. Corona agocor...@gmail.com wrote: Haskell: mathematics beyond numerical calculus I'd imagine most physicists know a fair bit of mathematics beyond numerical calculus; what they might not know much about is *computation* beyond numerical calculus. --Max ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
В сообщении от Среда 30 сентября 2009 23:08:02 вы написали: Yep, sure did. I just hit `reply' assuming haskell-cafe was in the reply-to. I do that more often than not it seems. Going back to the OP, what area of physics, and how on earth are you going to convert years of fortran users to haskell? I mean, in particle physics (were I came from) it seems as though only recently have they moved from fortran to C++ (note: C was skipped). There are things written in python (like Athena) but, well..., they are unreliable crap (I do like python though). In fact, when I was in undergraduate, not 4 years ago, a PhD student was writing his big QCD project in fortran from the ground up. I'm not even familiar enough with fortran to attempt such a thing (I would have used C). Case in point, I think there are some areas of physics that exist as a communal project (i.e. experimental particle physics) and because of this, you are limited to the tools and data used by your peers (Athena, Geant4, etc...). It is really hard to introduce anything new. So I guess my advice would be to avoid Haskell as a 'replacement' for anything to a physicist (including mathematica -- which I never liked myself). They will immediately ignore you. Approach it as a new tool, and focus on what it can do that software-x can't. I'm particle physicist too. And sometimes I think that it would be better if they stay with fortran. Object-disoriented which is done in C++ scares me. Random segfaults in ROOT, or even worse segfault loops... It's possible to use safety as argument for haskell. Type safety, no segfaults. As for existing code there are two strategies. First is to dump all code into Geneva lake. There are environmental concerns of course. And it's difficult to throw away tested code. Second one - do not touch it and use haskell for small isolated tasks. It's easier to do this in smaller experiments. I use haskell to process experimental data with reasonable success. Code is much cleaner and easier to understand that C++ code. In fact I just reworded your statement ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
В сообщении от Среда 30 сентября 2009 23:29:32 Max Rabkin написал: On Wed, Sep 30, 2009 at 9:24 PM, Alberto G. Corona agocor...@gmail.com wrote: Haskell: mathematics beyond numerical calculus I'd imagine most physicists know a fair bit of mathematics beyond numerical calculus; what they might not know much about is *computation* beyond numerical calculus. Could you elaborate this. As physicist I don't quite get it. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Fwd: [Haskell-cafe] Haskell for Physicists
On Wed, 30 Sep 2009 21:24:11 +0200, you wrote: I?m a physicist, so I think they would be attracted by something like Haskell: high level physics modelling at Fortran speeds Haskell: mathematics beyond numerical calculus And, easier to make use of multi-core machines than threaded Fortran. I suppose one could have a Haskell parser convert Fortran to monadal code. Then, a parser to convert, hopefully, most of the resulting code to pure code. -- Regards, Casey ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Khudyakov Alexey wrote: В сообщении от Среда 30 сентября 2009 23:08:02 вы написали: Yep, sure did. I just hit `reply' assuming haskell-cafe was in the reply-to. I do that more often than not it seems. Going back to the OP, what area of physics, and how on earth are you going to convert years of fortran users to haskell? I mean, in particle physics (were I came from) it seems as though only recently have they moved from fortran to C++ (note: C was skipped). There are things written in python (like Athena) but, well..., they are unreliable crap (I do like python though). In fact, when I was in undergraduate, not 4 years ago, a PhD student was writing his big QCD project in fortran from the ground up. I'm not even familiar enough with fortran to attempt such a thing (I would have used C). Case in point, I think there are some areas of physics that exist as a communal project (i.e. experimental particle physics) and because of this, you are limited to the tools and data used by your peers (Athena, Geant4, etc...). It is really hard to introduce anything new. So I guess my advice would be to avoid Haskell as a 'replacement' for anything to a physicist (including mathematica -- which I never liked myself). They will immediately ignore you. Approach it as a new tool, and focus on what it can do that software-x can't. I'm particle physicist too. And sometimes I think that it would be better if they stay with fortran. Object-disoriented which is done in C++ scares me. Random segfaults in ROOT, or even worse segfault loops... It's possible to use safety as argument for haskell. Type safety, no segfaults. As for existing code there are two strategies. First is to dump all code into Geneva lake. There are environmental concerns of course. And it's difficult to throw away tested code. Second one - do not touch it and use haskell for small isolated tasks. It's easier to do this in smaller experiments. I use haskell to process experimental data with reasonable success. Code is much cleaner and easier to understand that C++ code. In fact I just reworded your statement ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe Root has pissed me off more times than I can remember. I've also done lots of Geant4 work (my thesis work actually), and that is a steaming pile of OO confusion. Geant4 is getting close to 40MB of source, and it is still nothing more than a library of interfaces to interfaces to to the CLHEP C++ library. It is OOP gone mad. Not to mention that if anyone asks for a feature implemented, it gets implemented. There are features in the geant4 library that I'm sure even geant4 developers don't know about. Functional programming should be the to-go tool in physics, but it isn't. Somewhere down the road, someone thought OOP was the messiah and worthy of a fortran replacement. I fail to see the logic in this. If anything I would start by scolding the physicists in the room on their programming practices. Then introduce Haskell as you wish. If I were to give a talk about programming to physicists, the first words out of my mouth would probably be I'm embarrassed by you all. Ok I'm done, I think you all get my point. A comp-sci minor should be required for every physics major. -jack ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
I am *not* a physicist, but I imagine many physicists know at least something of functional analysis, algebra, Lie algebras, etc. However, when physicists write programs (this is my inference from the widespread use of Fortran and the computational assignments given to undergraduate students) they are almost exclusively numerical: very often evaluating some integrals or integrating a system of differential equations. Although Haskell can do these things, it's not a place where Haskell really shines (compared to symbolic computation). Since I'm not a physicist, I can't give a good example, but think more of the things Mathematica is good for, rather than Fortran or Matlab. My impression is that Haskell's advantage over Mathematica is in its generality: Mathematica is great if it has a builtin function to do what you want, but it's not a very pleasant programming language. HTH, Max On Wed, Sep 30, 2009 at 9:39 PM, Khudyakov Alexey alexey.sklad...@gmail.com wrote: В сообщении от Среда 30 сентября 2009 23:29:32 Max Rabkin написал: On Wed, Sep 30, 2009 at 9:24 PM, Alberto G. Corona agocor...@gmail.com wrote: Haskell: mathematics beyond numerical calculus I'd imagine most physicists know a fair bit of mathematics beyond numerical calculus; what they might not know much about is *computation* beyond numerical calculus. Could you elaborate this. As physicist I don't quite get it. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell for Physicists
Good ones! Specially the second, since I will show a real example where I used Haskell to model a boson condensate. Thanks for the suggestions. Edgar On Wed, 30/Sep/2009 at 10:52 -0700, Ted Nyman wrote: Some ideas of highly variable quality: Getting Functional with Physics Bosons, Fermions, and Monads? Haskell for Physicists Purer Programming for Physicists Use Haskell for Physics, and Say 'C'-You-Later - ted On Wed, Sep 30, 2009 at 10:42 AM, ed...@ymonad.com wrote: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) Thanks, Edgar ___ 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 for Physicists
On Wed, 30/Sep/2009 at 22:27 +0200, Max Rabkin wrote: I am *not* a physicist, but I imagine many physicists know at least something of functional analysis, algebra, Lie algebras, etc. However, when physicists write programs (this is my inference from the widespread use of Fortran and the computational assignments given to undergraduate students) they are almost exclusively numerical: very often evaluating some integrals or integrating a system of differential equations. Although Haskell can do these things, it's not a place where Haskell really shines (compared to symbolic computation). Well, if you want to write all the code in Haskell, maybe this is true (some parts an imperative code still is the most efficient, but nothing that you can't do in C and use in Haskell via FFI). But in my case, Haskell really shined using as an interface to GSL/Lapack via the wonderful hmatrix lib. Since I'm not a physicist, I can't give a good example, but think more of the things Mathematica is good for, rather than Fortran or Matlab. My impression is that Haskell's advantage over Mathematica is in its generality: Mathematica is great if it has a builtin function to do what you want, but it's not a very pleasant programming language. And speed is other advantage! The code that I wrote to solve a problem in bose condensation is dozen times fastest that the Mathematica equivalent, and much more clean and simple to expand or modify. Edgar HTH, Max On Wed, Sep 30, 2009 at 9:39 PM, Khudyakov Alexey alexey.sklad...@gmail.com wrote: В сообщении от Среда 30 сентября 2009 23:29:32 Max Rabkin написал: On Wed, Sep 30, 2009 at 9:24 PM, Alberto G. Corona agocor...@gmail.com wrote: Haskell: mathematics beyond numerical calculus I'd imagine most physicists know a fair bit of mathematics beyond numerical calculus; what they might not know much about is *computation* beyond numerical calculus. Could you elaborate this. As physicist I don't quite get it. ___ 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 for Physicists
On Wed, 30/Sep/2009 at 22:21 +0400, Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. I won't focus in a specific area, just a general exposition and maybe, if I have time, I'm going to show an example which I used to solve a problem in a simple quantum mechanical model of a bose condensate. Most of the public will be formed by mathematical physicists. Edgar Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) ___ 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 for Physicists
On Wed, 30/Sep/2009 at 22:21 +0400, Khudyakov Alexey wrote: В сообщении от 30 сентября 2009 21:42:57 ed...@ymonad.com написал: Hi, I will give a seminar to physicists at USP (Universidade de São Paulo, Brazil) university and they asked me for a good title, something that can attract physicists. Anyone has some suggestions? (Will be a seminar about the use of Haskell to substitute C or Fortran in a lot of tasks, and how it can be used in some problems instead of Matlab, Mathematica, etc.) What area of physics? They all face somewhat different problems from computation. Could you publish your slides from seminar (if any) and even if they are in Spanish (nothing is impossible for man with a dictionary) Of course, no problem (and yes, will be in portuguese ;) Edgar ___ 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