Thanks for the responses all.
I'm afraid the point about GHC.Generics got lost here. I'll respond and
then rename this as a specific library proposal.
I don't want to fix the world's Eq instances, but I am ok with requiring
that people derive Generic for any data they want to put in an LVar
The abstract-par class has used multi-parameter type classes with fundeps:
http://hackage.haskell.org/package/abstract-par-0.3.1/docs/Control-Monad-Par-Class.html#g:1
And I'm trying to port it to use type families. But the following
combination seems to be completely unusable for me right now:
-classes/Control/Par/Class.hs#L60
I'm still not totally sure what thought process and design guidelines I
should internalize for next time... perhaps: make sure type families have
the minimum number of arguments that they need.
Best,
-Ryan
On Sun, Oct 6, 2013 at 8:27 PM, Ryan Newton rrnew
not about
asserting that a particular module is TrustWorthy, but rather about keeping
other users (running in -XSafe) from breaking my library.
On Sun, Oct 6, 2013 at 6:54 PM, Tillmann Rendel
ren...@informatik.uni-marburg.de wrote:
Hi,
Ryan Newton wrote:
It is very hard for me to
see why
/lvars
On Wed, Oct 2, 2013 at 1:05 PM, Ben Gamari bgamari.f...@gmail.com wrote:
Ryan Newton rrnew...@gmail.com writes:
Hi all,
I'm pleased to announce the release of our new parallel-programming
library, LVish:
hackage.haskell.org/package/lvish
It provides a Par monad
Hello all,
Normally, we don't worry *too* much about incorrect instances of standard
classes (Num, Eq, Ord) etc. They make the user's program wrong, but they
don't compromise the type system.
Unfortunately, with the LVish parallel programming library we do have a
situation where incorrect
. If you're inserting
elements in an arbitrary order, the final contents ARE deterministic, but
the comparisons that are done along the way ARE NOT.
On Tue, Oct 1, 2013 at 4:13 PM, Ryan Newton rrnew...@gmail.com wrote:
Hello all,
Normally, we don't worry *too* much about incorrect instances
Hi all,
I'm pleased to announce the release of our new parallel-programming
library, LVish:
hackage.haskell.org/package/lvish
It provides a Par monad similar to the monad-par package, but generalizes
the model to include data-structures other than single-assignment variables
(IVars). For
so the simple O(1) split would produce three submaps, the middle one
having only one element. This operation would not be very
parallelization-friendly.
Actually, I'm perfectly happy with that in this case!
- A decent work-stealing system can tolerate a fairly large number of
Oops, this email got stuck in the pipe (flaky internet):
foldMap _ Tip = mempty foldMap f (Bin _ _ v l r) = Foldable.foldMap f l
`mappend` f v `mappend` Foldable.foldMap f r
Btw, from my perspective, one problem with relying on foldMap is that it
treats the whole structure uniformly,
to iterate on the API
in public without incurring the instant rigidity of the Haskell Platform.
On Sun, Sep 29, 2013 at 11:06 PM, Ryan Newton rrnew...@gmail.com wrote:
Thanks Edward. Good point about Brent's 'split' package. That would be
a really nice place to put the class. But it doesn't
vogt.a...@gmail.com wrote:
On Sat, Sep 28, 2013 at 1:09 PM, Ryan Newton rrnew...@gmail.com wrote:
Hi all,
We all know and love Data.Foldable and are familiar with left folds and
right folds. But what you want in a parallel program is a balanced fold
over a tree. Fortunately, many of our
Thanks, that's interesting to know (re: Fortress).
Interestingly, in my Fortress days we looked at both using a split-like
interface and at a more foldMap / reduce - like interface, and it seemed
like the latter worked better – it requires a lot less boilerplate for
controlling recursion, and
.
This is a generalization of Data.List.splitEvery, perhaps it is worth
seeing how many others can be generalized similarly and talk to Brent about
adding, say, a Data.Split module to his split package in the platform?
-Edward
On Sun, Sep 29, 2013 at 4:21 AM, Ryan Newton rrnew...@gmail.com wrote:
subject change
Hi all,
We all know and love Data.Foldable and are familiar with left folds and
right folds. But what you want in a parallel program is a balanced fold
over a tree. Fortunately, many of our datatypes (Sets, Maps) actually ARE
balanced trees. Hmm, but how do we expose that?
It seems like it
If you would like to give a talk pertaining to Haskell implementation
(including libraries). Please submit a short abstract below.
See you in Boston!
-Ryan
* Call for Talks*
ACM SIGPLAN Haskell Implementors' Workshop
to intrigue and perplex Haskell
implementors, or simply to ask for feedback and collaborators.
Organisers
--
* Ryan Newton(Indiana University)
* Neal Glew (Intel Labs)
* Edward Yang(Stanford University)
* Thomas Schilling (University of Kent)
* Geoffrey
The Travis folks have decided they want to support Haskell better (multiple
compiler versions):
https://github.com/travis-ci/travis-ci/issues/882#issuecomment-20165378
(Yay!) They're asking for someone to help them up with setup scripts.
They mention their cookbook collection here:
What's the plan for what control / synchronization structures you'll use in
part 2 of the plan to implement a parallel driver?
Is the idea just to use an IO thread for each compile and block them on
MVars when they encounter dependencies? Or you can use a pool of worker
threads and a work queue,
I'm pleased to announce a new benchmarking framework, HSBencher. It's an
early prototype, but it's flexible, extensible and uploads benchmark data
to Google Fusion Tables.
Right now the fusion table upload depends on a pre-release version of
handa-gdata (0.6.2), which you can get at one of these
and it
should guarantee the setup.hs will barf with a helpful error message on
cabal 1.17.0
On Wed, May 22, 2013 at 10:50 PM, Ryan Newton rrnew...@gmail.com wrote:
A cabal-install bug https://github.com/haskell/cabal/issues/1284 was
fixed recently that pertains to building C libraries with profiling
A cabal-install bug https://github.com/haskell/cabal/issues/1284 was
fixed recently that pertains to building C libraries with profiling.
As a result, I want a certain
packagehttp://hackage.haskell.org/package/atomic-primops-0.1.0.2to
test if cabal-install 0.17.0 is used, and throw a preemptive
Hi cafe,
I use symbols all the time when manipulating code. I vacillate between
using stringtable-atom, symbol, and simple-atom. Unfortunately:
- Stringtable-atom is has a broken build right now (GHC 7.6). (Also
I've had some crashes with it in the past.)
- simple-atom has dependency
I want to enable a Haskell benchmarking bot that would upload its data to a
Google Fusion Table each time it runs. That seems to require the
service-to-service mode for Google's OAuth2:
https://developers.google.com/accounts/docs/OAuth2ServiceAccount
There are a bunch of libraries on Hackage
Hello cafe,
This is an NCurses front end for visualizing a dynamic collection of text
streams (e.g. as produced by make -j or cabal -j). It just splits the
window when more streams appear.
http://hackage.haskell.org/package/hydra-print
http://parfunk.blogspot.com/2013/04/hydra-print.html
Hello cafe,
I've been poking around and I haven't seen this addressed anywhere except
obliquely in the end of section 8.5.1 of the report, where it says that
variable argument C functions aren't supported:
http://www.haskell.org/onlinereport/haskell2010/haskellch8.html
The scenario is pretty
The scenario is pretty simple. I generate C code at runtime. I compile
it
to a .so. I know how many arguments it expects (but only at runtime),
and
I get a FunPtr back from 'dlsym'. How do I call it?
I feel that I might be confused about the problem, but since I don't
see anyone
Several of the monad-par schedulers COULD provide a MonadIO instance and
thus liftIO, which would make them easy to use for this kind of parallel
IO business:
http://hackage.haskell.org/packages/archive/monad-par/0.3/doc/html/Control-Monad-Par-Scheds-Direct.html
And that would be a little more
(i.e. have instances of the same classes -- ParFuture,
ParIVar...), so generic algorithms like parMap will still work for either.
-Ryan
Regards,
- Clark
On Wed, Oct 3, 2012 at 10:24 AM, Ryan Newton rrnew...@gmail.com wrote:
Several of the monad-par schedulers COULD provide a MonadIO
Well, this one looks like it was my fault because I never read this thread
and this morning I uploaded that package (abstract-deque) with the
conditional in the test-suite. The reason this conditional isn't there now
is that the package was hacked in place to remove tests, which is fine.
Terrible! Quite sorry that this seems to be a bug in the monad-par library.
I'm copying some of the other monad-par authors and we hopefully can get to
the bottom of this. If it's not possible to create a smaller reproducer,
is it possible to share the original test that triggers this problem?
Oops, forgot to reply-to-all. This was a minor clarification on Wren's
behalf (he can correct me if I'm wrong). But I agree with Bryan that it's
time for the thread to die:
Do bear in mind that Java doesn't optimize ---that's the JIT's job
What are we supposed to make of that?
Why write
Personally, I think cooperative concurrency is making a big comeback.
Especially in a compiler-supporting form that relies on limited CPS
(continuation-passing-style) transformation. There are server and web
services applications that motivate it (i.e. in Scala, F# async work flows).
In Haskell
The unconditional desire for maximum possible object code
performance is usually very stupid, not to mention impossible to reach
with any high level language and any multi-tasking operating system.
Definitely. I don't know if we have a catchy term for kneejerk
optimization or if it falls
Thanks David.
I'm glad to see it was discussed in the wiki. (Btw, my 2 cents is that I
like the comment pragmas more than new keywords.)
The issue that I think doesn't make it into the wiki is of splitting, not
modules, but* type-classes*. That's where I think it becomes a more serious
issue.
Good point, Antoine!
I think that does the trick.
On Thu, May 17, 2012 at 10:48 AM, Antoine Latter aslat...@gmail.com wrote:
On Thu, May 17, 2012 at 8:50 AM, Ryan Newton rrnew...@gmail.com wrote:
Thanks David.
I'm glad to see it was discussed in the wiki. (Btw, my 2 cents is that I
Indeed, cabal-install 0.14.0 has been *excellent* for me so far. Thanks
Andres!
On Thu, May 17, 2012 at 10:05 AM, Chris Dornan ch...@chrisdornan.comwrote:
I have been playing around with the latest cabal-install (0.14.0) and it is
working really nicely. Having unpacked a cabal bundle you can
Well, if it's in many ways the same as C, then again it's probably not
idiomatic Haskell.
It's just a recursive equation for mandelbrot fractals. I should have been
precise, I didn't mean that the source is literally the *same* as the C
source (i.e. there's no for loop, no mutable
Separate from whether or not we actually want this -- is it feasible?
Here's my situation. When working on parallel programming libraries in
Haskell there are very often unsafe operations one wants to do within an
otherwise pure model. For example, Accelerate currently violates safe
haskell
through the trouble of writing my algorithms in C/C++, but simple-minded
people often have a desire to get the best performance possible, in
which case you really want to use C, C++, Fortran or whatever high level
assembler language you like.
I think this is a bit of an unfair accusation
1. cprng-aes is painfully slow.
when using the haskell AES implementation yes. with AESNI it fly, and even
more when
i'll have time to chunk the generation to bigger blocks (says 128 AES
block at a time)
One data-point -- in intel-aes I needed to do bigger blocks to get decent
My end goal is to have the user use transparently the fastest
implementation available to their architecture/cpu providing they use the
high level module. I've uploaded the cpu package which allows me to detect
at runtime the aes instruction (and the architecture), but i've been
distracted
Hi all,
I'm happy to announce a release of meta-par, a parallel programming library
that is a successor to monad-par.
- http://hackage.haskell.org/package/abstract-par
- http://hackage.haskell.org/package/monad-par
- http://hackage.haskell.org/package/meta-par
-
Hi Thomas,
Personally, I would love to see that happen. It seems like the best way to
make split acceptable.
Is Brian Gladman's C implementation still best in class? In my tests even
without AESNI it could exceed the traditional System.Random in performance (
to allow a set of sibling packages
to point to one another.
-Ryan
On Tue, Apr 24, 2012 at 8:51 PM, Ryan Newton rrnew...@gmail.com wrote:
This is sort of related to ticket #130:
http://trac.haskell.org/haddock/ticket/130
And this one seems to hint at a solution to the problem in the more
There's two options I think:
1. a machine for the central hackage server,
2. a machine for doing package builds
The former will require more organisation, partly because we need the
haskell.org people to have some degree of control over the system. The
latter is easier because the
I wonder if this could get to the point where it could be done
seti-at-home style, farmed out via a VM image. That is people would run
the image to provide resources (and geographic distribution) to the build
server cloud. Maybe they get a fast local mirror as a reward.
If it were every
Hello cafe,
For various reasons, some packages don't build documentation on hackage:
http://hackage.haskell.org/package/accelerate
Therefore I want to locally install documentation for a set of packages
like this and host them on a separate website. I want all of these ~ten
packages'
this. But I'll give it a
whirl.)
On Tue, Apr 24, 2012 at 8:34 PM, Ryan Newton rrnew...@gmail.com wrote:
Hello cafe,
For various reasons, some packages don't build documentation on hackage:
http://hackage.haskell.org/package/accelerate
Therefore I want to locally install documentation
Did anyone end up being the co-admin?
On Thu, Mar 1, 2012 at 4:50 PM, Johan Tibell johan.tib...@gmail.com wrote:
On Thu, Mar 1, 2012 at 1:42 PM, Ganesh Sittampalam gan...@earth.liwrote:
On 01/03/2012 21:37, Johan Tibell wrote:
On Thu, Mar 1, 2012 at 12:54 PM, Ganesh Sittampalam
Hello all,
Right now I'm trying to answer a simple question:
- Would the current Haskell.org / hackage infrastructure benefit from
the donation of a dedicated VM with good bandwidth/uptime?
Whoever already knows how to do this could configure it.
In trying to answer the above question I
Hello,
As someone new to the GSOC system there are some things I'm confused about.
There's a bunch of info out there, and I certainly haven't read all of it.
Who are the program administrator and organization administrator for
the Haskell organization? Those roles are mentioned in the manual
+1 -- the reagents model is interesting and it would be good to see a
Haskell implementation.
On Thu, Apr 5, 2012 at 3:05 PM, Ben Gamari bgamari.f...@gmail.com wrote:
Ben midfi...@gmail.com writes:
perhaps it is too late to suggest things for GSOC --
but stephen tetley on a different
On Thu, Mar 29, 2012 at 9:01 AM, Gregory Collins g...@gregorycollins.netwrote:
On Thu, Mar 29, 2012 at 6:57 AM, Ryan Newton rrnew...@gmail.com wrote:
The ByteArray versions will be more annoying, requiring more variations,
but they are also less essential, because the user can always use
I think so. Atomically reading and writing a single memory location
(which CAS does) is just a very simple transaction. But using a CAS
instruction should be more efficient, since STM has to maintain a
transaction log and commit transactions, which creates some overhead.
Ah, I see. In that
GHC already has a CAS primitive on MutVar#, it just needs to be extended
to MutableArray# and MutableByteArray# (at all of the bit-widths the CAS
instruction would support, e.g. see readWordXxArray# in
http://www.haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html).
The
Hi potential GSOC'ers,
If there are multiple students interested in the project you're applying to
it's a good idea to put in more than one application.
This is a project proposal that would focus on performance analysis -- in
particular in reusing some of the tools for analyzing memory access
The big topic would seem to be using Geoff Mainland's new simd-ghc support.
http://hackage.haskell.org/trac/ghc/wiki/SIMD
Geoff, is that already under way or is it too big a project for a GSOC?
Dmitry, do you already have GHC-internals hacking experience?
-Ryan
On Tue, Mar 20, 2012 at
I think such libraries are high priority!
My own experience with them is not deep, but I'll echo what I think is a
common observation:
- Matrix libraries are good
- Statistics libs need more work
And as far as wrappers around machine learning or computer vision libs
(openCV)... I'm not
wrote:
A lock-free concurrent queue alone would be worth a summer project IMO.
G
Ryan Newton is already doing that
(https://github.com/rrnewton/haskell-lockfree-queue).
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
HJScript is OK, hpaste.org uses it here:
https://github.com/chrisdone/amelie/blob/master/src/Amelie/View/Script.hs
output here: http://hpaste.org/js/amelie.js
Mini-summary of my experience: You're still stuck with JS semantics,
and it can be a little odd when you confuse what level of code
Thanks David,
As an update, HJScript is a bit of a nightmare to figure out (missing
documentation, examples). And the model of JS values:
http://hackage.haskell.org/packages/archive/language-javascript/0.4.10/doc/html/Language-JavaScript-Parser.html#t:Node
Seems less human comprehensible than,
Hi all,
I've got a question that pertains to any of these identify-region, parse,
make-expandable approaches.
The main use I'd like to use the trick for (esp. Chris's Emacs version) is
to deal with large intermediate compiler ASTs.
But if a compiler produces a long stream of output to stdout,
to a wrapper function
around Chris's folder/expander.
-Ryan
On Sat, Mar 17, 2012 at 9:10 AM, Brandon Allbery allber...@gmail.comwrote:
On Sat, Mar 17, 2012 at 08:55, Ryan Newton rrnew...@gmail.com wrote:
- If the source is available, the compiler could be tweaked to obey a
protocol
Hello cafe,
I've got a benchmarking script which currently generates gnuplot scripts
(of simple lines and points) and I'd like to port it to use two** new
backends:
(1) Chart for PDF generation and gtk viewing
(2) Something-or-other for generating pretty interactive charts in the
browser,
Is there any official way that mentors should sign up to become part of the
org?
For one thing I heard a rumor that bigger orgs look better from Google's
end.
-Ryan
On Tue, Feb 28, 2012 at 11:23 AM, Johan Tibell johan.tib...@gmail.comwrote:
Hi all,
Anyone interested in acting as an admin
+1
I'm always at a loss for good technical podcasts. The popular ones that
come up (with a simple search) are such fluff!
On Wed, Feb 22, 2012 at 12:00 PM, Clint Moore cl...@ivy.io wrote:
On Wed, Feb 22, 2012 at 5:50 AM, Christopher Done
chrisd...@googlemail.com wrote:
Show of hands, who
Hi all,
I'm trying to run a loop that repeatedly attempts to open a file until it
succeeds. The file is a named pipe in nonblocking mode, so the writer can
only connect after the reader has connected. (Perhaps there is some way to
determine this by stat'ing the pipe, but I don't know it yet.)
/pipe_9083984821255795683
PingPipes 25115 rrnewton 137r FIFO8,2 0t0 25166171
/tmp/pipe_9083984821255795683
PingPipes 25115 rrnewton 138r FIFO8,2 0t0 25166171
/tmp/pipe_9083984821255795683
On Tue, Feb 21, 2012 at 11:13 AM, Ryan Newton rrnew...@gmail.com wrote:
Hi all,
I'm trying
not thinking of.
I'll make a self contained test of this and send it out.
On Tue, Feb 21, 2012 at 12:53 PM, Donn Cave d...@avvanta.com wrote:
Quoth Bryan O'Sullivan b...@serpentine.com,
On Tue, Feb 21, 2012 at 8:16 AM, Ryan Newton rrnew...@gmail.com wrote:
FYI, lsof confirms that there are indeed
johan.tib...@gmail.com wrote:
On Wed, Feb 15, 2012 at 7:40 PM, Ryan Newton rrnew...@gmail.com wrote:
I'm interested in mentoring any projects related to concurrent data
structure implementation. Is it too late to propose new projects?
http://parfunk.blogspot.com/2012/02/potential-gsoc-haskell
I'm interested in mentoring any projects related to concurrent data
structure implementation. Is it too late to propose new projects?
http://parfunk.blogspot.com/2012/02/potential-gsoc-haskell-lock-free-data.html
-Ryan
On Mon, Feb 13, 2012 at 7:19 PM, Johan Tibell
In stream processing frameworks this is a (common) non-deterministic merge
operation.
Because it's nondeterministic it would need to happen in IO:
parCompletionOrder :: [a] - IO [a]
But it can be nonblocking (returns immediately, and lazy IO happens in
the background).
The Chan library has a
By the way, has anyone else had trouble with cabal test diverging?
I've been running into this issue with cabal 0.10.2, but ONLY in
conjunction with GHC 6.12.3. It's hard to make a small reproducer for (and
therefore I haven't filed a bug yet), but you can see the below Jenkins run
stalled for
Even though advertised as parallel programming tools, parMap and other
functions that work in parallel over *sequential* access data
structures (i.e. linked lists.) We want flat, strict, unpacked data
structures to get good performance out of parallel algorithms. DPH,
repa, and even vector
I don't know why Hoogle didn't find one of the packages. I've often
wondered about this related question:
* Is there a place to browse the union of all namespaces in all hackage
packages?
This would show the global Haskell/Hackage namespace as it currently
stands and I think would be useful
I don't know about you, but I personally haven't found the time to cast
back in time for each of my package's dependencies to find a true lower
bound version.
Do we have any tools that would do the following?
- ask Hackage for the available versions of package foo
- use cabal-dev to build
What about dependency interactions? If you depend on foo and bar there
might be versions of foo and bar that don't build together that you might
not discover by varying their versions independently.
Indeed. But assuming for a moment that foo bar have correctly specified
their own
I think the best option at the moment is to break out type classes in their
own packages. That's what I did with hashable.
Indeed! I greatly believe in this mantra now. Really, my point was
only this banal one -- packages with only interfaces in them have no
dependencies and are much less
I have interfaced Erlang and Haskell... And delivered it as a product. I
just came up with a dead-simple text based communication syntax from Erlang
to Haskell that was very easily testable. It allowed for complete isolation
Interesting. I can't imagine there are too many people who have
What is the right interface for a queue? What is the right interface for a
random number generator?
I don't know, but in both cases you will find many packages on hackage
offering different takes on the matter. In fact, there is a wilderness of
alternative interfaces. We've had various
For distributed execution you can look at the recent work on CloudHaskell:
https://github.com/jepst/CloudHaskell
http://groups.google.com/group/cloudhaskell
As for a programming model -- Philip Trinder et. al have a version of
monad-par that works in a distributed way over CloudHaskell,
Any example code of using hscassandra package would really help!
I'll ask my student. We may have some simple examples.
Also, I have no idea as to their quality but I was pleasantly surprised to
find three different amazon related packages on Hackage (simply by
searching for the word Amazon
There are CUDA bindings:
http://hackage.haskell.org/package/cuda
And that is what the higher-level GPU-programming package, Accelerate, is
based on:
http://hackage.haskell.org/package/accelerate
On Thu, Oct 27, 2011 at 4:04 PM, serialhex serial...@gmail.com wrote:
Hi, there is an
Hello cafe,
In the context of the monad-par project we're just getting to the point of
trying to replace our work stealing Deque's with something more efficient
(in Haskell).
Based a quick perusal of Hackage there does not seem to be a lot of work in
this area. Of course, for Haskell the
Good point. On the other hand, nobody points package authors to the
Debian documentation (and Debian also has review for newly uploaded
packages, as far as I know).
Re: review process -- Perhaps there would be a use for a review process
somewhere between haskell-platform and the unwashed
On Sun, Oct 9, 2011 at 12:11 PM, Roman Beslik ber...@ukr.net wrote:
Yes, if you do not use high-level concepts and optimize everything by hand,
it requires a lot of testing. :)
There are probably more constructive, jibe-free ways to frame this
suggestion...
Regarding testing: my preference
in the next
component -} b [b]
Write an isomorphism between @BitList b@ and @ListStep (BitList b)@
where
data ListStep e rc = Nil | Cons e rc
On 07.10.11 17:52, Ryan Newton wrote:
Hi Cafe,
We are lucky to have a plethora of data structures out there. But it does
make choosing one off hackage
Hi Cafe,
We are lucky to have a plethora of data structures out there. But it does
make choosing one off hackage difficult at times. In this case I'm *not*
looking for a O(1) access bit vector (Data.Vector.Unboxed seems to be the
choice there), but an efficient representation for a list of bits
Hi Tom,
I think debugging this sort of problem is exactly what we need to be doing
(and making easier). Have you tried Duncan's newest version of Threadscope
by the way?
It looks like -- completely aside from the GC time -- this program is not
scaling. The mutator time itself, disregarding GC,
An interesting and semi-related project was just presented at ICFP by
Kathleen Fisher. It's called Forest and uses template haskell to create
schema's for FileStores from Haskell definitions. But they're not
plain-old-haskell type definitions...
-Ryan
On Tue, Oct 4, 2011 at 12:11 PM, Edward
On Sun, Sep 11, 2011 at 1:14 PM, wren ng thornton w...@freegeek.org wrote:
On 9/11/11 6:37 AM, Neil Mitchell wrote:
Why not email the maintainers of packages you think need a better
description - ideally giving suggestions? I'd welcome that for any of
my packages.
+1.
+1
Actually this
Yep, but don't conflate determinism with splitting. In the imperative
world, you normally know how many CPUs you have, so you initialize one PRNG
per CPU, and simply go from there; there's no need for splitting. In the
parallel community, people are going out of their way to *avoid*
Hi all,
I'm the maintainer of random. If people could decide on what the
alternative name would be we could put it through the library proposal
process. It seems that one problem at this moment is the lack of a single,
clear right answer. Replacing one debatable not-quite-right choice with
and RC4. Both are in Wikipedia. RC4 has 256 bytes
of key state, still bigger than I would like.
Another scheme is to make the number of rounds an option. With AESNI, this
could scream.
Burton
On Wed, Aug 17, 2011 at 12:26 PM, Ertugrul Soeylemez e...@ertes.de wrote:
Ryan Newton rrnew
The more fundamental problem is that splitting is neither well understood
nor generally safe, and as such it should not be in the basic Random class.
Would you mind elaborating? Splitting was not well-understood by the
original authors of System.Random; that much is in the comments. Nor is
It seems that the recent Cloud Haskell paper is relevant:
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf
The repo is here:
https://github.com/jepst/CloudHaskell
I haven't tried it yet myself but would like to.
Cheers,
-Ryan
On Mon, Aug 15, 2011 at
Hi all,
Is there something wrong with the code below? My anticipation was that the
type of test would include the class constraint, because it uses the
Assign constructor. But if you load this code in GHCI you can see that the
inferred type was test :: E m - E m.
Thanks,
-Ryan
{-# LANGUAGE
?
** **
Thanks
d-
** **
** **
*From:* haskell-cafe-boun...@haskell.org [mailto:
haskell-cafe-boun...@haskell.org] *On Behalf Of *Ryan Newton
*Sent:* 12 July 2011 16:02
*To:* Haskell Cafe
*Subject:* [Haskell-cafe] Type checking oddity -- maybe my own confusion**
**
** **
Hi all
The Nikola GPU programming system has a very neat, flexible approach to how
you compile the EDSL-generated code. You can do it dynamically, calling
nvcc at runtime, OR it can play a trick where it calls nvcc at compile time
(via template haskell) and caches the result in a string literal within
1 - 100 of 122 matches
Mail list logo