Gretl-Hansl "IDE" for Sublime editor
by Artur Tarassow
Dear all,
some weeks ago I've started to switch to the sublime editor
(https://www.sublimetext.com/) for writing gretl code.
Even though I like the simplicity of the gretl editor and its features
such as syntax highlighting and auto-itendation, it lacks some features
of modern IDEs such as "goto-anything", "goto-definition", custom
keybindings, fancy themes, git-implementation, snippets etc. which make
life much easier when working on larger projects. Don't get me wrong,
the gretl editor is great but was _never_ supposed to become a proper
software-development IDE but rather has another focus which is totally fine.
So I started to write the "Hansl-Gretl-Language" package for sublime
which includes the following features:
- 3 gretl build-systems (client mode, batch mode, and REPL mode) for
executing hansl code by means of sublime (plots are also working!)
- syntax-highlighting
- completion of gretl commands, accessors and keywords
- some snippet examples for speeding up coding
The project still has the following (known) issues:
- no auto-itendation (still have to figure out how this works)
- issues with some corner-cases which are not syntax-highlighted (regex
can become so hard!)
The package can be downloaded through sublimes package control system,
and can be found here:
https://packagecontrol.io/packages/Hansl-Gretl-Language
If somebody wants to participate on this project, check out the code on
my github repository:
https://github.com/atecon/Hansl-Gretl-Language
For those interesting in the sublime editor, check out "OdatNurd"'s
brilliant tutorials on youtube:
https://www.youtube.com/user/nurdz
Enjoy the package,
Artur
9 months, 2 weeks
Developing Functional Package-Reg
by Dhanasekaran Kuppusamy
Hi,
I wrote a programme (script) for the Multidimensional Poverty Index
developed by OPHI and UNDP using Gretl. I am very much interested to share
this with Gretl users and uploaded it for the function package on
12.01.2022 . Finally I got the HTML message stating' *moved permanently'*.
Kindly let me know that the package has been uploaded or not.
I used gretl version 2021d.
Windows 10 pro version.
Also please let me know that can we use UNDP example data for preparing
the functional package. If so where it is to be included. Your help is
highly required and appreciated.
Thanks .
Dr.K.Dhanasekaran,M.A., M.B.A.,Ph.D.,PGD.Econometrics,
Formerly Associate Professor of Economics
Gobi Arts& Science College(Bharathiar University),
Gobichettipalayam, Tamilnadu.
2 years, 7 months
how to get the time periodicity of panel data (in a script)
by Sven Schreiber
Hi,
for a given panel dataset with embedded information about the time
dimension structure I want to obtain the periodicity in the time
direction; for example the value 4 if the data are quarterly (for
several cross units, of course, because we're in a panel). I know that
the $pd accessor doesn't work here because in a panel context it gives
me the total length of the time dimension (as documented).
I'm wondering whether there is a better (shorter) way than the following
hansl function and test cases:
<hansl>
function scalar pd_paneltime(void)
catch pd = nelem(seasonals())
if $error
return 1 # assume the case of non-seasonal data
# (but could also be simply no panel-time info)
else
return pd
endif
end function
# artificial example
nulldata 20
setobs 5 1:1 --stacked-time-series
setobs 4 1900:1 --panel-time # quarterly
eval pd_paneltime() # gives 4
# real example
open grunfeld # annual
eval pd_paneltime() # gives 1
</hansl>
thanks for any hints
Sven
2 years, 7 months
gretl 2022a released
by Allin Cottrell
Apologies to anyone getting multiple of copies of this, but here's
the bill of goods in gretl 2022a, available as usual at
http://gretl.sourceforge.net/ :
2022-02-02 version 2022a
- Copy/Paste of data in the GUI: make this facility more
visible, and support gdt format in addition to delimited
text; support Ctrl-C to copy
- Panel data time dimension: add apparatus to specify this
via the graphical interface
- Packaged panel data files: add more metadata where wanted
- Add a daily data file to the package: bikesharing.gdt
- Ensure the expected round-trip from strptime to strftime
for underspecified dates such as "1990"
- "set seed" command: allow parameter "auto" to revert to an
automatic clock-based seed
- "dpanel" command: add facility to "collapse" instruments
as in David Roodman's xtabond2
- "kpss" command for panel data: improve output for the case
where automatic lag order is selected; record $test and
$pvalue in matrix form
- "markers" command: add a --from-array option to read from
an array of strings
- "shell" command: clarify the help text
- "genr": get informative error messages to appear in more
cases
- Kalman (state space) apparatus: revise the documentation
to use more standard notation; revise internal code for
better maintainability (could be faster too)
- Indexing into matrices, arrays, lists and strings: support
the keyword 'end' to denote the last element; in the case
of matrices this is specific to row or column
- Support direct assignment of array of strings to string-
valued series, if the array is of appropriate size
- New function interpol() for linear interpolation
- New function mat2list(): create a list of series from the
columns of a suitable matrix
- New function distance(): evaluate the distance between
points on various metrics such as Euclidean, Manhattan,
Hamming, Chebyshev, Cosine and Mahalanobis
- deseas() function: add several options to inflect the
specifics of deseasonalization via X-13ARIMA-SEATS
- stdize() function: make it default to working as stated
in the help text (df correction of 1 for std. dev.)
- errorif() function: get this working within an mpi block,
in which case it can be used outside of a function
- tdisagg() function: limit (per default) the number of
observations for which automatic extrapolation is done
- Fix gmm bug: crash when a user-supplied weights matrix is
wrongly sized
- Fix bug in "bds" command: failure in case no --corr1 or
--sdcrit option is given
- Fix bug: automatic on-demand downloading of some addons was
not working (at least dbnomics, regls)
- Fix bug: panel time-series information could get lost on
exit from a function in which a panel dataset is subsampled
- Guard against crash on non-square invalid input to the
eigensym() function
- GUI console: add "Clear" button to clear the prior content
of the console window
- GUI VAR/system, Graphs menu: improve appearance of multiple
residual plots
- Build fixes for FreeBSD, for the non-OPENMP case, and for
recent macOS
- Package for macOS with M1 processor: add more syntax
highlighting styles for script editor
--
Allin Cottrell
Department of Economics
Wake Forest University
2 years, 8 months
pointers
by Ekkehart Schlicht
Hi,
I am new to Gretl and have two perhaps silly question concerning the use
of pointers. In the Hansl guide p.14 it is explained that parameters are
passed to functions "by value" but can also be passed by pointers. As I
am dealing with very large sparse matrices, I had the idea to pass them
by pointer rather than value in order to save time (for not duplicating
the matrix for use in a function in each of some thousand iterations)
and use less memory space. Does this make sense?
Second, it seems not quite clear to me how to do that. If I run the script
matrix a = seq(1,3)
function scalar inner(matrix a)
return a * a'
end function
scalar b =inner(a) # without pointer
scalar b = inner(&a) # with pointer
I get the correct result in the first case but
...
? scalar b = inner(&a)
inner: argument 1 is of the wrong type (is matrix *, should be matrix)
Data types not conformable for operation
...
with pointer in the second one which puzzles me.
I am running gretl version 2021d on Windows
Cheers
Ekkehart
--
Ekkehart Schlicht
Hurtenstr. 13
82345 Andechs-Frieding
Tel: +49 (0)8152 9149271
2 years, 8 months