CHANGES

This file is deprecated. See NEWS instead

Palamedes 1.0-a55 (20150320)

  1. Added several new string functions:
    1. lc(string) - convert input string to lower case
    2. glue(string, separator) - glues the array of input strings together after removing quotes
    3. split(string, separator, limit) - split input string into array using separator up to limit times
    4. split2(string, separator) - split input string into array using separator
    5. tc(string) - convert input string to title case
    6. toNumber(string) - convert input string to a number
    7. trim(string) - trim whitespace from both ends of input string after removing quotation marks
    8. uc(string) - convert input string to upper case
  2. Changed the way the sum function works on strings.

See the NEWS for more details and examples.

Palamedes 1.0-a54 (20150313)

  1. Change: The select operator has been renamed pick. This was done because, Palamedes now supports SQL expressions that operate on matrices. See below for more info.
  2. Added: SQL statements like select Name, Age from Person where Age > 39 order by Age desc. There is support for natural joins and group-by clauses. See SQL for complete details.
  3. Change: The syntax for high/low and take/drop has changed (again), this time to make them work like other pipe expressions. The syntax is expression TAKE number
  4. Added: take and drop have new short forms and respectively.
  5. Added: high and low have been expanded to work on JSON objects in addition to arrays. Given a JSON object, they return a new object with the highest/lowest number keys. Similarly, take/drop have been expanded to work on JSON objects---they will take/drop the given number of keys at random.
  6. Added: There is new/additional syntax for gets/set.
  7. Added: Standard math notation for ceil and floor functions.
  8. Added Unicode Miscellaneous Symbols (U+2600 - U+26FF) incl. Playing cards & dice to tokens allowed in identifiers.
  9. Change: Made after operator a pipe so you can write Person group by Age after 34 after 1 after 0 without parens.
  10. Change: Switched from John Gruber's original Markdown to Python-Markdown, and the extra and toc extensions. In the future, may add an extension for writing math formulae in LaTeX like Markdown-LaTeX which converts LaTeX to images; other math extensions use MathJax or MathML; difficult to pick one over the other, since support varies by browser.

Palamedes 1.0-a53 (20150304)

Palamedes 1.0-a52 (20150304)

Fixed bugs in the internal functions r_op1 and r_op2 used to thread operators over structured arguments. In cases where one argument was the empty array [], an exception might have been thrown or a wrong result returned. See NEWS for more details.

Palamedes 1.0-a51 (20150303)

Palamedes 1.0-a50 (20150302)

Palamedes 1.0-a49 (20150201)

Palamedes 1.0-a48 (20141219)

Palamedes 1.0-a47 (20141211)

Palamedes 1.0-a46 (20141210)

Palamedes 1.0-a45 (20141202)

Expanded support for Bayesian Networks. See the NEWS file for complete details and examples.

Palamedes 1.0-a44 (20141111)

Preliminary support for conditional probabilities and Bayes' Rule. See the NEWS file for complete details and examples.

Palamedes 1.0-a43 (20141110)

Palamedes 1.0-a42 (20141107)

Palamedes 1.0-a41 (20141030)

Grammar changes

Lexer changes

AST changes

Palamedes 1.0-a40 (20141029)

Palamedes 1.0-a39 (20141007)

Fixed a bug in prob(max(a,b)) and prob(min(a,b)) that could result in bogus results when arguments a,b not iid.

Palamedes 1.0-a38 (20141007)

Calling mean[d6,d10,d20] returns a scalar with the mean of the array containing elements sampled randomly from the d6, d10, and d20 dice distributions, so you'll get a different result each time. But mean(d6,d10,d20) returns an array with the means of the d6, d10 and d20 dice distributions respectively. N.B. the difference is that [d6,d10,d20] is an array whereas (d6,d10,d20) is a tuple. Arrays are first class citizens in the Palamedes language. But tuples are just part of the grammar for function calls, only understood by the parser.

Additionally, mean[prob(d6),prob(d10),prob(d20)] returns an array of means. And mean([[1, 2, 3], [1, 3, 5], [0, 10, 20]]) returns an array with the means of each row in the given matrix.

These tricks only works with the functions mean, sd and var functions so far.

Added pair function to turn a pair of arrays into an array of pairs.

Palamedes 1.0-a37 (20141006)

Previously, min and max functions only computed probabilities for samples of iid random variables. Now they work on tuples or arrays of independent rv's, even if they're not identical, e.g., prob(max(2d6,3d6))//rat//table or stats(max(4d6,5d6+1,7d6+1))//table.

Added var function to compute variance. Note that var [1..6] computes the sample variance of the given array while var(d6) computes the population variance of the d6 dice distribution. Added var to the list of descriptive statistics returned by stats.

Palamedes 1.0-a36 (20140915)

This is just a quick summary of updates. See the NEWS file for details and examples.

Palamedes 1.0-a35 (20140909)

Here is a brief summary of the major changes. Please see the NEWS file for details and examples:

Palamedes 1.0-a34 (20140903)

Palamedes 1.0-a33 (20140829)

Palamedes 1.0-a32 (20140821)

Palamedes 1.0-a31 (20140820)

Palamedes 1.0-a30 (20140814)

Palamedes 1.0-a29 (20140813)

Palamedes 1.0-a28 (20140812)

Palamedes 1.0-a27 (20140711)

Palamedes 1.0-a26 (20140709)

Palamedes 1.0-a25 (20140708)

The problem allowing numbers as strings is that it breaks comparisons, e.g.,

l@ubuntu:~/work/Palamedes$ node
> "9" > "20"
true

These bugs were breaking the OrderStatistics(pmf, n, k) for pmfs with domain elements > 10

Palamedes 1.0-a24 (20140705)

Palamedes 1.0-a23 (20140704)

Palamedes 1.0-a22 (20140701)



AUTHORS BUGS DISCUSSION LICENSE NAME NEWS README SOURCE TODO TRY VERSION

Last update: Fri Sep 23 2016