[Haskell-cafe] Hoogling to no avail ...
Hello, I need sleep briefly(1/2 seconds) in code that I have written. I tried searching for sleep and wait in Hoogle and either didn't get a hit or got something inappropriate. ?? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Data.Binary
Hello, I installed ghci on my work Windows machine. If I do a :m +Data.Word, everything is OK. If I a :m +Data.Binary, can't be found. Why? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell and the Cell Processor
Hello, http://www.power.org/resources/devcorner/cellcorner Is there project to port GHC to the Cell? Seems like a really cool challenge. Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] RE: Hashing over equivalence classes
Hi Roman, So are you really talking about an equivalence relation on the function's domain? The reason I ask is that it is well known that f(a)=f(b) establishes an equivalence relation on f's co-domain! Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString questions
Hi Brandon, I have forgotten about RS232 protocol. Can I just reads and writes from the RS232 device from an application to handle data? Or do I need to handle RS232 protocol events in the application? Thanks, Vasili On Thu, Feb 26, 2009 at 10:30 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2009 Feb 26, at 23:16, Galchin, Vasili wrote: h but at work I am surreptitiously writing in Haskell to test firmware and the platform in Windows XP, Brandon. So if I want something other than the default port configuration I am out of luck? (the default is 9600, ??,??,??)? I didn't mention how to do it on Windows because I have no idea how to do it. You can look in the Win32 hierarchy in the hierarchical libraries: http://www.haskell.org/ghc/docs/latest/html/libraries/index.html -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString questions
I already looked at MSDN examples and am not seriously enccouraged ;^( Vasili On Thu, Feb 26, 2009 at 10:51 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2009 Feb 26, at 23:45, Galchin, Vasili wrote: I have forgotten about RS232 protocol. Can I just reads and writes from the RS232 device from an application to handle data? Or do I need to handle RS232 protocol events in the application? Usually the OS handles protocol events, although you have to tell it what kind of events matter (carrier? does it use hardware flow control, ^S/^Q, or ETX/ACK?) I suggest heading to MSDN and digging up documentation on how serial devices work on Windows. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString questions
i.e. protocol events seem to leak into an application = yuck On Thu, Feb 26, 2009 at 10:57 PM, Galchin, Vasili vigalc...@gmail.comwrote: I already looked at MSDN examples and am not seriously enccouraged ;^( Vasili On Thu, Feb 26, 2009 at 10:51 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2009 Feb 26, at 23:45, Galchin, Vasili wrote: I have forgotten about RS232 protocol. Can I just reads and writes from the RS232 device from an application to handle data? Or do I need to handle RS232 protocol events in the application? Usually the OS handles protocol events, although you have to tell it what kind of events matter (carrier? does it use hardware flow control, ^S/^Q, or ETX/ACK?) I suggest heading to MSDN and digging up documentation on how serial devices work on Windows. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString questions
;^) On Thu, Feb 26, 2009 at 11:15 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2009 Feb 26, at 23:58, Galchin, Vasili wrote: i.e. protocol events seem to leak into an application = yuck On Thu, Feb 26, 2009 at 10:57 PM, Galchin, Vasili vigalc...@gmail.comwrote: I already looked at MSDN examples and am not seriously enccouraged ;^( So, next stop: look for a serial library in C (or C++ with appropriate wrappers) for Win32 and make an FFI binding for it. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] MapReduce reverse engineered
Hello, Here is an interesting paper of Google's MapReduce reverse engineered into Haskell. I apologize if already posted . http://www.cs.vu.nl/~ralf/MapReduce/ Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell users in the Houston area??
Hello, Are there Haskell users in the Houston area? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] darcs send errors that I don't understand ....
Shall I send this patch? (1/1) [ynWvpxqadjk], or ? for help: y Error in execvp: No such file or directory darcs: timer_settime: Invalid argument Failed to execute external command: /usr/sbin/sendmail -i -t Lowlevel error: execvp: Illegal seek Redirects: (File /home/vigalchin/FTP/Ketil/biolib/darcsOuDSC9,Null,AsIs) Can anybody help me on the errors above? (The /usr/sbin/sendmail I think I understand ... probably haven't set up sendmail yet). Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] MySQL and HDBC?
ok .. thank you. Vasili On Fri, Jan 23, 2009 at 3:23 AM, Duncan Coutts duncan.cou...@worc.ox.ac.ukwrote: On Fri, 2009-01-23 at 08:06 +, Sebastian Sylvan wrote: 2009/1/23 Galchin, Vasili vigalc...@gmail.com Hello, Real World Haskell seems to say that the abstraction layer HDBC doesn't support MySQL. If so, in what sense doesn't HDBC support MySQL?? It doesn't have a MySQL backend. However, it does have an ODBC backend which should work fine with MySQL. This was uploaded to hackage yesterday: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-mysql-0.1 You might like to test it and give feedback to the author. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Big endian vs little endian in Haskell land?
Hi Tom, What is an example of some software in Hackage that reads/writes things like integers to persistent store ... i.e. where endian-ness is an issue? Regards, Vasili On Thu, Jan 22, 2009 at 7:24 AM, Thomas DuBuisson thomas.dubuis...@gmail.com wrote: Sure, I've had to deal with this frequently. Luckily, Data.Binary has functions like getWord32be, putWord64le, etc. I've never had any problems and typically don't worry about the wire format after making the Binary instances. Or, if your question was what types of programs might be concerned you can include any program that writes data to a file where the file might be read on a different system and networking programs, obviously. Tom 2009/1/22 Galchin, Vasili vigalc...@gmail.com: Hello, Are there applications that have to deal with both(!!!) big endian and little endian on persistent store?? I.e. when marshalling out and unmarshalling in endian-ness has to be considered?? Regards, Vasili ___ 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] MySQL and HDBC?
Hello, Real World Haskell seems to say that the abstraction layer HDBC doesn't support MySQL. If so, in what sense doesn't HDBC support MySQL?? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Big endian vs little endian in Haskell land?
Hello, Are there applications that have to deal with both(!!!) big endian and little endian on persistent store?? I.e. when marshalling out and unmarshalling in endian-ness has to be considered?? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] GHCi debugger question
Hello, I have a collection of functions .. but no main function. I am reading Step Inside the GHCi debugger from Monad.Reader Issue 10 by Bernie Pope. If I don't have a main function can I still use the ghci debugger? (I tried to set a breakpoint on one of my functions but it didn't work). Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] software correctness ... can we in FPL step up to the plate??
http://www.businessweek.com/the_thread/techbeat/archives/2009/01/nsa_dhs_industr.html?link_position=link3 ... I think that http://www.galois.com is already doing as stated in the article/ .. I sincerely think there is a segway for Haskell here with strong and static type checking.. ?? Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
Hi Manlio, ok .. yeh ... I will have to remove the code in HsUnix.h and/or remove references. Currently I am trying to finish another Haskell project. I don't think these include files shouldcause correctness problems, yes? If so, I will get to this problem later. ??? Regards, Vasili On Wed, Jan 14, 2009 at 5:03 AM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: Hi Manlio, Are you now talking about code in Code from HsUnix.h and execvpe.h? Yes. Manlio ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ByteString intercalate semantics??
Hello, From Hoogle (my friend) *intercalate* :: ByteStringhttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#t%3AByteString- [ ByteStringhttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#t%3AByteString] - ByteStringhttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#t%3AByteString Sourcehttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/src/Data-ByteString.html#intercalate *O(n)* The intercalatehttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#v%3Aintercalatefunction takes a ByteStringhttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#t%3AByteStringand a list of ByteStringhttp://hackage.haskell.org/packages/archive/bytestring/0.9.1.4/doc/html/Data-ByteString.html#t%3AByteStrings and concatenates the list after interspersing the first argument between each element of the list. So intercalate doesn't do a simple concatenation? Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] posting newspaper article?
Hello, I don't want to risk the ire of the Haskell Cafe community. Is there a moderator? I want to post an editorial by the Big Blue CEO which seems to me to be very interesting vis-a-vis the FPL community and Haskell in general. I have an online subscription and can post to stimulate discussion. Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
Hi Manlio, Are you now talking about code in Code from HsUnix.h and execvpe.h? Vasili On Tue, Jan 13, 2009 at 5:09 AM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: [...] I would like to help to develope any wrappers around POSIX API. ^^^ you are suggesting to change current wrapper API? No, but I don't understand why to link code that seems to be not used. P.S.: is the problem I have reported riproducible? I'm on Linux Debian Lenny. Manlio Perillo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] endian-ness ....
Hello, I am used to network-neutral endianness (TCP/IP) As far as persistent store, endian neutralness relies on a convention in a particular marshalling/serializing situation??? Sorry ... probably dumb question .. and I think I know the answer ... but what the hey. I like to get a consensus answer. Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
On Sat, Jan 10, 2009 at 5:52 AM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: Manlio, so compiling to native machine code works ok but if using ghci byte-code interpreter doesn't . can you supply your program please? Right. Can't you reproduce the problem? The program is very simple (I was just testing your package, since I suggested the use of clock_gettime to Mauricio in a previous post): import System.Posix.Realtime.RTTime import System.Posix.Realtime.RTDataTypes main = do time - clockGetTime Clock_Monotonic; print $ tvSec time print $ tvNsec time runghc rttime.hs I suspect that this is a problem with shared library loading in ghci, since the C code you use for your package, is also used by the base package (for the Posix subsystem). By the way: I don't see reasons to add all that code, since it is not used. ^^^ which code? However, when I tried to remove all the unused code, executing the program gave me a stack exception (maybe I have removed too many things...). One personal note: I don't like `tvSec` and `tvNsec`, I think `seconds` and `nanoSeconds` is a better choice. ^^^ ok .. I agree and will change. I asked others for criticisms(constructive) when I put to hackage but didn't get any. This is good ... Also, it would useful a function to compute elapsed time (maybe a general class in base package, and a specialized instance declaration in posix-realtime for the timespec?) Vasili [...] Manlio ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
On Sat, Jan 10, 2009 at 4:37 PM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: [...] I suspect that this is a problem with shared library loading in ghci, since the C code you use for your package, is also used by the base package (for the Posix subsystem). By the way: I don't see reasons to add all that code, since it is not used. ^^^ which code? Code from HsUnix.h and execvpe.h. One personal note: I don't like `tvSec` and `tvNsec`, I think `seconds` and `nanoSeconds` is a better choice. ^^^ ok .. I agree and will change. I asked others for criticisms(constructive) when I put to hackage but didn't get any. This is good ... I would like to help to develope any wrappers around POSIX API. ^^^ you are suggesting to change current wrapper API? Vasili Manlio ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
Hi Manlio, I am the author of this package. Let me think about what you have said. Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
hmm Vasili On Fri, Jan 9, 2009 at 5:30 PM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: Hi Manlio, I am the author of this package. Let me think about what you have said. Regards, Vasili Thanks. Note that there are no problems if I compile my program, instead of running it using ghci. Manlio Perillo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: Issues with posix-realtime package
Manlio, so compiling to native machine code works ok but if using ghci byte-code interpreter doesn't . can you supply your program please? Vasili On Fri, Jan 9, 2009 at 5:30 PM, Manlio Perillo manlio_peri...@libero.itwrote: Galchin, Vasili ha scritto: Hi Manlio, I am the author of this package. Let me think about what you have said. Regards, Vasili Thanks. Note that there are no problems if I compile my program, instead of running it using ghci. Manlio Perillo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] nested function application question
Hello, I have the following: B.intercalate $ B.intercalate ByteString [ByteString] [ByteString] I get a type error with this. If I comment out the 2nd B.intercalate and the third parameter I get no type errors. Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] nested function application question
Hi Max, That is what should happen The inner B.intercalate will produce the ByteString to be used by the B.intercalate. ?? Vasili On Mon, Jan 5, 2009 at 12:13 PM, Max Rabkin max.rab...@gmail.com wrote: 2009/1/5 Galchin, Vasili vigalc...@gmail.com: Hello, I have the following: B.intercalate $ B.intercalate ByteString [ByteString] [ByteString] I get a type error with this. If I comment out the 2nd B.intercalate and the third parameter I get no type errors. B.intercalate needs a ByteString and a list of ByteStrings. Two B.intercalates need two ByteStrings and two lists of ByteStrings. --Max ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] nested function application question
yep ... that is exactly what I meant!! so can I use more $'s or must I use parens (as you did) to disambiguate? Vasili On Mon, Jan 5, 2009 at 12:18 PM, Ross Mellgren rmm-hask...@z.odi.ac wrote: Did you mean: B.intercalate (B.intercalate ByteString [ByteString]) [ByteString] ($) applies all the way to the right, so you were giving the inner intercalate two lists of ByteString. -Ross On Jan 5, 2009, at 1:17 PM, Galchin, Vasili wrote: Hi Max, That is what should happen The inner B.intercalate will produce the ByteString to be used by the B.intercalate. ?? Vasili On Mon, Jan 5, 2009 at 12:13 PM, Max Rabkin max.rab...@gmail.com wrote: 2009/1/5 Galchin, Vasili vigalc...@gmail.com: Hello, I have the following: B.intercalate $ B.intercalate ByteString [ByteString] [ByteString] I get a type error with this. If I comment out the 2nd B.intercalate and the third parameter I get no type errors. B.intercalate needs a ByteString and a list of ByteStrings. Two B.intercalates need two ByteStrings and two lists of ByteStrings. --Max ___ 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] nested function application question
Thank you everybody! Vasili On Mon, Jan 5, 2009 at 12:57 PM, David Menendez d...@zednenem.com wrote: 2009/1/5 Ross Mellgren rmm-hask...@z.odi.ac: If for some reason you absolutely need to avoid parentheses (mostly as a thought exercise, I guess), you'd have to have a flipped version of intercalate: Or a version of ($) that associates differently. infixl 0 $$ f $$ x = f x *Main Data.ByteString :t \x y z - intercalate $$ intercalate x y $$ z \x y z - intercalate $$ intercalate x y $$ z :: ByteString - [ByteString] - [ByteString] - ByteString -- Dave Menendez d...@zednenem.com http://www.eyrie.org/~zednenem/ http://www.eyrie.org/%7Ezednenem/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] representation on persistent store question
Hello, Say I have several data structures that are marshalled(using Binary class) and written out linearly on persistence store. I want to calculate the offsets in bytes of these various data structures in a functional language way. What is the suggested (elegant) way ? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] representation on persistent store question
The second data structure is an array of structure .. the third set of structure are a series of bit lists ... Each array element has an offset for its corresponding bit list: [{, offset: Int64}] [[bit]] when I marshall up all this offset should be the serialized/marshalled offset of its correponding [bit]!! Regards, Vasili On Thu, Jan 1, 2009 at 10:51 PM, Antoine Latter aslat...@gmail.com wrote: 2009/1/1 Galchin, Vasili vigalc...@gmail.com: Say I have several data structures that are marshalled(using Binary class) and written out linearly on persistence store. I want to calculate the offsets in bytes of these various data structures in a functional language way. What is the suggested (elegant) way ? It doesn't look like the 'Put' monad in te binary package keeps track of position in the output stream. Is there a bigger-picture goal you're trying to achieve? Maybe we could suggest a better approach by stepping back a bit. -Antoine ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] representation on persistent store question
dude .. you rock ... let me check it out ;^) Vasili On Fri, Jan 2, 2009 at 12:24 AM, Antoine Latter aslat...@gmail.com wrote: On Jan 1, 2009 11:50pm, Galchin, Vasili vigalc...@gmail.com wrote: it is a bioinformatics standard .. . I am writing on this newsgroup in order to try to be objective to get a correct and elegant answer .. in any case I am helping on the bioinformatics code (you can see on Hackage). I am trying to finish the 2Bit file format code ... it seems to me that bioinformatics as an area is not clearly defined e.g. it is unclear to me whether offset is a marshalled/serialized concept or or unmarshalled/unserialized concept . this distinction is very important I will have to think about more myself! Regards, Vasili Here's some code using Data.Binary to store data as offsets into a byte array. I haven't tested it too much, so it may have bugs. Maybe there's some inspiration in there. -Antoine import Data.Binary import Data.Binary.Get import Data.Binary.Put import Data.ByteString.Lazy (ByteString) import qualified Data.ByteString.Lazy as B data TestStruct = TestStruct { property1 :: ByteString , property2 :: ByteString , property3 :: ByteString } deriving Show {- The serialized format looks like (all big-endian): * first offset into data block (Word32) * second offset into data block (Word32) * third offset into data block (Word32) * length of bnary data block (Word32) * binary data block (Arbitrary binary data) -} instance Binary TestStruct where put struct = let data1 = property1 struct data2 = property2 struct data3 = property3 struct dataBlock = data1 `B.append` data2 `B.append` data3 offset1 = 0 offset2 = offset1 + B.length data1 offset3 = offset2 + B.length data2 in do putWord32be $ fromIntegral offset1 putWord32be $ fromIntegral offset2 putWord32be $ fromIntegral offset3 putWord32be $ fromIntegral $ B.length dataBlock putLazyByteString dataBlock get = do offset1 - getWord32be offset2 - getWord32be offset3 - getWord32be dataBlockLength - getWord32be dataBlock - B.drop (fromIntegral offset1) `fmap` getLazyByteString (fromIntegral dataBlockLength) let (data1, rest1) = B.splitAt (fromIntegral $ offset2 - offset1) dataBlock (data2, rest2) = B.splitAt (fromIntegral $ offset3 - offset2 - offset1) rest1 data3 = rest2 return $ TestStruct data1 data2 data3 ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Data.ByteString join
Hello, http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html but vigalc...@ubuntu:~$ ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude :m +Data.ByteString Prelude Data.ByteString :t join interactive:1:0: Not in scope: `join' Prelude Data.ByteString Why no join function? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString join
no Martijn ... I am using ghci ... not Hugs On Sun, Dec 28, 2008 at 4:02 AM, Martijn van Steenbergen mart...@van.steenbergen.nl wrote: It might be because you're looking at Hugs docs while using GHC. Galchin, Vasili wrote: Hello, http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html but vigalc...@ubuntu:~$ ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude :m +Data.ByteString Prelude Data.ByteString :t join interactive:1:0: Not in scope: `join' Prelude Data.ByteString Why no join function? Regards, Vasili ___ 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: Re[2]: [Haskell-cafe] Data.ByteString join
ooops ... .my bad ... so I guess Hoogle is the way to go?? On Sun, Dec 28, 2008 at 5:39 AM, Bulat Ziganshin bulat.zigans...@gmail.comwrote: Hello Vasili, Sunday, December 28, 2008, 1:59:43 PM, you wrote: http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html look carefully - it's hugs docs -- Best regards, Bulatmailto:bulat.zigans...@gmail.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: Re[2]: [Haskell-cafe] Data.ByteString join
Hoogle is my friend?! On Sun, Dec 28, 2008 at 5:49 AM, Galchin, Vasili vigalc...@gmail.comwrote: ooops ... .my bad ... so I guess Hoogle is the way to go?? On Sun, Dec 28, 2008 at 5:39 AM, Bulat Ziganshin bulat.zigans...@gmail.com wrote: Hello Vasili, Sunday, December 28, 2008, 1:59:43 PM, you wrote: http://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html look carefully - it's hugs docs -- Best regards, Bulatmailto:bulat.zigans...@gmail.com ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString join
Thank Duncan, Martijn, Bulat and Brandon! Vasili On Sun, Dec 28, 2008 at 10:47 AM, Duncan Coutts duncan.cou...@worc.ox.ac.uk wrote: On Sun, 2008-12-28 at 03:54 -0600, Galchin, Vasili wrote: Prelude :m +Data.ByteString Prelude Data.ByteString :t join interactive:1:0: Not in scope: `join' Prelude Data.ByteString Why no join function? Because we removed it from the bytestring package in version 0.9. It had been deprecated for some time in favour of intercalate. So that's why the version of hugs you're using has it still but the more recent version of ghci you're using does not. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString typechecking issues....
Hi Luke, joinhttp://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#v%3Ajoin:: ByteStringhttp://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString- [ ByteStringhttp://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString] - ByteStringhttp://cvs.haskell.org/Hugs/pages/libraries/base/Data-ByteString.html#t%3AByteString??? Vasili On Sat, Dec 27, 2008 at 1:58 AM, Luke Palmer lrpal...@gmail.com wrote: 2008/12/26 Galchin, Vasili vigalc...@gmail.com Hello, I have a ByteString - [ByteString] - ByteString situation, i.e. concatenation . -- marshall into ByteString representation join (encode (buildHeader ss)) -- ByteString (map encode (buildEntries (sequenceListExtract ss))) -- [ByteString] I get the following typecheck error which is vexing me Couldn't match expected type `t - t - B.ByteString' against inferred type `B.ByteString' ??? join is not a function in Data.ByteString. By the error I'm guessing you're getting the join from Control.Monad, instantiated to (-). You are looking for concat; i.e. concat $ encode (buildHeader ss) : -- ByteString map encode (buildEntries (sequenceListExtract ss)) -- [ByteString] (Control.Monad.join does end up meaningconcat when working on lists of lists, but it does not generalize to lists of other things). Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ByteString typechecking issues....
Not in scope: `Data.ByteString.join' when Data.ByteString.join $ encode (buildHeader ss) -- ByteString -- [] (map encode (buildEntries (sequenceListExtract ss))) -- [ByteString] ?? Thanks, guys On Sat, Dec 27, 2008 at 3:13 AM, Eugene Kirpichov ekirpic...@gmail.comwrote: I think Luke meant that you forgot to qualify the import for join, and the compiler guessed that you are meaning the monad one, thus the error. 2008/12/27 Galchin, Vasili vigalc...@gmail.com: Hi Luke, join :: ByteString - [ByteString] - ByteString ??? Vasili On Sat, Dec 27, 2008 at 1:58 AM, Luke Palmer lrpal...@gmail.com wrote: 2008/12/26 Galchin, Vasili vigalc...@gmail.com Hello, I have a ByteString - [ByteString] - ByteString situation, i.e. concatenation . -- marshall into ByteString representation join (encode (buildHeader ss)) -- ByteString (map encode (buildEntries (sequenceListExtract ss))) -- [ByteString] I get the following typecheck error which is vexing me Couldn't match expected type `t - t - B.ByteString' against inferred type `B.ByteString' ??? join is not a function in Data.ByteString. By the error I'm guessing you're getting the join from Control.Monad, instantiated to (-). You are looking for concat; i.e. concat $ encode (buildHeader ss) : -- ByteString map encode (buildEntries (sequenceListExtract ss)) -- [ByteString] (Control.Monad.join does end up meaningconcat when working on lists of lists, but it does not generalize to lists of other things). Luke ___ 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] ByteString typechecking issues....
Brandon, I am solely operating based on the type signatures of function .. hence I picked Data.ByteString.Join :: ByteString - [ByteString] - ByteString ... Vasili On Sat, Dec 27, 2008 at 2:21 PM, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: On 2008 Dec 27, at 12:42, Galchin, Vasili wrote: Not in scope: `Data.ByteString.join' Why are you trying to use join? It's not a string function; it's a function on lists which accidentally does something useful on normal Strings because they're implemented as lists. ByteStrings aren't lists, so there is no useful join, and ghc finds an instantiation of join somewhere else and does something unexpected as a result. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu electrical and computer engineering, carnegie mellon universityKF8NH ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ByteString typechecking issues....
Hello, I have a ByteString - [ByteString] - ByteString situation, i.e. concatenation . -- marshall into ByteString representation join (encode (buildHeader ss)) -- ByteString (map encode (buildEntries (sequenceListExtract ss))) -- [ByteString] I get the following typecheck error which is vexing me Couldn't match expected type `t - t - B.ByteString' against inferred type `B.ByteString' ??? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Re: ByteString typechecking issues....
Hello, Using a strongly-typed language so should just have to check domain and co-domain of functions? Vasili On Fri, Dec 26, 2008 at 11:13 PM, Galchin, Vasili vigalc...@gmail.comwrote: Hello, I have a ByteString - [ByteString] - ByteString situation, i.e. concatenation . -- marshall into ByteString representation join (encode (buildHeader ss)) -- ByteString (map encode (buildEntries (sequenceListExtract ss))) -- [ByteString] I get the following typecheck error which is vexing me Couldn't match expected type `t - t - B.ByteString' against inferred type `B.ByteString' ??? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] [Byte8] - ByteString
Hello, I have been reading through Data-ByteString. What is the is most elegant and efficient way to map/unmap [Byte8] - ByteString? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] [Byte8] - ByteString
sorry actually ByteString - [Word8] On Tue, Dec 23, 2008 at 12:49 AM, Luke Palmer lrpal...@gmail.com wrote: 2008/12/22 Galchin, Vasili vigalc...@gmail.com Hello, I have been reading through Data-ByteString. What is the is most elegant and efficient way to map/unmap [Byte8] - ByteString? pack and unpack. You might need a fromIntegral in there, depending on whether Byte8 and Word8 are the same. Luke ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
based on ghc-pkg list in my global ghc install I have bytestring-0.9.0.1 in my local ghc install I have bytestring-0.9.1.0 this difference of versions I strongly think is causing my problems.. When I run cabal install bytestring from the CLI, I get resolving differences If my assertion that the delta between the global vs local is causing my compile problems, then what should I do?? Regards, Vasili On Wed, Dec 3, 2008 at 1:52 AM, Galchin, Vasili [EMAIL PROTECTED] wrote: Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package binary-0.4.2 requires bytestring-0.9.0.1 package bio-0.3.4.1 requires bytestring-0.9.1.0 ah ha .. Ketil, this is what you are saying? If so, how do I fix? install a newer version of binary? regards, vasili On Wed, Dec 3, 2008 at 1:32 AM, Ketil Malde [EMAIL PROTECTED] wrote: Galchin, Vasili [EMAIL PROTECTED] writes: I think I am getting a namespace collition between Data.ByteString.Lazy.Char8.ByteString and Data.ByteString.Lazy.Internal.ByteString You rarely need to import 'Internal' directly. here is the error message Couldn't match expected type `B.ByteString' against inferred type `bytestring-0.9.0.1:Data.ByteString.Lazy.Internal.ByteString' Are you sure this is not just a versioning problem? I.e. that some library is built against bytestring-0.X.Y, but your current import is bytestring-0.A.B, but your program expects these to be the same? (And they probably are, but the compiler can't really tell). -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] import
specifically I am concerned about ByteString and underlying nodes .. ??? On Tue, Dec 2, 2008 at 3:45 AM, Bulat Ziganshin [EMAIL PROTECTED]wrote: Hello Vasili, Tuesday, December 2, 2008, 11:48:40 AM, you wrote: I am a little uncertain about import semantics in a hierarchical package ... i.e. if I import the root of a package root do I get everything under the root's namespace, i.e. the namespace tree? no. you import just *module*, and it gives you just the identifiers exported by module (by default - all symbols *defined* in this module) -- Best regards, Bulatmailto:[EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] import
Hello, I am a little uncertain about import semantics in a hierarchical package ... i.e. if I import the root of a package root do I get everything under the root's namespace, i.e. the namespace tree? thanks, vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
Hello, Some mention is made in corresponding web pages about implementation difference of these three different DataString impl. Any advice? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
I am getting a collision with Internal sigh. vasili On Tue, Dec 2, 2008 at 5:59 PM, Duncan Coutts [EMAIL PROTECTED]wrote: On Tue, 2008-12-02 at 17:43 -0600, Galchin, Vasili wrote: Hello, Some mention is made in corresponding web pages about implementation difference of these three different DataString impl. Any advice? Perhaps you need to ask a more specific question. Data.ByteString is a simple strict sequence of bytes (as Word8). That means the whole thing is in memory at once in one big block. Data.ByteString.Char8 provides the same type as Data.ByteString but the operations are in terms of 8-bit Chars. This is for use in files and protocols that contain ASCII as a subset. This is particularly useful for protocols containing mixed text and binary content. It should not be used instead of proper Unicode. Data.ByteString.Lazy is a different representation. As the name suggests, it's lazy like a lazy list. So like a list the whole thing does not need to be in memory if it can be processed incrementally. It supports lazy IO, like getContents does for String. It is particularly useful for handling long or unbounded streams of data in a pure style. Data.ByteString.Lazy.Char8 is the Char8 equivalent. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
I think I am getting a namespace collition between Data.ByteString.Lazy.Char8.ByteString and Data.ByteString.Lazy.Internal.ByteString here is the error message Couldn't match expected type `B.ByteString' against inferred type `bytestring-0.9.0.1:Data.ByteString.Lazy.Internal.ByteString' On Tue, Dec 2, 2008 at 8:18 PM, Galchin, Vasili [EMAIL PROTECTED] wrote: I am getting a collision with Internal sigh. vasili On Tue, Dec 2, 2008 at 5:59 PM, Duncan Coutts [EMAIL PROTECTED] wrote: On Tue, 2008-12-02 at 17:43 -0600, Galchin, Vasili wrote: Hello, Some mention is made in corresponding web pages about implementation difference of these three different DataString impl. Any advice? Perhaps you need to ask a more specific question. Data.ByteString is a simple strict sequence of bytes (as Word8). That means the whole thing is in memory at once in one big block. Data.ByteString.Char8 provides the same type as Data.ByteString but the operations are in terms of 8-bit Chars. This is for use in files and protocols that contain ASCII as a subset. This is particularly useful for protocols containing mixed text and binary content. It should not be used instead of proper Unicode. Data.ByteString.Lazy is a different representation. As the name suggests, it's lazy like a lazy list. So like a list the whole thing does not need to be in memory if it can be processed incrementally. It supports lazy IO, like getContents does for String. It is particularly useful for handling long or unbounded streams of data in a pure style. Data.ByteString.Lazy.Char8 is the Char8 equivalent. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ByteString web site papers
Hello, http://www.cse.unsw.edu.au/~dons/fps.html Are the papers/slides still up-to-date for someone to get up-to-speed on ByteString motivation and implementation? Anything more recent? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
On Wed, Dec 3, 2008 at 1:32 AM, Ketil Malde [EMAIL PROTECTED] wrote: Galchin, Vasili [EMAIL PROTECTED] writes: I think I am getting a namespace collition between Data.ByteString.Lazy.Char8.ByteString and Data.ByteString.Lazy.Internal.ByteString You rarely need to import 'Internal' directly. here is the error message Couldn't match expected type `B.ByteString' against inferred type `bytestring-0.9.0.1:Data.ByteString.Lazy.Internal.ByteString' Are you sure this is not just a versioning problem? I.e. that some library is built against bytestring-0.X.Y, but your current import is bytestring-0.A.B, but your program expects these to be the same? (And they probably are, but the compiler can't really tell). ^^ oh great ;^) how can ascertain this situation? - vasili -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Data.ByteString vs Data.ByteString.Lazy vs Data.ByteString.Char8
Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package binary-0.4.2 requires bytestring-0.9.0.1 package bio-0.3.4.1 requires bytestring-0.9.1.0 ah ha .. Ketil, this is what you are saying? If so, how do I fix? install a newer version of binary? regards, vasili On Wed, Dec 3, 2008 at 1:32 AM, Ketil Malde [EMAIL PROTECTED] wrote: Galchin, Vasili [EMAIL PROTECTED] writes: I think I am getting a namespace collition between Data.ByteString.Lazy.Char8.ByteString and Data.ByteString.Lazy.Internal.ByteString You rarely need to import 'Internal' directly. here is the error message Couldn't match expected type `B.ByteString' against inferred type `bytestring-0.9.0.1:Data.ByteString.Lazy.Internal.ByteString' Are you sure this is not just a versioning problem? I.e. that some library is built against bytestring-0.X.Y, but your current import is bytestring-0.A.B, but your program expects these to be the same? (And they probably are, but the compiler can't really tell). -k -- If I haven't seen further, it is by standing in the footprints of giants ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] I have forgotten .. ghci question
Hello, I have an experimental version of a package ~/FTP/Haskell/blah. Who I point ghci ath this experimental package version so I can poke around? Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Philip Wadler video on Howard-Curry Correspondence ???
Hello, I am reading re-reading Prof. Wadler paper Proofs are Programs: 19th Century Logic and 21st Century Computing but also want to re-read watch his video on same subject. ??? Very kind thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] IRC question
Hello, I am using Ubuntu Linux and I want to get the Haskell IRC feed. What IRC client can I use and how to configure? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell library support
Hi Jeff, Is http://haskell.org/haskellwiki/Wanted_libraries kept up to date? I wouldn't want to reinvent a wheel ;^) Vasili On Mon, Nov 17, 2008 at 7:04 PM, Jeff Zaroyko [EMAIL PROTECTED] wrote: 2008/11/15 Galchin, Vasili [EMAIL PROTECTED]: Hello, I am looking for something to work on. Where are there perceived holes in the Haskell library support? Regards, Vasili Hello Vasili Maybe the haskell.org wiki would be a good place for people to record their suggestions? http://haskell.org/haskellwiki/Wanted_libraries looks like a suitable place. Regards, Jeff ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell library support
Hello, I am looking for something to work on. Where are there perceived holes in the Haskell library support? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Hugs GraphicsUtils legacy code
Hello, What is the suggested migration path from the Hugs GraphicsUtils to contemporary Haskell?? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Hugs GraphicsUtils legacy code
I found some code that I want to run and that imports GraphicsUtils ... On Thu, Oct 30, 2008 at 12:25 AM, Don Stewart [EMAIL PROTECTED] wrote: vigalchin: Hello, What is the suggested migration path from the Hugs GraphicsUtils to contemporary Haskell?? Thanks, Vasili I don't believe anyone has ever asked that question. If you're doing graphics, in modern Haskell, I'd suggest gtk2hs + ghc. http://haskell.org/gtk2hs -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Instances of Lattice?
Hi Henning, I am rereading my emails and I don't believe I got an examples of instance Lattice. E.g. instance Lattice Bool. ?? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] universal algebra support in Haskell?
Hello, I see that there is a Monoid class from Data.Monoid. What other algebras like Group, Ring, etc. have support in Haskell? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] the Haskell notion of class vis-a-vis universal algebra?
Hello, What is the relationship of a Haskell class to universal algebra? (a refresher ... http://en.wikipedia.org/wiki/Universal_algebra) ... it seems that all types that belong to a class are models? E.g. all monads have to satisfy the monad laws stated in the Monad class, i.e. equational axioms! Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] universal algebra support in Haskell?
Hi Henning, Do you have any examples of say instance Lattice? Vasili On Thu, Oct 23, 2008 at 11:14 AM, Henning Thielemann [EMAIL PROTECTED] wrote: On Thu, 23 Oct 2008, Galchin, Vasili wrote: I see that there is a Monoid class from Data.Monoid. What other algebras like Group, Ring, etc. have support in Haskell? http://hackage.haskell.org/cgi-bin/hackage-scripts/package/numeric-prelude/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] universal algebra support in Haskell?
oops .. I see C Bool and C Integer on http://cvs.haskell.org/darcs/numericprelude/docs/html/Algebra-Lattice.html. .. On Thu, Oct 23, 2008 at 10:56 PM, Galchin, Vasili [EMAIL PROTECTED]wrote: Hi Henning, Do you have any examples of say instance Lattice? Vasili On Thu, Oct 23, 2008 at 11:14 AM, Henning Thielemann [EMAIL PROTECTED] wrote: On Thu, 23 Oct 2008, Galchin, Vasili wrote: I see that there is a Monoid class from Data.Monoid. What other algebras like Group, Ring, etc. have support in Haskell? http://hackage.haskell.org/cgi-bin/hackage-scripts/package/numeric-prelude/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] universal algebra support in Haskell?
I cabal installed numeric-prelude .. however, unlike other packages(e.g. Sqlite3), I am unable to :m numeric-prelude in a ghci session.?? Vasili On Thu, Oct 23, 2008 at 11:14 AM, Henning Thielemann [EMAIL PROTECTED] wrote: On Thu, 23 Oct 2008, Galchin, Vasili wrote: I see that there is a Monoid class from Data.Monoid. What other algebras like Group, Ring, etc. have support in Haskell? http://hackage.haskell.org/cgi-bin/hackage-scripts/package/numeric-prelude/ ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] package question/problem
Hi Duncan, I was under the impression that HDBC doesn't support myqsl?? Regards, Vasili On Sat, Oct 18, 2008 at 6:36 PM, Duncan Coutts [EMAIL PROTECTED]wrote: On Fri, 2008-10-17 at 18:23 -0500, Galchin, Vasili wrote: Hello, I am trying to cabal install HSQL. I am using ghc 6.8.2. The simple answer is that the package is unmaintained and has not been updated to work with ghc 6.8.x. You can either use HDBC instead or fix HSQL by applying one of the patches floating around or fix it by following Bertram or Marc's advice. (Note that ghc-pkg hide/expose is a red herring) Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] package question/problem
Hello, I am trying to cabal install HSQL. I am using ghc 6.8.2. I get the following error about a non-visible/hidden package (old-time-1.0.0.0): [EMAIL PROTECTED]:~$ cabal install hsql Resolving dependencies... 'hsql-1.7' is cached. [1 of 1] Compiling Main ( Setup.lhs, dist/setup/Main.o ) Linking dist/setup/setup ... Configuring hsql-1.7... Warning: No 'build-type' specified. If you do not need a custom Setup.hs or ./configure script then use 'build-type: Simple'. Preprocessing library hsql-1.7... Building hsql-1.7... Database/HSQL.hsc:66:7: Could not find module `System.Time': it is a member of package old-time-1.0.0.0, which is hidden cabal: Error: some packages failed to install: hsql-1.7 failed during the building phase. The exception was: exit: ExitFailure 1 [EMAIL PROTECTED]:~$ I don't see (old-time-1.0.0.0) with parens around it so I am confused: [EMAIL PROTECTED]:~$ ghc-pkg list /usr/local/lib/ghc-6.8.2/package.conf: Cabal-1.2.3.0, GLUT-2.1.1.1, HUnit-1.2.0.0, OpenGL-2.2.1.1, QuickCheck-1.1.0.0, array-0.1.0.0, base-3.0.1.0, bytestring-0.9.0.1, cgi-3001.1.5.1, containers-0.1.0.1, directory-1.0.0.0, fgl-5.4.1.1, filepath-1.1.0.0, (ghc-6.8.2), haskell-src-1.0.1.1, haskell98-1.0.1.0, hpc-0.5.0.0, html-1.0.1.1, mtl-1.1.0.0, network-2.1.0.0, old-locale-1.0.0.0, old-time-1.0.0.0, packedstring-0.1.0.0, parallel-1.0.0.0, parsec-2.1.0.0, pretty-1.0.0.0, process-1.0.0.0, random-1.0.0.0, readline-1.0.1.0, regex-base-0.72.0.1, regex-compat-0.71.0.1, regex-posix-0.72.0.2, rts-1.0, stm-2.1.1.0, template-haskell-2.2.0.0, time-1.1.2.0, unix-2.3.0.0, xhtml-3000.0.2.1 /home/vigalchin/.ghc/i386-linux-6.8.2/package.conf: Cabal-1.4.0.1, GLFW-0.3, HDBC-1.1.5, HTTP-3001.0.4, MonadRandom-0.1.1, Stream-0.2.6, Takusen-0.8.3, X11-1.4.2, arrows-0.4, binary-0.4.2, category-extras-0.53.5, chp-1.1.0, dlist-0.4.1, event-list-0.0.7, ipc-0.0.3, midi-0.0.6, mtl-1.1.0.1, network-bytestring-0.1.1.2, non-negative-0.0.3, posix-realtime-0.0.0.1, posix-realtime-0.0.0.2, probability-0.2.1, quantum-arrow-0.0.4, unix-2.4.0.0, zlib-0.4.0.4 ?? What is the history of old-time package? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] mysql server on Linux
Hello, I want to use the mysql server (mysqld) on Linux. What Haskell packages must I install in order to write a Haskell mysql package?? Thank you, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Real World Haskell Chapter 11 ... Testing
Hi, Testing of pure code ... . way cool ... I am sure there literature from the first order logic, model theory, categorical logic viewpoint?? Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] the ghc reflection thing?
hello, Several months ago I saw on the wiki or maybe it was a discussion on mechanism to get the ghc compiler's state. I can't remember enough to ask even well. I know there is a wiki entry. Sorry ... I can only hint at this ... ?? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] the ghc reflection thing?
Hi Bernie, yep ... thanks! Regards, Vasili On Sun, Oct 12, 2008 at 11:30 PM, Bernie Pope [EMAIL PROTECTED]wrote: Hi Vasili, Perhaps you are looking for GHC as a library: http://www.haskell.org/haskellwiki/GHC/As_a_library Cheers, Bernie. On 13/10/2008, at 2:26 PM, Galchin, Vasili wrote: hello, Several months ago I saw on the wiki or maybe it was a discussion on mechanism to get the ghc compiler's state. I can't remember enough to ask even well. I know there is a wiki entry. Sorry ... I can only hint at this ... ?? Thanks, Vasili ___ 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] a really juvenile question .. hehehehe ;^)
ok ... by using newtype, we are constricting/constraining to a subset of CInt .. e.g. something like a subtype of CInt?? (where by subtype, I mean like the notion of subtype in languages like Ada). For our audience, can you perhaps distinguish (in a typeful way) between the Haskell notion of type, newtype and data? Or maybe let's distinguish between these notions not only in a typeful manner, but also in a historical motivation? .. ... motivations are always IMO very, very enlightening! Regards, vasili On Mon, Oct 6, 2008 at 12:47 AM, Don Stewart [EMAIL PROTECTED] wrote: Used wisely, newtype prevents accidentally constructing illegal values of Signal type, by treating them as CInts. You can restrict the valid values of the Signal type to be just those signals you define, not arbitrary bit patterns that fit in a CInt. vigalchin: Thanks Don. Maybe both for me and others in order to take the fight to the Klingons and other Baddies, please explain the typefulness protection that newtype affords over the Klingon type ... In the code that I contributed to the library, I like to think that I used newtype appropriately but not perhaps with full understanding. Thanks, Vasili On Mon, Oct 6, 2008 at 12:37 AM, Don Stewart [EMAIL PROTECTED] wrote: vigalchin: Hello, I am reading some extant Haskell code that uses Posix signals I am confused by the motivation of the following ... type [1]Signal = [2]CInt [3]nullSignal :: [4]Signal [5]internalAbort :: [6]Signal [7]sigABRT :: [8]CInt [9]realTimeAlarm :: [10]Signal [11]sigALRM :: [12]CInt [13]busError :: [14]Signal [15]sigBUS :: [16]CInt OK .. type is really just a synomym and doesn't invoke type checking like data type declarations do .. so why don't we have all the CInts substituted by Signal? I.e. what did I miss? Looks like it should all be Signal, and probably should be using a newtype, to prevent funky tricks. The Posix layer is a bit crufty. -- Don References Visible links 1. mailto:[EMAIL PROTECTED] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] a really juvenile question .. hehehehe ;^)
Hello, I am reading some extant Haskell code that uses Posix signals I am confused by the motivation of the following ... type Signalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#t%3ASignal= CInthttp://hackage.haskell.org/packages/archive/base/3.0.1.0/doc/html/Foreign-C-Types.html#t%3ACInt nullSignalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AnullSignal:: Signalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#t%3ASignal internalAborthttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AinternalAbort:: Signalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#t%3ASignal sigABRThttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AsigABRT:: CInthttp://hackage.haskell.org/packages/archive/base/3.0.1.0/doc/html/Foreign-C-Types.html#t%3ACInt realTimeAlarmhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3ArealTimeAlarm:: Signalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#t%3ASignal sigALRMhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AsigALRM:: CInthttp://hackage.haskell.org/packages/archive/base/3.0.1.0/doc/html/Foreign-C-Types.html#t%3ACInt busErrorhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AbusError:: Signalhttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#t%3ASignal sigBUShttp://hackage.haskell.org/packages/archive/unix/2.3.0.0/doc/html/System-Posix-Signals.html#v%3AsigBUS:: CInthttp://hackage.haskell.org/packages/archive/base/3.0.1.0/doc/html/Foreign-C-Types.html#t%3ACInt OK .. type is really just a synomym and doesn't invoke type checking like data type declarations do .. so why don't we have all the CInts substituted by Signal? I.e. what did I miss? Thanks, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] a really juvenile question .. hehehehe ;^)
Thanks Don. Maybe both for me and others in order to take the fight to the Klingons and other Baddies, please explain the typefulness protection that newtype affords over the Klingon type ... In the code that I contributed to the library, I like to think that I used newtype appropriately but not perhaps with full understanding. Thanks, Vasili On Mon, Oct 6, 2008 at 12:37 AM, Don Stewart [EMAIL PROTECTED] wrote: vigalchin: Hello, I am reading some extant Haskell code that uses Posix signals I am confused by the motivation of the following ... type [1]Signal = [2]CInt [3]nullSignal :: [4]Signal [5]internalAbort :: [6]Signal [7]sigABRT :: [8]CInt [9]realTimeAlarm :: [10]Signal [11]sigALRM :: [12]CInt [13]busError :: [14]Signal [15]sigBUS :: [16]CInt OK .. type is really just a synomym and doesn't invoke type checking like data type declarations do .. so why don't we have all the CInts substituted by Signal? I.e. what did I miss? Looks like it should all be Signal, and probably should be using a newtype, to prevent funky tricks. The Posix layer is a bit crufty. -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell participating in big science like CERN Hadrian...
Hello, One of my interests based on my education is grand challenge science. Ok .. let's take the CERN Hadrian Accelerator. Where do you think Haskell can fit into the CERN Hadrian effort currently? Where do you think think Haskell currently is lacking and will have to be improved in order to participate in CERN Hadrian? Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell participating in big science like CERN Hadrian...
On Fri, Oct 3, 2008 at 2:38 PM, Don Stewart [EMAIL PROTECTED] wrote: wchogg: On Fri, Oct 3, 2008 at 5:47 AM, Dougal Stanton [EMAIL PROTECTED] wrote: 2008/10/3 Galchin, Vasili [EMAIL PROTECTED]: Hello, One of my interests based on my education is grand challenge science. Ok .. let's take the CERN Hadrian Accelerator. Where do you think Haskell can fit into the CERN Hadrian effort currently? Where do you think think Haskell currently is lacking and will have to be improved in order to participate in CERN Hadrian? Is that the experiment where Picts are accelerated to just short of the speed of light in order to smash through to the Roman Empire? ;-) I don't know what the main computational challenges are to the LHC researchers. The stuff in the press has mostly been about infrastructure --- how to store the gigabytes of data per second that they end up keeping, out of the petabytes that are produced in the first place (or something). Well, with the LHC efforts I don't think a technology like Haskell really has a place...at least not now. Even just a few years back, when I worked on this stuff, we were still doing lots of simulation in preparation for the actual live experiment and Haskell might have been a good choice for some of the tools. All of the detector simulation was written in C++, because C++ is the new FORTRAN to physicists, and you ain't seen nothing till you've seen a jury-rigged form of lazy evaluation built into a class hierarchy in C++. Now, would the C++ based simulation have run faster than a Haskell based one? Quite possibly. On the other hand, I remember how many delays and problems were caused by the sheer complexity of the codebase. That's where a more modern programming language might have been extremely helpful. How about EDSLs for producing high assurance controllers, and other robust devices they might need. I imagine the LHC has a good need for verified software components... ^^ totally agree on the verified Don. Don, by controller do you mean an I/O controller?? Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell participating in big science like CERN Hadrian...
I have to write in C++ everyday. I just worked at D*ll .. a total train wreck . software very unstable .. written in C++ Maybe a lot of blame can be put at the door of very lazy people; however, in my opinion, the strong/static type checking seriously corral lazy developers. I have found myself almost unconsciously thinking in the Haskell strong type checking Welt Anschauung at work! Totally rocks! Vasili On Fri, Oct 3, 2008 at 8:29 AM, Creighton Hogg [EMAIL PROTECTED] wrote: On Fri, Oct 3, 2008 at 5:47 AM, Dougal Stanton [EMAIL PROTECTED] wrote: 2008/10/3 Galchin, Vasili [EMAIL PROTECTED]: Hello, One of my interests based on my education is grand challenge science. Ok .. let's take the CERN Hadrian Accelerator. Where do you think Haskell can fit into the CERN Hadrian effort currently? Where do you think think Haskell currently is lacking and will have to be improved in order to participate in CERN Hadrian? Is that the experiment where Picts are accelerated to just short of the speed of light in order to smash through to the Roman Empire? ;-) I don't know what the main computational challenges are to the LHC researchers. The stuff in the press has mostly been about infrastructure --- how to store the gigabytes of data per second that they end up keeping, out of the petabytes that are produced in the first place (or something). Well, with the LHC efforts I don't think a technology like Haskell really has a place...at least not now. Even just a few years back, when I worked on this stuff, we were still doing lots of simulation in preparation for the actual live experiment and Haskell might have been a good choice for some of the tools. All of the detector simulation was written in C++, because C++ is the new FORTRAN to physicists, and you ain't seen nothing till you've seen a jury-rigged form of lazy evaluation built into a class hierarchy in C++. Now, would the C++ based simulation have run faster than a Haskell based one? Quite possibly. On the other hand, I remember how many delays and problems were caused by the sheer complexity of the codebase. That's where a more modern programming language might have been extremely helpful. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] maybe a goal and challenge for the Haskell in terms of scientific computing
Hello, Here is a site I discovered a while back for another language ... I guess in the back of my mind this more where I was going vis-a-vis scientific computing http://www.enthought.com/ Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] maybe a goal and challenge for the Haskell in terms of scientific computing
Let me recuse myself What is the nature of the open source license? Vasili On Fri, Oct 3, 2008 at 8:39 PM, Jeff Wheeler [EMAIL PROTECTED] wrote: On Oct 3, 2008, at 8:26 PM, Galchin, Vasili wrote: Here is a site I discovered a while back for another language ... I guess in the back of my mind this more where I was going vis-a-vis scientific computing http://www.enthought.com/ I interned at Enthought over this last summer; it's a very cool place. Many of the open-source scientific libraries could be rewritten in Haskell without significant difficulty, and this actually seems like a decent idea. SciPy and NumPy are the two most significant libraries worth thinking about, in my opinion. Some of the other software, e.g. Traits, is less relevant to scientific software in the context of Haskell. Much of their stack, especially Traits, TraitsGUI, and application libraries are designed to help write applications quickly without much programming experience. With these tools, it's easy for scientists, without knowing much Python, to write large programs that work well for most of their purposes. Jeff Wheeler ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] The Haskell Platform
Hello, I probably missed some details for which I apologize. My feeling is that periodically the haskell platform server should attempt to rebuild the Haskell library. Any library that fails to rebuild then the maintainer of that library should be notified, e.g. email, pager(;^)), Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Haskell versus F#, OCaml, et. al. ...
Hello, Frank mode on ... ;^) In terms of functionality, where is Haskell superior vs inferior to ML, Caml, OCaml, F#, Erlang, etc.? E.g. in terms of library functionality? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell versus F#, OCaml, et. al. ...
thanks .. ... just trying to get an objective viewpoint and see where the holes are ... Vasili On Tue, Sep 30, 2008 at 1:46 AM, Don Stewart [EMAIL PROTECTED] wrote: vigalchin: Hello, Frank mode on ... ;^) In terms of functionality, where is Haskell superior vs inferior to ML, Caml, OCaml, F#, Erlang, etc.? E.g. in terms of library functionality? Without more information, all we can really do is an overview. There's almost 800 Haskell libraries on hackage.haskell.org (millions of lines of code). On average, 2 new libraries are released each day (though 12 new libs were released in the last 24 hours). That's 700 new libraries a year at the current rate. If I visit Arch Linux, I find, 602 Haskell libraries and tools,http://tinyurl.com/3jxlpl 21 OCaml libraries and tools, http://tinyurl.com/4fl485 7 Erlang libraries and tools, http://tinyurl.com/54oj7u 0 F# libraries and tools, http://tinyurl.com/4v53pl Of course, this is on Linux, and your distro may vary (and on Windows, F# gets to use all the .NET libraries), but you get the idea. One of the main themes that came out of the commercial users of FP meeting last week, http://cufp.galois.com was the need for languages to start building standard, blessed platforms of libraries, and to encourage reuse. Haskell was in the nice position of already having such a process underway, http://haskell.org/haskellwiki/Haskell_Platform Enjoy! -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell versus F#, OCaml, et. al. ...
ok .. is there a roadmap for Haskell?? Vasili On Tue, Sep 30, 2008 at 2:41 AM, Don Stewart [EMAIL PROTECTED] wrote: noteed: Haskell is growing really fast (in community, libraries and tools). But, Vasili, Dons pushes a lot into Arch, so although he gives a correct statement, you shouldn't build your point of view relying only on that part of his answer Just rember the number about the Haskell libraries (and the fact it is growing), not the particular state in Arch (which seems a very nice place to use haskell, I'm new to Arch for a few days now...). Yeah, I only want to say, there's a lot of libraries, probably more than most people are aware of. I'm not really pushing Arch, only using it as a vehicle to get the Debian guys into action :-) They'll be able to move once the platform is released in the next couple of weeks, http://haskell.org/haskellwiki/Haskell_Platform -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell versus F#, OCaml, et. al. ...
side tangent ... I wrote a posix real-time package and it sits now in System 1) I'm sure it can be improved I purposely tried to keep the API close to the Posix real-time API; however, I am open to suggestions about the implementation itself and also the API 2) I am looking at changing the async i/o api some based on a suggestion to use the State monad. Regards. Vasili On Tue, Sep 30, 2008 at 3:51 AM, Don Stewart [EMAIL PROTECTED] wrote: kr.angelov: On Tue, Sep 30, 2008 at 8:46 AM, Don Stewart [EMAIL PROTECTED] wrote: There's almost 800 Haskell libraries on hackage.haskell.org (millions of lines of code). On average, 2 new libraries are released each day (though 12 new libs were released in the last 24 hours). That's 700 new libraries a year at the current rate. This is missleading and depends on how you count the libraries. For instance base is now split into arrays, containers, process, parallel etc. In the same time on platforms like Java and .NET this might be only one package. Indeed, it corresponds to only discrete units of maintainance, in separate repositories. There are no meta-packages yet. haskell-platform will be the first, http://trac.haskell.org/haskell-platform/ If we count via 'categories', say, an alternative grouping, there are 62 disinct categories on hackage, which would give an idea of what is provided logically, AI (3) Algorithms (12) Bioinformatics (8) Code Generation (3) Codec (23) Codecs (3) Combinators (2) Comonads (1) Compilers/Interpreters (16) Composition (1) Concurrency (1) Console (2) Control (34) Cryptography (4) Data (72) Data Mining (2) Data Structures (16) Database (32) Debug (1) Desktop (1) Development (41) Distributed Computing (5) Distribution (14) Editor (4) Foreign (5) FRP (4) Game (24) Generics (5) Graphics (41) GUI (8) Hardware (3) Interfaces (4) Language (31) List (2) Math (30) Monadic Regions (1) Monads (8) Music (3) Natural Language Processing (9) Network (46) Numerical (2) Other (1) ParserCombinators (1) Parsing (17) Physics (3) Pugs (9) Reactivity (5) Screensaver (1) Scripting (1) Search (3) Sound (28) Source-tools (4) System (72) Testing (12) Text (76) Theorem Provers (2) User Interfaces (23) User-interface (1) Utils (1) Web (36) XML (11) Unclassified (21). There are duplicates here, but if you can find missing categories, that might give an indication of weak points. No Real Time package, for example. -- Don ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] state monad and continuation monads ...
Hello, I would like to read 1) pedagogical examples of State monad and the Continuation monad 2) library usage of these monads Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Google Android
Hello, Do there currently (or in the works) exist FFI bindings for Google's Android API? Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] multi-core programming in Haskell
Thank you Murray. My post was not so clear I was referring to automatic parellelization vs manual parallelization. By automatic I mean the programmer doesn't have to indicate where to parallelize ... instead the compiler decides how to parallize! Vasili On Sat, Aug 23, 2008 at 12:58 AM, Murray Gross [EMAIL PROTECTED] wrote: Vasili: Each par sparks a new thread, which is then queued for execution. At appropriate points, the threads are distributed to available (free) processors (cores). The result is that parallelization scales automatically with the number of available processors. Take a look at the GPH site for papers that will provide more information on how parallel (and distributed) Haskell does things. Best, Murray Gross, Brooklyn College On Fri, 22 Aug 2008, Galchin, Vasili wrote: Hello, With pure side of the Haskell house, there is hope that the generated code could automagically scale as more cores are added yes? It seems that it is on the stateful monadic side of the house in an appplication that it is the programmer responsibility to design the software so that it scales across increasing cores? (I am assuming that things like par construct are monadic). On Monday, I am starting a several month project with a company. Alledgely some of the code will be written in Python. I would like engage the manager in a discussion about multi-core enabling the code now when we design and implement not later as an afterthought. Seems like a gnarly subject given current state-of-the-art software tools. Ideas?! Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] question about uploads of code contribution
ahhh ... makes perfect sense vis-a-vis the read/write problem Jeremy. Hopefully using an incremented version number is enforced via the hackage database!! ;^) Vasili On Fri, Aug 22, 2008 at 12:55 AM, Jeremy Shaw [EMAIL PROTECTED] wrote: At Fri, 22 Aug 2008 00:29:40 -0500, Galchin, Vasili wrote: 2) does the hackage database have a reader/writer lock to protect readers, i.e. people downloading when I am uploading? 1. new versions must have a different version number 2. the version number is in the tarball name therefore: 3. uploading a new version is a non-destructive operation and will not affect anyone downloading older versions. At least, that is my understanding. j. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] multi-core programming in Haskell
Hello, With pure side of the Haskell house, there is hope that the generated code could automagically scale as more cores are added yes? It seems that it is on the stateful monadic side of the house in an appplication that it is the programmer responsibility to design the software so that it scales across increasing cores? (I am assuming that things like par construct are monadic). On Monday, I am starting a several month project with a company. Alledgely some of the code will be written in Python. I would like engage the manager in a discussion about multi-core enabling the code now when we design and implement not later as an afterthought. Seems like a gnarly subject given current state-of-the-art software tools. Ideas?! Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] the process package ...
how do I unbork it? Are darcs version of package same as hackage version of packages teh same contents? Regards, Vasili On Thu, Aug 21, 2008 at 5:01 AM, Duncan Coutts [EMAIL PROTECTED]wrote: On Thu, 2008-08-21 at 00:36 -0500, Galchin, Vasili wrote: Hi Duncan, In reality there is a complaint about no configure file. In any case, you really mean autoconf and not autoreconf yes? If I should run autoconf, there is no configure.ac or configure.in file under the process directory! ?? Ah, you're using process-1.0.0.0 from hackage. It does indeed appear to be borked because it specifies build-type: Configure and yet contains no ./configure script. Sorry, I assumed that you were missing ./configure because you were using the darcs version. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] the process package ...
To be honest I'd not bother. You already have the version of the process package that came with ghc and there are no new releases that you need. That's why nobody else noticed the problem, because nobody needs to install this package, because it comes with ghc. problem here Duncan .. when I run cabal install haskelldb e.g. process is rightly seen as a dependency BUT unrightly as not currently installed ??? If you really want to re-install it anyway then you could use the darcs version that goes with the ghc-6.8.x branch: http://darcs.haskell.org/ghc-6.8/packages/process Obviously in principle the version on hackage should have worked. You'll be glad to know that hackage now checks that packages that use build-type Configure do indeed actually have a ./configure file, so this particular error cannot be repeated. Duncan Regards, Vasili On Thu, Aug 21, 2008 at 5:01 AM, Duncan Coutts [EMAIL PROTECTED] wrote: On Thu, 2008-08-21 at 00:36 -0500, Galchin, Vasili wrote: Hi Duncan, In reality there is a complaint about no configure file. In any case, you really mean autoconf and not autoreconf yes? If I should run autoconf, there is no configure.ac or configure.in file under the process directory! ?? Ah, you're using process-1.0.0.0 from hackage. It does indeed appear to be borked because it specifies build-type: Configure and yet contains no ./configure script. Sorry, I assumed that you were missing ./configure because you were using the darcs version. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] question about uploads of code contribution
Hello, 1) I want to upload a version with minor changes. Should I send out an announcement? 2) does the hackage database have a reader/writer lock to protect readers, i.e. people downloading when I am uploading? Regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] the process package ...
Hello, The process package Internal.hs references HsProcessConfig.h but this include file is not in the package include directory. Is this C include supposed to be generated? ?? KInd regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] build depends: in a .cabal file
thanks Henning. In any case, thanks to pushing I got Cabal installed. Regards, Vasili On Wed, Aug 20, 2008 at 3:04 AM, Henning Thielemann [EMAIL PROTECTED] wrote: On Mon, 18 Aug 2008, Jason Dagit wrote: 2008/8/18 Galchin, Vasili [EMAIL PROTECTED]: If by faulting in you mean downloading and installing missing dependencies, then that's exactly what the cabal-install tool does. This is exactly by faulting in .. an analogy ... Installing cabal-install seems to be a chicken and egg problem if enough packages are not already installed ... if not enough then one (me) can die of a thousand paper cuts bootstrapping packages up to where cabal-install can be installed. I am running Ubuntu Linux. Cabl-install is written in Haskell? If so, is there a pre-compiled Cabal-install that I can just install with all dependencies (packages) including. I also want to install HaskellDB painlessly ;^) ?? In my experience, with recent GHC there are only 3 packages needed to install cabal-install and it's pretty painless. You need zlib, HTTP and something else that I can't recall off the top of my head (but it tells you). I believe it's filepath. Actually, installing all of those packages is not so easy, because for installation of zlib you need zlib headers (zlib-devel package) and Cabal can't tell you! I think, cabal-install should be shipped in binary form, too, because compiling it manually is no fun. However, once cabal-install runs you won't like to miss it anymore. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] a recent Haskell contribution?
Hello, Recently someone made a post about a message-passing IPC that they contributed (within one month?). I have been searching the Haskell cafe archive to no avail. Can the contributor (or any one else) tell where the code is and any papers? Thank you, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] the process package ...
Hi Duncan, In reality there is a complaint about no configure file. In any case, you really mean autoconf and not autoreconf yes? If I should run autoconf, there is no configure.ac or configure.in file under the process directory! ?? Thanks, Vasili On Wed, Aug 20, 2008 at 6:48 AM, Duncan Coutts [EMAIL PROTECTED]wrote: On Wed, 2008-08-20 at 03:09 -0500, Galchin, Vasili wrote: Hello, The process package Internal.hs references HsProcessConfig.h but this include file is not in the package include directory. Is this C include supposed to be generated? ?? Yes. It's generated by the ./configure script, which gets run automatically when you configure the package in the standard way. If you got the code straight from darcs then you need to run autoreconf first to generate the ./configure script. Duncan ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: posix-realtime 0.0.1 (system category)
Hello, 1) I have added more to the posix realtime support. - I put in parens above because I have currently uploaded outside the Haskell Unix library .. i.e. I am still open to submitting to the Unix library. - I have also put in parens because I have not personally implemented all of the posix realtime support others have also implemented Posix realtime support. 2) I am still trying to learn the Haskell FFI .. my bad .. thank you Brandon, Derek, Don(2?), Jason, Bulat, Duncan, Felipe, Bryan, Ketli, Luke, Jonthan, Jeremy, Jules. . .. Sorry for list .. alittle corney .. but nonetheless very grateful! Who did I forget who answered my questions? Is this a pre-order? ;^) 3) There are still issues with RTDataTypes.hsc that I am working with .. in particular Sigevent. 4) This has been a learning exercise for me as I said in terms of the Haskell API and Haskell monad class. Someone one in the 2) list suggested aHaskell Posix AIO (async IO) API implemented in terms of the State monad or Continuation monad ... I didn't ignore this suggestion ... I am still thinking about .. i.e. the AIO API is a somewhat moving target. Kind regards, Vasili ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe