1. Phix 1.0.1 uploaded

Usual place: http://phix.x10.mx/download.php (1.0.0 notes: https://openeuphoria.org/forum/m/136250.wc )

builtins\complex.e -- deep_copy rqd (bugfix) 
builtins\dict.e -- putd forwarding "tid=1" instead of just "tid" 
builtins\mpfr.e -- mpz_set_v, mpz_and, mpz_invert, mpfr_get_d_2exp, mpfr_const_euler 
builtins\pApply.e -- now a proper p2js autotranspile 
builtins\extract.e -- now returns string/sequence 
builtins\pfactors.e -- new mpz_prime_powers() routine 
builtins\pflatten.e -- join() now has an optional lastdelim parameter 
builtins\pipeio.e -- windows-only named pipe routines, not yet documented, 
                  --  and will remain so until they also work on Linux. 
builtins\ppp.e -- pp_IntCh now defaults to false, so you get 65 not 65'A'. 
builtins\prnd.e -- new rand_range() function 
builtins\punique.e -- made p2js compatible 
builtins\sockets.e -- closesocket() now a function 
builtins\sort.e -- sort_columns() needed a deep_copy() 
builtins\to_int.e -- to/is_integer() now have optional base=10 parameter 
builtins\unit_test.e -- made p2js compatible 
builtins\VM\pcall(/pc)func.e -- safe_mode mods 
builtins\VM\pDiagN.e -- disable safe_mode on crash 
builtins\VM\pprntfN.e -- %[idx] subscripted arg handling (see docs) 
                      -- eg/esp print a date() w/o having to reorder it. 
new builtins\glmath.e 
new builtins\hmac.e 
new builtins\IupGraph.e 
new builtins\IupRawStringPtr.e -- (moved out of pGUI.e for safe mode handling) 
new builtins\opengl.e -- (stub link to demo\pGUI\opengl.e) 
new builtins\sha1.e 
new builtins\sha512.e 
new builtins\unix_dict.e -- (mainly for the benefit of p2js) 
new demo\pGUI\HelloF.exw -- proper desktop/WebGL demo 
new demo\pGUI\opengl.e 
demo\pGUI\IupSampleDialog.exw -- much work to do, but slowly getting there 
demo\rosetta\15_puzzle_game_in_3D.exw -- p2js compatible 
 
for loop vars are now "resurrected" rather than replicated in the symbol 
table, which means you no longer get ex.err files with 17 'i' entries. 
new eval() function, see docs (if you don't like it, tough) 
significant updates to OpenGL/WebGL docs 
IupGetAttribute() now has a default, mainly for the benefit of p2js 
IupGetBrother() now has a bPrev parameter, to get previous element 
IupGetIntInt() added 
IupTable: data[2] can now contain simple format strings 
"with safe_mode" and/or "p -safe" for running untrusted code 
join() now has optional override for last delimiter, eg ", and " 
p2js: replaced all use of charCodeAt() with codePointAt() 
"static" deprecated (it never worked anyway) 
"continue" is now officially deprecated, although it still works 
            (As Douglas Crockford says "I have never seen a piece of  
             code that was not improved by refactoring it to remove  
             the continue statement.", and I have to agree.) 
pwa\p2js.js : replaced factors/sum/produc/find/match/apply with their 
              auto-transpiled versions, added dummy utf8_to_utf32 and 
              utf32_to_utf8, 
pwa\pGUI.js : more changes than you can shake a stick at, including: 
    IupsetGlobalFunction(IDLE_ACTION), IupS/GetAttributeId(list_id), 
    IupSetAttributePtr, IupSetDouble, IupSetAttributeHandle(MENU), 
    IupSetCallbacks, IupClipboard(?), IupRefresh[Children], IupText, 
    IupSetFocus, IupGetChild[Count], IupGetClassName, IupGetFocus, 
    IupGetDialogChild, IupGetParent, IupGetBrother, IupDatePick, 
    IupFlush, IupFrame, IupList, Iup[Sub]Menu[Item], IupSeparator, 
    IupMultiBox, IupProgressBar, IupSplit, IupTableGetSelected, 
    IupTableClearSelected, IupTableClick_cb, IupTabs, IupRadio, 
    IupValuator, [[hsv_]to_]rgb, cdCanvasActivate, cdCanvasPixel, 
    cdDe/EncodeColour[Alpha], cdCanvasArc/Sector/Chord/Circle/Clear/ 
    Flush/Font/GetSize/GetImageRGB/Line/[Rounded]Box/[Rounded]Rect/ 
    SetAttribute,SetFore/Background,SetFillMode,S/GetInteriorStyle, 
    SetLineStyle/SetLineWidth/Text,SpecialText,S/GetTextAlignment, 
    GetTextSize,S/GetTextOrientation,VectorText[Direction/Size], 
    IupTimer,glAttachShader..Viewport, IupDraw*,  
    and adding but completely messing up the resize handling... 
 
Enjoy!

new topic     » topic index » view message » categorize

2. Re: Phix 1.0.1 uploaded

A couple nits for 1.0.2:

I find orange text on grey background hard to read, especially when in the smallest possible font.

Is there really such words as "stanard" and "aparently" and "resorces" and "unmabiguous"?

I installed over v0.8.something, you may remember installing v0.8.something was a difficult process for me. This time, i let the installer do it's thing, but i didn't let it associate all the venerable .exw and.ex files exclusively to Phix. This install was painless.

Impressive body of work, Pete.

Kat

new topic     » goto parent     » topic index » view message » categorize

3. Re: Phix 1.0.1 uploaded

petelomax said...

Woo hoo! Nice job, Pete!

And thank you!

new topic     » goto parent     » topic index » view message » categorize

4. Re: Phix 1.0.1 uploaded

petelomax said...

I had the same issue installing this as I did for 1.0.0 (IIRC). Everything seems to get installed, but then it hangs at the very end.

Also, when I "p -c edita.exw," I get this:

https://i.postimg.cc/8cJLKfNY/phix-compile-edita-issue.png

new topic     » goto parent     » topic index » view message » categorize

5. Re: Phix 1.0.1 uploaded

Hallo Pete,

thank you so very much for this great software and your time.

Wonderful release.

new topic     » goto parent     » topic index » view message » categorize

6. Re: Phix 1.0.1 uploaded

Hi,

I get the same as in: 4. Re: Phix 1.0.1 uploaded

trying to compile for 64bit I get: missing eval.e

new topic     » goto parent     » topic index » view message » categorize

7. Re: Phix 1.0.1 uploaded

begin said...

missing eval.e

Ouch, I must have added that to the distro but then clobbered it when adding opengl.e 'cos it ended up with 0 copies of eval.e and 2 copies of opengl.e - for now you can grab a copy from https://raw.githubusercontent.com/petelomax/Phix/master/eval.e while I get to work on that tricky p -c edita issue (as I said two weeks ago that is not an easy thing to fix) and shipping 1.0.2
Note added to the download page.

new topic     » goto parent     » topic index » view message » categorize

8. Re: Phix 1.0.1 uploaded

katsmeow said...

I find orange text on grey background hard to read, especially when in the smallest possible font.

uh?

new topic     » goto parent     » topic index » view message » categorize

9. Re: Phix 1.0.1 uploaded

petelomax said...
katsmeow said...

I find orange text on grey background hard to read, especially when in the smallest possible font.

uh?

The installer. Phix is phine.

new topic     » goto parent     » topic index » view message » categorize

10. Re: Phix 1.0.1 uploaded

katsmeow said...
petelomax said...
katsmeow said...

I find orange text on grey background hard to read, especially when in the smallest possible font.

uh?

The installer. Phix is phine.

Are you talking about the windows UAC prompt?

new topic     » goto parent     » topic index » view message » categorize

11. Re: Phix 1.0.1 uploaded

euphoric said...

I had the same issue installing this as I did for 1.0.0 (IIRC). Everything seems to get installed, but then it hangs at the very end.

Sory, still can't reproduce this and still 0 idea what it might be.

euphoric said...

Also, when I "p -c edita.exw"

Ah, found it. There is C_PTR definition in demo/arwen/dll_links.ew which is clashing with the predefined one in psym.e.
Try commenting it out (or maybe wrapping it in --/* --*/ for Euphora).
Have added "further checking to see if it can issue a better compiler error/warning" to my to-do list, but nowhere near the top.

new topic     » goto parent     » topic index » view message » categorize

12. Re: Phix 1.0.1 uploaded

petelomax said...
euphoric said...

Also, when I "p -c edita.exw"

Ah, found it. There is C_PTR definition in demo/arwen/dll_links.ew which is clashing with the predefined one in psym.e.
Try commenting it out (or maybe wrapping it in --/* --*/ for Euphora).
Have added "further checking to see if it can issue a better compiler error/warning" to my to-do list, but nowhere near the top.

Say what?! Why does an arwen include file mess with Phix compilation of Edita? grin

So, which one do I edit? The one in dll_links.ew, or the one in psyme.?

petelomax said...

Have added "further checking to see if it can issue a better compiler error/warning" to my to-do list, but nowhere near the top.

No worries. Thanks for checking on it.

new topic     » goto parent     » topic index » view message » categorize

13. Re: Phix 1.0.1 uploaded

petelomax said...
katsmeow said...
petelomax said...
katsmeow said...

I find orange text on grey background hard to read, especially when in the smallest possible font.

uh?

The installer. Phix is phine.

Are you talking about the windows UAC prompt?

I don't remember it's name, i didn't take notes, i didn't video the installation. I'm sorry for saying anything, i was trying to be helpful. I expected you would know the characteristics and behavior of the thing.

new topic     » goto parent     » topic index » view message » categorize

14. Re: Phix 1.0.1 uploaded

euphoric said...
petelomax said...
euphoric said...

Also, when I "p -c edita.exw"

Ah, found it. There is C_PTR definition in demo/arwen/dll_links.ew which is clashing with the predefined one in psym.e.
Try commenting it out (or maybe wrapping it in --/* --*/ for Euphora).
Have added "further checking to see if it can issue a better compiler error/warning" to my to-do list, but nowhere near the top.

Say what?! Why does an arwen include file mess with Phix compilation of Edita? grin

So, which one do I edit? The one in dll_links.ew, or the one in psyme.?

demo/arwen/dll_links.ew

new topic     » goto parent     » topic index » view message » categorize

15. Re: Phix 1.0.1 uploaded

petelomax said...
euphoric said...

So, which one do I edit? The one in dll_links.ew, or the one in psyme.?

demo/arwen/dll_links.ew

OK, that fixes the error output.

How do I compile source only without running the resulting executable?

When I do "p -c edita.exw," it runs it after. I just want to compile it. Possible?

new topic     » goto parent     » topic index » view message » categorize

16. Re: Phix 1.0.1 uploaded

Hi,

I tries H:\Phix\demo\rosetta\Plot_coordinate_pairs.exw and get an error:

h:\Phix\builtins\IupGraph.e:7 in function redraw_graph_cb() 
type check failure, ???(symtab[8091][S_name]=0) is 6.071772942e+18 
    graph = 29579024 
    drid = <novalue> 
    grid = <novalue> 
    width = <novalue> 
    height = <novalue> 
    dsdx = <novalue> 
    datasets = <novalue> 
    xtick = <novalue> 
    xmin = <novalue> 
    xmax = <novalue> 
    xmargin = <novalue> 
    xyshift = <novalue> 
 
Global & Local Variables 
 
--> see H:\Phix\demo\rosetta\ex.err 

Some of progams I tried don't work either:

Draw_a_sphere.exw

DragonCurve.exw

OpenGL.exw

OpenGLShader.exw

new topic     » goto parent     » topic index » view message » categorize

17. Re: Phix 1.0.1 uploaded

Hi,

I tries H:\Phix\demo\rosetta\Plot_coordinate_pairs.exw and get an error:

h:\Phix\builtins\IupGraph.e:7 in function redraw_graph_cb() 
type check failure, ???(symtab[8091][S_name]=0) is 6.071772942e+18 
    graph = 29579024 
    drid = <novalue> 
    grid = <novalue> 
    width = <novalue> 
    height = <novalue> 
    dsdx = <novalue> 
    datasets = <novalue> 
    xtick = <novalue> 
    xmin = <novalue> 
    xmax = <novalue> 
    xmargin = <novalue> 
    xyshift = <novalue> 
 
Global & Local Variables 
 
--> see H:\Phix\demo\rosetta\ex.err 

Some of progams I tried don't work either:

Draw_a_sphere.exw

DragonCurve.exw

OpenGL.exw

OpenGLShader.exw

new topic     » goto parent     » topic index » view message » categorize

18. Re: Phix 1.0.1 uploaded

euphoric said...

How do I compile source only without running the resulting executable?

When I do "p -c edita.exw," it runs it after. I just want to compile it. Possible?

p -c -norun edita

new topic     » goto parent     » topic index » view message » categorize

19. Re: Phix 1.0.1 uploaded

katsmeow said...

I don't remember it's name, i didn't take notes, i didn't video the installation. I'm sorry for saying anything, i was trying to be helpful. I expected you would know the characteristics and behavior of the thing.

No worries, 1.0.2 shd be out soon so you'll get another chance. I rarely test install much anymore since it risks clobbering my working space. Thanks for reporting the spelling errors anyway.

new topic     » goto parent     » topic index » view message » categorize

20. Re: Phix 1.0.1 uploaded

begin said...

demo\rosetta\Plot_coordinate_pairs.exw:

h:\Phix\builtins\IupGraph.e:7 in function redraw_graph_cb() 
type check failure, ???(symtab[8091][S_name]=0) is 6.071772942e+18 

Some of progams I tried don't work either:

Draw_a_sphere.exw

DragonCurve.exw

Thanks, those work on 32 bit but not 64 bit. The indicated lines just need integer /*posx*/, /*posy*/ changing to atom /*posx*/, /*posy*/

I have added a check in IupSetCallback() which should help prevent me from creating any more of those in the future, the new error is (eg)
Draw_a_sphere.exw:76 "canvas ACTION callback must have func(Ihandle,ATOM,ATOM) sig"
Also fixed: 2048.exw, Abelian_sandpile_model.exw, animate_pendulum2.exw, Archimedean_spiral.exw, BarnsleyFern.exw... hold on a minute...
I think IUP may (on 64 bit) be passing back 32-bit integers but I'm treating them as 64-bit, I'll get back to you.

begin said...

OpenGL.exw

OpenGLShader.exw

Not getting an error here, on either 32 or 64 bit.

new topic     » goto parent     » topic index » view message » categorize

21. Re: Phix 1.0.1 uploaded

Hi,

I get the following for both.

OpenGLShader.exw: 
OpenGL.exw: 
 
h:\Phix\demo\pGUI\opengl.e:1685 
Couldn't find glDrawArrays 
 
--> see H:\Phix\demo\rosetta\ex.err 
Press Enter... 
new topic     » goto parent     » topic index » view message » categorize

22. Re: Phix 1.0.1 uploaded

begin said...

Hi,

I get the following for both.

OpenGLShader.exw: 
OpenGL.exw: 
 
h:\Phix\demo\pGUI\opengl.e:1685 
Couldn't find glDrawArrays 
 
--> see H:\Phix\demo\rosetta\ex.err 
Press Enter... 

Oh, WOW, just WOW. When investigating this I found many statements along the lines of
"but in the real world you can rely on OpenGL 2.1 to 3.3 being available on 99%+ of target machines."

It seems you don't have the right drivers installed, try this https://www.realtech-vr.com/home/glview
Or maybe (less likely) https://www.intel.com/content/www/us/en/support/detect.html
Should neither be runnable on your >>12 year++ old box then I'm not sure what else I could do.
Maybe, just maybe, a newer C:\Windows\system32[|SYSWOW64?]\opengl32.dll would help, but probably not.

new topic     » goto parent     » topic index » view message » categorize

23. Re: Phix 1.0.1 uploaded

Hi,

found a tool that shows if opengl etc. is installed. It is.

I reinstalled the latest Nvidia and intel driver, but that changes nothing.

Found an m$ - helper in their store, but didn't help. This seems to be a real problem with Win11.

new topic     » goto parent     » topic index » view message » categorize

24. Re: Phix 1.0.1 uploaded

begin said...

Hi,

found a tool that shows if opengl etc. is installed. It is.

I reinstalled the latest Nvidia and intel driver, but that changes nothing.

Found an m$ - helper in their store, but didn't help. This seems to be a real problem with Win11.

I suspect you have already effectively done this: https://www.youtube.com/watch?v=mGBesoTS51U or (similar but text) https://thegeekpage.com/opengl-not-supported/

Maybe something like https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions#Windows will help (it makes no difference here):

demo/pGUI/opengl.e, lines 1680 on (changes marked 29/11/21, but don't clobber wglUseFontOutlines, and do make a backup first):

global function wglGetProcAddress(string name) 
    atom addr = c_func(xglGetProcAddress,{name}) 
--29/11/21 (removed) 
--  if addr<=0 then 
--      crash("Couldn't find " & name) 
--  end if 
    return addr 
end function 
 
function link_glext_func(string name, sequence args, atom result) 
    atom addr = wglGetProcAddress(name) 
--29/11/21 (added) 
    if addr<=3 then 
        return iup_c_func(opengl32, name, args, result) 
    end if 
    return define_c_func({},addr,args,result) 
end function 
 
 
function link_glext_proc(string name, sequence args) 
    atom addr = wglGetProcAddress(name) 
--29/11/21 (added) 
    if addr<=3 then 
        return iup_c_proc(opengl32, name, args) 
    end if 
    return define_c_proc({},addr,args) 
end function 
new topic     » goto parent     » topic index » view message » categorize

25. Re: Phix 1.0.1 uploaded

Hi Pete,

sorry to be back that late. I did the changes and it works great.

I have done all that you suggested.

new topic     » goto parent     » topic index » view message » categorize

26. Re: Phix 1.0.1 uploaded

Hi Pete,

sorry to be back that late. I did the changes and it works great.

I have done all that you suggested.

new topic     » goto parent     » topic index » view message » categorize

27. Re: Phix 1.0.1 uploaded

just wanted to ask out of curiosity why

https://github.com/ocornut/imgui or

https://github.com/Immediate-Mode-UI/Nuklear

are not used for the user interface. It seems that many projects do.

new topic     » goto parent     » topic index » view message » categorize

28. Re: Phix 1.0.1 uploaded

begin said...

just wanted to ask out of curiosity why

https://github.com/ocornut/imgui or

https://github.com/Immediate-Mode-UI/Nuklear

are not used for the user interface. It seems that many projects do.

Whoa! Those are both really nice libraries, but it's the first time I've ever heard of them. (Although, not surprising, since I'm not interested in the space as of yet...)

new topic     » goto parent     » topic index » view message » categorize

29. Re: Phix 1.0.1 uploaded

Glad to hear that. it's an alternative and I am glad to know something you didn't yet.

But honestly, I think that would be a lot easier to maintain then all those dll's from iup.

new topic     » goto parent     » topic index » view message » categorize

30. Re: Phix 1.0.1 uploaded

I downloaded the archive today from https://github.com/petelomax/Phix, when I run p.exe -cp, I get an error

f: \ phix \ pEmit2.e: 3270 in procedure finalfixups2 () 
type check failure, thunk is {2089234873.0,1} 

new topic     » goto parent     » topic index » view message » categorize

31. Re: Phix 1.0.1 uploaded

AlexXX said...

I downloaded the archive today from https://github.com/petelomax/Phix, when I run p.exe -cp, I get an error

f: \ phix \ pEmit2.e: 3270 in procedure finalfixups2 () 
type check failure, thunk is {2089234873.0,1} 

Hmm, this is what I see in https://github.com/petelomax/Phix/blob/master/pEmit2.e

3270         if not norun or not bind then 
3271 --5/10/21 (safe_mode) 
3272 --          thunk = get_proc_address(APIerrlib[libidx],s) 
3273             {thunk} = get_proc_address(APIerrlib[libidx],s) 
So 1) I'd expect any error on line 3273 not 3270 which makes me suspect you've got the wrong version of that somehow
2) As you can see I've recently changed get_proc_address() and the call which makes me think you've got the newer version of that pcfunc.e.

It might just be somehow (path settings?) using an outdated p.exe, does p -? say 1.0.1 and/or try grabbing the latest p.exe off http://phix.x10.mx/download.php and using that, maybe renamed as in say "pl.exe -cp".

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu