<aturley>
sean and i were talking about that the other day.
<aturley>
jemc: as far as limit goes, i think my intuition would be that this sort of functionality could be added with another iterator operation.
<aturley>
er ... offset i mean.
<jemc>
sure, however you want to design it - it's your package :)
<aturley>
heh ...
<aturley>
well, yes, but i'd like it to work for people.
<aturley>
also, i'm full of bad ideas.
<jemc>
I thought it was somewhat related, although perhaps the combination of the two might be called something like Window instead of Limit
<aturley>
let me think on that one.
<jemc>
another thought about iterator tools (although this might be more than you want to get into) some of these might make sense as iterator tools: https://github.com/ponylang/ponyc/pull/553
<jemc>
just throwing out ideas, though - feel free to prioritize your own time and efforts, of course :)
<shepheb>
jemc: wow, that's a heck of a thread.
<shepheb>
reading...
<shepheb>
also, does anyone else find it distressing that this is not a solved problem after 60 years of computing?
<shepheb>
it just doesn't seem like it should be as big a mess as it has become. NPM seemed like they had it down, and then it exploded a couple weeks ago because unpublishing things is a bad idea.
<aturley>
jemc: yeah, i was trying to decide if i should add `map` and `filter` ...
<shepheb>
also NPM sidesteps the diamond problem by allowing multiple versions loaded in different places - that's fine if you're just calling static functions. but you definitely dont' want to be generating some data structure with one version of a library and consuming it with another...
<aturley>
i was holding off on adding anything that took a function.
<aturley>
until i got some feedback on what i had.
<shepheb>
Google adopted one-version-to-rule-them-all internally, to avoid the diamond problem. but that makes upgrading hard.
<shepheb>
I hadn't thought about it, but Pony's stronger typing and strict, shadow-free namespacing probably avoids the SomeType (from version 1.0) being passed to functions expecting SomeType (from version 2.1)
<shepheb>
since those types can be considered different, since they were defined separately.
amclain has joined #ponylang
<jemc>
shepheb: yes, I think andymcn was picturing supporting multiple versions of each library alongside eachother, by considering types to be distinct and separate
<jemc>
I think the main non-consensus points revolve around what should go in pony source code and what should go in external meta-files (like a bundle description)
<jemc>
there are some folks who believe in everything being in the pony source files, and some folks who believe in separating info like the source for fetching the dep in a separate meta-file
<jemc>
pony as it exists now doesn't need any meta-files and I think that's a point of pride for some of the pony devs, but I think there's also something to be said for separating concerns.
<jemc>
*shrug*
aturley has quit [Ping timeout: 250 seconds]
aturley has joined #ponylang
juanjoc has joined #ponylang
michael_campbell has quit [Ping timeout: 264 seconds]
Matthias247 has joined #ponylang
tm-exa has quit [Quit: Computer has gone to sleep]
_andre has quit [Quit: leaving]
tm-exa has joined #ponylang
<SeanTAllen>
jemc, aturley -- #553 is going to get a lot more love and go on Seq
<SeanTAllen>
i think the best way forward is for a package manager is for someone to write one and take it out of the theoretical. aint gonna be me though. i already have enough to do.
<SeanTAllen>
i mentioned package manager to aturley the other day and he looked at my like i had wounded him greatly
srenatus has quit [Quit: Connection closed for inactivity]
<shepheb>
I'm getting problems with the LTO plugin missing while building on Arch Linux (64-bit against LLVM 3.7.1)
<SeanTAllen>
what's the LTO plugin?
<SeanTAllen>
where are you getting LLVM from?
<shepheb>
pacman
<shepheb>
LTO is some kind of linker magic
<shepheb>
I haven't run across this on my Arch Linux on RasPi
<shepheb>
but this is a quite different GCC build, so who knows.
<SeanTAllen>
is that LLVM from pacman?
<shepheb>
yep
<SeanTAllen>
when someone has time, we are going to see if we can just use llvm downloads from them
<SeanTAllen>
because packagers for distros seem to do awful things
<shepheb>
the ponyc Makefile has stuff about LTO in it
<shepheb>
and I wonder if it's miscomputing that I have support for it
<shepheb>
but I can't figure out how to tell which branches are being followed here
<SeanTAllen>
which llvm-config-* 's do you have in your PATH?
<shepheb>
I commented out the big ifeq block at the top of the Makefile, hand-computer OSTYPE = linux, AR = gcc-ar, and lto := no and now it works
<shepheb>
so it seems like it's determining I have LTO support when I don't
<SeanTAllen>
intersesting.
<shepheb>
well, sort of working
<SeanTAllen>
sort of?
<shepheb>
I ran make test config=release
<shepheb>
it got way farther than before when it was spamming LTO-related errors
<shepheb>
now it got down to the main tests and crashed for an illegal instruction
<shepheb>
I only have the main llvm-config binary. should I be looking somewhere else?
yawnt has left #ponylang [#ponylang]
<SeanTAllen>
what does llvm-config --version print?
<shepheb>
3.7.1
TwoNotes has joined #ponylang
<mcguire>
@shepheb LTO = Link Time Optimization.
<mcguire>
If you do "ponyc -V4" (or "--verbose=4"), it should print out the command line when linking the program.
<shepheb>
Praetonus: master as of a couple of hours ago
<shepheb>
possibly I'm missing some packages I don't know to install to get real LTO support? I don't understand much about linkers and such.
<shepheb>
(using the compiled ponyc for another program than the test suite compiles "successfully" but then throws illegal hardware instruction at runtime
<Praetonus>
What is the output of 'whereis LLVMgold' for you?
<shepheb>
LLVMgold: /usr/lib/LLVMgold.so
<shepheb>
it's using my native /bin/ar - that seems wrong.
<shepheb>
shouldn't it be setting AR=gnu-ar?
<shepheb>
er, gcc-ar
<Praetonus>
Is it a debug or a release build?
<shepheb>
release
<shepheb>
trying a debug build to see what happens
<shepheb>
seems like no LTO errors? we'll see how it goes
<shepheb>
no LTO errors, still illegal instruction at runtime of the test suite
<Praetonus>
Everything is working fine for me on Archlinux. Could you open an issue with a debugger call stack or something like that?
trapped has quit [Read error: Connection reset by peer]
<Praetonus>
shepheb: Looks like the linking problem is with gcc only. I guess gcc and clang don't have the same command line flags for LTO. I'll look into it
<shepheb>
I can switch to clang if that will help, I guess
<Praetonus>
I got it. The problem is that gcc and clang don't use the same LTO plugin. For now you can fix it for gcc by using 'lto=yes LTO=""' in the make command line
tm-exa has quit [Quit: Computer has gone to sleep]
bbhoss has joined #ponylang
<bbhoss>
hey y'all. this is likely not ponylang-related, but I'm trying to use ponylang-mode with emacs and the indentation size is way too big. can one of y'all point me towards the place to change that?
<bbhoss>
looks like it's 8 spaces right now
<bbhoss>
nm, figured it out. somehow tab-width was reset :)
<shepheb>
Praetonus: maybe I did it wrong, but I still got loads of those errors.
<shepheb>
lto=yes LTO="" make test config=release
<shepheb>
maybe I'm doing it wreong
<Praetonus>
shepheb: The LTO options are Makefile flags so it should be 'make test config=release lto=yes LTO=""'
Matthias247 has quit [Read error: Connection reset by peer]
trapped has quit [Read error: Connection reset by peer]