Big_Int not cound

278 views
Skip to first unread message

skaller

unread,
Mar 26, 2018, 9:55:12 PM3/26/18
to felix google

Dang, i have a build problem, perhaps Shayne can help?


Ocaml 4.06, opam, the build says this:


File "build/release/src/compiler/ocs/src/ocs_types.mli", line 34, characters 15-30:
Error: Unbound module Big_int


Now, opam can find bignum, the problem is it is JaneSt flavoured. I specifically do NOT

want any JaneSt crud involved in the Felix build. The build must proceed with a stock

Ocaml installation. I don't want users to have to install opam and learn how to use

it just to build the compiler.


It should work, bignum is a standard part of Ocaml, not a separate package.


--

john skaller

blu...@fi.muni.cz

unread,
Mar 26, 2018, 10:00:54 PM3/26/18
to felix-l...@googlegroups.com
Hi,

> Ocaml 4.06, opam, the build says this:
>
>
> File "build/release/src/compiler/ocs/src/ocs_types.mli", line 34, characters
> 15-30:
> Error: Unbound module Big_int

bigint is no longer part of the OCaml distribution.
It was replaced by zarith.

Achim
signature.asc

skaller

unread,
Mar 26, 2018, 10:48:42 PM3/26/18
to felix-l...@googlegroups.com
Really?? Oh dear. What a pain. Ok, so, I had a lkook and there's a
Big_int compatibility layer.
Cool.

Unfortunately the licence is LGPL with linking exceptions. Also it
requires GMP which is
GPL and has no such exemptions and it requires gcc or clang, whereas I
mandate
MSVC++ on Windows.
SO the Ocaml devs have really screwed their system AGAIN.
Bytes vs String was bad enough. Felix uses Big_int but I can get
rid of that in my code. However, I can't so easily get rid of it in
OCS Scheme which is used for the action code in the parser.

Looks like Felix is stuck with older Ocaml distros.

And maybe its time to bootstrap the compiler to get rid of Ocaml ;(

skaller

unread,
Mar 26, 2018, 11:12:47 PM3/26/18
to felix-l...@googlegroups.com


On 27/03/18 13:48, skaller wrote:
>
>
> On 27/03/18 12:55, blu...@fi.muni.cz wrote:
>
> Unfortunately the licence is LGPL with linking exceptions. Also it
> requires GMP which is
> GPL and has no such exemptions and it requires gcc or clang, whereas I
> mandate
> MSVC++ on Windows.

However, MPIR does support Windows with CL15.

--
john skaller

skaller

unread,
Mar 27, 2018, 2:08:50 PM3/27/18
to felix-l...@googlegroups.com
Unfortunately for me, the only effective solution at the moment is to
evicerate OSC Scheme.
I'm going to remove support for Sbigint, Scomplex, Srational, and all
the functions that use
them. I'd love to remove Sfloat as well but I think there may be a use
for floats even in
parser action codes.

Unfortunately some of the integer functions in OCS scheme use bignum to
do calculations
even on small integers. Even addition is coded by converting to bignums,
adding, and
converting back. This means the modifications aren't mechanical. A lot
of functions
are going to be deleted.

The compiler proper only uses bignum for constant folding. Integer
literals are
actually stored as strings. Its a bit painful but this can be fixed.

--
John Skaller
ska...@internode.on.net
http://felix-lang.org

Reply all
Reply to author
Forward
0 new messages