unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Amirouche Boubekki <amirouche@hypermove.net>
To: Daniel Pimentel <d4n1@member.fsf.org>, Guile User <guile-user@gnu.org>
Cc: guile-devel
	<guile-devel-bounces+amirouche+dev=hypermove.net@gnu.org>,
	guile-devel@gnu.org
Subject: Re: Packing software developed in GNU Guile Scheme
Date: Thu, 12 May 2016 21:16:50 +0200	[thread overview]
Message-ID: <19e36a1ae65631ecfaac5299d7745395@hypermove.net> (raw)
In-Reply-To: <0ad6fe87371d6a6a512bb6a7b450a156@riseup.net>

[-- Attachment #1: Type: text/plain, Size: 3294 bytes --]

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:

```
.
├── COPYING
├── 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
├── README.md
├── 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 dev.fr move.net)

[-- Attachment #2: Capture d'écran de 2015-11-01 20-25-10.png --]
[-- Type: image/png, Size: 1933554 bytes --]

  reply	other threads:[~2016-05-12 19:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-12 15:28 Packing software developed in GNU Guile Scheme Daniel Pimentel
2016-05-12 19:16 ` Amirouche Boubekki [this message]
2016-05-12 20:36   ` David Pirotte
2016-05-16 14:20 ` Christopher Allan Webber
2016-05-16 15:59   ` Daniel Pimentel
2016-05-16 17:31     ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19e36a1ae65631ecfaac5299d7745395@hypermove.net \
    --to=amirouche@hypermove.net \
    --cc=d4n1@member.fsf.org \
    --cc=guile-devel-bounces+amirouche+dev=hypermove.net@gnu.org \
    --cc=guile-devel@gnu.org \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).