re: Guile, complaining
@MutoShack The function read does not evaluate the content of the file. It just parses it as a s-expression. So it's normal to see quasiquote and unquote in the resulting xml. Keep in mind that REPL means "read, eval, print, loop", so read and eval are different phases.
In your case, you need to use local-eval after reading, or replace (read (open-input-file ...)) by (include ...).
@erkin Maybe because of dependencies (like make requiring guile). Though, there are already guile-2.0 and guile-1.8 packages for a few softwares with dependencies on older versions of guile. I wonder why there isn't a guile-2.2 package for this.
@rose I already played and finished the original on GBA years ago (and could play it again since I have the cartridge and a DSLite), so I already know the story. I played the demo, and while it looks nice, it doesn't appeal me enough to play it on Switch.
@philipwhite Without any knowledge on the language you are using, I answered both.
The "return copy" are easier to read than in-place updates if your language allow definition or overloading of operators, as you can write formulas in a more natural way. Also, if you are writing your library in a functionnal language, the "return copy" is often the way of thinking operations (operation without side effect), not the "in-place update" (operation with side effect).
Though in a functional language, you would also prefer map-like operations instead of separate add/scale where you can give a function that is applied on every item (potentially combining several input vectors of the same size, like map in lisps), a model similar to OpenCL kernels or OpenGL compute shaders that you run on a graphic processors.
re: hot take, software
@amiloradovsky Sometimes, the config file is only present for development purpose, in order to be able to play with parameters before fixing them after testing the soft (notably when you have hardware coupling). So there are configurable values, but the soft should be able to start without any config file at all.
@jk In the first pokémon games, there are two ways involving money.
If you run out of money (and ways to get money) while you haven't got two mandatory key items located in the Safari Zone, you can't finish the game, as you need to pay a fee to enter the zone, and the number of steps you can walk there is limited. There is a similar problem for entering Saffron city (visiting the city is mandatory), as you need to buy a drink and give it to a NPC to be authorized to enter the city.
In the pokémon games, you get money by beating trainers and selling items. However, in the first games, there is no renewable items, and you can't repeat battles you won (outside the elite 4, but that's after those areas, and beating them is finishing the game anyway).
You loose money when all your pokémons are KO (even against wild pokémons). Also you sell items for half the price you buy them, so you loose money if you repeatingly sell and buy the same item. So if you are very bad at the game, you can reach an unwinnable state (no money and no way to get some, while needing some for getting into mandatory places), and you can save in that state.
The problem is not present in the other games of the series (nor in the remakes of the first games), as there is always a way to get money.
@amiloradovsky The different tools uses similar but slightly different way of expressing regexes, sometimes incompatible (notably if there is a possibility to extract and not just match).
I've just looked at the Racket page on regexes, and there are two kind of regexes defined there...
There's a game jam starting tomorrow centered on lisp (any dialect).
@erkin if your dictionnary is more like a table of a database (and notably if the functions you provide to work on the collection are like database operations), the second option is better, as you are not abstracting a collection of key-value pairs, but a collection of objects.
Also, the association list should only be a serialized representation of your collection, not the actual data you work on in code (as structures / classes provide better abstractions than lists, and are easier to refactor).
@erkin It's also more consistant if your dictionnary also has values that are not lists, because you have to write the dot for those.
@erkin Although both are equivalent in code, I find that the first option convey better the idea of a key-value pair.
@juliobiason It's the asterisk button left to the local timeline button on the web ui (above the composition box).
@juliobiason How could the IDE know that ?
Shouldn't the class be named "Repository" and put in a "MyModel" package instead of being named MyModelRepository ?
Using the last word of a camel-case may not be what you want in every situation.
In the modeler I use, it generates by default the associations as "its<ClassName>", but it's possible to change this in the properties of the class.
(let ((cnx (make-mastodon "email@example.com"))) (set-profile cnx "Someone haunting the Internet maze.") (toot cnx "Hello World!"))
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!