jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
jemc has joined #ponylang
kulibali has quit [Quit: Going offline, see ya! (www.adiirc.com)]
jemc has quit [Ping timeout: 245 seconds]
<omarkj> Anything similar to rust's racer in existence or being worked on for Pony?
<SeanTAllen> Don't know
<SeanTAllen> What is racer?
<omarkj> It's a CLI program that provides code completion, and can be integrated into IDEs and editors. So you can run stuff like `racer complete std::io`, and it will return potential completions.
<omarkj> I've integrated with in in the past in Emacs, and it's quite nice since it is that it can quite easily be reused cross editor integrations, etc.
jemc has joined #ponylang
<SeanTAllen> No such thing.
<SeanTAllen> Most likely way that would happen... we work on a language server for VSCode that provides that and then we backport functionality into ponyc or similar and make available across the board. Definitely something we want.
<omarkj> Right. I was looking just now at the docs generation part of ponyc (docgen.c) which has contains lots of the parts needed to build something like this. That, or a tool that uses the output from `ponyc --astpackage --pass=parse`, would seem like a way forward.
<omarkj> (I do not know what a language server for VSCode is, reading about that now)
<SeanTAllen> There is a plan that has been moving slowly to break apart the compiler into different tools with a "ponyc" front end
<SeanTAllen> So that you can do all those sorts of things. But like I said, it hasn't moved forward very much.
<SeanTAllen> I would be quite excited if someone started working on that.
<omarkj> Is that an Issue on the github project, or something discussed on one of the mailing lists?
<jemc> omarkj: I don't think an issue ticket exists, it's a bit more of a general aspiration at the moment
<jemc> a lot of the intention has been to try to build at least some parts of the broken-apart compiler in Pony, though that has led to some yak shaving toward making Pony a more pleasant language to write a compiler in
<jemc> which is of general benefit to the language, but also slows the particular effort
mvzink has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
justicefries has joined #ponylang
mvzink has joined #ponylang
<SeanTAllen> omarkj: if its something you are interested in, i would say, dive in and start work on it and we can figure out how to incorporate with other parts of the ecosystem.
jemc has quit [Ping timeout: 245 seconds]
mvzink has quit [Quit: A merry Christmas to all, and to all a good night!]
graaff has joined #ponylang
amclain has quit [Quit: Leaving]
aav has quit [Quit: Lost terminal]
bodie_ has quit [*.net *.split]
bodie_ has joined #ponylang
unbalancedparen has quit [*.net *.split]
yggdr has quit [*.net *.split]
hakvroot has quit [*.net *.split]
ohir has quit [*.net *.split]
ohir has joined #ponylang
ohir has joined #ponylang
unbalancedparen has joined #ponylang
hakvroot has joined #ponylang
kajstrom has quit [*.net *.split]
flippant has quit [*.net *.split]
bweez_ has quit [*.net *.split]
tokenrove has quit [*.net *.split]
kajstrom_ has joined #ponylang
SparkySparkyBoom has joined #ponylang
bweez_ has joined #ponylang
tokenrove has joined #ponylang
_andre has joined #ponylang
mrkishi has quit [Ping timeout: 252 seconds]
mrkishi has joined #ponylang
jemc has joined #ponylang
mrkishi has quit [Ping timeout: 240 seconds]
doublec has quit [Ping timeout: 240 seconds]
mvzink has joined #ponylang
mrkishi has joined #ponylang
amclain has joined #ponylang
graaff has quit [Quit: Leaving]
tokenrove has quit [Ping timeout: 260 seconds]
tokenrove has joined #ponylang
bodie_ has quit [Ping timeout: 245 seconds]
bodie_ has joined #ponylang
_andre has quit [Quit: leaving]
prettyvanilla has quit [Remote host closed the connection]
prettyvanilla has joined #ponylang
kulibali has joined #ponylang
Matthias247 has joined #ponylang
aav has joined #ponylang
aav has quit [Quit: Mutter: www.mutterirc.com]
aav has joined #ponylang
aav has quit [Quit: Mutter: www.mutterirc.com]
aav has joined #ponylang
aav has quit [Remote host closed the connection]
doublec has joined #ponylang
prettyvanilla_ has joined #ponylang
prettyvanilla has quit [Ping timeout: 258 seconds]
<carado> I thought env had to be passed down to have any kind of side-effect, but I just found it it seems you can just File("some-global-state.txt") without access to an Env.
<carado> so there’s no way I can assert that some code is determenistic (always returns the same thing) or has no side effects ?
<SeanTAllen> you cant do that
<SeanTAllen> File takes a FilePath
<SeanTAllen> FilePath requires a FilePath as a relative base or AmbientAuth
<SeanTAllen> carado ^^^
<carado> oooooh, neat, my bad then. so I guess it’s similarly restricted to open a socket or stuff like that ?
NhanH has quit [Ping timeout: 240 seconds]
adamkittelson has quit [Ping timeout: 256 seconds]
omarkj has quit [Ping timeout: 240 seconds]
<SeanTAllen> yes
<SeanTAllen> anything where it isnt is an oversight and a bug
<SeanTAllen> if you find issues like that, please open an issue or submit a PR
NhanH has joined #ponylang
adamkittelson has joined #ponylang
<jemc> (with the caveat that any package with FFI access can break absolutely everything :)
<carado> cool, thanks !
<jemc> but ideally, FFI usage would be wrapped in packages that respect that convention (no ambient authority)
<carado> of course, so if I mike something like OpenGL bindings I’d want to require AmbiantAuthority even thougt I won’t do anything with it
<SeanTAllen> ᕕ( ᐛ )ᕗand you have the option when starting an application to limit the packages that are allowed to use FFI
<carado> what’s the rationale for making the FilePath require an AmbiantAuthority rather than the File require it ?
<SeanTAllen> Then you can grant access to an entire directory tree.
<SeanTAllen> You can sandbox a program to only having access to that location.
<carado> oh, but not parent files ? so Pony hand-checks that there’s no '..' in the path before handing it over to open() which parses the path again ?
<carado> (I mean unistd’s open())
<carado> (well, I mean posix’s C open)
<SeanTAllen> It should, yes
<SeanTAllen> That is the intent
<SeanTAllen> But if you have a symlink to somewhere else in that directory, well... ¯\_(ツ)_/¯
<carado> hmm
<carado> symlinks are evil anyway
omarkj has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]