Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Sven Panne wrote:
2013/9/27 Heinrich Apfelmus apfel...@quantentunnel.de:
Actually, I'm reading about WebGL right now, and it appears to me that it
should be very easy to support in Threepenny. [...]
I am not sure if WebGL is enough: WebGL is basically OpenGL ES 2.0,
which is again basically
points of the Typable class is actually that it enforces
monomorphic types. Similarly, the vault library enforces monomorphic
types by having newKey in the IO monad.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell
Christopher Done wrote:
On 4 October 2013 10:56, Heinrich Apfelmus apfel...@quantentunnel.de wrote:
In particular, the Locker stores arbitrary values like Dynamic , except
that values are extracted and removed with the help of a Key . This gets
rid of the Typeable constraint.
lock
Tom Ellis wrote:
On Wed, Oct 02, 2013 at 11:24:39AM +0200, Heinrich Apfelmus wrote:
I'm not sure whether the Eq instance you mention is actually
incorrect. I had always understood that Eq denotes an equivalence
relation, not necessarily equality on the constructor level.
There's
are mainly focused on equality of keys for a Map. In this
case, it might be possible to move towards pointer equality and use
things like Hashable or StableName .
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing
.
Is it possible to change fonts? I have found that fonts (and shadows)
have a huge impact on the wow-factor of a plot. In fact, I could not
help but ask a speaker during a talk what font he used for a particular
plot... it just looked great!
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
! On the flip side,
it doesn't support native OpenGL.
[1]: http://www.haskell.org/haskellwiki/Threepenny-gui
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org
to see whether the Threepenny + WebGL route is
viable for you, it's probably a good idea to do a quick test in plain
HTML + JS first, to see whether performance is good enough for your purpose.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
or not.). Is that correct?
[1]: http://www.haskell.org/haskellwiki/Threepenny-gui
[2]: http://community.haskell.org/~simonmar/papers/weak.pdf
[3]:
http://hackage.haskell.org/packages/archive/base/latest/doc/html/System-Mem-Weak.html
Best regards,
Heinrich Apfelmus
--
http
elegantly
and, in particular, integrated with functional reactive programming
(FRP). See my recent project
http://www.haskell.org/haskellwiki/Threepenny-gui
for a post-wxHaskell take on a GUI API.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
on it.
http://new-hackage.haskell.org/
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
to assert that all
required files are registered in the cabal file.
http://hackage.haskell.org/package/cabal-scripts
Nice! However, I can't find the cabal-test executable after installing
your package?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
://hackage.haskell.org/package/hsc3
[midi]: http://hackage.haskell.org/package/midi
[tomato-rubato]: https://github.com/HeinrichApfelmus/tomato-rubato
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe
for public
consumption yet. ;)
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
is
appreciated, of course.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
, it hasn't been picked up by
anyone else, including me, and I think that's because it missed the
modularity goals I had in mind.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
wires like guiSetPropW that perform
side effects, i.e. where it makes a different whether you observe their
results or not. That's a complexity where I feel that something has
been swept under the rug.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
Ertugrul Söylemez wrote:
Heinrich Apfelmus apfel...@quantentunnel.de wrote:
You said that reactive-banana didn't feel as simple after the
introduction of dynamic event switching, though. Could you pinpoint
some particular thing that made you feel like that? Maybe a type
signature or a tutorial
Ertugrul Söylemez wrote:
Heinrich Apfelmus apfel...@quantentunnel.de wrote:
I concur that chaining wires with the andThen combinator is very
slick, I like it a lot. Wolfgang Jeltsch recently described a similar
pattern for classical FRP, namely a behavior that doesn't live
forever
Peter Althainz wrote:
Heinrich Apfelmus wrote:
Of course, I have to ask: what influenced your choice of FRP library in
favor of netwire instead of reactive-banana ?
good question, actually I need to thank you for your excellent tutorials
on FRP and GUI on the WEB. I tried the version
, I have to ask: what influenced your choice of FRP library in
favor of netwire instead of reactive-banana ?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
Alberto G. Corona wrote:
The template look is very simple but it uses a lot of dynamic code behind
I changed the template to something more light.
http://haskell-web.blogspot.com.es/
Much better, thanks!
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
cookies and I'm using adblock, though.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Nathan Hüsken wrote:
On 12/08/2012 10:32 AM, Heinrich Apfelmus wrote:
Fair enough, but I don't see how this can be fitted into a general
pattern. If the animation state is coupled tightly to the game logic
state, then the question whether the animation is part of the game
logic or not does
for the little benefit you obtain this
way. Unfortunately, it seems to me that the tuition costs in the U.S.
strongly suggest the second approach. To avoid this, I recommend to
either go abroad or become very good and acquire a scholarship.
Best regards,
Heinrich Apfelmus
--
http
Nathan Hüsken wrote:
Heinrich Apfelmus wrote:
In that light, the separation seems straightforward to me. Given the
time-varying values that represent game objects,
bSpaceShipPosition :: Behavior Position
bAsteroidPositions :: Behavior [Position]
bTime :: Behavior Time
, it doesn't work very well. A newtype
data Foo = Foo { bar :: forall a . baz a }
usually works best.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org
Nathan Hüsken wrote:
Heinrich Apfelmus wrote:
Personally, I would recommend is a complete change in perspective.
The main idea of FRP is that it is a method to describe the evolution of
values in time. What is a game? It's just a picture that evolves in
time. The user can exert influence
out if you wet your feet only a little bit.)
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
, but
the thing is that it cannot get any messier because you can translate it
rather directly, so you don't lose anything.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
of parametricity. But at this point, you've put
the whole map into the type.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Michael Snoyman wrote:
Heinrich Apfelmus wrote:
Michael Snoyman wrote:
Note that I wasn't necessarily advocating such a pragma. And a lot of
my XML code actually *does* use two IsString instances at the same
time, e.g.:
Element (img :: Name) (singleton (href :: Name) (foo.png ::
Text
, IsMap map)
= name - map name s - [Element]
element name map = Element (toName name) (toMap map)
One benefit would be that the function will accept any list as a map,
not just list literals.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
Simon Hengel wrote:
On Sun, Sep 23, 2012 at 06:11:59PM +0200, Heinrich Apfelmus wrote:
How do I access internal modules with cabal test , though? Last
time I tried, I could not find a way to expose in the test section
of the cabal file.
It works, if you add the source directory to hs-source
Roman Cheplyaka wrote:
* Heinrich Apfelmus apfel...@quantentunnel.de [2012-09-23 10:51:26+0200]
Unfortunately, making literals polymorphic does not always achieve
the desired effect of reducing syntax. In fact, they can instead
increase syntax! In other words, I would like to point out
to introduce a type signature (:: Int) to make
a program unambiguous.
In this light, I don't think that the trade-off made by the
OverloadedLists extension is big enough.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell
library.
How do I access internal modules with cabal test , though? Last time I
tried, I could not find a way to expose in the test section of the cabal
file.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing
becomes out-of-date.
This already exists:
http://packdeps.haskellers.com/
Indeed. It even has RSS feeds, like this
http://packdeps.haskellers.com/feed/reactive-banana
Extremely useful!
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
ExistsShow = E { showE :: String }
instance Show ExistsShow where
show = showE
withShow :: String - (forall a. Show a = a - c) - c
withShow s f = f (E s)
Essentially, the point is that the types are equivalent
ExistsShow == exists a. Show a = a
Best regards,
Heinrich Apfelmus
. You have to reify the type a in Key a in the value
of the key. I think it's possible to use a data type family for the map
type.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
the representation Behavior a = Time - a and this
introduces other efficiency problems not present in reactive-banana.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org
do not need to follow a uniform time step.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
By the way, Conal's Bezier editor doesn't make much use of the switcher
combinator, so you can directly translate it into reactive-banana.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
/archive/reactive-banana/latest/doc/html/Reactive-Banana-Model.html
The key idea is to keep all events synchronous and to reify some cases
of this event does not occur right now.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
don't know the structure of the parser
until we run it on some input.
See also this answer on StackOverflow:
http://stackoverflow.com/a/7863380/403805
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
: whether memory is transactional or not is
unimportant, the only thing that matters is a computation that composes
atomically.)
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
homepage. Thanks
for your great explanation!
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
traditionally been hard.)
P.S. Sorry about the long mail, the explanation ended up a little longer
than I originally expected. :)
I know it was time to get a blog when my mailing list posts got too long. ;)
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
for that and peruse the documentation
in Reactive.Banana.Frameworks in case something is unclear.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo
way round?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
. show, flip ())
I guess that didn't help a lot, somebody with deeper GHC-fu than me will
have to step in.
The problem is that f1 and f2 are polymorphic functions. To put
polymorphic functions in a pair, you need *impredicative polymorphism*.
Best regards,
Heinrich Apfelmus
--
http
Florian Hartwig wrote:
Heinrich Apfelmus wrote:
So while the two are related, CAS is a machine primitive that works
for a single operation and on a single word while STM is a software
abstraction that isolates sequences of operations on multiple memory
locations from each other
and trying stuff out.
Concerning UI, the following project suggestion aims to give GHCi a web GUI
http://hackage.haskell.org/trac/summer-of-code/ticket/1609
But one of your criteria is that a good UI should come with a help
system, too, right?
Best regards,
Heinrich Apfelmus
--
http
John Lato wrote:
From: Heinrich Apfelmus
Also, as far as I am aware, you can't do low-level audio programming in
SuperCollider, i.e. play a list of samples that you've calculated
yourself. That's cool if you're only interested in sound design, but bad
for learning how audio programming works
-banana library.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
a list of samples that you've calculated
yourself. That's cool if you're only interested in sound design, but bad
for learning how audio programming works.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
serialhex wrote:
On Sat, Mar 17, 2012 at 11:01 AM, Heinrich Apfelmus
apfel...@quantentunnel.de wrote:
The task is to implement a small audio synthesizer in Haskell.
seriously?!?! i'm not in his class, but i'm game! i learn better
when i'm working on something interesting, and i want to make
Sajith T S wrote:
Heinrich Apfelmus apfel...@quantentunnel.de wrote:
Just for reference, here the direct link that is now online:
http://www.google-melange.com/gsoc/org/google/gsoc2012/haskell
How up-to-date/relevant are the projects in the ideas page?
http://hackage.haskell.org/trac
:
http://www.google-melange.com/gsoc/org/google/gsoc2012/haskell
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
to make that
available to non-Emacsers, via the web browser.
http://hackage.haskell.org/trac/summer-of-code/ticket/1609
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
be more suitable mentors out there.
This sounds like a great GSoC project to me. Maybe you can add it to the
list of project suggestions, Jurriën?
http://hackage.haskell.org/trac/summer-of-code/report/1
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
your reduction steps.
It's not wrong to perform graph reduction, and any student should do it
at one point in their lives, but the restriction to operational
semantics would miss an important abstraction that is part of the
Haskell spirit.
Best regards,
Heinrich Apfelmus
--
http
Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
and if possible fun example of what one can
achieve in Haskell. Things that sprung to my mind are rather dull: prime
factors, fibonacci numbers.
A morse code decoder, perhaps?
http://apfelmus.nfshost.com/articles/fun-with-morse-code.html
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
in GHC 7.2 that break reactive-banana-wx.
Watching the build log on Hackage is fun: sometimes it doesn't build,
then it does build, then not. Fortunately, everything works fine on GHC
7.0.4 .
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
library.
http://haskell.org/haskellwiki/Reactive-banana
http://www.haskell.org/haskellwiki/Reactive-banana/Examples
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http
sure that someone
will volunteer to be a mentor.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Sergiu Ivanov wrote:
Heinrich Apfelmus wrote:
What's the time frame for project proposals? I have two ideas in my head
that I think are unusually cool. To make a successful SOC project, they need
a bit of preparation on my part, though, so I'm wondering how much time I
have to implement a proof
, instead of letting
the students pick themselves.
Here we go, I've written up a proposal:
http://apfelmus.nfshost.com/blog/2012/02/14-summer-of-code-proposal.html
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing
of concept or two.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
serialhex wrote:
Heinrich Apfelmus wrote:
I'm not so sure about the soon part, but yes, using FRP to make music is
part of the plan.
you know, i've been thinking about this recently, and while i need more
haskell skillz if i want to do some sound synthesis, i think it would be
really spiffy
, a fancy REPL built on wxHaskell?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Tom Murphy wrote:
Heinrich Apfelmus wrote:
For instance, I'm currently
dabbling with sound generation and it is only natural that I want to hear
the sound instead of seeing a textual representation.
Does this mean we're going to see music FRP examples soon?!
I'm not so sure about the soon
Jan Christiansen wrote:
On Jan 2, 2012, at 2:34 PM, Heinrich Apfelmus wrote:
Without an explicit guarantee that the function is incremental, we can't do
anything here. But we can just add another constructor to that effect if we
turn ListTo into a GADT:
data ListTo a b where
partial evaluation by hand.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Steve Horne wrote:
Heinrich Apfelmus wrote:
Maybe it helps to try to find an example of a function f :: A - B
for some cleverly chosen types A,B that is not pure, i.e. does not
return the same values for equal arguments.
[..]
For your specific challenge, place that as a left-hand
to find out.
Personally, the operational semantics given in SPJ's Tackling the
Awkward Squad always struck me as an accurate model of how GHC performs IO.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Conal Elliott wrote:
Heinrich Apfelmus wrote:
The function
f :: Int - IO Int
f x = getAnIntFromTheUser = \i - return (i+x)
is pure according to the common definition of pure in the context of
purely functional programming. That's because
f 42 = f (43-1) = etc.
Put differently
Steve Horne wrote:
Heinrich Apfelmus wrote:
Purity has nothing to do with the question of whether you can express
IO in Haskell or not.
The beauty of the IO monad is that it doesn't change anything about
purity. Applying the function
bar :: Int - IO Int
to the value 2
; it's on the same footing as [Char], Maybe
Int, Int - String, Bool, and so on. I see no difference between the
list [1,2,3] :: [Int] and the action pick a random number between 1
and 6 :: IO Int .
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
Steve Horne wrote:
Heinrich Apfelmus wrote:
Again, purity refers to the semantics of functions (at run-time):
given the same argument, will a function always return the same
result? The answer to this question solely decides whether the
language is pure or impure. Note that this depends
.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
John Lato wrote:
From: Heinrich Apfelmus apfel...@quantentunnel.de
* Meta-programming / partial evaluation. When designing a DSL, it is
often the case that you know how to write an optimizing compiler for
your DSL because it's usually a first-order language. However, trying to
squeeze
Sebastian Fischer wrote:
Heinrich Apfelmus wrote:
Likewise, each function from lists can be represented in terms of our new
data type [...]
length' :: ListTo a Int
length' = CaseOf
(0)
(\x - fmap (1+) length')
length = interpret length'
This version of `length
want the system discrete in
both input (specification) and output.
Consider me interested. How does your approach compare to
Conal-style FRP with behaviors and events?
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe
* functions [a] - r and express average in constant space.
In other words, partial evaluation would make it unnecessary to reify
case expressions for the purpose of controlling performance / space leaks.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
It's irrelevant whether _|_ is unrealistic, it's just a mathematical
model anyway, and a very useful one at that. For instance, we can use it
to reason about strictness, which gives us information about lazy
evaluation and operational semantics.
Best regards,
Heinrich Apfelmus
--
http
language. However, trying to
squeeze that into GHC rules is hopeless. Having some way of compiling
code at run-time would solve that. Examples:
** Conal Elliott's image description language Pan
** Henning Thielemann's synthesizer-llvm
Best regards,
Heinrich Apfelmus
--
http
/Examples
Jeremy, I would love to be able to use wxHaskell from ghci on MacOS X;
that would speed up my GUI development cycle considerably.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe
in Haskell.
* Conor McBride and Ross Paterson.
Applicative Programming with Effects.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
in a certain sense. But to my knowledge, there is no way to
make this knowledge internal to System F.
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman
of two causal functions. The point is
that the innermost behavior was already available in full, so it's
perfectly possible to evaluate it at any time desired.
Of course, the function
double' x t = \t' - if t' = t then x t' else _|_
is causal.
Best regards,
Heinrich Apfelmus
--
http
to reason about other demand patterns than normal form is
Okasaki's method of attributing a debt to each constructor. See also
http://apfelmus.nfshost.com/articles/debit-method.html
Best regards,
Heinrich Apfelmus
--
http://apfelmus.nfshost.com
1 - 100 of 837 matches
Mail list logo