logs archiveBotHelp.net / Freenode / #ada / 2015 / August / 17 / 2
Visaoni
that's where I'd start. then you could start trying to be more intelligent about it
but you'd always have to accept false positives
by working backwards, basically, you might be able to clean things up a bit. aka, the returned variable is of type X, these subprograms are called in this order on it, etc
then you can start getting into pure/impure functions to deal with reorderings, etc
Shark8
If you're willing to accept false positives here, why were you against the "false positives" on compilable versions?
Visaoni
hm? when I say "false positive" here I mean identifying something as a change when it was /not/ a change
I also assumed from the start you were trying to check behavior, if that makes things any clearer
Shark8
Ah. It does.
I considered it, but thought that doing so would likely be as big a project as the rest of it.
Visaoni
if you're going for 100% correctness, it's surely at least as big
but you can probably get /somewhere/ if you're okay with some false positives, even with straight source (as in, no AIR)
Shark8
I *really* don't want to so straight source...
I'd feel like I was implementing one of those sh*tty version-control systems.
Visaoni
from a practical perspective, I'm not sure you have a choice :/
Shark8
Why would you say that?
Visaoni
AIR isn't exactly a small project on it's own, and just for practical purposes (at least for the foreseeable future) you'll also need to store the source too (or write an AIR => converter as well)
and I'm not convinced you really need it, to be honest
Shark8
After dealing w/ some of the text-based systems, and bouncing the ideas off of a few friends, it may well be worth it.
(One of my friends was talking about how he had come across corrupted [or at least misindexed] files in CPAN, he thought the AIR idea [coupled with using a DB] would have made those sorts of problems impossible: letting in only compilable source and using the DB's native indexing features.)
Visaoni
couldn't you also just require a build script?
Shark8
One of the big things is that "you don't really need it" could be said about AIR at any point, and doubly so when "but nothing uses it" is used to support it.
No. -- A "build script" assumes a lot of crap about the environment... like that it's POSIX, or has make, "or, or, or,".
Visaoni
hm. something like AIR just seems like overkill for making sure something is compilable
Shark8
Maybe so, but making the package-system use it *does* provide some incentive for compilers to use it as well. (Plus, as was said above, it'd require a frontend... and that frontend could be [a] a library that it itself hosts, and [b] a springboard to an opensource non-GCC/non-AdaCore/non-GPL compiler... you know, the one that a good chunk here would like to see.)
Visaoni
Shark8: I guess I'd say the package manager should go ahead without AIR - at least for now. AIR would be a massive undertaking, that would greatly delay the package manager, which I think is an important tool for helping grow the community.
Adding AIR later should even be quite doable. It's only a matter of a representation change as far as the package manager is concerned, really.
If you wanted to help push the whole "must be compilable" side of things, you could even run a build server with a well-defined environment. If the package author/maintainer provides a suitable build script you could also offer binaries, and if one is not provided or it does not compile, you could add some kind of flag to it stating so.
Shark8
Hrm.
I don't like the idea of making the must be compilable requirement dependent on other tools.
And if we drop that requirement, then there's going to be zero motivation for people to use AIR. No?
...plus I *really* doubt the "it can be added later" statement.
Visaoni
You can convert things to AIR later - once it actually exists
Why?
You have some kind of "source" for the library. It can either be, well, source code or AIR. What would prevent such a change?
Shark8
Well, the whole dependency thing that I was setting up was based on using AIR to ensure the two go together.
One thing that would prevent the change is "good enough".
Visaoni
Yes, but you still need some other way of actually pointing to dependencies. AIR can't tell you where to go find the dependecy
Shark8
??
Visaoni
I mean, AIR alone isn't sufficient for the dependency side of things
Shark8
Ah.
Visaoni
At any rate, I don't think AIR is ever going to exist. It's clear it would have to be purely community driven, and even if it isn't as bad as the 3M, 15 man-year initial GNAT undertaking, do you think the community can support it even if it is a order of magnitude easier?
I'll take an actual package manager that has a few compromises - like relying on external tools to test compilability (which might be a better test anyway, considering that's what's actually going to compile the thing) - to one that doesn't exist
Shark8
If it's true that the community cannot drive something like AIR, then it's equally true that the community cannot drive another compiler implementation [at all].
Anyway, I ought to get to bed.
It's 5AM here.
fe[nl]ix
lol
one of my libraries is called 5AM so I got an IRCa alert :)
Visaoni
Shark8: Pretty much. I think we need to grow the community before there is a chance of being able to do that. Otherwise I think we're looking at dbotton's approach of growing a similar, but simpler, language on top of LLVM.
sparre
(Action) is starting to generate code with his Command_Line_Parser_Generator. :)
nerdboy
moin
sparre
Not complete command line parsers yet, but what hopefully will be components of complete command line parsers.
Shark8
sparre: That's pretty awesome. (The code-gen.)
sparre
Shark8: Not really. It is plain Ada 2012 "code".
It is only really interesting once the whole system is in place, and I can generate a complete command line parser for a package.
I've had the ASIS based information extraction working for some time now.
Started generating code from the information today.
I still need to work out how to find out if a formal parameter type has a 'Value attribute.
Damaki
Anyone know if there's documentation on GNATdoc anywhere, for how text can be formatted in comments?
I've only come across the documentation at http://docs.adacore.com/gnatdoc-docs/users_guide/_build/html/gnatdoc.html so far
And that doesn't describe anything about formatting the text, such as using unordered lists, etc.
gthorslund
Damaki: Have you tried using html-formatting? I suppose an other option would be to look at code documented using GNATdoc.
Damaki
gthorslund: Yeah, I tried using <b></b> tags to bold some text, but the tags didn't work - the tags appeared as-is in the generated HTML.
godunko
Damaki: try to use style like wiki/markdown
Damaki
godunko, I've tried various things. So far I've found that using * for an unordered list works, and indenting by 4 spaces begins a code block.
godunko
you are right
Damaki
I wonder if it's possible to make certain words/phrases monospace.
I haven't found any way of formatting text like bold, underline, italics etc, yet
godunko
You need to wait till next release
Damaki
Is GNATdoc relatively new?
I only found it today when I was searching for a documentation tool
godunko
Yes
Damaki
Oh, looks like it was released this month
from http://docs.adacore.com/gps-docs/release_notes/build/singlehtml/
Shark8
sparre: Visaoni: Maybe we should import JavaScript programmers... http://cube-drone.com/comics/c/relentless-persistence
kline
butts
whoops, at the pub
(my neighbour did it, im not drunk, promise)
jk4
right...
!quote
Allegra--
You will be able to appreciate the influence of such an Engine on the future progress of science. I live in a country which is incapable of estimating it.
-- Charles Babbage
jk4
'merica!
Shark8
jk4: ...but America wasn't involved w/ Babbage (AFAIK). England was though.
jk4
it applies to 'merica
secretary of labor is in the coffee shop..
« prev 1 2 next »