<dos000>
i just cant get to the actual demos ... they only work at the beginning then they stop
<dos000>
The lecture is titled "October 22: Part two of "Actor-based programming in Pony" at Imperial Programming Lectures in London (slides and recording)"
runehog_ has joined #ponylang
runehog has quit [Read error: No route to host]
runehog has joined #ponylang
runehog__ has joined #ponylang
runehog has quit [Read error: Connection reset by peer]
runehog_ has quit [Ping timeout: 244 seconds]
SilverKey has joined #ponylang
<Praetonus>
dos000: If I recall correctly, somebody said a while back that the recording is pretty much screwed up. You can find the code of the demos here: https://github.com/sylvanc/pony-lecture
gsteed has quit [Quit: Leaving]
rurban has joined #ponylang
sjums has joined #ponylang
<malthe>
jemc: how exactly does the mechanism work in the case of let's say, Pointer[A]._update - ?
srenatus has quit [Quit: Connection closed for inactivity]
<dos000>
Praetonus: any chance someone can post this to youtube ?
<dos000>
just the video and slides in the link
copy` has joined #ponylang
<jemc>
malthe: for all the `compile_intrinsic`s in Pony, there is special-case code in the compiler that will replace the `compile_intrinsic` keyword with some custom LLVM IR
<jemc>
these are matched up by looking at the type name and the method name for the method that is marked as `compiler_intrinsic`
<jemc>
if you look at the LLVM builder methods called, you can see that it basically ends up as an LLVM "get element pointer" construct
<jemc>
so, in effect, the Pony `Pointer` type is a syntax wrapper around the LLVM `PointerType`, using `compile_intrinsic`s to do the transformation
<jemc>
similarly you can see that Pointer._alloc effectively wraps the C function `pony_alloc`, provided by the Pony runtime and thus integrated with the memory allocator and GC
Matthias247 has quit [Read error: Connection reset by peer]
SilverKey has joined #ponylang
Applejack_ has quit [Ping timeout: 250 seconds]
pragma_ has joined #ponylang
SilverKey has quit [Quit: Cheerio!]
trapped has quit [Read error: Connection reset by peer]
aturley has joined #ponylang
aturley has quit [Ping timeout: 250 seconds]
MC_Hamming has joined #ponylang
<pragma_>
hello i'm new to ponylang :) is there a way to interface with something like opengl
<jemc>
pragma_: hello and welcome!
<pragma_>
@jemc: thanks :)
<jemc>
pragma_: in theory you can call any C functions from any shared library
<jemc>
pragma_: in practice some C APIs may be a little hard to deal with from time to time, depending on how they are laid out
<pragma_>
what happens when the function blocks will it stall other actors
<jemc>
the FFI chapter in the tutorial is a good place to start to learn about the FFI - http://tutorial.ponylang.org/c-ffi/ - but if you have specific questions feel free to ask here or on the mailing list
<pragma_>
cool thanks :)
<pragma_>
the c implementation looks really clean.
<jemc>
pragma_: yes, as you intuit, if the function blocks it will block that scheduler thread, which is typically a bad thing
<jemc>
for some limited cases you can probably get away with it, but in general you should prefer non-blocking APIs
<pragma_>
yeah i see
<jemc>
(or at least APIs that don't block for a long time