[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Henri Menke via ntg-context
On Fri, 2024-01-19 at 13:56 +0530, Shiv Shankar Dayal wrote:
> Dear Hans,
> 
> I saw the C code of LuaMetaTeX and I saw a lot of gotos which is not
> good
> coding practice. These potions of code which have goto should be
> refactored.

https://xkcd.com/292/

> I am a C programmer, but I know very little of TeX. If you can point
> me
> towards where should I start for TeX(perhaps TeX Book or TeX for the
> Impatient), I can help with refactoring of code to make is more
> efficient/easier.
> 
> _
> __
> If your question is of interest to others as well, please add an
> entry to the Wiki!
> 
> maillist : ntg-context@ntg.nl /
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage  : https://www.pragma-ade.nl /
> https://context.aanhet.net (mirror)
> archive  : https://github.com/contextgarden/context
> wiki : https://wiki.contextgarden.net
> _
> __

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Hans Hagen

On 1/19/2024 9:31 AM, Shiv Shankar Dayal wrote:

I see code like

# define luametatex_version          210
# define luametatex_revision         10
# define luametatex_release          10
# define luametatex_version_string   "2.10.10"

starting with C99 these become unnecessary. Rather they should be like 
const int luametatex_version=210; const char* 
luametatex_version_string="2.10.10";


These ensure type-safety in the code and are good coding practice.
Good coding practice discussions are wasted on me (you don't want me to 
look at your tex code -)


The versioning is abit special in te xdue to the fact thet some numbers 
en dup in registers and others as token list (string). I have considered 
changing that but it would also break some 'testing for tex version' so 
for now we have to accept this mix of tex/etex/pdftex inheritance.


Hans


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Hans Hagen

On 1/19/2024 9:26 AM, Shiv Shankar Dayal wrote:

Dear Hans,

I saw the C code of LuaMetaTeX and I saw a lot of gotos which is not 
good coding practice. These potions of code which have goto should be 
refactored.


I am a C programmer, but I know very little of TeX. If you can point me 
towards where should I start for TeX(perhaps TeX Book or TeX for the 
Impatient), I can help with refactoring of code to make is more 
efficient/easier.
Luametatex evolves out of traditional tex so we have/keep some and 
although i grew up in the 'anti goto' times (pascal) there are plenty 
cases where i see no problem. Occasionaly I clean up such bits (when it 
makes sense). And I'm not going to enter coding practice discussions.


Forget about refactoring ... there has already be done a lot of that and 
we want to stay sort of close to the original (also due to 
doicumentation). I know the code quite wel now and refactoring is for me 
counter productive. These are projects running for decades and engines 
need to be stable so changes come slow.


You can compare the luanmetatex source to luatex and pdftex to see how 
we proiceed.


Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Shiv Shankar Dayal
Dear Taco,

I will send new messages to dev mailing lists. Let me join it first.

On Fri, Jan 19, 2024 at 2:11 PM Taco Hoekwater  wrote:

>
> Hi Shiv,
>
> Can you move this discussion to the dev-context list, please?
> https://mailman.ntg.nl/mailman3/lists/dev-context.ntg.nl/
>
> Best wishes,
> Taco
>
>
> > On 19 Jan 2024, at 09:31, Shiv Shankar Dayal <
> shivshankar.da...@gmail.com> wrote:
> >
> > I see code like
> >
> > # define luametatex_version  210
> > # define luametatex_revision 10
> > # define luametatex_release  10
> > # define luametatex_version_string   "2.10.10"
> >
> > starting with C99 these become unnecessary. Rather they should be like
> const int luametatex_version=210; const char*
> luametatex_version_string="2.10.10";
> >
> > These ensure type-safety in the code and are good coding practice.
> >
> > On Fri, Jan 19, 2024 at 1:56 PM Shiv Shankar Dayal <
> shivshankar.da...@gmail.com> wrote:
> > Dear Hans,
> >
> > I saw the C code of LuaMetaTeX and I saw a lot of gotos which is not
> good coding practice. These potions of code which have goto should be
> refactored.
> >
> > I am a C programmer, but I know very little of TeX. If you can point me
> towards where should I start for TeX(perhaps TeX Book or TeX for the
> Impatient), I can help with refactoring of code to make is more
> efficient/easier.
> >
> > --
> > Respect,
> > Shiv Shankar Dayal
> >
> >
> > --
> > Respect,
> > Shiv Shankar Dayal
> >
> ___
> > If your question is of interest to others as well, please add an entry
> to the Wiki!
> >
> > maillist : ntg-context@ntg.nl /
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> > webpage  : https://www.pragma-ade.nl / https://context.aanhet.net
> (mirror)
> > archive  : https://github.com/contextgarden/context
> > wiki : https://wiki.contextgarden.net
> >
> ___
>
> —
> Taco Hoekwater  E: t...@bittext.nl
> genderfluid (all pronouns)
>
>
>
> ___
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context@ntg.nl /
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
> archive  : https://github.com/contextgarden/context
> wiki : https://wiki.contextgarden.net
>
> ___
>


-- 
Respect,
Shiv Shankar Dayal
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Taco Hoekwater

Hi Shiv,

Can you move this discussion to the dev-context list, please? 
https://mailman.ntg.nl/mailman3/lists/dev-context.ntg.nl/

Best wishes,
Taco


> On 19 Jan 2024, at 09:31, Shiv Shankar Dayal  
> wrote:
> 
> I see code like
> 
> # define luametatex_version  210
> # define luametatex_revision 10
> # define luametatex_release  10
> # define luametatex_version_string   "2.10.10"
> 
> starting with C99 these become unnecessary. Rather they should be like const 
> int luametatex_version=210; const char* luametatex_version_string="2.10.10";
> 
> These ensure type-safety in the code and are good coding practice.
> 
> On Fri, Jan 19, 2024 at 1:56 PM Shiv Shankar Dayal 
>  wrote:
> Dear Hans,
> 
> I saw the C code of LuaMetaTeX and I saw a lot of gotos which is not good 
> coding practice. These potions of code which have goto should be refactored.
> 
> I am a C programmer, but I know very little of TeX. If you can point me 
> towards where should I start for TeX(perhaps TeX Book or TeX for the 
> Impatient), I can help with refactoring of code to make is more 
> efficient/easier.
> 
> -- 
> Respect,
> Shiv Shankar Dayal
> 
> 
> -- 
> Respect,
> Shiv Shankar Dayal
> ___
> If your question is of interest to others as well, please add an entry to the 
> Wiki!
> 
> maillist : ntg-context@ntg.nl / 
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
> archive  : https://github.com/contextgarden/context
> wiki : https://wiki.contextgarden.net
> ___

— 
Taco Hoekwater  E: t...@bittext.nl
genderfluid (all pronouns)


___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___


[NTG-context] Re: LuaMetaTeX code

2024-01-19 Thread Shiv Shankar Dayal
I see code like

# define luametatex_version  210
# define luametatex_revision 10
# define luametatex_release  10
# define luametatex_version_string   "2.10.10"

starting with C99 these become unnecessary. Rather they should be like
const int luametatex_version=210; const char*
luametatex_version_string="2.10.10";

These ensure type-safety in the code and are good coding practice.

On Fri, Jan 19, 2024 at 1:56 PM Shiv Shankar Dayal <
shivshankar.da...@gmail.com> wrote:

> Dear Hans,
>
> I saw the C code of LuaMetaTeX and I saw a lot of gotos which is not good
> coding practice. These potions of code which have goto should be refactored.
>
> I am a C programmer, but I know very little of TeX. If you can point me
> towards where should I start for TeX(perhaps TeX Book or TeX for the
> Impatient), I can help with refactoring of code to make is more
> efficient/easier.
>
> --
> Respect,
> Shiv Shankar Dayal
>


-- 
Respect,
Shiv Shankar Dayal
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___