574 karma · joined October 17, 2008
Methodfinder finds the name. Let me know if you find it useful!
>>> import methodfinder
>>> methodfinder.find([]) == 0
len([])
sum([])
>>> methodfinder.find([]) == False
any([])
bool([])
callable([])
>>> methodfinder.find(3) == "3"
ascii(3)
format(3)
repr(3)
str(3)
>>> methodfinder.find([1,2,6,7], 6) == True
6 in [1, 2, 6, 7]
[1, 2, 6, 7].__contains__(6)Methodfinder finds the name. Let me know if you find it useful!
>>> import methodfinder
>>> methodfinder.find([]) == 0
len([])
sum([])
>>> methodfinder.find([]) == False
any([])
bool([])
callable([])
>>> methodfinder.find(3) == "3"
ascii(3)
format(3)
repr(3)
str(3)
>>> methodfinder.find([1,2,6,7], 6) == True
6 in [1, 2, 6, 7]
[1, 2, 6, 7].__contains__(6)Weird way to describe the symmetric property of equality from discrete math 201
The programmer just copies and pastes from the demos, makes small modifications, and it just works.
(No offense intended towards your framework, I've used gtk, qt, and swing and have never understood them like I understand nuklear and dearimgui)
In contrast, with Gentoo and their documentation, it was straightforward for me to make my own additional, separate repo, look at other ebuilds to see how packaging works, and have everything just work.
https://github.com/billsix/billsix-portage
I submit ebuilds to Gentoo itself if I think others would benefit.
As far as I can tell, packaging for Arch is straightforward as well.
Python and c#’s yield are nothing like that. It’s just syntactic sugar for iterators.
http://billsix.github.io/modelviewprojection/
It in python, doesn’t involve matrices. It really only requires high school math, with the exception of the z axis.
Hope it’s helpful!
https://www.amazon.com/Refactoring-Ruby-Addison-Wesley-Profe...
Eval'ing during macroexpansion in Gambit Scheme is the basis for my book, http://billsix.github.io/bug.html#_computation_at_compile_ti...
It allows me to make a compile-time unit test framework in 7 lines of code
The evaluation of a lambda results in a function value, which captures the enclosing scope, but the procedure is not yet applied to anything.
But the main difference that I've seen anecdotally is that imperative programmers as a whole tend to get confused by nested expressions, or lets just say they prefer sequential statements over nested expressions. My assumption is that they don't fully understand the order of evaluation in their language of choice.
To change your mindset, read:
http://www.paulgraham.com/onlisp.html
Or instead, how bout this. show me your implementation of generators in the “user space” of your language of choice. Show me your compile-time test framework.
Both of these are relevant to the article, what C++ may provide to users in 2 years. But I did these on my own, without requiring Marc Feeley’s approval nor his implementation (he is the creator of Gambit)
http://billsix.github.io/bug.html#_make_generator
Lisp code has few wasted moves. Programming in it does require changing your mindset of syntactic beauty. And once your mindset changes, you can make whatever syntax you want.
Perhaps the biggest hurdle is that the code is not best read linearly. The reader must understand the order of evaluation, which follows very simple rules, in order to understand the code correctly. That hurdle is definitely worth the jump.
If you’d like to make graphical applications though, I recommend immediate mode frameworks
Pirate away dude. The piracy of JSTOR repos didn’t help the global poor population, nor will piracy of this book.
To those who cannot afford it, here’s 2.5 years of my side work for free http://billsix.github.io/bug