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 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]