[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 17892



File: 1470890092139.png (54.67 KB, 300x217, praxis.png)

No.17892

Does anyone here use praxis?

github.com/createuniverses/praxis

Do you like live coding? If so, do you prefer to make your own environment, or use an existing one? If you make your own, do you prefer to use an off the shelf embeddable language like Lua or s7 scheme, or do you implement your own language?

This seems like a good board. Thank you for your time.

  No.17893

>>17892
>do you prefer to use an off the shelf embeddable language like Lua or s7 scheme, or do you implement your own language?

why not just make your own language in scheme?

  No.17894

praxis was made so a Smalltalk/Lisp Machine style live environment can be enjoyed. The pure text based editing style is reminiscent of the Commodore 64 - summon code, freely change the editor behaviour, inject code - programming is the main interface into the world.

  No.17898

...someone talk to me

  No.17899

I've tried compiling it once but couldn't. It looks really fun so I will try again once I finally get a new machine.

  No.17900

>>17899
When you try, I'll help if you like.

  No.17909

>>17899
yeah make failed. Here's the error message.

https://0x0.st/BE-.txt

  No.17910

>>17909
CMakeLists.txt was only written for the windows build. For Linux, you need qmake.

  No.17911


  No.17912

I should get rid of CMakeLists.txt, because it causes confusion. I always use Qt Creator, so I don't even think about it or notice it on either platform.

Praxis doesn't depend on the Qt library itself at all, you just need qmake to generate the makefile. However, I'm not sure if you can get qmake separately from the Qt library.

Sorry for the confusion.

  No.17913

>>17911
Sorry about the feels. Should I refrain from posting feels here?

  No.17914


  No.17923

figured out how to compile it, still throws an error.

https://0x0.st/BlA.txt

  No.17924

>>17923
What were the steps you took to compile it?

  No.17927

>>17923
Those are all the inline Io functions.
IOINLINE needs to be set correctly in Common_inline.h. This depends on your platform and toolchain. The only platforms and toolchains supported are MSVC + Qt Creator/qmake on Win32, and qmake on Linux.

What platform are you on? What are your compile steps?

  No.17930

http://www.pawfal.org/fluxus/
There's Fluxus too, another livecoding-oriented exploratory platform, written in lisp.

  No.17933

>>17927
arch linux.

I cd'd to the main directory and typed

qmake; make

  No.17935

>>17933

Try invoking qmake this way:

qmake praxis.pro -r -spec linux-g++

This is how Qt Creator invokes qmake on my linux machine. I'm pretty sure when I invoked plain qmake it worked too, so I guess your install of qmake is picking up different defaults.

If this works for you, I'll document it.

  No.17937

>>17935
same problem. I think this warrants a github issue.

  No.17938

>>17937
Same problem after doing:

qmake praxis.pro -r -spec linux-g++

Or same problem, another person, another machine?

  No.17939

>>17937
>>17938
I meant same problem after 'qmake praxis.pro -r -spec linux-g++', but it seems I just needed to re-clone the repo and it works now.

  No.17940

>>17939
and no, compilation failed with all the same messages at a later point.

  No.17941

>>17939
Yes, you would need to do a clean before rebuilding with the new Makefile (generated from the new qmake incantation).

So, praxis now runs for you? Try running praxis from one of the subdirectories of prods.

  No.17949

>>17941
no, compilation failed just a little bit later than it used to. Same error messages.

  No.17958

>>17949
I just did a qmake and make, and it works fine on both my Linux machines. Here is the generated Makefile:

http://hastebin.com/zejarozamu.avrasm

Could you post yours so we can compare? I'm using the qmake that came with the Qt library, How did you install your qmake? Its possible that your arch install of qmake doesn't have the make specs set correctly. As I mentioned above, the #define IOINLINE needs to be set correctly (happens in Common_inline.h), and this will only happen if certain other platform specific #defines are defined in the Makefile.

If you want the qmake provided when you install the Qt library, I suggest using the installer provided by the Qt project rather than the debian/pacman repository:

https://www.qt.io/download-open-source/

  No.17962

>>17958
>How did you install your qmake?

came with the Qt library, version 5.7.0 qmake is version 3.0

here's the generated makefile: https://0x0.st/B5k.bin

  No.17963

>>17962
The only difference between the makefiles that looks interesting is the fact that I'm compiling for 32 bit platform, and you are targetting 64 bit.

Try adding #message on line 120 in Common_inline.h to see if __linux__ is set. Add them to the rest of the blocks too to see which block gets used. On Linux, the definitions specified on lines 128-130 need to be used.

  No.17965

>>17963
it does the ones from 123-125, so I guess IO_IN_C_FILE was defined.

  No.17966

>>17965
I think that's normal. It looks like Io has a complex pre-processor mechanism for inline functions depending on whether its included from its "parent" C file or other C file. With your compiler, an edge case that was being ignored before is suddenly causing a problem.

On lines 129 and 130, try changing extern inline to static inline. If this doesn't work, I'll push a version where Io is omitted from praxis by default.

  No.17967


  No.17968

>>17967
Ok, one more try. Replace Common_inline.h with the newer one from here:

https://github.com/stevedekorte/io/blob/master/libs/basekit/source/Common_inline.h

  No.17973


  No.17978

>>17973
Ok. Just for you, I've pushed a version which has Io (and Forth) off by default for you to try.

  No.17982

>>17978
awesome, it compiles! I'll try it out later. Thanks for the help/

  No.17992

>>17982
I am happy to help. I hope you enjoy it!

  No.18530

>>17913
Nah,
I mean you're not ranting, you're not venting, you're just asking for feedback.
Lainchan is a community, feel free to ask for feedback. Effective communication is imposible without it.

  No.18533

What weird worlds have you made with this program?
I've installed it but am facing different problems. Damn.

  No.18560

File: 1473392379685-0.png (40.56 KB, 200x58, praxisbug1.jpg)

File: 1473392379685-1.png (44.7 KB, 200x95, praxisbug2.jpg)

After some issues, I've compiled it and it works. Sort of. The program launches in two windows, one smaller screen which ostensibly looks like what it should, and a larger window which is all black. The mouse control all works, but I can't type anything. When I open the window, I can see the error message in the first picture, and when I press any key while the window is selected, it changes to the second message and doesn't seem to change after that.

  No.18565

>>18560

After doing some testing, it seems like it's trying to read a bunch of files that are in the examples in the prods directory and assuming they're in the main directory. For example, as you can see in the first picture, it's not finding the inspect module, because it's stored in prods/[whatever example]. I copied inspect.lua into the main directory, and it came up with a similar error talking about a different file.

I'm not totally sure what I could do to change the directory in which it's looking for these files. Do you have any suggestions/a bugfix?

  No.18894

>>18530
Thank you.

>>18560
>>18565

The idea is that your current folder is set to one of the prod directories, or your own folder. I suggest making a copy of one of the prod directories to provide you with a starting point. Set the current folder to that before running praxis.

I'm looking at baking some of the foundation functionality written in the startup Lua files into the executable so you can start the executable in an empty folder.

  No.18911

File: 1474645187564.png (8.01 KB, 200x90, praxiserr.png)

>>18894
Alright, now I'm running it from within one of the testing directories (ie, praxis/prods/LogoTest $ ../../praxis), which seems to fix the not finding the files thing, however, I still get all of those errors when pressing a key (all of the "onKeyDown" stuff, see image 2 in >>18560). Pic related is the new startup error.

  No.18930

>>18911
Try the other folders.

cauldron
syntaxXXXX
flashbackXXXX

  No.19326

>>17892
it built fine but errors out with this when trying to run:


Hello from the input thread.

X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 53
Current serial number in output stream: 54