Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://www.haskell.org/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. Re: (no subject) (Jamie F Olson)
2. Re: (no subject) (Brandon Allbery)
3. Re: can't make distribution, requires rerunning ./configure
(Karl Voelker)
4. Re: (no subject) (Daniel Trstenjak)
----------------------------------------------------------------------
Message: 1
Date: Thu, 28 Mar 2013 22:34:26 +0000 (UTC)
From: Jamie F Olson <[email protected]>
Subject: Re: [Haskell-beginners] (no subject)
To: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
David McBride <toad3k <at> gmail.com> writes:
>
> data JSValue = ... | JSObject (JSObject JSValue) | ...
>
Thank you! I think the two strange things as an outsider particularly from more
OO languages are that types aren't objects, and then the strangeness of the
naming convention.
Would it have been legal to define data JSValue as something like this instead?
data JSValue
= JSValue
| JSValue !Bool
| JSValue !Rational
| JSValue JSString
| JSValue [JSValue]
| JSValue (JSObject JSValue)
------------------------------
Message: 2
Date: Thu, 28 Mar 2013 18:38:41 -0400
From: Brandon Allbery <[email protected]>
Subject: Re: [Haskell-beginners] (no subject)
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Message-ID:
<CAKFCL4XMO_r=pvsykpct08vyb8ap5za3enjvams1levzdgo...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
On Thu, Mar 28, 2013 at 6:34 PM, Jamie F Olson <[email protected]>wrote:
> Would it have been legal to define data JSValue as something like this
> instead?
>
> data JSValue
> = JSValue
> | JSValue !Bool
> | JSValue !Rational
> | JSValue JSString
> | JSValue [JSValue]
> | JSValue (JSObject JSValue)
No; the data constructor used tells it what to expect afterward.
--
brandon s allbery kf8nh sine nomine associates
[email protected] [email protected]
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://www.haskell.org/pipermail/beginners/attachments/20130328/4258f873/attachment-0001.htm>
------------------------------
Message: 3
Date: Fri, 29 Mar 2013 00:05:07 -0700
From: Karl Voelker <[email protected]>
Subject: Re: [Haskell-beginners] can't make distribution, requires
rerunning ./configure
To: The Haskell-Beginners Mailing List - Discussion of primarily
beginner-level topics related to Haskell <[email protected]>
Message-ID:
<CAFfow0y4eMGdVTAVgAdj0FNh0qo2L1dVjwAu=Ro6AnX7Hw=o...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
This isn't exactly an answer to your question, but have you considered
using the Haskell Platform (which is recommended for most purposes) or a
GHC binary package?
http://www.haskell.org/platform/
http://www.haskell.org/ghc/download_ghc_7_6_2#binaries
-Karl
On Thu, Mar 28, 2013 at 9:37 AM, Josh Stratton <[email protected]>wrote:
> I recently downloaded the ghc distribution for Linux (x86_64) and had
> difficulty installing to my machine. The configure step seems to have
> completed successfully, but when I run the followup "make install", it
> fails suggesting that I haven't run the configure command yet.
>
> atlas => ./configure --prefix=/opt/ghc
> checking for path to top of build tree... /tmp/ghc-7.6.2
> Build platform inferred as: x86_64-unknown-linux
> Host platform inferred as: x86_64-unknown-linux
> Target platform inferred as: x86_64-unknown-linux
> GHC build : x86_64-unknown-linux
> GHC host : x86_64-unknown-linux
> GHC target : x86_64-unknown-linux
> checking for perl... /rel/map/generic-2012.18.last/bin/perl
> checking if your perl works in shell scripts... yes
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether ln -s works... yes
> checking for gsed... sed
> checking for gcc... /usr/bin/gcc
> checking for gcc... /usr/bin/gcc
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether /usr/bin/gcc accepts -g... yes
> checking for /usr/bin/gcc option to accept ISO C89... none needed
> checking version of gcc... 4.4.6
> checking how to run the C preprocessor... /usr/bin/gcc -E
> checking whether ld understands --hash-size=31...
> checking whether ld understands --reduce-memory-overheads...
> checking for extra options to pass gcc when compiling via C... -fwrapv
> checking Setting up CFLAGS, LDFLAGS, IGNORE_LINKER_LD_FLAGS and
> CPPFLAGS... done
> checking Setting up CONF_CC_OPTS_STAGE0, CONF_GCC_LINKER_OPTS_STAGE0,
> CONF_LD_LINKER_OPTS_STAGE0 and CONF_CPP_OPTS_STAGE0... done
> checking Setting up CONF_CC_OPTS_STAGE1, CONF_GCC_LINKER_OPTS_STAGE1,
> CONF_LD_LINKER_OPTS_STAGE1 and CONF_CPP_OPTS_STAGE1... done
> checking Setting up CONF_CC_OPTS_STAGE2, CONF_GCC_LINKER_OPTS_STAGE2,
> CONF_LD_LINKER_OPTS_STAGE2 and CONF_CPP_OPTS_STAGE2... done
> checking for .subsections_via_symbols... no
> checking whether your assembler supports .ident directive... yes
> checking for GNU non-executable stack support... yes
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking size of void *... 8
> checking for ar... /usr/bin/ar
> checking whether /usr/bin/ar is GNU ar... yes
> checking for ar arguments... q
> checking whether ranlib is needed... no
> configure: creating ./config.status
> config.status: creating settings
> config.status: creating mk/config.mk
> config.status: creating mk/install.mk
> ****************************************************
> Configuration done, ready to 'make install'
> (see README and INSTALL files for more info.)
> ****************************************************
>
> atlas => make
> install
> make -r --no-print-directory -f ghc.mk install BINDIST=YES
> NO_INCLUDE_DEPS=YES
> ghc.mk:122: *** Please run ./configure first. Stop.
> make: *** [install] Error 2
>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://www.haskell.org/pipermail/beginners/attachments/20130329/0625fdea/attachment-0001.htm>
------------------------------
Message: 4
Date: Fri, 29 Mar 2013 10:20:26 +0100
From: Daniel Trstenjak <[email protected]>
Subject: Re: [Haskell-beginners] (no subject)
To: [email protected]
Message-ID: <20130329092026.GA2542@machine>
Content-Type: text/plain; charset=us-ascii
Hi Jamie,
On Thu, Mar 28, 2013 at 10:34:26PM +0000, Jamie F Olson wrote:
> Thank you! I think the two strange things as an outsider particularly from
> more
> OO languages are that types aren't objects, and then the strangeness of the
> naming convention.
In C++ you could have something like:
class JSObject {
public:
typedef std::map<std::string, JSValue> Map_t;
static JSObject JSONObject(const Map_t& m);
...
};
class JSValue {
public:
static JSValue JSNull();
static JSValue JSBool(bool b);
static JSValue JSObject(const JSObject& obj);
...
};
The data constructors of Haskell have some similarity to these constructor
functions.
Greetings,
Daniel
------------------------------
_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners
End of Beginners Digest, Vol 57, Issue 41
*****************************************