Re: [GNC-dev] Sample Report with Examples

2023-01-15 Thread Michael or Penny Novack

Let me ask you, have you ever coded for a non-procedural language?

If not, if scheme is your first, there is going to be  learning curve, 
and much of your experience with procedural languages not as much help 
as you might think.


I'd suggest you get an elementary LISP text (scheme is a dialect of LISP)

But essentially.
a) It is a functional language. Instead of carrying out some procedure 
you are evaluating some function*. A scheme (LISP) program is a 
function. To make matters worse, sometimes the result of the evaluation 
is irrelevant and what is wanted are "side effects" resulting form the 
evaluation.

b) The fundamental data type is "list"
c) Those top level definitions are the definitions of named functions 
that will be used in the main evaluation. Like in a procedural language 
you might define subroutines that would be called. BUT you can also 
"define on the fly" (a "lambda" function, not named, so only can be used 
in this place)


Like I said, get an elementary LISP text and get well beyond the 
equivalent of :hello world" before you try to understand scheme


Michael D Novack


* The computer science among us will know that these can be proven 
equivalent (that's what LISP was all about originally).  BTW, although c 
is usually used as a procedural language it can be used as a functional 
language. While learning c and on a list discussing what we were 
learning I got challenged to rewrite one of my exercises as a pure 
function (to convince me c could be used that way)


PS: the 'nix users who are comfortable at the command line and writing 
scripts  well your shell language plus library of standard utilities 
constitute a non-procedural language of fundamental data type "string". 
So what you learned doing that not completely useless. Also 'nix users 
who use Emacs/XEmacs, well you ARE in a LISP environment when you do that.




On 1/15/2023 5:38 PM, flywire wrote:

This exercise has left me with a few questions about
https://github.com/flywire/gnucash/blob/Hello/gnucash/report/reports/example/options-example.scm

1. I'm not clear on the scheme terminology. What are the lines in the
top-level definitions I labelled initialise values? I understand they are
not constants and I'd normally call it initialising or assigning variables.
2. Why does the section referred to in the above point normally only
contain option name and help but not default, section, or sort order?
3. If option sections are defined, does a default section need to be set?
4. Can a default General section be added to? It seems not and the whole
thig must be created.
5. The formatting style is different to most standard reports. Does it
need updating?
6. How can I make the version number bold:

https://github.com/flywire/gnucash/blob/3a949c269735709b47e02f181d80ad7e8c671982/gnucash/report/reports/example/options-example.scm#L340-L345
7. What is the best way of understanding/searching the api? Things like
html format and date interval below or tracing from date intervalin other
reports back to the specific date.
8. I'm still not clear on things like let, let*, and nested let.
9. There seems to be some sort of git corruption. How can I move this
forward as a contribution?
10. > [raised previously] I'm not sure if version or report-guid should
be updated.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel



--
There is no possibility of social justice on a dead planet except the equality 
of the grave.

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Sample Report with Examples

2023-01-15 Thread flywire
This exercise has left me with a few questions about
https://github.com/flywire/gnucash/blob/Hello/gnucash/report/reports/example/options-example.scm

   1. I'm not clear on the scheme terminology. What are the lines in the
   top-level definitions I labelled initialise values? I understand they are
   not constants and I'd normally call it initialising or assigning variables.
   2. Why does the section referred to in the above point normally only
   contain option name and help but not default, section, or sort order?
   3. If option sections are defined, does a default section need to be set?
   4. Can a default General section be added to? It seems not and the whole
   thig must be created.
   5. The formatting style is different to most standard reports. Does it
   need updating?
   6. How can I make the version number bold:
   
https://github.com/flywire/gnucash/blob/3a949c269735709b47e02f181d80ad7e8c671982/gnucash/report/reports/example/options-example.scm#L340-L345
   7. What is the best way of understanding/searching the api? Things like
   html format and date interval below or tracing from date intervalin other
   reports back to the specific date.
   8. I'm still not clear on things like let, let*, and nested let.
   9. There seems to be some sort of git corruption. How can I move this
   forward as a contribution?
   10. > [raised previously] I'm not sure if version or report-guid should
   be updated.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


[GNC-dev] New warnings on cmake master - Fedora 36

2023-01-15 Thread Geert Janssens
Commit

https://github.com/Gnucash/gnucash/commit/
fed4daf4e7dea7c85a56ad08f1817319272f7567

Added a number of boost libraries in the cmake check. Since that commit a 
cmake run will spew these warnings:

CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:2217 (message): 
 No header defined for algorithm; skipping header check (note: header-only 
 libraries have no designated component) 
Call Stack (most recent call first): 
 CMakeLists.txt:549 (find_package) 


CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:2217 (message): 
 No header defined for asio; skipping header check (note: header-only 
 libraries have no designated component) 
Call Stack (most recent call first): 
 CMakeLists.txt:549 (find_package) 


CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:2217 (message): 
 No header defined for process; skipping header check (note: header-only 
 libraries have no designated component) 
Call Stack (most recent call first): 
 CMakeLists.txt:549 (find_package) 


CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:2217 (message): 
 No header defined for property_tree; skipping header check (note: 
 header-only libraries have no designated component) 
Call Stack (most recent call first): 
 CMakeLists.txt:549 (find_package)



As the warning suggests, header only libraries shouldn't be added to 
FindBoost. That's at least the case on Fedora. Did you have problems with 
finding these header-only libraries on other platforms ?

Regards,

Geert


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: [GNC-dev] Sample Report with Examples

2023-01-15 Thread flywire
john wrote:

> I suggest:
>

Worth a review on my fork. I'm not sure if version or report-guid should be
updated.

Frank H. Ellenberger wrote:

> Did you also adjust test-stress-options?
>

No, only changed four lines in hello-world.scm after a Sync-fork. Sometimes
git has a mean streak.
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel