Guile Config

Video in TIB AV-Portal: Guile Config

Formal Metadata

Guile Config
Title of Series
Part Number
Number of Parts
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Point (geometry) Presentation of a group Open source Computer file Software developer Multiplication sign Water vapor Food energy Computer programming Revision control Different (Kate Ryan album) Software Core dump Representation (politics) Energy level Flag Utility software Configuration space output Cellular automaton Weight Electronic program guide Computer animation Software Personal digital assistant Function (mathematics) Configuration space Ideal (ethics) Wireless LAN Arithmetic progression Reading (process) Library (computing)
Standard deviation Morphing Greatest element Group action Parsing Code Multiplication sign Modal logic File format Set (mathematics) Function (mathematics) Open set Parameter (computer programming) Mereology Computer programming Variable (mathematics) Formal language Medical imaging Radio-frequency identification Computer configuration Single-precision floating-point format Flag Elasticity (physics) Data compression Library (computing) Multiplication Position operator Formal grammar Parsing Electric generator Moment (mathematics) Electronic mailing list Mass Menu (computing) Instance (computer science) Expandierender Graph Category of being Message passing Process (computing) Computer configuration Configuration space Right angle Pattern language Energy level Thermal conductivity Resultant Point (geometry) Functional (mathematics) Backup Computer file Online help Canonical ensemble Protein Discrete element method Rule of inference Machine vision Declarative programming Power (physics) Revision control Latent heat Goodness of fit Authorization Energy level Configuration space Graph (mathematics) Information Forcing (mathematics) Code Plastikkarte Basis <Mathematik> Directory service Cartesian coordinate system Residual (numerical analysis) Mathematics Subject indexing Stochastic differential equation Word Inversion (music) Maize Personal digital assistant Predicate (grammar) Query language Revision control Formal grammar Fingerprint Library (computing)
Group action Scripting language Installation art Digital electronics Ferry Corsten Confidence interval Multiplication sign Parameter (computer programming) Mereology Disk read-and-write head Computer programming Formal language Neuroinformatik Computer configuration Military operation Core dump Endliche Modelltheorie Internationalization and localization Imperative programming Data compression Error message Library (computing) Formal grammar God Covering space Programming paradigm Link (knot theory) Imperative programming Point (geometry) Moment (mathematics) Parameter (computer programming) Mereology Digital object identifier Message passing Frequency Configuration space output Right angle Energy level Ideal (ethics) Figurate number Freeware Writing Reading (process) Point (geometry) Backup Functional (mathematics) Implementation Freeware Perfect group Addition Computer file Patch (Unix) Online help Electronic mailing list Discrete element method Rule of inference Graph coloring Declarative programming Latent heat Goodness of fit Inclusion map Operator (mathematics) String (computer science) Boundary value problem Software testing Configuration space Quantum state Patch (Unix) Cellular automaton Core dump Line (geometry) Directory service Preconditioner Pell's equation Predicate (grammar) Personal digital assistant String (computer science) Quotient Revision control File archiver Formal grammar Iteration Boundary value problem Library (computing)
Computer animation Googol Core dump Configuration space
as the ground OK someone some representation of the whole thing in that a 2nd in the case of money out excessive them and representing the convicted which is a little library I'm writing have written it's just about ready to reduce the scum of mostly more because additional reading more high level and the ball presentation vats of our somatic cells cells and by that time I just like to having got and work for the difference here which is a pretty company um they kind of supply uh the software to primarily free and open source software to like academic public specialized libraries and I get to work with the core wireless community which is a great communities of a chance to hang out with you when they're due to all of the so I have no way to pitch uh basically they move the others the 3 major energy Pacino situation we are trying to write a command-line utility you cannot have an awesome idea for quick program that does 1 thing and does it well you can start working and you made great progress in that version that water fleas and then you may get some people start using it and they kind of point out is different use case um and they cannot find like OK well maybe that use case could require commonly flag so you know milDS built in and then you can specify that on the command line so you know yet common passing yea from sold but they find this or that you program that actually really it should just have a D for the user-defined diethyl values so you can use environmental variable weight his configuration file again so we do is in this case we can write a config file reader you know their contribution false it is really would pass it means as before body wonderful and user does not specified in the command line everything turned around it simple the but then you
know some some the words are complaining that you know actually the cooperation powers never folded we know what's index is supposed to have so really it's it's called quot Peixoto to do as well so the problem you created you know a con father is ultimately written uh you make sure that it's completed when doesn't exist in the 1st year on it and they cannot commencing that's a configuration file today to make sure people understand the configuration file Wenatchee look at instance start modified so certainly he moves from elders to quick you know few lines of code to know all support information Bosnia common syntax and you could pass command-line thinks so it's great fun you have simple prone nodes 1 thing as well so there's always kind of code that is a pain to maintain basically they found the and how you
got like a whole maze of command-line arguments and you don't you know how it works anymore you will rotate so you're totally confused and so you know this is where the help command line the whole flight that promote old common approach support he succumb is you need to write that so that you use a protein right support phenolic common option is get help help flight and then you write the most beautiful held out for the you've ever seen very clear super wonderful and then you watch it burn as soon as you add another command line option or you know enough about conductances to maintain in the help output in the coverage of our we write a commentary tell people and all the money which of course maintain because many important right so you got 3 things to maintain our and your code is becoming more complicated this is very depressing so OK why who got the problem solved knows the name of this right it's great but in you single commodities is you can't even quickly see what side written anymore and there's so much code is told irrelevant to ash actual thing you want to do it so it's not really a solution in I think so it's really horrible but they got configure new library that could solve a problem may be that's smart about where does it was the 1st meiyou this reflects my the celebration of a spasmodic offers us those is like what a waste my to come up there so that included so OK as a background golf basically comes with the uh library much like brawls as it can get along library Pruitt property all kind of languages nowadays to call has eyes get along which is great it it's it doesn't specify command-line arguments and any kind of elastic passes command on as a common tuberous really nice um when I use it all the time and this is an example of it's busy you can see the top there you go the specification the commoners if you support the commonality support and what kind of feature sets of course force that we have helped which there is a long version and they've got this as a single character short version you got H and then the value you know it doesn't require values is the fact they can go through the desert that the graph for that it's document in the manual where these 2 years and then underneath that in each instantiated so when you actually run the program you uh defined opts to be you know you're command-line syntax which is defined as option grammar and many possible program arguments to get along and that is positive manner arguments and they use query the results to see whether someone has asked for help and if you if that last week in and image usage whatever with the help of help function my case where the last version you can indeed uh version using a of a function at the bottom you can easily start you know diversity program so it's a it's a residues in which you it but essentially essentially just addresses the 1st part it it's you know so a set of command line option you added using not it up long that's is the 1st part of the problem so what this that we supposedly basis was below that um and it does that by basically using get along as a kind of level as a library retaining its goodies in a sense but until that it expands the the grammar for specification of options so that some options you can basically specify that they can be specified in configuration files is 1 command line and it automatically creates configuration files of modern parsers configuration files if they exist if you have a program of the new configuration faster than normal that will happen and you can automatically generate help usage inversion from your option specification and you can even their inside your specification declare that you want to have a subcommand for example the says importers command or uh packages is a command so you can specify subcommands as part of Europe um application with which again in turn have nested kind of um command-line flags or further so commands the so this is the example um it said it's slightly less elegant at this point I think index wise no then get along and part of that is just because it does so much more so obviously if you need to get more information there it's only less concise but the idea is basically you have a configuration this case for Brokeback monitor will no explanation what does vision for backup wanted and they use a list of options so you've got the top there a configuration for some canonical rule world which has 1 of various and even open option for uh which is called base his very basic further back ups and they've got a predicate which is another option this is a public option you can see that open option busy specify configuration files and command options and public options specified as command line options um and then and then the values of a few more kind of keywords for that kind of uh confirmation definitions so you can say where the compression directory so configuration file should be created in this case it's in the home folder on the so the article back monitor because the as nation which will be added to the configuration file is generated and then they can see that basically we ask for help to be automatically generated and usage billed monthly generated as author copyright patent license uh to morph usage accounting of Gaussian because offspring so is basically a specifying what of set configuration files amazing reconfigurations for commands but the specifications and private options are kind of basically you can say this is option and it needs to be referenced but it's own intro like uses only to change at option that's private option um and public actions are common options disaster but that get along this at the moment just a public options open auction the common options but also the specified in configuration files the the so that and this is this is an example that means that it is so well before you basically have to if M is looks very similar necessities that they can get out conflict auto which is assigned jobs after passing for a program on his include configuration and your confirmation declaration but you don't have to worry about like doing all kind of checking for rejecting freezer checking for um help anymore because that's automatically uh and they need to start doing yourself maybe use the same syntax as we get along which is option ref is this using an us to check for options that being patterns so yeah that's as good example the this is the example
help of for backup monitor which is the problem we just saw the configuration specification of you can see basically generates the kind of usage line which short options and some example values and income has a lot the the language as well which is with the kind of summary datasets and compression specifications well so you can see here that you help is the help message and exit or you know we define predicates so test that test is successful the figure so that generates up from the uh information as additional we have because here this is a common rule world on an ray will about those trading is go well it's a subcommand should have the same rules so I really get help that function because again it's NASA configurations this understand that that way and we get the same thing the so that's what it does essentially
the and of because it well 1 thing and do it well in many ways it so he creates configuration files a kind of recent iteration vases qualify 0 going on there so maybe as the quotient that function paradigm which is encouraging on its overseas multiparadigm language so you can do whatever you want but I at least like function paradigms I kind of tend to follow that so I mean the thing with the option passing conformational reading 5 hollering standard very forcing you to program so generally you can basically have um and and that that part is the part that really can contain circuit by operations so that is the very 1st thing you do using this library committee you can reason functional core which is where you logic as as wrapped imperative you know that let based get us to cover parts incorporation files and configuration options and does all the 2 approaches I and I know experimenting more notes which is proving painful also exciting so uh I you like I'm using this thing which I call the I O model which is basically it's a difficile you can use I showed you this you can get almost always got sound itself but and I will not expel basically uses that builds on uncovered weeks implementation of the kind of Mona functionality in Kyle which uses repeats and kind of using it for something else and it's basically just really because God supports I O operations natively so it doesn't it doesn't really needed business again of somewhat computationally expensive way to maintain in your head clear boundaries between I O and functional preparations what is useful that you going I think is quite useful there you could set the price is too high um than that that's basically the overview what kind of this thing does not time if it can run a check by perfect so that is a before the declarative specification grammar is not superior some can think about how to improve that um amid more about kind of reusing 0 . 1 if I wanna rewrite this does you yet what kind of breaking so that but I'm in so much as reasonably 1 anyway um and uh there are a few issues with the get along I read moment because it actually at points just exits um for example like get along comes to check with predicates whether the incoming value matches which expected to match so you could for example check for specific values like if you want input either the success or failure like the string success or failure and then get along can check with actually matches success or failure at the moment if it doesn't then adjust X is a program and really what it should do a East for my purposes what should do is throw an error 2nd captured in an action is more processing some might hopefully even hold it is you want submit patches to develop communities to try and implement that so uh and also some court cases the kind of well there's a question what happens in inclusions that somewhere in the confirmation as confusion and next so they get search a precondition testing or might not do it and this 1 runs into it the can tell me and then I can work it out and is also a special color dash dash command line option which many program support which is basically means stop processing command line arguments and take the rest as input to the program uh that's no support at the moment the and that is also cautious opposition Artemis argues that have a flat you know you have a program that but you know just military expects let's say the target file name to use military parts a farming is the 1st argument you mentioned happening that argument is Sister dispositional parameter um I'm not doing anything carried that we can add anything that's potentially everything to that is also a might look into that that's the future you can get it at all the cells and get up which have a love-hate relationship is super simple but it's ambivalent free so for things but you know on it assumes the writings in some ways uh it's but it's not like entirely free so so ambivalent what's Rees using it for that for now um and you you can basically the usual thing if you come the directory become the poster you can to or to re confident computer on it's fine automated and making cell um and also the of each recipe which as well I will be submitting was every stupid 1 fully and actually have an archive with 3 several cells with that as well and can use use it that way but I think doesn't those of you to and we should thank you any questions 1 you there so that was the uh I've not folks internationalization no albeit um the so I guess this for confirmation specification as when fascination internationalization is important because that's where parts strings yeah I should point out not consider the united was in the internationalization free program but it's not the right should implement that I can use the wonderful text modulus part goes well for that how we think so I will do that good point many other questions that OK thank you you thank