These are chat archives for evhub/coconut

18th
Aug 2017
ShalokShalom
@ShalokShalom
Aug 18 2017 07:44
Hi, are you interested into a new front page with pythonic colors and so on? I think about an adoption of this page: http://kaosx.us
I can also find somebody to design a logo
:smile:
Evan Hubinger
@evhub
Aug 18 2017 17:37
@ShalokShalom Yeah, I am definitely interested in that, that'd be great! The code for the front page is on the gh-pages branch of the repository, if you have any changes you should submit a PR there!
ShalokShalom
@ShalokShalom
Aug 18 2017 17:41
Does this work together with Coco? http://nuitka.net/
Evan Hubinger
@evhub
Aug 18 2017 17:45
@ShalokShalom Yep, Coconut should be 100% compatible with any program like that which accepts Python source code as input!
ShalokShalom
@ShalokShalom
Aug 18 2017 17:45
It translate constructs to C++ code that calls the actual Python API's directly
So you mean Python bytecode is the same as Python source code under each condition?
Evan Hubinger
@evhub
Aug 18 2017 17:47
Coconut compiles to Python source code, which by default is written to be universally compatible with nearly all Python versions and implementations, including something like Nuitka.
ShalokShalom
@ShalokShalom
Aug 18 2017 17:48
Aha, then forget my PR, i thought it compiles into bytecode
Evan Hubinger
@evhub
Aug 18 2017 17:48
Yeah I just closed it :)
ShalokShalom
@ShalokShalom
Aug 18 2017 17:48
ok, thanks a lot
where did i read that?
speaking to myself
Evan Hubinger
@evhub
Aug 18 2017 17:50
compiling to Python source code is, imo, one of the big advantages of Coconut over some of the other languages that compile to Python bytecode, since the Python source code produced by Coconut can be run on any Python version from 2.6 to 3.7, and on any Python implementation, from CPython to something like Nuitka
ShalokShalom
@ShalokShalom
Aug 18 2017 17:50
So lets change this Wikipedia Entry too
Evan Hubinger
@evhub
Aug 18 2017 17:52
oh, are you writing a wikipedia entry? that's awesome!
ShalokShalom
@ShalokShalom
Aug 18 2017 17:52
when did the project start?
so, first released
Evan Hubinger
@evhub
Aug 18 2017 17:54
I released v1.0.0 on Jun 17, 2016, but I first started working on it around Jan 2015
ShalokShalom
@ShalokShalom
Aug 18 2017 17:54
I was already wondering, why this bytecode is called .py xD
ok, thanks a lot
Wikipedia counts the release date
plus the current version, and so on
own, dedicated entry will follow
Evan Hubinger
@evhub
Aug 18 2017 17:55
that looks good to me! thanks, this is great!
ShalokShalom
@ShalokShalom
Aug 18 2017 18:00
sure, thanks for Coco
Why do you keep the master branch open at all, if you dislike seeing commits in it?
I am used to the master branch as development branch and this is whats the default setting of all projects on Github, thats why i am asking. :)
Evan Hubinger
@evhub
Aug 18 2017 19:22
I use master to let people see the code and documentation for the most currently released version, which I think is the best default. If someone is wondering how the coconut release they just installed with pip install coconut works, master has the code for that. develop is used to house the development work being done for the next release, including documentation and code for new features that, if people were encouraged to try on the current release, would not work.
ShalokShalom
@ShalokShalom
Aug 18 2017 20:20
you can simply create a new branch on each new release and link to it in the announcements :D
people are used to master as the development branch and they will continue to see the default branch as the most recent one
Kentaro0919
@kentaro0919
Aug 18 2017 22:46
is there a way in coconut to find the function I am writing is "Pure"?
ShalokShalom
@ShalokShalom
Aug 18 2017 23:09
@evhub I suggest Coconut to the Twisted people, since they run it "on Python 2 and an ever growing subset also works with Python 3."
So i thought that Coconut can help them. This is the answer of one of the community members:
it cannot handle metaclasses, and it attempts to solve string type differences by using unicode_literals
that means it won't know when to encode a native string to a byte string, which is a critical issue in twisted
those are two obvious limitations, the second of which prevents this from being useful in porting twisted