* [Qemu-devel] Copyright (c) 2009, Lyle Kopnicky
@ 2009-08-02 21:11 Juan Quintela
2009-08-02 21:11 ` Juan Quintela
2009-08-03 8:04 ` [Qemu-devel] " Juan Quintela
0 siblings, 2 replies; 3+ messages in thread
From: Juan Quintela @ 2009-08-02 21:11 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
* Neither the name of Lyle Kopnicky nor the names of his contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] Copyright (c) 2009, Lyle Kopnicky
2009-08-02 21:11 [Qemu-devel] Copyright (c) 2009, Lyle Kopnicky Juan Quintela
@ 2009-08-02 21:11 ` Juan Quintela
2009-08-03 8:04 ` [Qemu-devel] " Juan Quintela
1 sibling, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2009-08-02 21:11 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori
runhaskell Setup.hs configure
runhaskell Setup.hs build
To run unit tests:
runhaskell Setup.hs test
To install:
runhaskell Setup.hs install
You can then run the resulting program as
vintbas [<.bas source file> ...]
The monad transformer I created is CPST. Monad
transformers are basically monad building-blocks. You
start with the identity monad and stack monad
transformers on top of it to build a combined monad.
The ordering is very important. There are monad
transformers in the Control.Monad.Trans library,
so I used them. Unfortunately you can't stack any
more monad transformers on top of CPST. It has to be on
top, because of the type of the shift morphism. The
standard ContT transformer is similar to my CPST, but
defines callCC, not shift. Take a look at the type
of callCC in my code. Notice every time you see a
CPST, it is followed by an o. Notice that every
other morphism in CPST has the same property, except
shift. That is the key to why it's no longer stackable -
monad transformers can take only two type parameters, not
three. But I like shift and think it's neat that I
can define callCC in terms of it and reset, but not
vice-versa. So there. Plus, my shift and callCC are
rank-3 polymorphic! Nobody else achieves that flexibility.
Other things we could do:
* Pre-check types
* Pre-check labels, generate code in place of labels
* Convert variable references to IORefs
Is it easiest to do these with staging?
* Consider sending errors to stderr.
* On syntax error, consider printing line with marked error.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] Re: Copyright (c) 2009, Lyle Kopnicky
2009-08-02 21:11 [Qemu-devel] Copyright (c) 2009, Lyle Kopnicky Juan Quintela
2009-08-02 21:11 ` Juan Quintela
@ 2009-08-03 8:04 ` Juan Quintela
1 sibling, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2009-08-03 8:04 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori
Juan Quintela <quintela@redhat.com> wrote:
Sorry for the noise. Stupid local error (and user).
Later, Juan.
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions are
> met:
>
> * Redistributions of source code must retain the above copyright
> notice this list of conditions and the following disclaimer.
>
> * Redistributions in binary form must reproduce the above copyright
> notice, this list of conditions and the following disclaimer in the
> documentation and/or other materials provided with the
> distribution.
>
> * Neither the name of Lyle Kopnicky nor the names of his contributors
> may be used to endorse or promote products derived from this
> software without specific prior written permission.
>
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-08-03 8:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-02 21:11 [Qemu-devel] Copyright (c) 2009, Lyle Kopnicky Juan Quintela
2009-08-02 21:11 ` Juan Quintela
2009-08-03 8:04 ` [Qemu-devel] " Juan Quintela
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).