Friday, 9 January 2009

Liskell standalone

Some time has passed since I last blogged about Liskell. It is not dead nor have I changed my mind that Haskell needs a proper meta-programming facility not to mention a better syntax.

Liskell was a branch of GHC once. Now it sits on top of the GHC API, or I should rather say sneaks behind its back as it creates its own API as the original one is not suitable for the stunts I'm interested in. If Liskell sticks with GHC as its soil, I will definitely send patches upstream to refine the GHC API in the areas where it needs more flexibility for Liskell. However for the moment, my main target was to get something out that compiles with a stable version of GHC.

You can grab it with the usual
darcs get http://code.haskell.org/liskell/

This version has been tested with ghc 6.10.1 and should install like
./Setup.lhs configure
./Setup.lhs build
./Setup.lhs install
cd LskPrelude
make install-inplace
Optionally you can run make tests in the testsuite subdirectory. Thanks to community.haskell.org for darcs hosting!

15 comments:

Johan Berntsson said...

What happened to liskell.org? The page seems dead. I'd like to try liskell, but it would be nice to have some documentation too.

Raoul Duke said...

nice to hear it's "not dead yet!"

Benjamin L. Russell said...

I just downloaded Darcs 2.2 and Liskell for Windows XP, Service Pack 2, but the following error message appeared when I ran:

./Setup.lhs configure

in Cygwin:

Configuring liskell-0.1...
Setup.lhs: At least the following dependencies are missing:
ghc-paths -any

How should I resolve this issue?

ctnd said...

Really impressed that it now runs on the API instead of specific GHC versions! I couldn't do without my GHC 6.10! Thank you! I hope and look forward to more developments.

To Russell:

Perhaps install this package:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghc-paths

Good luck!

ctnd said...

Okay, I got Liskell running and compiling here with a couple of changes:

In Main.hs, change:

-- GHC.runGhc (Just "/home/clemens/deploy/ghc-6.10.1/lib/ghc-6.10.1/") $ do
GHC.runGhc (Just "/home/chris/.GHC/lib/ghc-6.10.1/") $ do

To the appropriate value as I have.

./Setup.lhs configure --user
./Setup.lhs build
./Setup.lhs install

$ cd LskPrelude/
$ make
$ make install-inplace

Couldn't really get the tests working but I don't much care about that right now, just want to play with Liskell.

Hope you guys figure it out!

Cheers.

Benjamin L. Russell said...
This comment has been removed by the author.
Benjamin L. Russell said...

To ctnd:

Thanks for the advice, but:

> In Main.hs, change:
>
> -- GHC.runGhc (Just "/home/clemens/deploy/ghc-6.10.1/lib/ghc-6.10.1/") $ do
> GHC.runGhc (Just "/home/chris/.GHC/lib/ghc-6.10.1/") $ do

Done. However, the building step still fails:

> $ ./Setup.lhs build
> Preprocessing library liskell-0.1...
> Setup.lhs: The program happy is required but it could not be found

But "happy" is installed and listed in the PATH!

> $ which happy
> /cygdrive/c/Program Files/Haskell/bin/happy

> Perhaps install this package:
> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghc-paths

Already installed; _viz_:

> $ cabal install ghc-paths
> Resolving dependencies...
> No packages to be installed. All the requested packages are already installed.
> If you want to reinstall anyway then use the --reinstall flag.

How should I resolve this issue?

Benjamin L. Russell said...

Incidentally, because there was no way to edit my comment after submission, the following entry above refers to the comment immediately following it, after I had deleted the comment in order to edit out misplaced quoted-line indentation marks ("> "). Now I preview all my comments before posting them to avoid this problem recurring:

> Comment deleted
>
> This post has been removed by > the author.
>
> 25 January 2009 20:49

By the way, is there any way to remove the "Comment deleted" comment? Since I deleted my own comment in order to edit its contents after submission, perhaps the administrator of this blog could delete that auto-comment together with this additional explanatory comment? It takes up space and serves no purpose here.

ctnd said...

Hi Russell,

I had the same problem:

Configuring liskell-0.1...
Setup.lhs: At least the following dependencies are missing:
ghc-paths -any

I solved it by configuring as --user. I should've done this from the start as my GHC and cabal packages are all --user installed anyway.

./Setup.lhs configure --user
./Setup.lhs build
./Setup.lhs install

Hopefully it's the same for you.

RE the `happy` problem, no idea.

Good luck.

P.S. I saw your question on the mailing list but I'm unable to post to the list (despite asking for help from the admins) so I'll have to respond here.

Benjamin L. Russell said...

To ctnd:

Thanks again for the response.

This time, a parse error occurs in the building phase:

> Main.hs:218:0: parse error (possibly incorrect indentation)

These are lines 218-19 of my Main.hs file:

> partition_args :: [String] -> [(String, Maybe Phase)] -> [String]
> -> ([(String, Maybe Phase)], [String])

I tried merging line 219 into line 218, but the same error recurs.

In addition, the following error occurs during the install phase:

>Setup.lhs: dist\build\liskell\liskell.exe: copyFile: does not exist (No such fil
e or directory)

Sorry for the repeated questions, but would you happen to know how to resolve these issues?

Nik said...

./Setup.lhs build issues a warning

Main.hs:28:7:
Could not find module `InteractiveUI':

Help on how to resolve this would be welcome!
N

Clemens Fruhwirth said...

Nik: Unfortunately, that comes from GHC stable updates. Please darcs pull -a, I just pushed a new version.

Nik said...

Dear Clemens,
Thank you for the update! Will upgrade to Snow Leopard and try again ...
N

mifrai said...

Hm, I can't get it to build. This is what I get:

./Setup.lhs build
Preprocessing library liskell-0.1...
Preprocessing executables for liskell-0.1...
Building liskell-0.1...
[1 of 6] Compiling ReadRationalS ( ReadRationalS.hs, dist/build/ReadRationalS.o )
[2 of 6] Compiling LskParseTree ( LskParseTree.hs, dist/build/LskParseTree.o )
[3 of 6] Compiling LskTransformationMonad ( LskTransformationMonad.hs, dist/build/LskTransformationMonad.o )
[4 of 6] Compiling LexLiskell ( dist/build/LexLiskell.hs, dist/build/LexLiskell.o )
[5 of 6] Compiling ParseLiskell ( dist/build/ParseLiskell.hs, dist/build/ParseLiskell.o )
[6 of 6] Compiling Liskell ( Liskell.hs, dist/build/Liskell.o )
/usr/bin/ar: creating dist/build/libHSliskell-0.1.a

GHCSalat/InteractiveUI.hs:19:7:
Could not find module `GHCSalat.GhciTags':
Use -v to see a list of the files searched for.

Any ideas?

schulte said...

I see I'm over a year late to this comment thread. In trying to compile liskell I have the same problem mentioned above


GHCSalat/InteractiveUI.hs:19:7:
Could not find module `GHCSalat.GhciTags':
Use -v to see a list of the files searched for.


and no liskell executable is created.


Any advice? Is liskell now actually dead?