Howdi, beside “isFloat” I was also looking into making a builtin for “toInt” (and then also “toFloat”).
I remembered why I love Python, so after some twiddling I decided to base the conversion on std::stol. However, this has different properties than the regular language. I wonder: could I just call the parser on the string and ask it to use INT as the starting symbol? Cheers, Christian > On 05 Jan 2016, at 10:34, Christian Theune <[email protected]> wrote: > > Hi, > > (I lost a mail. Hopefully this doesn’t end up in a double post). > > I got it working and made a ticket to get into a more structured working > mode. :) > > nix-instantiate --eval -E '123.45 * 1E2' > 12345 > > If anyone wants to follow up: > https://github.com/NixOS/nix/issues/760 > > Happy to do whatever is necessary to wrap this up. :) > > Cheers, > Christian > >> On 05 Jan 2016, at 00:48, Christian Theune <[email protected]> wrote: >> >> Hi, >> >> alright. I was really interested in trying to see whether I can figure out >> what’s going on. >> >> I didn’t quite get it working today and my lack of Flex/Bison understanding >> is blocking me from figuring out what’s going on. :/ >> >> Most changes were done by reviewing everything that touched the integer >> handling and following all traces of all things it touched. >> >> My current work is here: >> https://github.com/NixOS/nix/compare/master...ctheune:ctheune-floats?expand=1 >> >> For some reason, the lexer seems to fail picking up the FLOAT symbol _at >> all_ and complains: >> >> nix-instantiate --eval -E '123.1' >> error: syntax error, unexpected INT, expecting ID or OR_KW or DOLLAR_CURLY >> or '"', at (string):1:5 >> >> So it notices the first thing as an INT (I think, it might be a float, but I >> don’t think so) but the “.” seems to be interpreted as the attribute access >> operator. I didn’t find the rule for this - can someone point this out to me? >> >> Overall, I hope I didn’t make too much of a mess. I picked up a few little >> things along the way that I think warranted a quick correction (NixInt vs. >> regular int references and using a custom parser instead of stoi - or should >> that be stol?). >> >> If someone could help me figure out what I’m butchering in the Lexer (or >> elsewhere) … >> >> Cheers, >> Christian >> >>> On 04 Jan 2016, at 17:27, Eelco Dolstra <[email protected]> wrote: >>> >>> Hi, >>> >>> On 04/01/16 17:12, Rok Garbas wrote: >>> >>>> should we add this to nixpkgs/lib? it is usefull (using it right now) :) >>> >>> IMHO, it would be cleaner to add floats to the Nix language. Before somebody >>> decides to implement floating point arithmetic using a bunch of regexps ;-) >>> >>> -- >>> Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/ >>> _______________________________________________ >>> nix-dev mailing list >>> [email protected] >>> http://lists.science.uu.nl/mailman/listinfo/nix-dev >> >> -- >> Christian Theune · [email protected] · +49 345 219401 0 >> Flying Circus Internet Operations GmbH · http://flyingcircus.io >> Forsterstraße 29 · 06112 Halle (Saale) · Deutschland >> HR Stendal HRB 21169 · Geschäftsführer: Christian. Theune, Christian. >> Zagrodnick >> > > -- > Christian Theune · [email protected] · +49 345 219401 0 > Flying Circus Internet Operations GmbH · http://flyingcircus.io > Forsterstraße 29 · 06112 Halle (Saale) · Deutschland > HR Stendal HRB 21169 · Geschäftsführer: Christian. Theune, Christian. > Zagrodnick > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev -- Christian Theune · [email protected] · +49 345 219401 0 Flying Circus Internet Operations GmbH · http://flyingcircus.io Forsterstraße 29 · 06112 Halle (Saale) · Deutschland HR Stendal HRB 21169 · Geschäftsführer: Christian. Theune, Christian. Zagrodnick
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
