avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday February 22, 2024, 3:01 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Daniel Corbier [ switch to compact view ]

Pages: [1]

1. uCalc FMP is more than 100 times faster than MS Script Control.  Years ago, I had done my own speed test between uCalc and Microsoft Script Control.  uCalc's speed advantage seemed absurdly large, and it felt like I must have been using the script control the wrong way to get such slow results with it.  Here's a page by an independent party that confirms the great speed difference:  http://www.garybeene...iews/rev-parsers.htm .  That same page shows that uCalc runs more than 2 times faster than Lua.  Plus the current uCalc release is even faster than before.

2. You can actually create a language like Lua with uCalc Language Builder.  A few years ago, I did a presentation at Harvard, where I indicated that with uCalc, you'd be able to create a language like Lua, with minimal effort, using uCalc.  This was an ambitious idea using an earlier implementation of uCalc.  I don't think I wooed anybody.  But in case you are curious, please see the PowerPoint that accompanied my presentation at: .  The info there is outdated.  uCalc Language Builder was re-designed entirely from scratch since then.  The main idea is the same, but the approach is different.

The main idea is that uCalc Language Builder lets you create the programming language of your choice.  There are many scripting languages out there -- Lua being one of them.  Imagine if you wanted a language just like Lua, but with a few additional constructs from maybe Python, or Logo, etc.  Well with uCalc you can create your very own scripting language, just the way you want it.  Or if someone already created a language with uCalc, you'd be able to customize it.  The important thing is that the process of creating a language is designed to be easy with uCalc LB.

Please visit to see what uCalc Language Builder is about.  On that page, you'll see links to the simple code used for creating versions of Lisp and Forth.  You'll find more in the download.  For lighter material, see the Programming section of the animated tutorial that comes with the uCalc Calculator beta at .

uCalc LB is still a work in progress.  So I need as much feedback as possible on it.

Daniel Corbier
Author of uCalc FMP & LB

uCalc Fast Math Parser 2.96 was officially released today.  uCalc FMP will allow your applications to evaluate math expressions defined at runtime. For instance ucEval("2+5*10") returns 52. If you wanted to quickly plot a 3D surface such as "(sin(x)+cos(z))*z/3" you'd use ucEvaluate() for maximum speed.

For more details see:

Product Overview
Main Features
What's New in v2.96

Donationcoder members might also be interested in the Free License.

If you'd like to see an example of an interesting product that uses uCalc FMP, please download the uCalc Graphing Calculator beta, which comes with an interactive animated tutorial.  See

Daniel Corbier
Author of uCalc FMP

Found Deals and Discounts / October beta
« on: October 02, 2008, 05:59 PM »
Today, I have uploaded a new beta for the uCalc Graphing Calculator. Please visit and follow the link to the download page. The tutorial now includes navigation buttons. These same buttons can be programmed to do whatever else you want. There is a new tutorial topic that explains how to work with the new programmable buttons. The tutorial also is smoother overall. For instance, the words in the speech bubble no longer appear one at a time.

I'd like to thank those who have given feedback so far. I look forward to receiving even more feedback. You can still request a free license in exchange for your feedback. Thanks.

Daniel Corbier
author of uCalc products

That's an excellent suggestion.  In fact, I've tried something like this already, and it's been in place for some time.  When you visit , click on the Screenshots button (next to the More... and Download buttons) for the Graphing Calculator.  It's a kind of Flash slideshow, with screenshots of various features.  Is it something like this you had in mind?

Don't hesitate to make suggestions.  I may not be able to act on every single suggestion, but I'd still like to hear them all.

Thanks for the feedback.  I can't publicly post the registration code here in this forum.  But you can all get the free registration, by sending a request to the e-mail address, which starts with support followed by the at symbol (or visit ).

J-Mac, I'm not sure I fully understood your comment.  But the beta is still going on, so you can still claim your free license right now (with free upgrade when it comes out), in exchange for your feedback.  You can use it for personal/home use etc.  Anyone can give feedback to receive the free license.

Mouser, thanks for the kudos.

Ethan, I have jotted down your suggestions.  I'm glad you mentioned comment #1.  I received an e-mail from someone who made a similar point.  For a while, I thought there wasn't a way to change this.  But just now, I see that MS Agent has a property with several options.  One option is to not display the balloon at all when it speaks.  Another option is to display the text all at once, instead of word by word.  Now the question is to find a user-friendly way of letting you toggle this feature.  Or would everyone prefer that the text be displayed all at once by default?

Daniel Corbier
author of uCalc products

I am working on the next major version of the uCalc Graphing Calculator (which is now also a very programmable calculator).  I am currently giving away a free license for the current version, which will also entitle you to a free upgrade for the next version when it comes out.  All you have to do is download the new beta (go to ), and run through the animated tutorial, and e-mail me your feedback on the tutorial and/or the calculator itself.  The animated tutorial is designed to be as entertaining as it is instructive.

The uCalc Graphing Calculator is an end-user application.  However, if you are a programmer, you will notice many programmable features in this new version.  The animated tutorial itself is written in a script.  Besides functions and variables, you can define other kinds of things like syntax constructs (see the example for defining an RPN calculator), macros, etc.

This free deal is good until the next version is officially released.

Daniel Corbier
author of uCalc products

It's Official: uCalc FMP 2.9 is now available - and it's free.

It's been many years in the making, but uCalc Free Math Parser 2.9 is finally officially released today, June 1, 2007.

uCalc FMP allows your program to evaluate expressions defined at runtime.  For more details, please visit .

uCalc Free Math Parser 2.9 replaces uCalc Fast Math Parser 2.0.  As of today, support for version 2.0 is officially discontinued.  If you are a version 2.0 user, please be sure to read the help file topic entitled Upgrading Issues.

As the name implies, uCalc Free Math Parser is now free.  You may use it in your commercial, educational, or private projects.  You may distribute the uCalc DLLs with your products on as many computers as required.  There is no royalty fee.  Be sure to read the License topic in the help file for more details.

Although the free license does not entitle you to technical support, you are encouraged to ask questions and send feedback.  You might get a response, even if it's on a lower priority level.

uCalc FMP now refers to both uCalc Free Math Parser, and uCalc Fast Math Parser (commercial license).  The free license imposes a limit on the number of items you can define.  And certain advanced features (none of which were available in version 2.0), as well as full technical support, are reserved for commercial licensees of uCalc Fast Math Parser.

There is just one file to download.  By default uCalc FMP is in a demo license mode.  The help file's free license topic gives you the code to remove the message box that comes up in the demo mode.  And if you purchase a commercial license, you get a serial number that unlocks features reserved for the commercial license.  All users are encouraged to start with the free license, after having played with the demo.  In many cases the free license will be all that you need.  If you use uCalc more heavily, then soon enough you'll know whether you need to purchase a commercial license, as you will find a special message box that comes up whenever you have reached the limits of the free license.

Here is a partial list of new features.  These are relevant mainly in the context of moving from 2.0 to 2.9.  A host of other new features, which are not mentioned here, are found in the uCalc Language Builder (available separately; although it shares the same DLLs as FMP).
  • The IIF() function evaluates either the True argument or the False argument, depending on the value of the Condition argument, but not both, unlike version 2.0 which always evaluated both.
  • You can define callback functions similar to IIF() such that arguments passed ByExpr (as opposed to ByRef or ByVal) are not evaluated ahead of time.  This was not possible in version 2.0.
  • It is no longer necessary to set up definition space boundaries ahead of time.  Memory is gradually allocated as needed.  You won't need ucReset (though you can release an entire thread using ucReleaseItem), and you won't have to worry about running out of definition space (assuming you don't intentionally, or inadvertently devise a way to consume all your gigs of memory).  And there is no maximum number of arguments per function.
  • FMP 2.0 only allowed you to define infix (binary) operators.  Now you can also define prefix and postfix operators as well.  See DemoDefs.Txt for examples.
  • FMP 2.0 operator definitions didn't allow you to set individual precedence levels for each operator, as you can do now.  See DemoDefs.Txt for examples.
  • Case sensitivity can be turned on or off.  (It's off by default).
  • User-friendly form-based demos for PowerBASIC, Borland C++ Builder, VC++, and VB.NET are now included.  (VB classic, and Delphi already had form-based demos).
  • Support for VB.NET was added.
  • Speed. The new uCalc should be much faster, both in terms of parsing speed, and in evaluation speed.  The difference in speed may range from barely noticeable to very dramatic, depending on what you are doing, how you choose to implement things, and in some cases which compiler you are using.  By default, compilers that have native support for 80-bit precision can benefit the most in numeric calculations.  Compilers that support pointers can create callbacks that use uCalc's NativeCall for more efficiency.
  • You can attach a uCalc variable to the address of a variable defined in your source code.  See the source code for the Plotting, and Sum examples in the demo files (excluding VB.NET).
  • Specific data types (Single, Double, Long, String, WideString, LPCSTR, etc...) are supported, replacing generic numeric and string types.
  • There is no longer a problem with using ucEval or ucEvalStr in your callbacks.
  • Function overloading is supported.
  • Function bootstrapping is supported.
  • Function recursion is supported.
  • More function definition flexibility is supported.
  • Multi-threading is supported.
  • Overall syntax was simplified.
  • The FPU word of the host program and uCalc's FPU word are insulated from each other.
  • FPU errors such as Overflow, Underflow, Division-by-0, etc... can be caught, or masked.
  • uCalc() is a function that encapsulates all of uCalc's functionality.  This function can be made available even to the end-user.

Please visit the download page at  to obtain the file.

Visit the uCalc home page at

Daniel Corbier
uCalc FMP author

Pages: [1]