Packaging and Sharing Code

62 views
Skip to first unread message

Todd Sundsted

unread,
Apr 22, 2012, 9:35:41 AM4/22/12
to MOO-...@googlegroups.com
If you read back through MOO Talk, or MOO-Cows before it, you quickly see that sharing MOO code has historically been hard (a "fornicating pain in the donkey" as one user put it over a decade ago -- http://eli.elilabs.com/mcarc/08-96/msg00043.html -- and it hasn't improved since).  IMHO this is a HUGE non-starter of a problem for the prospective adopters/users of Stunt and/or LambdaMOO.  Today, people expect a decent ecosystem of third-party code to grow up around a technology, and they expect it to be relatively easy to use that code.

To address that gap, and in response to some prodding (thanks), I finally got around to documenting Composed (AKA $composed), the Stunt | Improvise package manager.  Composed uses a neutral JSON-based package format for exchanging packages of objects/code.  The current implementation has a few dependencies on Stunt's extensions (JSON support and maps) but it could be ported to plain LambdaMOO without too much pain.  The code itself it almost two years old and very well tested (I use it to crank up a new custom core about twice a month).

Call to action:  if you have code to share, or if you have time on your hands and are willing to package up some of the existing code out there, please consider throwing in and building some packages.  I've already packaged up LambdaCore and several collections of existing code that depend on it (autoport tools, checkpointer and Martian's network/dns utilities) -- see http://stunt.io/ for everything that's available.

Once packaged, users can install the code as easily as:

  @install <package> with $composed

The package manager takes care of fixing object references, etc. etc. etc.

For details on packaging check out (hit me up with questions or problems):


For a long, drawn-out story about packaging up LambdaCore:


Some things that would be awesome to have packaged:

  ANSI utilities
  MCP
  A decent web-server (Stunt | Improvise has one, but LambdaCore does not)

If someone felt like setting up an alternate package repo, that would be awesome, too!

Thanks in advance to anyone who's willing to help!

Todd

Luke-Jr

unread,
Apr 22, 2012, 9:57:28 AM4/22/12
to MOO-...@googlegroups.com
On Sunday, April 22, 2012 9:35:41 AM Todd Sundsted wrote:
> If you read back through MOO Talk, or MOO-Cows before it, you quickly see
> that sharing MOO code has historically been hard (a "fornicating pain in
> the donkey" as one user put it over a decade ago
> -- http://eli.elilabs.com/mcarc/08-96/msg00043.html -- and it hasn't
> improved since). IMHO this is a HUGE non-starter of a problem for the
> prospective adopters/users of Stunt and/or LambdaMOO. Today, people expect
> a decent ecosystem of third-party code to grow up around a technology, and
> they expect it to be relatively easy to use that code.

I'd personally prefer to see some way to integrate git sanely ;)

Todd Sundsted

unread,
Apr 22, 2012, 10:22:28 AM4/22/12
to MOO-...@googlegroups.com
That would be awesome!  A package is really just a URL somewhere out there.  At one point I considered using GitHub (or your repo of choice) for hosting.

Making Stunt/LambdaMOO speak and act as a Git repo would be even more awesome!  I have no idea, off hand, whether that's insanely hard to do, or just hard to do, however.  A blob could be a property or verb definition.  A tree couple be an object...

Todd

Todd Sundsted

unread,
Apr 22, 2012, 10:22:55 AM4/22/12
to MOO-...@googlegroups.com
/couple/could/

Josh Benner

unread,
Apr 23, 2012, 6:59:56 AM4/23/12
to Todd Sundsted, MOO-...@googlegroups.com
Does MOO really need to act as the Git repo itself, or could it simply interact with a local git repo readily?

-- 
Josh Benner

--
You received this message because you are subscribed to the Google Groups "MOO Talk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/MOO-talk/-/061F6LQCnawJ.
To post to this group, send email to MOO-...@googlegroups.com.
To unsubscribe from this group, send email to MOO-talk+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/MOO-talk?hl=en.

michael munson

unread,
Apr 23, 2012, 7:48:46 PM4/23/12
to Josh Benner, MOO-...@googlegroups.com, Todd Sundsted

Does anyone know what diff algorithim git uses?

On Apr 23, 2012 5:00 AM, "Josh Benner" <joshb...@gmail.com> wrote:

Does MOO really need to act as the Git repo itself, or could it simply interact with a local git repo readily?

-- 
Josh Benner

On Sunday, April 22, 2012 at 10:22 AM, Todd Sundsted wrote:
>
> /couple/could/
>

> On Sunday, April ...

Todd Sundsted

unread,
Apr 23, 2012, 8:38:49 PM4/23/12
to MOO-...@googlegroups.com, Todd Sundsted
You have a few options (http://schacon.github.com/git/git-diff.html) including patience diff, word diff, binary diff and whatever the default diff algorithm is called.

Todd


On Monday, April 23, 2012 7:48:46 PM UTC-4, fluffy mckitterson wrote:

Does anyone know what diff algorithim git uses?

Reply all
Reply to author
Forward
0 new messages