s
direction.
Related projects that I know of:
* IHaskell- https://github.com/gibiansky/IHaskell
* Haskell for Mac - http://haskellformac.com/
Unfortunately, the first has a reputation for being difficult to
install, and the second is partially proprietary and Mac only. Hence
this n
ns:
[2]: https://news.ycombinator.com/item?id=6933716
Again, this may not apply to the particular book advertised here.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
dge
undergrad music student. Enjoy! (What is concrete music, btw?)
Ah, so *this* is the famous Glasgow Haskell Cat. I had always wondered
what the abbreviation GHC stands for.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell m
Doaitse Swierstra wrote:
Heinrich Apfelmus wrote:
I have a small question: Last I remember, you've mainly been using
your UUAGC preprocessor to write attribute grammars in Haskell,
especially for UHC. Now that you have first-class attribute
grammars in Haskell ("achievement unlocked&
like to take them?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
David Barbour wrote:
Heinrich Apfelmus wrote:
Can GUI programming be liberated from the IO monad?
I believe it can be. But is FRP the right way to achieve this? Most of the
GUI problems I've ever encountered involve open systems: configuration
files, plugins, command and control, dat
D. Swierstra's recent parser/grammar
combinators that can handle left-recursive grammars. Once syntactic
can deal with those, you're the king! :)
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
A -> A . I've learned
this idea from Dan Piponi:
http://blog.sigfpe.com/2007/02/monads-for-vector-spaces-probability.html
http://blog.sigfpe.com/2007/06/monads-from-algebra-and-the-gray-code.html
Regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
cts.haskell.org/operational/
Changes
---
version 0.1.0.0 -> version 0.2.0.0
* changed name of view type to `ProgramView`
* added instances for mtl classes
* new function `liftProgram` to embed `Program` in `ProgramT`
* new example TicTacToe.hs
* various documentation updates
Regards,
e it could help to restrict the account creation rate per IP? For
example, every IP may only create one account per 12 hours.
Regards,
apfelmus
--
http://apfelmus.nfshost.com
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
dy some preliminary material
http://en.wikibooks.org/wiki/Haskell/Category_theory
Regards,
H. Apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
IO $
openFile name ReadMode >>= hGetContents
regexp = mkRegex "([0-9]+) Windows ex"
check_line line = case matchRegex regexp line of
Just (s:_) -> (read s,1)
Nothing-> (0,0)
filter_reg pat = let reg = mkRegex pat in
filter $ isJust . matchRegex reg
It's much shorter and should run in constant memory as well.
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
ting examples
utilizing polymorphic recursion or multi parameter type classes exist.
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
n live without that.
Interestingly, this even gives slightly shorter type signatures
cata :: Fixpoint f t => (f s -> s) -> t -> s
size :: (Fixpoint f t, Foldable f) => t -> Int
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
m" fingerprinting is that
the fingerprinting and the collection now depend on each other. But for
CSE, we have to carry the collection around anyway.
I don't know any references for that method since I came up with it
myself and haven't searched around yet. Any pointers?
Regar
you e-mail (sounds silly
for mail-only but is extremely useful for read-through-gmane).
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
will mess up the invariants of the Map A a
implementation and will eventually even lead to pattern match failures.
Being able to mess up invariants by class export/import is quite dangerous.
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
think that changing this enables
recursive do.
I also think that having liftIO in the CodeGen-monad is plain wrong. I
mean, CodeGen is a monad that generates code without any execution
taking place. The execution part is already handled by runCodeGen.
Having liftIO means that arbit
out to be two sides of the same coin when
formulated with lazy evaluation. Isn't it great that finding the k-th
minimum is not only an adaption of quicksort but can readily be obtained
from it by _composing_ it with (!! k)?
Regards,
apfelmus
___
apfelmus wrote:
> Steffen Mazanek wrote:
>> From my understanding for small k's lazy
>> evaluation already does the trick for the naive quicksort
>> algorithm (quicksort smaller ++ [x] ++ quicksort greater),
>> doesn't it? Is there a search algorithm that makes
s:
instance (Warm, fuzzy thing) Maybe
instance (Warm, fuzzy thing) []
instance (Warm, fuzzy thing) IO
Warm, fuzzy thing> sequence $ words "Warm, fuzzy thing"
["M","o","n","a","d"]
Oh, this output is unexpectedly cold and clear.
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
e found on
http://haskell.org/haskellwiki/Haskell_in_practice
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
turn gets its element
from its left or its right subexpression and so on. Clearly, we only
need logarithmically many steps to hit the bottom. Putting both
together, we see that we have to pay O(n + k*log n) steps to build the
expression and to fetch the first k elements.
Making this argument
chokes. Here, bs is an immutable array,
Also, the SML version uses Vectors, "polymorphic vectors, immutable
sequences with constant-time access". I wonder how immutable these are.
I suspect that changing elements does updates in place with history
tracking?
Regards,
apfelmus
___
Of course, there is also the classic book
Richard Bird and Oege de Moor. Algebra of Programming.
Prentice Hall, 1996.
but it's not introductory in nature. It seems to be out of print, is
there any way to get a (perhaps electronic) copy?
Regards,
apfelmus
_
Bird. How to Write a Functional Pearl.
ICFP 2006
http://icfp06.cs.uchicago.edu/bird-talk.pdf
Graham Hutton. The countdown problem.
Journal of Functional Programming, 12(6):609-616, November 2002
http://www.cs.nott.ac.uk/~gmh/countdown.pdf
Regards,
apfelmus
_
instead of "?" or "->".
4. *People have different views about views*
Judging from the replies so far, everybody seems to expect something
completely different from views :) I think we should collect a lot of
examples, attribute them to the particular intentions and map the
int
way. Strictness here does *not* mean
that the stuff written out is evaluated strictly, only that the pair
constructor is matched by a refutable pattern. In other words, is there
an example where one would prefer (foo (a,b) = ...) over (foo ~(a,b) =
...) for reasons of time and space? If not
dual (b -> r) for suitable r.
Unfortunately, the translation
makelist m = runm' (:) []
where
runm' f b = (run m) id (\b' x -> b' . f x) b
does not work on infinite lists because foldl does not return a result
before the whole list is traversed, "tail recursi
> I think I remember that some program was used to generate either the
> Hugs or GHCi ascii logo that appears when you fire up the interpreter.
While not being the same, there's a similar program in the Hugs demos
directory:
/usr/lib/hugs/demos/Say.hs
Say> putStr $ say "Hugs"
H H U U G
f unsafePerformIO:
getString = \s -> unsafePerformIO $ do ... return $ fromJust' ...
Of course, you can also integrate the initialization into (getString).
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
ons.
For the translation, this would mean that the expression e in [e | Q]
will be lambda-abstracted in its free variables and `ap`-ed to the list
l when something like [e | p<-l, Q] occurs. Of course, one still has to
track the elements of l to allow boolean conditions b to filter things out.
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
ok would be a mix between "|" and "do/choose" where
lines beginning with "|" are counted as alternatives and lines without
as sequential follow-ups (possibly indented). This expends of any
unnecessary ";"
do/choose
| Right q <~ p
val <- lookup key
v <- do/choose
| Left v <~ val
return v
| Right v <- val
return v
return (v+1)
| Left q <~ p
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
s to eliminate fromJust:
f x
| (interesting things here)
should be syntactic sugar for
f x = fromJust $
| (interesting things here)
Regards,
apfelmus
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
> If you want to get involved (or just want to see the discussion), you
> can subscribe to the mailing list [EMAIL PROTECTED], see
>
> http://www.haskell.org/mailman/listinfo/generics
>
> -- Johan Jeuring and Andres Loeh
Can you add the mailing list to GMANE?
___
ght be:
1. Java is the "official machine architecture of business applications".
Point. At least, so it seems to me. The need for a foreign language
interface (software reuse!) is obvious, then.
2. Software for a banking-house that handles all the financial
transactions just cannot be shut
36 matches
Mail list logo