6 ms·
> Pkl was built using the GraalVM Truffle framework. So it supports runtime compilation using Futamura Projections. What now?
by jgrahamc 3y ago
> Pkl was built using the GraalVM Truffle framework. So it supports runtime compilation using Futamura Projections.
What now?
- txdv 3y agoA LOT of projects in the Java world do add new features to java. My favorite is CraC
- deleted 3y ago[deleted]
- verticalscaler 3y agoOn tonights episode of Futurama bender and the gang explore the temple of Pkl on planet VM where truffles are considered the holy graals and barely run away in time from - The Compilations - an ancient secretive order of silver voiced kong-fu monks tasked with protecting the shrine from alien invaders as has been foretold in prophecies - and strangely reminiscent of 20th century Earth doo-wop group The Drifters. Cue chase montage shenanigans with Under The Boardwalk playing in the background Do you smell toast.
- giancarlostoro 3y agoI definitely did a double take to make sure they didn’t write Futurama.
- maxfurman 3y agoI absolutely thought they wrote Futurama until I saw this comment
- verticalscaler 3y agoThe mind. It is a curios thing.
- macintux 3y agoThey did (autocorrect) and later fixed it.
- pasta1212 3y agoholy graals
- catchnear4321 3y agonew game: llm hallucination, attempt at humor, or legitimate technical explanation.
- usrusr 3y agoToo close to the "reliably solvable by simple heuristic" end of the spectrum to be a good game: if the text is short it's probably a joke, if it is a very long wall of words it's LLM and anything of somewhat reasonable length can only be a legitimate technical explanation, no matter how unlikely.
- catchnear4321 3y ago> and anything of somewhat reasonable length can only be a legitimate technical explanation, no matter how unlikely. thanks, that will help improve the output.
- cyanydeez 3y agoall I saw was oracle
- SOLAR_FIELDS 3y agoFWIW Graal is probably one of the most exciting technologies to come out of Oracle in a long time.
- chris_wot 3y agoIt came out of Oracle. Kids of death.
- fmajid 3y agoAgreed. Anything by Oracle is an automatic hard nope.
- pdpi 3y agoAs I understand it: GraalVM is an alternate JDK that can, among other things, do ahead-of-time compilation for Java. Truffle is a framework for building languages, that sits on top of Graal. Futamura Projections are a particularly interesting use case for compile-time partial evaluation. With partial evaluation you have static (known at compile time) arguments to your function, and dynamic (known at runtime) arguments. When “your function” is an interpreter, and your static arguments are source code, the output is effectively a self-contained compiled binary. When your function is an interpreter, and the static arguments are the source code for the interpreter itself, that “self-contained compiled binary” is now itself a compiler.
- iainmerrick 3y agoThat all sounds cool, but is any of that especially useful for a configuration language?
- SOLAR_FIELDS 3y agoI’m also curious, because Graal is pretty exciting stuff, what this might give over Jsonnet or Cuelang. It’s already a hard enough sell to try to get people to adopt these and they are much older and more robust than Pkl.
- saynay 3y agoLooks like a more robust type system than Jsonnet (but less than Cue), with some amount of flow-control that Cue doesn't seem to support. I am not very familiar with Cue though.
- iainmerrick 3y agoI'm very wary of anything Java-based, having been burned by Java tooling in the past. I work on a few different Android projects and I have to switch between three different JDK versions depending on which I'm working on. What happened to "write once, run anywhere"?? I really like Pkl's comparison page, which includes its weak points as well! https://pkl-lang.org/main/current/introduction/comparison.html https://pkl-lang.org/main/current/introduction/comparison.ht... Pkl’s native binaries are larger than those of other config languages. It should be as fast and easy to use and reliable as something like esbuild, so I'd suggest they may want to rewrite it in Go like esbuild. I'm not a Go fan at all, but it clearly does some things really well.