[Haskell-cafe] ANN: Hayoo! 2.1
Hi, We are pleased to announce the next major release 2.1 of Hayoo!, the Haskell API search engine with find-as-you-type and suggestions. Visit Hayoo! here: http://holumbus.fh-wedel.de/hayoo What's new? Thanks to Uwe Schmidt, we have completely revamped the indexer, which now also crawls package information from Hackage. Hence, Hayoo! now searches package names, package categories, package descriptions etc., too, and shows you some package results along with the functions found (some of you may have noticed this already, since this is live for testing purposes since a few months). For example, this will find you all packages in the category "Algorithms" that will do something with "sat": category:algorithms sat This will find you some strict datastructures (i.e. synopsis contains "strict" and category contains "data"): synopsis:strict category:data As we now have package information present in the search index, the algorithm for ranking the results has been adjusted to mainly depend on reverse package dependencies. Nevertheless, we are still trying to optimize this. The new indexer also supports incremental index updates, which made a rebuild of the whole infrastructure around it possible. This way, we are now able to provide daily index updates. Useful figures about the current index are shown below the query input field. Additionally, we have made some optimizations and performance improvements. This allowed us to leverage the restrictions on the query length and hence it is now possible to search for any single character (try searching for "s"). In the result display, the whole function description is now included and its formatting is preserved. Internally, the HTML rendering part has been completely rewritten, which hopefully allows for faster adoption of new features. Please let us know about any issues or suggestions. Especially some opinions about how to integrate the package information in the result display would be appreciated. Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Hayoo and Hoogle (beginner question)
On Monday 07 December 2009 10:24:37 Lyndon Maydwell wrote: > I had heard that Hoogle actually compiled any type-signatures, where > as Hayoo just did a text comparison. > > I'm not actually sure if this is true or not though. > > If it is, it would mean that "[q] -> [r] -> [(q,r)]" would return zip > in Hoogle, but not Hayoo. > > Am I right about this? Yes, we (in Hayoo!) only do text based stuff. Is is possbile to search for signatures, but no generalization etc. is done at all. This is very primitive in Hayoo! and I really suggest using Hoogle for type searches. As for the question about a command line interface: There is nothing like that for Hayoo!, although one could easily hack something together, just using some wget-grep-cut-magic. I also have some code lying around for primitive command line searches using an offline Hayoo! index. Maybe I could get that into proper shape, given enough public demand ;) Cheers, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: Hayoo! beta 0.4
Hello! We are pleased to announce the next beta version 0.4 of Hayoo!, the Haskell API search engine with find-as-you-type and suggestions. Visit Hayoo! here: http://holumbus.fh-wedel.de/hayoo This release includes some major changes to the web interface: - The full description of a function can now be displayed upon request, using the small "+" symbol in front of the description text - The most common root modules for all functions found are shown as list, providing a shortcut for further restricting the current query - Some example queries on the start page for easier use of Hayoo! Additionally, we have again updated the search index. It contains all packages from Hackage as well as gtk2hs as of 06.07.2009, a total of 111.946 function and type definitions. Please let us know about any problems, hints and suggestions. Happy hacking, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Haskell on JVM
> Incidentally, I am looking for someone well versed in the JVM who wants > to help spearhead a JVM back end for jhc. I would love to see this! With the current advent of all those languages targeting at the JVM (Groovy, Scala, Clojure) I think a JVM backend for a Haskell compiler could, together with proper Java interop, make for a major breakthrough of Haskell in general. Unforunately, as I can tell from my halfknowledge, the JVM lacks some important functionality required for properly targeting functional language features on the JVM. And here comes my question: If there is anybody with proper knowledge about this issue, I would really like to know what are those things that are missing? For example, Clojure lacks proper tail recrusion optimization due to some missing functionality in the JVM. But does anybody know the details? Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: Hayoo! beta 0.3
Hello! We are pleased to announce the next beta version 0.3 of Hayoo!, the Haskell API search engine with find-as-you-type and suggestions. Visit Hayoo! here: http://holumbus.fh-wedel.de/hayoo Basically, there is one new major feature available: Hayoo! now works even if your browser does not support JavaScript. Of course, this means that you won't have the find-as-you-type functionality, but everything else will be available. Hence everybody who has been scared away from Hayoo! because of all this crazy AJAX stuff now has no excuse anymore for not using Hayoo! ;-) Along the way we fixed several minor bugs and slightly improved the ranking algorithm as well as the help page. Since the last official announcement we were also able to bring back the source links. Still to come in the next weeks is a major index update to reflect the incredible package growth on Hackage. Please let us know about any problems, hints and suggestions. Happy hacking, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: Hayoo! beta 0.2
Hi all, thanks for all the feedback! We have just uploaded a new Hayoo! index, which fixes several small glitches (for example, in the function descriptions) but the most important thing is, that it does include the docs for Gtk2hs now. Additionally, we are working on a function to restrict the search to specific packages and will hopefully finish it this week. I will also soon have a look into all these interface related JavaScript issues, but as this unfortunately does not involve Haskell coding, it may not be on my high priority list ;) Stay tuned! Timo & Sebastian ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: Hayoo! beta 0.2
Hello, we are pleased to announce the second beta release of Hayoo!, a Haskell API search engine providing advanced features like suggestions, find-as-you-type, fuzzy queries and much more. Visit Hayoo! here: http://holumbus.fh-wedel.de/hayoo The major change is the inclusion of all packages available on Hackage, i.e. the documentation of the latest versions of all packages is included in the index. Unfortunately we had to drop the direct links to the source code, as the documentation on Hackage is currently generated without source code. But as soon as this changes, we will include these links again. Additionally, we added some tweaks to the interface which make the browser history/the back button work (at least in Firefox). Please bear in mind that this is still a beta release and we are continuously working on further improvements. Any suggestions and feedback is highly welcomed. Cheers, Timo & Sebastian ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] hs-plugins compile error
> What is the status of hs-plugins? I recently tried to install the > version plugins-1.2 on hackage, using a Gnu/Linux box with Fedora 9 > and ghc-6.8.2, but didn't get past the configure stage (see config.log > below). I am getting exactly the same error on a Gentoo box. I've tracked it down to some awkward escape character sequence in the TOP variable defined in config.h. The following patch makes it work for me, but I've no idea if this is the right way to fix this problem: hunk ./configure 1385 -TOP=`echo "Directory.getCurrentDirectory >>= putStrLn.init.tail.show " | ghc --interactive -ignore-dot-ghci -v0 | tr -d '\r'` +TOP=`echo "Directory.getCurrentDirectory >>= putStr." | ghc --interactive -ignore-dot-ghci -v0` hunk ./configure.ac 66 -TOP=`echo "Directory.getCurrentDirectory >>= putStrLn.init.tail.show " | ghc --interactive -ignore-dot-ghci -v0 | tr -d '\r'` +TOP=`echo "Directory.getCurrentDirectory >>= putStr" | ghc --interactive -ignore-dot-ghci -v0` Regards, T. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: Hayoo! beta 0.1
Hello, thanks for all the feedback so far! We have just deployed some minor updates for Hayoo!, mainly improving the ranking mechanism. It should now prefer modules from the Prelude as well as functions exactly matching the query terms. Additionally, we have started a blog about Hayoo! and Holumbus development which can be found here: http://holumbus.fh-wedel.de/blog Have fun using Hayoo! Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: Hayoo! beta 0.1
> However, I have found two bugs, or annoyances: > Using Opera 9.27 or Internet Explorer 7, > - Search results vanish when using the "back" button Yes, that is a known problem. Although I have no good idea how to solve this while keeping the AJAX stuff (that is, find as you type). > - the "Source" and ghc docs links always take me to the top of the pages, > it seems the anchors don't work. Hm, there is nothing special about these. Plain tags with an anchor, no fancy JavaScript stuff. Perhaps these browsers are generally irritated by inserting something into the DOM using JavaScript ... > In Firefox 2.0.0.13 these problems do not appear. Yes, and FF is what we recommend right now, as everything "just works". But I'll try to improve browser compatibility in future releases. > Keep up the good work! We'll try ;) Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: [Haskell] ANN: Hayoo! beta 0.1
> I'm not sure if this is documented or not, but for those interested in > creating a search template for Firefox, Quicksilver and the like, it > is possible to use a URL such as this to enter a search term: > > http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=catmaybes Well, it is not really documented, but if you visit the Hayoo! page using Firefox, it is possible to add Hayoo! as search engine to the small search box in the upper right corner using the drop down menu. Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: Hayoo! beta 0.1
On Sunday 06 April 2008 20:31:09 you wrote: > Overall feedback: Cool! So far, I like Hayoo!, and I'm therefore > interested in Holumbus. Is there some technical overview available? Currently, only what you can find on http://holumbus.fh-wedel.de but we will try to extend the site in the near future. > transcript of my short test of hayoo, including nitty-picky feedback: > [...] Thanks for this extensive feedback, some of these are known issues we're already working on which will be fixed soon. The others are on my TODO list now :) Regards, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: Hayoo! beta 0.1
On Sunday 06 April 2008 16:38:03 Richard Kelsall wrote: > Little detail : After visiting a page that appears in the search results > then doing a back button the search I did is no longer there. (On my > eccentric Firefox setup anyway.) Hm, that's strange. I know about this problem when using Konqueror, but my Firefox (Linux, 2.0.0.13) keeps the results even after visiting the documentation and hitting the back button. Which Firefox version do you use? ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: Hayoo! beta 0.1
Hello, we are pleased to announce the first beta release of Hayoo!, a Haskell API search engine providing advanced features like suggestions, find-as-you-type, fuzzy queries and much more. Visit Hayoo! here: http://holumbus.fh-wedel.de/hayoo Please bear in mind that this is still a beta release and we are continuously working on further improvements. Our plans for the future include: - Covering all documentation available at Hackage. - Compatibility with non-JavaScript enabled browsers. - Providing a web interface where people can point Hayoo! to an URI linking to Haddock documentation which will be automatically included in Hayoo!. Hayoo! was developed as a use-case for the Holumbus framework, which aims to help at the creation of very flexible and highly specialized search engines. Although Holumbus is still under heavy development and we have no official release yet, some informations and a Darcs repository are available at the Holumbus homepage: http://holumbus.fh-wedel.de Any suggestions and feedback is highly welcomed. Cheers, Timo B. Hübel & Sebastian M. Schlatt ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Wednesday 30 January 2008 14:09:31 you wrote: > > This sounds good, but don't I throw away all (possible) performance gains > > of transmitting ByteStrings directly when using show/read to convert them > > to ordinary strings and back? > > Probably not all of them, but some of them, definitely. > > If you want to transmit an arbitrary bytestring then I'm pretty sure > that transmitting a length word first is the way to go. An arbitrary > bytestring can have any value in it, so there are no values left to act > as delimiters :) You'd have to have some kind of escaping mechanism, > like show, which is expensive. Okay, then I will go this way. Thank you very much! Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Wednesday 30 January 2008 13:51:58 you wrote: > > Okay, but then I have to make sure that my strings won't contain any > > newline characters, right? If this is the case, another question raises > > up: I am using Data.Binary to do the serialization of my data structures > > to ByteString, so does anybody know if this makes guarantees about > > newline characters in the resulting ByteString? > > Otherwise I would go for the "transmit the length of what to > > expect"-solution. > > Fortunately there is an easy way to hide newlines. > > Use "show" > > That will wrap newlines as \n, as well as coping with other odd > characters like NULL which might upset a C library (if you're talking to > C at any point). > > Then you use "read" on the far end. This sounds good, but don't I throw away all (possible) performance gains of transmitting ByteStrings directly when using show/read to convert them to ordinary strings and back? Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Wednesday 30 January 2008 13:32:42 you wrote: > Timo B. Hübel wrote: > > On Wednesday 30 January 2008 13:03:27 you wrote: > >> Just don't use hGetContents in any serious code, or any program longer > >> than 4 lines. > > > > What else do you suggest? I just want to read something out of the socket > > without knowing it's length beforehand (my example here used ordinary > > Strings, but actually I want to do it with ByteStrings). > > [...] > > I strongly suspect for your example you want solution 1 and hGetLine, > though. (Which works just as well with or without ByteString) Okay, but then I have to make sure that my strings won't contain any newline characters, right? If this is the case, another question raises up: I am using Data.Binary to do the serialization of my data structures to ByteString, so does anybody know if this makes guarantees about newline characters in the resulting ByteString? Otherwise I would go for the "transmit the length of what to expect"-solution. Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Wednesday 30 January 2008 13:03:27 you wrote: > Just don't use hGetContents in any serious code, or any program longer > than 4 lines. What else do you suggest? I just want to read something out of the socket without knowing it's length beforehand (my example here used ordinary Strings, but actually I want to do it with ByteStrings). Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Tuesday 29 January 2008 17:12:19 you wrote: > There was a similar bug in lazy bytestring's hGetContents a while back > which involve it waiting for a whole chunk and not returning short > reads, but from watching the strace of this code, GHC is reading > byte-by-byte (which is actually pretty dumb, but functions). I have to apologize, I probably got something wrong when trying the solution from Mads. I did it again now and now it seems to work (apart from the client still waiting for more data instead of exiting, but thats probably due to the way the data is read). I actually want to transmit ByteStrings in exactly this way (one request to the server, the server does some processing and sends a response back), but couldn't get it to work and therefore tried with ordinary strings. Now I can move forward to ByteStrings. Thanks! Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Simple network client
On Tuesday 29 January 2008 14:44:42 Mads Lindstrøm wrote: > If you replace the `putStrLn (show res)` with this: > > mapM_ (\x -> putStr (show x) >> hFlush stdout) res > > it works. Hm, unfortunately not for me (Linux, GHC 6.8.2) ... > I _think_ the problem is that `putStrLn (show res)` will wait until it > has read all of res. But as the client do not know when the server is > finished sending data, the client will wait forever. But if this is the cause, it should happen on the server as well, because the call to hGetContents on the server side will also continue to wait for data. I also suspected some laziness issues here (like both sides waiting for each other to start evaluating), but lazy network IO doesn't make that much sense, does it? If I tell the program to send something, it should send it _now_. Any further hints are still appreciated :) Thanks, Timo ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Simple network client
Hello, I am using the very simple interactTCP example from [1] to play around with Haskell network programming but I just can't get a simple client for that example to work (it works like a charm with my telnet client, as described in the article). This is what I am trying to do with the client: main = withSocketsDo $ do hdl <- connectTo "localhost" (PortNumber 1234) hSetBuffering hdl NoBuffering hPutStr hdl "test message" res <- hGetContents hdl putStrLn (show res) The server looks like this: interactTCP :: Int -> (String -> IO String) -> IO () interactTCP port f = withSocketsDo $ do servSock <- listenOn $ PortNumber (fromIntegral port) waitLoop f servSock waitLoop f servSock = do bracket (fmap (\(h,_,_)->h) $ accept servSock) hClose (\h -> do hSetBuffering h NoBuffering hGetContents h >>= f >>= hPutStr h) waitLoop f servSock main = interactTCP 1234 (return . map toUpper) But is seems as some deadlocking occurs. Both programs just hang around doing nothing. By inserting some debug output I was able to make sure that the client successfully connects, but the data interchange just does not start. Because the whole thing works using telnet, I suspect that I am doing something fundamentally wrong in the client ... Any hints are greatly appreciated. Thanks, Timo [1] http://stephan.walter.name/blog/computers/programming/haskell/interacttcp.html ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe