justache has quit [Remote host closed the connection]
justache has joined #lisp
<Theseus>
G'day, I wrote a second hand bookstore.
<Theseus>
there's a couple of things I'd like to know about?
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
<Theseus>
Is it possible to develop graphics in html for a BITCOIN QR code? (via Lisp)
wxie1 has joined #lisp
wxie has quit [Ping timeout: 264 seconds]
wxie1 is now known as wxie
<Theseus>
And a search, of a huge amount of text, titles authors illustrators publishers...
<Theseus>
for thousands of books
jprajzne has quit [Client Quit]
jprajzne has joined #lisp
[mark] has joined #lisp
bhartrihari has left #lisp ["Disconnected: closed"]
gioyik_ has joined #lisp
bhartrihari has joined #lisp
gioyik has quit [Read error: Connection reset by peer]
slyrus has joined #lisp
<beach>
Good morning everyone!
<beach>
Theseus: There are some HTML libraries around, but I don't use HTML so I don't know how good they are.
<beach>
Theseus: "Thousands of books" is not "huge" these days. Should work fine.
<slyrus>
evening!
<slyrus>
Is there still a lispweb channel (or similar) for discussing lispy web frameworks/libaries/etc...?
yonkunas has quit [Quit: Connection closed for inactivity]
Bourne has quit [Ping timeout: 240 seconds]
red-dot has joined #lisp
oxum has joined #lisp
<White_Flame>
is there some reason why SLIME fails to show function parameters in the minibuffer?
<White_Flame>
eg (defun foo (a b) ...) sometimes when the cursor is inside (foo |) it shows "(foo a b)" bolding where you are, sometimes it's just "(foo)"
<White_Flame>
right now, it's not showing params, and that's really annoying
<White_Flame>
M-. still works to bring it to the definition, so it's not being redefined to some non-param version
wxie has quit [Ping timeout: 256 seconds]
wxie has joined #lisp
zaquest has quit [Quit: Leaving]
zaquest has joined #lisp
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 240 seconds]
gekkou has quit [Quit: WeeChat 2.9-dev]
dominic34 has quit [Ping timeout: 265 seconds]
<Theseus>
slyrus! Can't help, but I'd like to know that too
bhartrihari has left #lisp ["Disconnected: closed"]
<paule32>
can i make a defun function in the form of the defvar's ?
<paule32>
like (add-wire [+port] powersupply [-mport] wire-9)
<paule32>
where +-port are the + > left side of wire and - < right side of wire
<paule32>
in form of: (defun add-wire (component m p))
<paule32>
(add-wire wire-1 power+ wire-2-)
gekkou has joined #lisp
gravicappa has joined #lisp
dddddd has quit [Ping timeout: 240 seconds]
<paule32>
so, breakfeast, cofe time
wxie has joined #lisp
edgar-rft has joined #lisp
bhartrihari has joined #lisp
<paule32>
hello edgar-rft
dale has quit [Quit: My computer has gone to sleep]
rgherdt has joined #lisp
jprajzne has quit [Quit: jprajzne]
jprajzne has joined #lisp
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
jprajzne has quit [Client Quit]
jprajzne has joined #lisp
oxum has quit [Ping timeout: 240 seconds]
sdumi has joined #lisp
oxum has joined #lisp
JohnMS_WORK has joined #lisp
bhartrihari has left #lisp ["Disconnected: closed"]
oxum has quit [Ping timeout: 246 seconds]
rumbler31_ has quit [Ping timeout: 264 seconds]
shka_ has joined #lisp
bhartrihari has joined #lisp
bsd4me has quit [Quit: Leaving]
asarch has joined #lisp
<shka_>
good morning
<paule32>
hi
<flip214>
paule32: I don't understand your requirements. (defun add-wire (&rest args) ...) if you know how to parse +port, -mport etc. from the args list
ahungry has quit [Remote host closed the connection]
<paule32>
hello flip214
<paule32>
the idea is, to simplyfied/reduce write work
bhartrihari has left #lisp ["Disconnected: closed"]
<paule32>
i get only OK, so only the first "cond" is eval
oxum has joined #lisp
<phoe>
no bug
<phoe>
COND only goes into one branch, that's by design.
akrl`` has quit [Read error: Connection reset by peer]
asarch has quit [Quit: Leaving]
akrl`` has joined #lisp
oxum has quit [Ping timeout: 258 seconds]
<paule32>
so, this is ok:
<paule32>
(cond ((eq (type-of c1) 'wire) (format t "OK~%")))
<paule32>
(cond ((eq (type-of c2) 'wire) (format t "ok~%")))
<paule32>
?
pve has joined #lisp
FennecCode has quit [Ping timeout: 260 seconds]
toorevitimirp has quit [Ping timeout: 258 seconds]
<phoe>
that'll work, but I'd use multiple WHENs rather than multiple single-branch CONDs
libertyprime has joined #lisp
<loke`>
paule32: You probably really want to use TYPEP instead
<paule32>
typep is a pointer to a type, not name
<loke`>
paule32: I mean, use (TYPEP c1 'wire) instead of the EQ dance.
<loke`>
That way subtypes are covered too. Only use the EQ thing if you explicitly want to exclude subtypes.
<paule32>
ok, thx, that nice
<paule32>
assume, i have &rest rest
<paule32>
(cond ((eq (typep rest) 'power-source) (format t "power~%")))
<phoe>
(typep rest) won't compile
<paule32>
how can i determine rest type instead power-soirce ?
<phoe>
you mean the type of every element of that list?
<loke`>
REST is always going to be a list
<loke`>
What do you want to achieve here?
<paule32>
at the moment, i use type-of static
<paule32>
but rest is dynamic
<paule32>
so, i can't write the type explizit
<paule32>
maybe a design error on my side
<paule32>
because "add" should add 2 components (wire-1 + wire-2)
<paule32>
and when i produce a list (wire-1 power-1 -wire2)
gekkou has quit [Ping timeout: 240 seconds]
<paule32>
i could not determine, what to add at given position ?
<phoe>
I don't understand what you're trying to do
<phoe>
both low-level and high-level
<phoe>
or what static/dynamic means in your case
<paule32>
so, the graph could be: (wire-1 power-1 wire-2 led-1 wire-1)
<paule32>
phoe: only implementing issue, no low/high 0/1, yet
<phoe>
paule32: this answer doesn't help me in the slightest
<phoe>
if you want to verify that every element of the list is of some type, you can use (when (every (lambda (thing) (typep thing 'sometype)) rest) ...)
<paule32>
ok
<paule32>
they can differ
<phoe>
what do you mean, they can differ
theBlackDragon has quit [Ping timeout: 258 seconds]
<paule32>
so i could write (add wire-1 (add power-1 wire-2)) ?
theBlackDragon has joined #lisp
<phoe>
I don't know what ADD does and what WIRE-1 or POWER-1 or WIRE-2 are so I don't know how to answer.
<phoe>
Does your project have any documentation?
<paule32>
add stands for "connecting" types
Cymew has joined #lisp
<paule32>
no, just for fun
<phoe>
well then, I'm not competent enough to help
<paule32>
haha, to easy for you ?
<paule32>
well, i try to simulate a electric system, for kids
oxum has joined #lisp
<flip214>
paule32: take advantage of &rest arguments, and allow (add wire-1 power-1 wire-2)
<paule32>
na, stupid idea
Theseus has quit [Remote host closed the connection]
<paule32>
the set of "add's" buid a circle - a power/supply circle stream, at the moment on lowest layer
libertyprime has quit [Quit: leaving]
<paule32>
i know, when i add + and - pols, the power supply breaks
Theseus has joined #lisp
holycow has joined #lisp
<paule32>
but this is the beginning of a rise ...
<paule32>
so, i could be better ( add power (add wire-1 (add power wire-1))) ?
Oladon has quit [Quit: Leaving.]
<paule32>
or better
oxum has quit [Ping timeout: 265 seconds]
<paule32>
so, i could be better (add power-plus (add wire-1 (add power-minus wire-1))) ?
<paule32>
where the power supply has 2 ports - plus and minus
<paule32>
and the wire has 2 ports, too lhs - rhs
<paule32>
and the function "add" should only a wrapper, that connects all this components together
oxum has joined #lisp
oxum has quit [Remote host closed the connection]
gravicappa has joined #lisp
simendsjo has quit [Ping timeout: 240 seconds]
Oladon has joined #lisp
oxum has joined #lisp
Khisanth has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
oxum has quit [Ping timeout: 264 seconds]
<flip214>
perhaps you shouldn't even mention wires at all, but say (connect power+ resistor1-1) (connect resistor1-2 led1+) (connect led1- power-) ?
Khisanth has joined #lisp
<splittist>
Or even (connect (power+ resistor1-L) (resistor1-R led1+) ... )
msk has joined #lisp
holycow has quit [Quit: Lost terminal]
orivej has quit [Quit: No Ping reply in 180 seconds.]
<beach>
jackdaniel: I'll explain that in my talk. It means you can't use a host Common Lisp implementation to evaluate things for you target.
<jackdaniel>
aha, thanks
rumbler31_ has joined #lisp
<jackdaniel>
beach: that sounds about right. I don't understand the part about "implicit dependencies between modules" though
jesse1010 has joined #lisp
<beach>
I'll try to remember to make that clear in the talk. It means that the modules have an order, and that order is usually nowhere documented.
<beach>
"When you write code in this module, remember that the following functions and macros are not yet defined:..."
<beach>
Maybe "implicit" is not the best term.
<jackdaniel>
in case of the c part of ecl, all resulting .o files are compiled to a single .a file (which constitues libeclmin.a
<jackdaniel>
(and all are declared in the header), so such traps are not very likely (and this module does not utilise common lisp macros of course)
<jackdaniel>
macros in .d files are basically a syntactic sugar which is preprocessed by a parser written in C (called dpp), without any runtime information except for the header files
<beach>
What I mean is that the INCF macro can not be defined using DEFMACRO because DEFMACRO has not been defined yet at that point.
<jackdaniel>
OK
<jackdaniel>
that seems a little misleading for me, because it is mentioned near the part about flaws of implementing things in C, while defmacro, incf and such are implemented in the already-available lisp subset (n.b incf is defined with defmacro, but I understand that was just an example)
<jackdaniel>
but I understand what you mean now, so I suppose adding a comment during a talk should suffice
vidak` has quit [Remote host closed the connection]
<beach>
Great! Thanks for your help!
<beach>
And I don't call it a "flaw" but a direct consequence of the strategy chosen.
<jackdaniel>
right, my point is that how lisp macros are implemented is independent from the fact that the "low level lisp" is implemented in C. it could be implemented in fully-fledged Common Lisp. you may mention a consequence, that you *can't* really use Lisp macros in the code written in C used to bootstrap the rest
<beach>
That's not really the point. I am not talking about the C code at all.
<jackdaniel>
uhm
<beach>
The point is that when you start from a subset of the language, you have an order between the Lisp modules.
<beach>
You just can't use DEFMACRO until it is defined.
<jackdaniel>
that's definetely true, yes
simendsjo has joined #lisp
<beach>
And to define it, you need do, dolist, dotimes, when, setf, etc.
<beach>
And those are macros.
<beach>
So they can't be defined using DEFMACRO.
orivej has quit [Quit: No Ping reply in 180 seconds.]
<beach>
And that is a consequence of the fact that you start with a "core" and build upon it.
orivej has joined #lisp
<loke`>
beach: You mean at some point you have to decide what the "core" is and build from it?
<beach>
That is yet another issue.
<beach>
But no matter how you choose it, there is going to be an order between the additional modules.
<loke`>
as in... you can build IF on top of COND, or vise versa. But you can't define them in terms of eachother.
<beach>
A better example would be LOOP. You might need LOOP to traverse the clauses, but you can't.
<beach>
I guess it is good that I am doing this series of presentations, because it seems it contains interesting information to many people. :)
cosimone has joined #lisp
* beach
feels that questions such as "but how could you possibly avoid that" are in the air.
<jackdaniel>
loke`: in principle you can implement both in the underlying language
<loke`>
jackdaniel: Yes, of course.
oxum has joined #lisp
random-nick has joined #lisp
<loke`>
What about macros that are expanded by an existing Lisp? (like how SBCL builds)
<beach>
What about them?
<jackdaniel>
same thing with defmacro, it doesn't have to be implemented with i.e cl:dolist or cl:loop, it may be something like system:while etc
<beach>
That's the subject of part 2.
<loke`>
OK, I should read it/listen to it before asking questions :-)
<phoe>
I guess defmacro can also be implemented outside Lisp and be a part of the core
<jackdaniel>
or (ffi:inline "boom(#1)") ;-)
<beach>
loke`: Part 2 won't be until at least 3 weeks from now, or 2.8.
<loke`>
That's fine. I can wait :-)
<beach>
phoe: Yes, and good luck with that.
<beach>
phoe: The lambda-list parser for the macro lambda list is non-trivial.
<loke`>
Easier in languages where the macro language is different from the actual language.
<beach>
phoe: Besides, on one of the first slides, I mention that the goal is to do as much as possible in Common Lisp.
<loke`>
I mean, I guess that's the entire reason why most languages have a different macro language.
<jackdaniel>
phoe: check out the function sys::destructure in src/lsp/defmacro.lsp ;)
<jackdaniel>
saying thaat writing it in C would be unpleasent would be understatement
<phoe>
:D
oxum has quit [Ping timeout: 240 seconds]
<beach>
Anyway, this discussion is quite helpful, because, again, it shows the need for my series of presentations.
<beach>
I had not imagined this level of interest from seasoned Lispers.
<jackdaniel>
phoe: but, if you look at the compiler.d, you'll find a function si_process_lambda_list (which is used by said destructure)
<jackdaniel>
it illustrates how ugly the codde can be
space_otter has quit [Remote host closed the connection]
<paule32>
the "add" connects wire-2, wire-1 power_1 power_2
<phoe>
all it does is printing lines on the screen
<paule32>
it does not matter, that power supply is const
<paule32>
yes, i did say it
<paule32>
step 2 will be, to collect the items with properties :mport :pport
<phoe>
okay, I'm more confused than I was before
<phoe>
what's the actual problem?
oxum has joined #lisp
<paule32>
calculate the voltage that hangs on :mport, and :pport
ebrasca has joined #lisp
<paule32>
let the power-source/supply 9.0 V
<paule32>
so the electrically stream half it
<paule32>
9.0 / 2 = 3.5 on each port
<paule32>
of power
<phoe>
> 3.5
<paule32>
i ignore the wire R
<phoe>
that's 4.5 I think
<paule32>
yes, sorry
<paule32>
now, i need R-Value let 1 V
diegogub has joined #lisp
<phoe>
anyway, the meaning behind this code or the console output is unreadable to me - I won't be of much help
Bike has joined #lisp
<paule32>
therefore, i search for Qtools - to visulize it
<paule32>
i had create the console output, in the hope you can see whats going on
<paule32>
and for me
<phoe>
I can't see what's going on, and I can't see the intent either
rumbler31_ has quit [Ping timeout: 240 seconds]
<phoe>
there is a series of print statements that don't really follow what's meant to happen in the code
<phoe>
and the code is also incomplete
<paule32>
see, you can't lay + and - on the pols of the power/supply - it will be break
<paule32>
so, need a consumer
Lord_of_Life_ has joined #lisp
<phoe>
I
<phoe>
I'm sorry, I don't really know which part of this code you're talking about
<paule32>
instead of resistor, i could set in a led
<paule32>
the (add p m) function
<paule32>
p and m are ports
<paule32>
each component have 2 ports lhs, and rhs or a begin, and a end
Lord_of_Life has quit [Ping timeout: 240 seconds]
<phoe>
let me ask once again: what's the *actual* problem?
<Bike>
"this is seriously #clschool material" paule has been banned from that channel, if you weren't aware
<phoe>
oh
<phoe>
I start to see the reason
Lord_of_Life_ is now known as Lord_of_Life
macdavid313 has quit [Quit: macdavid313]
<paule32>
you can debann me, so i could switch over
<phoe>
I have no mod access there
<phoe>
and I don't know the reasons you were banned there, even though I can guess them
macdavid313 has joined #lisp
<ebrasca>
I think he is asking for cl Qtools library.
<paule32>
i am sorry, when the questions are to stupid, or easy. i am no guru or profi like you here, i try to communicate with my school english, and this is not well
<paule32>
ebrasca: , too
<phoe>
I don't consider myself a pro, really; I remember you've been given a lot of Lisp-related advice though, and it seems like you did not utilize most of that advice
<Bike>
asking questions is fine, but you've apparently been unable to learn anything from the answers in the several years you've been around here, which makes the prospect of trying to teach you again unattractive
dilated_dinosaur has quit [Ping timeout: 265 seconds]
theBlackDragon has quit [Ping timeout: 258 seconds]
narimiran has quit [Ping timeout: 265 seconds]
drdee has quit [Remote host closed the connection]
orivej has quit [Quit: No Ping reply in 180 seconds.]
dilated_dinosaur has joined #lisp
orivej has joined #lisp
gaa is now known as guu
guu is now known as gaa
xlei has joined #lisp
xlei has quit [Excess Flood]
rumbler31 has quit [Remote host closed the connection]
dddddd has joined #lisp
xlei has joined #lisp
xlei has quit [Excess Flood]
orivej has quit [Ping timeout: 256 seconds]
orivej_ has joined #lisp
whiteline has quit [Read error: Connection reset by peer]
whiteline has joined #lisp
xlei has joined #lisp
red-dot has joined #lisp
gravicappa has quit [Ping timeout: 260 seconds]
asarch has joined #lisp
gaa has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
oxum has joined #lisp
cosimone has quit [Read error: Connection reset by peer]
theBlackDragon has joined #lisp
cosimone has joined #lisp
hhdave has joined #lisp
asarch has quit [Quit: Leaving]
dominic34 has quit [Ping timeout: 258 seconds]
orivej_ has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
flazh has quit [Quit: flazh]
orivej_ has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<contrapunctus>
I'm interested in using something like Coalton for a large-ish project to find out how much it helps, but it seems to assume ML knowledge (I don't know ML), and also seems to be incomplete :\
dddddd_ has joined #lisp
flazh has joined #lisp
dddddd has quit [Ping timeout: 240 seconds]
orivej_ has quit [Ping timeout: 265 seconds]
orivej has joined #lisp
<pve>
contrapunctus: I guess you can just define functions until the typechecker is happy, and then call the typechecked functions from lisp, no?
oxum has quit [Ping timeout: 265 seconds]
EvW has joined #lisp
renzhi has quit [Ping timeout: 240 seconds]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
pve has quit [Quit: leaving]
Jesin has quit [Quit: Leaving]
younder has quit [Quit: Leaving]
Oladon has joined #lisp
tutti has joined #lisp
macdavid313 has joined #lisp
crazybigdan has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #lisp
terpri_ has joined #lisp
nicktick has joined #lisp
terpri has quit [Ping timeout: 260 seconds]
efm has joined #lisp
mason has left #lisp [#lisp]
cosimone has quit [Quit: Quit.]
msk has quit [Ping timeout: 256 seconds]
frgo_ has quit [Remote host closed the connection]
frgo has joined #lisp
rgherdt_ has quit [Ping timeout: 240 seconds]
<fouric>
axion/sdl2 people: i'm looking to generate the .spec files for sdl2 for arm64 - how might i do this after i have a working c2ffi?
<fouric>
the c2ffi manual says that you point it at a particular (header) file, but the sdl2 codebase has a large number of files in it
<axion>
delete them and quickload :sdl2
dddddd_ is now known as dddddd
<fouric>
if i do that on an x86 machine, will that generate the spec files for an arm64 machine?
<axion>
yeah
<fouric>
alright, thank you!
<axion>
borodust would be the one to ask any further questions. i dont mess with that stuff much
random-nick has quit [Ping timeout: 265 seconds]
<fouric>
gotcha
MidHotaru has quit [Quit: Connection closed for inactivity]
rumbler31_ has quit [Ping timeout: 256 seconds]
edgar-rft has quit [Quit: Leaving]
gaqwas has quit [Remote host closed the connection]
Lord_of_Life_ has joined #lisp
tutti has quit [Ping timeout: 272 seconds]
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
dominic34 has joined #lisp
orivej has quit [Quit: No Ping reply in 180 seconds.]