[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Packing software developed in GNU Guile Scheme

From: Amirouche Boubekki
Subject: Re: Packing software developed in GNU Guile Scheme
Date: Thu, 12 May 2016 21:16:50 +0200
User-agent: Roundcube Webmail/1.1.2

Héllo Daniel!

On 2016-05-12 17:28, Daniel Pimentel wrote:
Hi Guiles,

I developed a software with GNU Guile Scheme and I'd like packing to
distribute it.

How do I do? Using Makefile?

Project dependences: Guile, LSH/SSH.

I personally just spell everything inside a directory. But there
is really no way to install the things.  I just explain how to run
my program in-place and usually it's good enough, for people to
get interested (or not!).  If someone feel like adding autotools
 or guix, they can feel free
to do it.

That being said, I am bit a liar because the modules I use nowdays
feet in a single file.  You can install them just copy/paste without
forgetting denpendencies along the way...

GUILE_LOAD_PATH is, most of the time, when I run algorithms local to
the current directory and some global directory.  I do so using the `L`
(for *L*oadpath ) with `guile' command, say `guile -L . uav.scm' [1] for
instance will start uav database server on my machine.

[1] PS: where `.' means current directory. Instead of period, you can use `pwd`.

The content of the directory of the search engine is given by the `tree'
command is:

├── db
│   ├── tuples_index.wti
│   ├── tuples.wt
│   ├── WiredTiger
│   ├── WiredTiger.basecfg
│   ├── WiredTiger.lock
│   ├── WiredTigerLog.0000000001
│   ├── WiredTigerLog.0000000002
│   ├── WiredTigerPreplog.0000000002
│   ├── WiredTiger.turtle
│   └── WiredTiger.wt
├── debug.scm
├── htmlprag.scm
├── https-get.scm
├── hyper-port.scm
├── hyper.scm
├── hyper-server.scm
├── hyper-worker.scm
├── minikanren.scm
├── stopwords.en.txt
├── TODO
├── uav.scm
├── wiredtiger.scm
└── wiredtigerz.scm

1 directory, 25 files


Here is the number of lines of every file I've written for this project
including dependencies:

      4 hyper-port.scm
    196 hyper.scm
      5 hyper-server.scm
     29 hyper-worker.scm
    339 minikanren.scm
    271 uav.scm
    637 wiredtiger.scm
    681 wiredtigerz.scm

From my experience, this scheme can be used any pure module system,
even so with guile bytevectors which support several schemes.

I feel like packaging would be overrated on my project. Also
professional experience tells me programs are much bigger (at
least in Python). At $WORK, I dealt with a single class over more that
ten thousand lines of code split over two files. In comparison two thousand
(at the very least!) blobs of parens over nine files seems hideous b/c
file very small in personal projects.

Thanks and sorry for my newbie's question :)

It's not, there is different way to do it.  Mind the fact that this is
written (somewhere (over the ra1nybow)) that Facebook and google have
massive repositories.  Those are not databases of user data, but there
source code is in single tarball. That would be 500 000 000 lines of code
by the standard of my $WORK.

Note: I'll packing for Guix/GuixSD in soon, but I'd like to distribute
to other distribution by tarball for example.

Thanks in advance!

Amirouche ~ amz3 ~ http://www.hyper(or

Attachment: Capture d'écran de 2015-11-01 20-25-10.png
Description: PNG image

reply via email to

[Prev in Thread] Current Thread [Next in Thread]