How to import the Data.Char library in Hugs?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

How to import the Data.Char library in Hugs?

Benjamin L. Russell
My apologies if this is an extremely elementary question, but I am
having difficulties in importing the Data.Char library in Hugs.

In GHCi, the command "import Data.Char" works correctly, as follows:

--8<---------------cut here---------------start------------->8---
GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
   ___         ___ _
  / _ \ /\  /\/ __(_)
 / /_\// /_/ / /  | |   GHC Interactive, for Haskell 98.
/ /_\\/ __  / /___| |   http://www.haskell.org/ghc/
\____/\/ /_/\____/|_|   Type :? for help.

Prelude> import Data.Char
Prelude Data.Char>
--8<---------------cut here---------------end--------------->8---

However, in Hugs, the same command fails with an error, as follows:

--8<---------------cut here---------------start------------->8---
__   __ __  __  ____   ___ _________________________________________
||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
||---||         ___||           World Wide Web: http://haskell.org/hugs
||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
||   || Version: 20051031       _________________________________________

Haskell 98 mode: Restart with command line option -98 to enable
extensions

Type :? for help
Hugs> import Data.Char
ERROR - Syntax error in expression (unexpected keyword "import")
Hugs>
--8<---------------cut here---------------end--------------->8---

Does anybody know how to import the Data.Char library in Hugs?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^

Reply | Threaded
Open this post in threaded view
|

How to import the Data.Char library in Hugs?

Adrian Neumann
You do

> :l Data.Char

As far as I know you can't have multiple loaded modules unless you put
them in a file and load that.

Regards,

Adrian

Benjamin L.Russell schrieb:

> My apologies if this is an extremely elementary question, but I am
> having difficulties in importing the Data.Char library in Hugs.
>
> In GHCi, the command "import Data.Char" works correctly, as follows:
>
> --8<---------------cut here---------------start------------->8---
> GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
> Loading package ghc-prim ... linking ... done.
> Loading package integer ... linking ... done.
> Loading package base ... linking ... done.
>    ___         ___ _
>   / _ \ /\  /\/ __(_)
>  / /_\// /_/ / /  | |   GHC Interactive, for Haskell 98.
> / /_\\/ __  / /___| |   http://www.haskell.org/ghc/
> \____/\/ /_/\____/|_|   Type :? for help.
>
> Prelude> import Data.Char
> Prelude Data.Char>
> --8<---------------cut here---------------end--------------->8---
>
> However, in Hugs, the same command fails with an error, as follows:
>
> --8<---------------cut here---------------start------------->8---
> __   __ __  __  ____   ___ _________________________________________
> ||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
> ||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
> ||---||         ___||           World Wide Web: http://haskell.org/hugs
> ||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
> ||   || Version: 20051031       _________________________________________
>
> Haskell 98 mode: Restart with command line option -98 to enable
> extensions
>
> Type :? for help
> Hugs> import Data.Char
> ERROR - Syntax error in expression (unexpected keyword "import")
> Hugs>
> --8<---------------cut here---------------end--------------->8---
>
> Does anybody know how to import the Data.Char library in Hugs?
>
> -- Benjamin L. Russell


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
Url : http://www.haskell.org/pipermail/beginners/attachments/20090917/4aa56846/signature.bin
Reply | Threaded
Open this post in threaded view
|

How to import the Data.Char library in Hugs?

Daniel Fischer-4
In reply to this post by Benjamin L. Russell
Am Donnerstag 17 September 2009 14:41:47 schrieb Benjamin L.Russell:
> My apologies if this is an extremely elementary question, but I am
> having difficulties in importing the Data.Char library in Hugs.

Hugs> :a Data.Char
Data.Char>


Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Benjamin L. Russell
On Thu, 17 Sep 2009 15:04:07 +0200, Daniel Fischer
<[hidden email]> wrote:

>Am Donnerstag 17 September 2009 14:41:47 schrieb Benjamin L.Russell:
>> My apologies if this is an extremely elementary question, but I am
>> having difficulties in importing the Data.Char library in Hugs.
>
>Hugs> :a Data.Char
>Data.Char>

Thank you; that was exactly the information for which I was looking.

Incidentally, what option name does 'a' represent?  That one doesn't
appear when I type ":?."  Shouldn't it appear in that list?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^

Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Benjamin L. Russell
In reply to this post by Adrian Neumann
On Thu, 17 Sep 2009 15:02:21 +0200, Adrian Neumann
<[hidden email]> wrote:

>You do
>
>> :l Data.Char

That command didn't work; see the following results:

--8<---------------cut here---------------start------------->8---
Hugs>:| Data.Char
Command not recognised.  Type :? for help
Hugs>
--8<---------------cut here---------------end--------------->8---

-- Benjamin L. Russell

>
>As far as I know you can't have multiple loaded modules unless you put
>them in a file and load that.
>
>Regards,
>
>Adrian
>
>Benjamin L.Russell schrieb:
>> My apologies if this is an extremely elementary question, but I am
>> having difficulties in importing the Data.Char library in Hugs.
>>
>> In GHCi, the command "import Data.Char" works correctly, as follows:
>>
>> --8<---------------cut here---------------start------------->8---
>> GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
>> Loading package ghc-prim ... linking ... done.
>> Loading package integer ... linking ... done.
>> Loading package base ... linking ... done.
>>    ___         ___ _
>>   / _ \ /\  /\/ __(_)
>>  / /_\// /_/ / /  | |   GHC Interactive, for Haskell 98.
>> / /_\\/ __  / /___| |   http://www.haskell.org/ghc/
>> \____/\/ /_/\____/|_|   Type :? for help.
>>
>> Prelude> import Data.Char
>> Prelude Data.Char>
>> --8<---------------cut here---------------end--------------->8---
>>
>> However, in Hugs, the same command fails with an error, as follows:
>>
>> --8<---------------cut here---------------start------------->8---
>> __   __ __  __  ____   ___ _________________________________________
>> ||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
>> ||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
>> ||---||         ___||           World Wide Web: http://haskell.org/hugs
>> ||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
>> ||   || Version: 20051031       _________________________________________
>>
>> Haskell 98 mode: Restart with command line option -98 to enable
>> extensions
>>
>> Type :? for help
>> Hugs> import Data.Char
>> ERROR - Syntax error in expression (unexpected keyword "import")
>> Hugs>
>> --8<---------------cut here---------------end--------------->8---
>>
>> Does anybody know how to import the Data.Char library in Hugs?
>>
>> -- Benjamin L. Russell
>
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^

Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Daniel Fischer-4
In reply to this post by Benjamin L. Russell
Am Freitag 18 September 2009 04:27:31 schrieb Benjamin L.Russell:

> On Thu, 17 Sep 2009 15:04:07 +0200, Daniel Fischer
>
> <[hidden email]> wrote:
> >Am Donnerstag 17 September 2009 14:41:47 schrieb Benjamin L.Russell:
> >> My apologies if this is an extremely elementary question, but I am
> >> having difficulties in importing the Data.Char library in Hugs.
> >
> >Hugs> :a Data.Char
> >Data.Char>
>
> Thank you; that was exactly the information for which I was looking.
>
> Incidentally, what option name does 'a' represent?  That one doesn't
> appear when I type ":?."  Shouldn't it appear in that list?

It should, and it does for me (hugs september 2006):

Hugs> :?
LIST OF COMMANDS:  Any command may be abbreviated to :c where
c is the first character in the full name.

:load <filenames>   load modules from specified files
:load               clear all files except prelude
:also <filenames>   read additional modules         <--- There
:reload             repeat last load command

Unfortunately, Hugs' behaviour is much less convenient than ghci's:

Hugs> :also Data.Char SimplTest
SimplTest> ord 'a'
ERROR - Undefined variable "ord"
SimplTest> Data.Char.ord 'a'
ERROR - Undefined qualified variable "Data.Char.ord"

You can't directly use it, neither qualified nor unqualified, you have to switch contexts
with :m(odule):

SimplTest> :m Data.Char
Data.Char> ord 'a'
97
Data.Char> :m SimplTest
SimplTest> filter (test 4) $ digl 3
[[0,0,0],[0,1,4],[0,2,8],[1,4,0],[1,5,4],[1,6,8],[2,8,0],[2,9,4]]

>
> -- Benjamin L. Russell

Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Benjamin L. Russell
On Fri, 18 Sep 2009 04:52:17 +0200, Daniel Fischer
<[hidden email]> wrote:

>Am Freitag 18 September 2009 04:27:31 schrieb Benjamin L.Russell:
>> On Thu, 17 Sep 2009 15:04:07 +0200, Daniel Fischer
>>
>> <[hidden email]> wrote:
>> >Am Donnerstag 17 September 2009 14:41:47 schrieb Benjamin L.Russell:
>> >> My apologies if this is an extremely elementary question, but I am
>> >> having difficulties in importing the Data.Char library in Hugs.
>> >
>> >Hugs> :a Data.Char
>> >Data.Char>
>>
>> Thank you; that was exactly the information for which I was looking.
>>
>> Incidentally, what option name does 'a' represent?  That one doesn't
>> appear when I type ":?."  Shouldn't it appear in that list?
>
>It should, and it does for me (hugs september 2006):
>
>Hugs> :?
>LIST OF COMMANDS:  Any command may be abbreviated to :c where
>c is the first character in the full name.
>
>:load <filenames>   load modules from specified files
>:load               clear all files except prelude
>:also <filenames>   read additional modules         <--- There
>:reload             repeat last load command

Oops; you're right:  The structure of the two commands above it was
the following:

>:load <filenames>   load modules from specified files
>:load               clear all files except prelude

Apparently, for some reason, when I tried to scan through the list, I
subconsciously grouped the two commands below similarly:

>:also <filenames>   read additional modules
>:reload             repeat last load command

Therefore, I somehow only read the second line of what I thought was a
structurally similar second group, and therefore noticed the
":reload," but not the ":also," expecting the command above it to be
":reload <filenames>."

I probably should have either read more slowly (I was rushing out to
lunch at the time), or somehow avoided unconsciously assuming patterns
that didn't exist.

Too much mental pattern-matching ;-).

>
>Unfortunately, Hugs' behaviour is much less convenient than ghci's:
>
>Hugs> :also Data.Char SimplTest
>SimplTest> ord 'a'
>ERROR - Undefined variable "ord"
>SimplTest> Data.Char.ord 'a'
>ERROR - Undefined qualified variable "Data.Char.ord"
>
>You can't directly use it, neither qualified nor unqualified, you have to switch contexts
>with :m(odule):
>
>SimplTest> :m Data.Char
>Data.Char> ord 'a'
>97
>Data.Char> :m SimplTest
>SimplTest> filter (test 4) $ digl 3
>[[0,0,0],[0,1,4],[0,2,8],[1,4,0],[1,5,4],[1,6,8],[2,8,0],[2,9,4]]

Interesting; what happens if I then need to use a higher-order
function composed of other functions, some of which are from different
modules, interactively?

-- Benjamin L. Russell
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^

Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Benjamin L. Russell
In reply to this post by Benjamin L. Russell
My apologies; another respondent in this forum responded in a private
e-mail message that I had misrecognized your ":l" (a colon followed by
a lowercase 'L') for a vertical bar; I was using a variable-width
font; perhaps I should have double-checked using a fixed-width font.

I stand (er, sit, rather) corrected, as follows:

--8<---------------cut here---------------start------------->8---
Hugs>:l Data.Char
Data.Char>:?
--8<---------------cut here---------------end--------------->8---

Incidentally, if WinHugs cannot have multiple loaded modules unless
they are put in a file and loaded therein, then what is the difference
between the ":l" (a colon followed by a lowercase 'L') and ":a" (a
colon followed by a lowercase 'A') commands?

-- Benjamin L. Russell

On Fri, 18 Sep 2009 11:39:50 +0900, Benjamin L.Russell
<[hidden email]> wrote:

>On Thu, 17 Sep 2009 15:02:21 +0200, Adrian Neumann
><[hidden email]> wrote:
>
>>You do
>>
>>> :l Data.Char
>
>That command didn't work; see the following results:
>
>--8<---------------cut here---------------start------------->8---
>Hugs>:| Data.Char
>Command not recognised.  Type :? for help
>Hugs>
>--8<---------------cut here---------------end--------------->8---
>
>-- Benjamin L. Russell
>
>>
>>As far as I know you can't have multiple loaded modules unless you put
>>them in a file and load that.
>>
>>Regards,
>>
>>Adrian
>>
>>Benjamin L.Russell schrieb:
>>> My apologies if this is an extremely elementary question, but I am
>>> having difficulties in importing the Data.Char library in Hugs.
>>>
>>> In GHCi, the command "import Data.Char" works correctly, as follows:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
>>> Loading package ghc-prim ... linking ... done.
>>> Loading package integer ... linking ... done.
>>> Loading package base ... linking ... done.
>>>    ___         ___ _
>>>   / _ \ /\  /\/ __(_)
>>>  / /_\// /_/ / /  | |   GHC Interactive, for Haskell 98.
>>> / /_\\/ __  / /___| |   http://www.haskell.org/ghc/
>>> \____/\/ /_/\____/|_|   Type :? for help.
>>>
>>> Prelude> import Data.Char
>>> Prelude Data.Char>
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> However, in Hugs, the same command fails with an error, as follows:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> __   __ __  __  ____   ___ _________________________________________
>>> ||   || ||  || ||  || ||__      Hugs 98: Based on the Haskell 98 standard
>>> ||___|| ||__|| ||__||  __||     Copyright (c) 1994-2005
>>> ||---||         ___||           World Wide Web: http://haskell.org/hugs
>>> ||   ||                         Bugs: http://hackage.haskell.org/trac/hugs
>>> ||   || Version: 20051031       _________________________________________
>>>
>>> Haskell 98 mode: Restart with command line option -98 to enable
>>> extensions
>>>
>>> Type :? for help
>>> Hugs> import Data.Char
>>> ERROR - Syntax error in expression (unexpected keyword "import")
>>> Hugs>
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> Does anybody know how to import the Data.Char library in Hugs?
>>>
>>> -- Benjamin L. Russell
>>
--
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto."
-- Matsuo Basho^

Reply | Threaded
Open this post in threaded view
|

Re: How to import the Data.Char library in Hugs?

Daniel Fischer-4
Am Freitag 18 September 2009 08:05:46 schrieb Benjamin L.Russell:
> Incidentally, if WinHugs cannot have multiple loaded modules unless
> they are put in a file and loaded therein, then what is the difference
> between the ":l" (a colon followed by a lowercase 'L') and ":a" (a
> colon followed by a lowercase 'A') commands?

The difference is that :load loads one module (and its imports) and forgets previously
loaded modules, while :also doesn't forget the previously loaded modules.
So if you first load a large project (A), evaluate some expressions in that context, then
switch to a different project (B), and then switch back, if you use
A> :a B
B> some expression
some result
B> :m A
A>
the last A> prompt should be there pretty immediately, while in
A> :l B
B> some expression
some result
B> :l A
A>
the last A> prompt will take a while, since the entire project has to be lexed, parsed and
compiled (to whatever intermediate representation Hugs uses) again.