Live data from Hacker News

Python 3 implementation in Haskell

hackage.haskell.org

11–20 of 26 posts

Re: Python 3 implementation in Haskell

#12
post #9
post #4

Hmmm... won't install with ghc 7.0.4: $ cabal install berp Resolving dependencies... cabal: dependencies conflict: ghc-7.0.4 requires containers ==0.4.0.0 however containers-0.4.0.0 was excluded because berp-0.0.2 requires containers

This is pretty usual when it comes to major revision changes in the compiler or standard library with many languages. This is what you should do: 1. checkout berp from GitHub 2. try to build using cabal in the checked out source tree 3. if there are failing dependencies, hack Cabal build files. this case is probably trivial and berp developers have left containers 4. go to step 2, repeat until software is built 5. su…

After three hours of trying to install this with GHC 6.12.1 and GHC 7.0.3 I have given up.

The problem isn't with berp .cabal files but with dependencies of berp.

ghc-7.0.3 requires containers ==0.4.0.0 language-python requires containers ==0.3.0.0

ghc-6.12.1 requires directory ==1.0.1.0 language-python requires directory ==1.0.1.2

Fetching and unpacking language-python and changing the dependencies manually doesn't appear to fix the problem, for reasons I do not understand.

Re: Python 3 implementation in Haskell

#13
post #12
post #9

Earlier quoted context omitted.

This is pretty usual when it comes to major revision changes in the compiler or standard library with many languages. This is what you should do: 1. checkout berp from GitHub 2. try to build using cabal in the checked out source tree 3. if there are failing dependencies, hack Cabal build files. this case is probably trivial and berp developers have left containers 4. go to step 2, repeat until software is built 5. su…

After three hours of trying to install this with GHC 6.12.1 and GHC 7.0.3 I have given up. The problem isn't with berp .cabal files but with dependencies of berp. ghc-7.0.3 requires containers ==0.4.0.0 language-python requires containers ==0.3.0.0 ghc-6.12.1 requires directory ==1.0.1.0 language-python requires directory ==1.0.1.2 Fetching and unpacking language-python and changing the dependencies manually doesn't…

This sounds sadly like my experiences trying to get the Yi editor to install. I love Haskell in theory, but the build system is so painful if you aren't an expert!

Re: Python 3 implementation in Haskell

#14
post #4

Hmmm... won't install with ghc 7.0.4: $ cabal install berp Resolving dependencies... cabal: dependencies conflict: ghc-7.0.4 requires containers ==0.4.0.0 however containers-0.4.0.0 was excluded because berp-0.0.2 requires containers

Welcome to the dll hell-style package management system of hackage.

Re: Python 3 implementation in Haskell

#16

I wander if it adds any of Haskell's lazy and thread features?

To answer my own question it looks like it supports call/cc https://github.com/bjpop/berp/blob/master/test/regression/fe...

tail calls https://github.com/bjpop/berp/blob/master/test/regression/fe...

So those features are cool at-least...

Re: Python 3 implementation in Haskell

#17
post #8

Some discussion of implementation on github: https://github.com/bjpop/berp/wiki/Developing-Berp

Which shows that this implementation doesn't support imports, keyword arguments, metaclasses, eval and variable scope annotations.

This might have been a nice exercise but it is completely unusable as a serious implementation.

Re: Python 3 implementation in Haskell

#19
post #12
post #9

Earlier quoted context omitted.

This is pretty usual when it comes to major revision changes in the compiler or standard library with many languages. This is what you should do: 1. checkout berp from GitHub 2. try to build using cabal in the checked out source tree 3. if there are failing dependencies, hack Cabal build files. this case is probably trivial and berp developers have left containers 4. go to step 2, repeat until software is built 5. su…

After three hours of trying to install this with GHC 6.12.1 and GHC 7.0.3 I have given up. The problem isn't with berp .cabal files but with dependencies of berp. ghc-7.0.3 requires containers ==0.4.0.0 language-python requires containers ==0.3.0.0 ghc-6.12.1 requires directory ==1.0.1.0 language-python requires directory ==1.0.1.2 Fetching and unpacking language-python and changing the dependencies manually doesn't…

When you "cabal unpack language-python" and fix the dependencies, make sure you boost its minor version number (e.g: from: 1.0.3 to 1.0.3.1), otherwise cabal-install will ignore your custom install of the package and will revert to the one from the repositories.

cabal-install is a big hurdle -- must be improved for faster Haskell adoption.

Re: Python 3 implementation in Haskell

#20
post #12
post #9

Earlier quoted context omitted.

This is pretty usual when it comes to major revision changes in the compiler or standard library with many languages. This is what you should do: 1. checkout berp from GitHub 2. try to build using cabal in the checked out source tree 3. if there are failing dependencies, hack Cabal build files. this case is probably trivial and berp developers have left containers 4. go to step 2, repeat until software is built 5. su…

After three hours of trying to install this with GHC 6.12.1 and GHC 7.0.3 I have given up. The problem isn't with berp .cabal files but with dependencies of berp. ghc-7.0.3 requires containers ==0.4.0.0 language-python requires containers ==0.3.0.0 ghc-6.12.1 requires directory ==1.0.1.0 language-python requires directory ==1.0.1.2 Fetching and unpacking language-python and changing the dependencies manually doesn't…

There is a workaround for the issues with language-python. One can do:

cabal fetch language-python cabal unpack language-python edit the language-python.cabal file updating the containers dependency to 0.4.0.0 then change the version number of language-python itself to 0.3.3 cabal configure cabal install

However, this will not fix the more obtuse problem:

Warning: This package indirectly depends on multiple versions of the same package. This is highly likely to cause a compile failure. package haskell98-1.1.0.1 requires process-1.0.1.5 package ghc-7.0.3 requires process-1.0.1.5 package Cabal-1.10.1.0 requires process-1.0.1.5 package berpinterpreter-0.0.3 requires process-1.0.1.5

I believe the only solution for this problem is to rebuild the entire Haskell platform from source, and if that fails, to format and reload the entire machine.

But you know, keep voting this thread up because Hackhell is awesome.

Post reply on HN