pkgsrc/devel/omake/distinfo
wiz 430bc99013 Update to 0.9.8.6rc1 and add lots of upstream SVN patches to make
it build again.

Changes:
This is a major feature enhancement and bugfix release

    * Added keyword and optional function arguments.

      The syntax of a keyword parameter/argument is "identifier = expr".

         Function     Application
         -------------------------------------------
         f(a)         f(1)
         f(~a, b)     f(~a = 10, 11)     Required keyword argument
         f(?a, b)     f(~a = 10, 12)     Optional keyword argument
                      f(12)              -- defaults to empty
         f(?a = 1, b) f(~a = 10, 11)     Optional keyword argument with default value
         f(~a = 1, b) f(11)              -- ~a is same as ?a if there is a default value
                      f(?a = 10, 11)     -- Arguments can use ?, but it means the same thing

      Keyword arguments and normal arguments are processed
      independently. Normal arguments have to appear in the same
      order as in the parameter list, but keyword arguments can go
      anywhere.

      This also adds the function notation.

          fun(x, y) =>
             add($x, $y)

          foreach(x => ..., a b c)
             println($x)

      where the "..." essentially means "parse as if the indented
      block below was actually an expression in here"

      Old-style foreach generate a warning.
    * Added "program" syntax. This provides a more standard
    programming language, where strings must be explicit, and
    variables represent applications.

      The outer syntax is normal; the program syntax is an ast to
      ast translation. The translation is turned on with the command
      ".LANGUAGE: program", which is scoped like "export". Here is
      an example:

         #!/usr/bin/env osh
         .LANGUAGE: program

         f(x) =
            return x + 1

         println(f(f(1)))

      The normal $-style expressions are always allowed, but in
      program-syntax mode, identifiers stand for variables, function
      application is the f(e1, ..., e2) form, and there are the
      standard infix operators. To switch back to the default
      syntax, use .LANGUAGE: make

      Note, shell commands and rules never use program syntax,
      except within function arguments.

      This is not heavily tested.
    * Added support for partial and curried function applications.
    Normal funcation application still require using the correct
    number of arguments (as relaxed by the introduction of optional
    arguments), but apply function can be used to create curried
    and partial applications.

         f(x,y) =
            return $(add $x, $y)

         g = $(apply $f, 2)      # Partial applications must use apply
         println($(g 3))         # 5

         ff(x) =
            gg(y) =
               return $(add $x, $y)

         println($(apply $(ff), 3, 5)) # Prints 8, also need to use apply here

      apply can also take keyword arguments.
    * A high-quality C parser was added to OMake — see lib/parse/C/Parse.om
    * Added a LaTeX parser and spellchecker - see lib/parse/LaTeX/README.txt
    * New functions added: localtime, gmtime, mktime, normalize-tm,
    utimes, digest-string, url-escaped, find-all, addprefixes
    * New object added: Tm
    * About 10 Bugs fixed
    * [Experimental] Object methods can now export their fields
    back into the parent object. For example,

         Z. =
             x = 1
             f() =
                 x = 2
                 export
         Z.f()
         echo $(Z.x)
         # Prints "2"

      This works with arbitrary levels of nesting.
2010-12-17 09:40:14 +00:00

29 lines
1.6 KiB
Text

$NetBSD: distinfo,v 1.2 2010/12/17 09:40:14 wiz Exp $
SHA1 (omake-0.9.8.6-0.rc1.tar.gz) = f714fa992bf391b8bac49a488bc654128962d1cc
RMD160 (omake-0.9.8.6-0.rc1.tar.gz) = b7ceebea6f4c40460625e2e9528257e200676bca
Size (omake-0.9.8.6-0.rc1.tar.gz) = 3254283 bytes
SHA1 (patch-aa) = 1cc195874da3db9f909993818b347211c9f3ff77
SHA1 (patch-ab) = 449aae3ff362efbc50f188cba8a76a13334eb964
SHA1 (patch-ac) = 21f4d1b8d822cebbd19ab2226193f137d66dfd7e
SHA1 (patch-ad) = d522e9cd5fbbf74c876314afecbfecc85434210c
SHA1 (patch-ae) = 2b0a400b4da3e557d6a14eab9fa76913059c084a
SHA1 (patch-af) = 24731dd649379f22de0fd34d46d68e7acf6c8a61
SHA1 (patch-ag) = e7c9e2e0826dc2ca69df4830f449a4d0946fd278
SHA1 (patch-ah) = 35ffade097aa37b37be1e73b3f1521d57b9d1880
SHA1 (patch-ai) = ea06c43ea427508f6eef0e0ade9b569977bd7ac1
SHA1 (patch-aj) = 9c33be37c2dff423890b132984414c1fd1da457f
SHA1 (patch-ak) = 20af5574290a4ee1dd98bcaff63ed7d93945029e
SHA1 (patch-al) = 86b3e0bb348ad6d5813df20bad5ec8e0c77e372b
SHA1 (patch-am) = 15f572056b66dc565cba65da04899909be784bf8
SHA1 (patch-an) = 493e5e9bb25371b066aafe8aac70defee13370b7
SHA1 (patch-ao) = 5f70ae344d3d0d822ed5a6ed21c75c33b2b10d0d
SHA1 (patch-ap) = 93db626ca9bee439d513014c9aa23212d3e42a70
SHA1 (patch-aq) = 9531c72e6d6c417b10059dabbf37b8e3a1324b02
SHA1 (patch-ar) = 936c185d4a290ae2acb0b6f6788cef9996d2e197
SHA1 (patch-as) = fa7a7720867a5e5b53df8c3d80f35d0aa27b5b80
SHA1 (patch-at) = cb81d50d1a85dac9cb0fa81046b8a7b255387a4c
SHA1 (patch-au) = efb7a298c259e645d2031fee5b016a47389621dd
SHA1 (patch-av) = 10edbea63bca8788f922c9debb2ebc50655760a5
SHA1 (patch-aw) = 4999a863230373cca75a6e5cbc4203430823468d
SHA1 (patch-ax) = 0a91c5d1a561b319885e848def2a3c54d52751d7