log☇︎
1400+ entries in 0.284s
a111: Logged on 2017-12-17 01:40 asciilifeform stuck presently in an infuriating gnat labyrinth : turns out, a proggy that set pragma Restrictions(No_Secondary_Stack) , cannot use Ada.Command_Line ( equiv of argc/argc in c-planet ). so then asciilifeform went to make own replacement. and turns out , guesswat, no can haz, because pragma Restrictions(No_Unchecked_Conversion) -- and argv, where commandline lives, is a pointer to nonadatronic (i.e. c-style) string .
asciilifeform: incidentally http://btcbase.org/log/2017-12-17#1752302 is worth expanding on : it is impossible to implement Ada.Command_Line sanely (i.e. without using secondary stack.) the reason is that argv is a potential 'infinity' -- it contains an uncapped number of c-strings of uncapped ( as are all c-strings ) length. ☝︎
mircea_popescu: also gives a "no c main" ada proggy a serious gold trophy.
asciilifeform: so from this 4hr tour of wtf, asciilifeform learns that the only way to give his ada proggies access to argc/argv, is apparently to give'em a c main() (gnat makes this trivial) where all of the c-ism happens, which then invokes the proggy proper.
mircea_popescu: so ada binaries actually better than plain elf.
asciilifeform stuck presently in an infuriating gnat labyrinth : turns out, a proggy that set pragma Restrictions(No_Secondary_Stack) , cannot use Ada.Command_Line ( equiv of argc/argc in c-planet ). so then asciilifeform went to make own replacement. and turns out , guesswat, no can haz, because pragma Restrictions(No_Unchecked_Conversion) -- and argv, where commandline lives, is a pointer to nonadatronic (i.e. c-style) string . ☟︎
trinque: could point to platform limitations, or wreckers in particular ada version, or...
diana_coman: asciilifeform, fwiw I read it as in went through it line by line and with pencil and paper; ran it too at the end, played a bit around with tests and that; and since we are at this, nitpick: in FZ_Swap why T:=X if already initialised at declaration or what am I missing of Ada in there? ☟︎
ben_vulpes: it is sitting happily on a desk, refusing to ada for reasons of package gcc 4.9 blocks gnat-gpl, which is the point at which i threw up my hands and declared a temporary retrograde advance
ben_vulpes: slowly coming around to this ada thing
asciilifeform: !~later tell phf consider sharing your ada parser, i'd like to make a clickable-keywords hyperlinked thing at some point
a111: Logged on 2017-12-09 01:36 phf: also added gpr and adc to get colorized as ada
phf: also added gpr and adc to get colorized as ada ☟︎
asciilifeform: tbh the retardation of gcc5+ dun affect , in any known way, ada -- the rotters rotted c/cpp frontend strictly
asciilifeform: i am not adding extraneous rules to ada to satisfy idiotparser.
mircea_popescu: and a rule whereby ada comments are "-- " not "--" is not the end of the world either.
mircea_popescu: i thought ada comments were --
asciilifeform: phf: can you come up with a pill that doesn't break ada comments ?
asciilifeform: in particular, ada comments.
mod6: because what i don't want to do is have a perl genesis, then some vpatch that deletes everything and inflates a bunch of ada stuffs. prolly be better to start in the lang you expect to say within for the lifetime of the application.
mod6: but furthermore, i tend to agree. if i thought that my V would stay in perl forever, i'd probably already have created the genesis. however, i'd like to see if I can get the Ada version off the ground.
mod6: I had started a new V in Ada, had to stick it in the drawer for a while. Not getting to exactly where I wanted to go (easy to read, fits in head, no perl/perlisms) with it at this time.
ben_vulpes: apeloyee: can also reference them by name in ada; i personally hate positional args
mircea_popescu: asciilifeform it's not very clear to me how your x=y things work, BUT, if you had told me in 2016 that you intend to delay c-s ada impl by 1-2-n years to wait for ffa i'd have told you symmetric cipher really dun need ffa for any reason and eulora won't wait into 2018 for it etc.
a111: Logged on 2016-12-27 22:14 mircea_popescu: course since the nsa consulting work for minigame is going to produce ada rsa, it might be an idea to have an ~ada~ tmsr crypto lib.
a111: Logged on 2017-10-18 15:35 asciilifeform: fwiw there is a quite short ada serpent existing, passes the test set ( and branch-free ).
asciilifeform: (c++11/14/etc.ism is a rather half-hearted attempt to make '70% bugridden reimplementation' of ada, in cpp, as retrofit. iirc we had a thread a few yrs ago re subj)
a111: Logged on 2016-12-27 22:14 mircea_popescu: course since the nsa consulting work for minigame is going to produce ada rsa, it might be an idea to have an ~ada~ tmsr crypto lib.
asciilifeform: phunphakt, ada was originally a contest ( in chet-era usa mil ) and 'green ada' , a iirc french entrant, won; was made by pascalists. ergo today's looks quite like pascal
diana_coman: asciilifeform, I sorted out some ada implementation and will post it; atm the struggle is more to figure out the "test vectors" for full sponge because of all this madness
mod6: I don't have an ada at my disposal atm. So will do an entire test of the thing tonight and post results as I have them (probably on my site).
phf: for future log readers http://btcbase.org/patches/ffa_ch1_genesis/tree/ffa/libffa/fz_arith.adb?cocks=true (only works in ada though, because)
phf: colorizer is missing ada support, so i'm slowly hacking in the highlighter http://btcbase.org/patches/ffa_ch1_genesis/tree/ffa/ffademo/ffa_io.adb comments and strings so far. i'm going to add keywords now and then leave it be
phf: asciilifeform: si, also i'll look for the ada source, pretty sure i have it
a111: Logged on 2017-04-03 22:14 asciilifeform: incidentally the folx who designed ada, read thompson's paper. and immediately acted. which is why in ada you get 'driving stick'-style control over the compiler, the order in which it puts down routines, and data structures during 'elaboration', and can leave bread crumbs for manual binary auditor (yes) to look for when he compares (yes) binaries built on different systems for same rocket.
mod6: b__main.adb:(.text.adainit+0xfd): undefined reference to `ada__strings_E' << this is sad, really.
asciilifeform: for n00bz : 'rts' in ada world is approx equiv of libc.
asciilifeform: and ditto package Ada ( exceptions ) and pretty much the rest of your rts
asciilifeform: the approach to making a rts ( gnatruntime ) from 0, depicted in e.g. https://github.com/alkhimey/Ada_Kernel_Module_Toolkit works -- but does not result in a ffa-usable rts , because the boundschecking exceptionhandlers are not present.
asciilifeform: ( each own ada compilationunit. )
ben_vulpes just started recompiling everything in pursuit of an ada-capable workstation
phf: mircea_popescu: http://btcbase.org/log-search-day-hist.png?q=gossipd http://btcbase.org/log-search-day-hist.png?q=ada+from:ascii http://btcbase.org/log-search-day-hist.png?q=phuctor http://btcbase.org/log-search-day-hist.png?q=dog
phf: he also speaks ada, https://pastebin.com/PdDePdag
asciilifeform: ben_vulpes: it's pretty simple, makes use of ada's programmable stream
ben_vulpes will also read asciilifeform 's ada cutter
asciilifeform: diana_coman and other ada n00bz may find the item interesting, it is a complete proggy ( in the bare bone sense )
asciilifeform: ( the ada per se is 27kB )
asciilifeform: whaack: i posted an ada block eater a while back, do you have a copy ?
deedbot: http://www.dianacoman.com/2017/11/22/taming-of-the-serpent-in-ada/ << Ossasepia - Taming of the Serpent in Ada
shinohai: Is this why I like Ada now?
asciilifeform: typical, http://adagin.blogspot.com/2013/12/ada-2005-access-types-part-i.html , lively : type Hooker_Array is array (Positive range <>) of Hooker_Class_Ptr; procedure Violate_Bodies (x : Hooker_Array); ... 'We want to track all our victims, presumably in some sort of set or container, so that we might disinter them later as needed. Similarly, we might also want to do strange, awful things with the dead bodies of the hookers.' ☟︎
asciilifeform: ^ pretty detailed discussion of ada 'elaboration' arcana
spyked: shinohai, pretty good. gentoo diddling. I'm trying to get a new box up, learn v, compile trb, add an ada in, learn lisp internals ... (the list continues)
ben_vulpes: mm i'll try that; gentoo wiki ada page said to make ADAFLAGS=${CFLAGS} ty jurov
a111: Logged on 2017-11-18 06:53 ben_vulpes: welp, completely struck out installing ada compiler tonight
ben_vulpes: welp, completely struck out installing ada compiler tonight ☟︎
asciilifeform: ben_vulpes: it's a standard ada operator that sets an array to 0.
diana_coman: PeterL and anyone else following along on keccak: 2 more problems found so far in the ada code namely 1. in the pi permutation it's the *output* coordinates that are calculated as Y, 2*X+3*Y based on input at X,Y and not the other way around; 2. at iota the corresponding round constant is xored into a(0,0) only, not into all the lanes of the state (following permutations will propagate the round constant)
PeterL: A being the input array and Ar being the output array; I was trying to follow notation as in the paper, but they use a and A, which ada does not allow
mircea_popescu: aand in the same vein : http://www.ada-programming.info/ASM_86_file_for_use_with_GNAT_for_MS_DOS_jQxM.html
asciilifeform: but as we discussed in old thread, the single most serious problem of ada, is that it is quite difficult to implement an adatron. esp if you actually go for standard compliance.
asciilifeform: gnat is an ada proggy.
mircea_popescu: gcc or w/e you use as a compiler,. for instance, also not an ada proggy. ada dun even try what lisp tried and failed to obtain, ie, a full universe.
mircea_popescu: well, the part that's ada is ada and the part that dun work or isn't wanted in ada... isn't ada.
asciilifeform: mircea_popescu: point is, that is no longer an ada proggy.
apeloyee: http://btcbase.org/log/2017-11-16#1739523 << http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-B-2.html ☝︎
mircea_popescu: "my personal fg is plugged into serial port and my personal ada keccak is plugged into iron on which asm works". da fuck special pleading is this.
asciilifeform: http://btcbase.org/log/2017-11-16#1739561 << possibly i mentioned this, i am making an asm ffa in parallel with the ada item ☝︎
a111: Logged on 2017-11-16 15:20 mircea_popescu: hey, minigame produced reference implementation of ada keccak can well contain inline asm rotation, and who dun like it can do whatever they will.
mircea_popescu: hey, minigame produced reference implementation of ada keccak can well contain inline asm rotation, and who dun like it can do whatever they will. ☟︎
diana_coman: asciilifeform, yes, portable is the rub there; I'll read more on ada for now, nothing much to add atm
asciilifeform: diana_coman: the sad fact re gnat is that it is in fact the only ada. being as the 'alternatives' are, without exception, closed winturds.
diana_coman: asciilifeform, I don't yet know the answer to that; I'm still eating Ada so I can't decide either way; still, I don't ...like it, that's all I said; perhaps there is no solution to it, perhaps there is one
diana_coman: mircea_popescu, depending on what we use finally it might be ada-serpent too,unclear
mircea_popescu: it's basically mostly that + the keccac ada peterl wrote + some new stuff
phf: http://btcbase.org/log/2017-11-15#1738923 << the underutilized part of patches visualizer is the tree view, it shows what specific file will actually look like when pressed with a specific patch, e.g. http://btcbase.org/patches/programmable-versionstring/tree/bitcoin/src/crypter.cpp as you can see formatting is not particularly good, but it supports highlighting various languages including Ada. so given a normal v-based workflow (is there one?) can get ☝︎
asciilifeform: mircea_popescu: lol not in ~my~ fascist ada.
asciilifeform: it also has to have some notion of ada scope.
mircea_popescu: can't imagine why not, ada still uses fixed calling, you can't call by pointer-to-string or shit can you
asciilifeform: it has to parse the ada.
asciilifeform: links look like http://unzip-ada.sourceforge.net/za_html/lzma_enc__adb.htm#23_33
asciilifeform finally dug up link to what asciilifeform sees as state-of-the-art wwwtronic ada viewer : http://unzip-ada.sourceforge.net/za_html/index.htm ( they're auto-generated per project )
asciilifeform: if a wwwtronicist ( ben_vulpes ? ) were to come up with a method of dropping ada into wp and getting out an item that doesn't wrap or truncate lines, destroy numberings, and allows linking to individual rows -- i will take off my hat
diana_coman: ftr for the serpent ada implementation I wrote the testing part: grabbed published test vectors and wrote a snippet to eat them up, call the serpent, check results, complain if any mismatch
diana_coman: oh, certainly; I wasn't under any illusion that ada==pascal, no; there is some danger in the perceived similarity too, basically the "false friend" type
asciilifeform: ada ( even asciilifeform's 'fascist' ada subset ) is not exactly pascal. imho the most notable departure is the array slice abstraction, which makes for a 90% moar compact ffa ( and applies to almost anything else dealing in bitstrings, for that matter )
asciilifeform: ( legend has it, there were three ada contestants, and the pascalist won. nothing is known re others. )
diana_coman finds ada rather endearingly - possibly because it reminds of Pascal
a111: Logged on 2017-11-14 11:29 spyked: http://btcbase.org/log/2017-11-13#1737294 <-- not sure if possible with ffatronic ada subset, though, because of "no dynamic objects" restriction. in my (yet-unpublished) prototype, lisp memory size is a static knob.
asciilifeform: http://btcbase.org/log/2017-11-14#1737525 << this is therightthing. but note that not only is http://btcbase.org/log/2017-11-14#1737533 not a problem, but the behaviour is fundamental to ffa. in ada a structure is considered nondynamic if its size doesn't change at run time. not if 'magic number' size, like in overflowlang. ☝︎☝︎
spyked: http://btcbase.org/log/2017-11-13#1737294 <-- not sure if possible with ffatronic ada subset, though, because of "no dynamic objects" restriction. in my (yet-unpublished) prototype, lisp memory size is a static knob. ☝︎☟︎
a111: Logged on 2017-11-13 19:35 asciilifeform: phf: ideally i'd get rid of Ada.Strings , full stop
phf: asciilifeform: i'm using "memory management" meaning of cons, not like lisp 101 take on it. they don't have cons meaning that there's no managed heap, there's no gc on that heap, and you can't allocate things into the heap and let it be managed by heap machinery. so they have "cons", but their ~actual~ cons is ada's "new ..."
a111: Logged on 2017-07-13 15:42 asciilifeform: phf: contrary to appearances, asciilifeform is not fixated on ada lang per se, but rather on the style of thinking it leads the operator into.
asciilifeform: https://github.com/fitzgen/ada-scheme/blob/master/scheme.adb#L134 << the faux cons. observe, they use pointers for the car/cdr
phf: i'm not sure how you're planning on doing that, unless you mean ada level pointers. you'd have to have objects with values that are offsets into your virtual heap
phf: well, right. i'm not sure what ada.strings is (i.e. is it a protocol or concrete datatype), so i can't really comment further
asciilifeform: phf: ideally i'd get rid of Ada.Strings , full stop ☟︎
a111: Logged on 2017-11-13 18:13 asciilifeform: use Ada.Strings.Unbounded; << mno ben_vulpes this is ~specifically~ a Do Not Want
asciilifeform: use Ada.Strings.Unbounded; << mno ben_vulpes this is ~specifically~ a Do Not Want ☟︎