<pjb>
(defpackage "FOO" (:use "ARC") #|instead of "CL"|#) (in-package "FOO") #| this would still be a "CL" program, even if actually an
<pjb>
arc program |#
<aeth>
It's incredibly dead, though. I went through a few dozen pages to see just how low volume it is and I got blocked. So apparently so few people go there that being active on their site is inherently suspicious.
fikka has joined #lisp
<fouric>
lmao
<fouric>
that's pretty dead, even for a lisp
<aeth>
careful, once you hit 40-50 you get blocked so make your views matter
<jgkamat>
maybe they are really heavily anti-scraping or something
jack_rabbit has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
<aeth>
What I was doing was going through the /new page, reading the titles, and watching posts get more frequent, although it was still pretty dead 10 years ago. Well, not quite 10. I got blocked before I got to 10.
<fouric>
makes me feel just a little bit bad for pg, given all the lisp evangelism he's done
<aeth>
I didn't get to the surge of activity that must've happened a while ago. Maybe 2006? That's what I really wanted to see, the initial enthusiasm and when it dropped off. There should be a /old
<Bateman>
Well
<Bateman>
This is the second lisp I've failed to get properly working
<aeth>
fouric: The problem with Arc is that it's the mix of Common Lisp, Scheme, and Perl that apparently only pg wanted.
<aeth>
Bateman: You could try asking in #racket because Anarki is ported to a more modern version of Racket than the ancient version that HN runs
<fouric>
"Perl" O.o
<Bateman>
Thanks for the tip
<aeth>
fouric: It has been years, maybe 2012 or so, since I read all the Arc stuff, but I think Perl was the other primary influence
<fouric>
unrelated: does anyone have a little bit of time to walk me through the process of getting SLIME's lambda-list display in the minibuffer to work when the associated inferior lisp is running a process
<Bateman>
Though at this point I'm wondering if I should just give up on arc and switch to a different lisp
<aeth>
fouric: Not like I'd be able to look things up now that I'm blocked from their website (not just the forum part) :-)
<fouric>
ostensibly it has to do something with the communication mode with said inferior lisp's swank server but i don't understand it very well
<fouric>
lol
<fouric>
aeth: yeah, that does seem to be sort of counterproductive on their end, doesn't it
<fouric>
maybe it's a feature
<fouric>
"we want more users, but only a *few* more"
<aeth>
fouric: I'm guessing the volume of illegitimate traffic to legitimate traffic is probably something ridiculous like 10000:1 because it gets several topics a month and spammers spam any website with input functionality several times a day.
<fouric>
is spam control really that hard?
<fouric>
why not just require all new posters to have their submissions explicitly approved by existing users
fikka has joined #lisp
<aeth>
Bateman: From my personal observations, Arc is the deadest language I've seen that's still notable to some degree. It has to have fewer than 20 users. Well, direct users. It has quite a few indirect users through HN. At this point, it might as well be classified as historic because there's probably more active servers running historic Lisps than Arc programs.
fikka has quit [Ping timeout: 240 seconds]
<aeth>
e.g. In Github the only activity is various implementations, HackerNews (the repo probably includes the main implementation), and miscategorized projects that don't actually use Arc. https://github.com/trending/arc?since=monthly
<Bateman>
Oof
<Bateman>
I guess I'll just stick to racket then, thanks for the advice/info
fikka has joined #lisp
mathZ has joined #lisp
<Zhivago>
racket seems like a good choice, these days.
<aeth>
Bateman: If you're looking for a Lisp with an active community, you probably want to be using Common Lisp (this channel), Racket, or Clojure. Emacs Lisp is also active (but it's specific to the Emacs text editor) and various other Schemes are fairly active as well (in particular, Guile and Chicken).
<Zhivago>
Racket is pretty active, last I looked.
<aeth>
If you're looking for an up and coming Lisp/Scheme that has a smaller community, there are quite a few. Maybe half a dozen, if not more. Arc does not appear to be one, unfortunately.
<Zhivago>
Ah, you included it in your list -- nevermind.
fikka has quit [Ping timeout: 272 seconds]
<Bateman>
aeth: Do you have any experience with Racket? If so, are there any major reasons to pick common lisp over racket, or vis versa?
FreeBirdLjj has joined #lisp
<pjb>
Pick Common Lisp. The major reason why, is because this is #lisp.
Kundry_Wag has quit [Remote host closed the connection]
<aeth>
Bateman: Common Lisp is an industrial language and its focus is on having multiple implementations and writing portable libraries between them. The most popular tend to be very fast and with helpful error/warning messages.
<aeth>
Bateman: Every other Lisp is essentially a one-implementation scripting language except Shen, which seems to have a dozen or more language backends.
Kundry_Wag has joined #lisp
<aeth>
So what you'll see is newer ideas and perhaps a more coherent and modern standard library, but you'll be restricted to one major implementation and the performance will probably be worse.
<aeth>
(By "newer ideas" I mean that newer Lisps might have pure FP, static typing, some means to avoid garbage collection, a focus on concurrency, etc. All the stuff that's trendy in the past 10 years that would be hard to implement in a Common Lisp portability library.)
Kundry_Wag has quit [Remote host closed the connection]
<pjb>
Seriously, if you implement arc in CL, then each time a new version of CL is released, you get an automatic upgrade of arc!
<pjb>
Better compilers, more libraries, etc.
Kundry_Wag has joined #lisp
<pjb>
new platforms.
<pjb>
We'd also need a r7rs implemented in CL. We have pseudo-scheme which is an old r4rs…
mindCrime has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<Ober>
all as additional layers, without clhs breaking change at the lower levels.
<aeth>
Bateman: I agree with pjb. If you're interested in Arc, you should try to implement it in CL and learn both languages. There's already an Arc in modern Racket (Anarki).
<aeth>
Implementing a language that uses s-expressions in a host Lisp is a fairly easy project because you avoid so many complicated steps.
<Bateman>
I think that task might be beyond my current abilities
buffergn0me has joined #lisp
graphene has quit [Remote host closed the connection]
bbokser has joined #lisp
graphene has joined #lisp
fikka has joined #lisp
<aeth>
pjb: An r7rs isn't easy, unfortunately.
Bateman has quit [Quit: Page closed]
<aeth>
To implement a Scheme, you need call/cc and you need hygienic macros.
<Bike>
you can write hygenic macros on top of unhygenic ones
fikka has quit [Ping timeout: 240 seconds]
bbokser has quit [Ping timeout: 255 seconds]
<aeth>
The third issue I had was a mutable global lexical scope, at least for REPL use. In CL, global variables are dynamic so (define foo 42) or (define (bar x) (+ x 42)) in a running REPL would be hard. (In Scheme, there's no function namespace so bar would just be a lambda stored in the variable bar, except for a possible compatibility wrapper for calling-from-CL)
<aeth>
There are hacks around this but I'm waiting to think of an elegant solution here.
<aeth>
Perhaps I'll just use sb-ext:defglobal. Is there an equivalent in other implementations?
rumbler31 has joined #lisp
<pjb>
aeth: symbol macros are globa lexical scope in CL.
fikka has joined #lisp
<aeth>
What I'm considering doing for interoperability is defining an r7rs or scheme package and invert casing the symbols for seemless interoperability. So R7RS:CAR is a thin wrapper over CL:CAR rewritten in continuation passing style and with an error instead of returning NIL if you try to take the CAR of ()
<aeth>
Except even that would probably be a bit too naive since I'd probably want to inline practically all of the Scheme standard library.
mrottenkolber has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
<aeth>
Well, Scheme's car would be a lambda stored in the lexical global R7RS:CAR. The function R7RS:CAR would call it, so you could do (r7rs:car '(1 2 3)) in CL and get 1 back.
fikka has quit [Ping timeout: 272 seconds]
<aeth>
Scheme-CLOS interoperability could be tricky. Interoperability with CL macros would be trickier. Interoperability with code-walking macros might be impossible.
rumbler31 has quit [Ping timeout: 244 seconds]
Oladon has quit [Quit: Leaving.]
sjl_ has joined #lisp
<aeth>
Instead of invert-casing everything, I might just invert-case (or upcase but that could break some things) the function that you'd use to call from CL and keep the lexical global as |r7rs:car|
robotoad has quit [Quit: robotoad]
<aeth>
s/r7rs/R7RS/
Fare has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
robotoad has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
fikka has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
dddddd has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 244 seconds]
bbokser has joined #lisp
kerrhau has quit [Ping timeout: 256 seconds]
mindCrime has quit [Ping timeout: 260 seconds]
mathZ has quit [Remote host closed the connection]
pierpa has quit [Quit: Page closed]
zooey has joined #lisp
fikka has joined #lisp
anewuser has joined #lisp
<pjb>
aeth: before optimizing scheme->cl, you should check that the CL compiler doesn't already perform the optimization you would want to do manually…
buffergn0me has quit [Ping timeout: 255 seconds]
<pjb>
aeth: the hypothesis here is a X to CL compiler, not a X to CL translator.
fikka has quit [Ping timeout: 240 seconds]
<pjb>
(member X '(scheme arc …))
Khisanth has quit [Ping timeout: 268 seconds]
nanoz has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
gabc has joined #lisp
fikka has joined #lisp
rumbler31 has joined #lisp
Oladon has joined #lisp
rumbler31 has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 256 seconds]
bbokser has quit [Read error: Connection reset by peer]
Khisanth has joined #lisp
fikka has joined #lisp
allcr has quit [Remote host closed the connection]
JuanDaugherty has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
<Ober>
can you even create compat for simple scheme like (def (foo bar) (baz))?
fikka has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
dented42 has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
Kundry_Wag has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 272 seconds]
emacsomancer has quit [Read error: Connection reset by peer]
emacsomancer has joined #lisp
dented42 has quit [Read error: Connection reset by peer]
dented42 has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<pjb>
Ober: it's trivial.
* p_l
recalls optimizing scheme compiler to be one chapter in PAIP
equwal has quit [Remote host closed the connection]
kerrhau has joined #lisp
nydel has quit [Read error: Connection reset by peer]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
captgector has quit [Ping timeout: 244 seconds]
captgector has joined #lisp
fikka has joined #lisp
<aeth>
Ober: the non-trivial parts are continuations and hygienic macros, mostly
<aeth>
there are little edge cases like Scheme having a separate '() and #f, but you can just (deftype scheme-boolean () `(member t :false)) or something
fikka has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
<aeth>
For instance, Pseudoscheme follows R4RS *except* for call/cc and tail recursion (and R4RS is back when hygienic macros were in an optional appendix, so it probably doesn't have those either). http://mumble.net/~jar/pseudoscheme/
bbokser has joined #lisp
parjanya has joined #lisp
shka_ has joined #lisp
orivej has quit [Ping timeout: 272 seconds]
orivej_ has joined #lisp
rumbler31 has joined #lisp
<aeth>
If you just wanted Scheme syntax you could probably do it in a few days.
graphene has quit [Remote host closed the connection]
rumbler31 has quit [Ping timeout: 268 seconds]
graphene has joined #lisp
fikka has joined #lisp
Inline has quit [Quit: Leaving]
bbokser has quit [Ping timeout: 260 seconds]
<beach>
Good morning everyone!
captgector has quit [Ping timeout: 244 seconds]
<clhsgang[m]>
morning beach
fikka has quit [Ping timeout: 268 seconds]
sauvin has joined #lisp
dented42 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
stardiviner has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
captgector has joined #lisp
renzhi has joined #lisp
fikka has joined #lisp
papachan has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 244 seconds]
anewuser has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
<Ober>
aeth: I only write trivial scheme. so the prime issues won't be blockers for my stuff
vlatkoB has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
fikka has joined #lisp
mkolenda has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 272 seconds]
mkolenda has joined #lisp
fikka has joined #lisp
moei has quit [Quit: Leaving...]
shka_ has quit [Ping timeout: 240 seconds]
igemnace has joined #lisp
robotoad has quit [Quit: robotoad]
dented42 has joined #lisp
dented42 has quit [Ping timeout: 260 seconds]
Kundry_Wag has joined #lisp
dented42 has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
heisig has joined #lisp
Kundry_Wag has joined #lisp
galdor has joined #lisp
dented42 has quit [Ping timeout: 240 seconds]
stardiviner has quit [Read error: Connection reset by peer]
DataLinkDroid has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
mange has quit [Remote host closed the connection]
dented42 has joined #lisp
<LdBeth>
Good afternoon
<beach>
Hello LdBeth.
dented42 has quit [Ping timeout: 268 seconds]
<LdBeth>
Hi beach
<LdBeth>
Reading the intro to ACL2 theorem prover
moei has joined #lisp
shrdlu68 has joined #lisp
zxcvz_ has quit [Quit: zxcvz_]
zxcvz has joined #lisp
Kundry_Wag has quit [Ping timeout: 260 seconds]
orivej_ has quit [Ping timeout: 244 seconds]
fikka has joined #lisp
<no-defun-allowed>
anyone have experience with cl-llvm?
pjb has quit [Read error: Connection reset by peer]
pjb has joined #lisp
flip214 has quit [Ping timeout: 260 seconds]
<beach>
no-defun-allowed: What are you planning to do with it?
<beach>
no-defun-allowed: I am asking because Clasp generates code using LLVM, but does not use cl-llvm.
grumble has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<no-defun-allowed>
i'm trying to load it on my desktop
<no-defun-allowed>
it gets confused between llvm3.9 and llvm6.0, loading 6.0 headers when compiling
<no-defun-allowed>
oh, i don't have them and apparently they dropped the headers for 3.9 in ubuntu 14.04
<no-defun-allowed>
*them=the headers for 3.9
grumble has joined #lisp
no-defun-allowed has quit [Remote host closed the connection]
katco[m] has quit [Read error: Connection reset by peer]
spectrumgomas[m] has quit [Read error: Connection reset by peer]
mhitchman[m] has quit [Remote host closed the connection]
clhsgang[m] has quit [Read error: Connection reset by peer]
dirb[m] has quit [Read error: Connection reset by peer]
ritsch_master[m] has quit [Remote host closed the connection]
HDurer[m] has quit [Remote host closed the connection]
remix2000[m] has quit [Remote host closed the connection]
plll[m] has quit [Remote host closed the connection]
LdBeth has quit [Remote host closed the connection]
drunk_foxx[m] has quit [Read error: Connection reset by peer]
manila[m] has quit [Remote host closed the connection]
wetha[m] has quit [Remote host closed the connection]
kumori[m] has quit [Remote host closed the connection]
eli_oat[m] has quit [Remote host closed the connection]
z3r0d5y[m] has quit [Read error: Connection reset by peer]
grumble has quit [Quit: This XML file does not appear to have any style information associated with it. The document tree is shown below.]
Kundry_Wag has quit [Ping timeout: 265 seconds]
pierpal has quit [Ping timeout: 260 seconds]
Copenhagen_Bram has quit [Remote host closed the connection]
mkolenda has quit [Ping timeout: 265 seconds]
theemacsshibe has joined #lisp
<theemacsshibe>
hi again
<beach>
Hey.
<beach>
theemacsshibe: Remind me, are you working on some project using Common Lisp?
Copenhagen_Bram has joined #lisp
<theemacsshibe>
that's why i'm here, yes
<theemacsshibe>
apparently llvm3.9 and llvm-3.9 are different packages on ubuntu
<beach>
And what is the goal of the project?
<theemacsshibe>
just going to write a toy compiler since it seems easy enough.
<beach>
For Common Lisp in Common Lisp?
<theemacsshibe>
still waiting on my nickserv email, turns out someone does send out "you haven't logged in" mails on altervista.
<theemacsshibe>
*a* lisp, not CL. CL is kinda big.
<beach>
Is it in order to learn about compilers?
<theemacsshibe>
partially
<beach>
I am interested in knowing more, but if you don't want to talk about it, that's fine too.
<theemacsshibe>
hopefully it'll be clever and use llvm-3.9 now instead of llvm-6.0
<theemacsshibe>
i just want to write a very simple functional compiler, since it seems pretty easy
edgar-rft has quit [Remote host closed the connection]
<theemacsshibe>
nope, it fucking blew it.
<theemacsshibe>
grovel, we are *not* trying to compile against "/usr/lib/llvm-6.0/include".
<minion>
Remembered. I'll tell theemacsshibe when he/she/it next speaks.
kajo has quit [Quit: From my rotting body, flowers shall grow and I am in them and that is eternity. -- E. M.]
<beach>
phoe: (EQ theemacsshibe no-defun-allowed) => T
<phoe>
beach: oh, thanks!
<no-defun-allowed>
I'm back.
<no-defun-allowed>
beach: that is true.
<no-defun-allowed>
zigpaw: if C code segfaults SBCL picks it up and raises an exception.
<no-defun-allowed>
This is normal behaviour.
<beach>
In Common Lisp we don't "raise exceptions", we "signal conditions".
cage_ has joined #lisp
<zigpaw>
does it show any debugging info coming from C binary (if it does have debugging symbols)? or just shows the call from Lisp code?
Kundry_Wag has joined #lisp
fikka has joined #lisp
<zigpaw>
on the other had, we get an interactive debugger so we can tinker and call C code till it works ;)
<zigpaw>
s/had/hand/
random-nick has joined #lisp
<Shinmera>
zigpaw: SBCL can decode some C stack frame info so it will show function names if it can
<zigpaw>
wow, great :-) will have to play with it more.
<Shinmera>
I'd say the opposite. The less you have to see a C stack frame in the debugger the better
angavrilov has joined #lisp
m00natic has joined #lisp
gpiero has quit [Ping timeout: 268 seconds]
<zigpaw>
true, but when you have a sigsegv it is better to see any info available. In most cases I recall (from other languages than common lisp) I didn't got any info about what went wrong.
Kundry_Wag has quit [Ping timeout: 260 seconds]
<Shinmera>
That's less a language and more a runtime question. Your OS (C runtime) usually forfeits a debugger, so you don't get one. But if you attach GDB to your program you'll get it.
dented42 has joined #lisp
jusss has joined #lisp
jusss has quit [Client Quit]
dented42 has quit [Ping timeout: 244 seconds]
fikka has quit [Ping timeout: 260 seconds]
kolb has joined #lisp
<no-defun-allowed>
My apologies, beach. I don't know if it's a condition honestly, but the SBCL debugger is invoked for an "unhandled memory fault".
<jurov>
Anyone please, how do I get format "~s" to not print package for symbols? it even spews out NIL as COMMON-LISP:NIL (sbcl)
<beach>
no-defun-allowed: I don't remember.
<beach>
jurov: Print the symbol-name
<beach>
jurov: Or, set the package before printing.
<jurov>
okay, but, I am printing lists (it can be done with conditional format?) and there are more packages involved
<jackdaniel>
use aesthetically, that is (format t "~A" nil)
<jurov>
okay, but there are strings too and I want to print them quoted
fikka has joined #lisp
<jurov>
guess imma call it (with (*package* (find-package 'common-lisp)) to get the nil and live with the rest
<jurov>
er..s/with/let
kerrhau has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
<jurov>
what's funny, in slime repl "~s" prints all symbols without packages
dented42 has joined #lisp
dddddd has joined #lisp
<pjb>
(with-standard-io-syntax (format t "~S" 'nil))
<ecraven>
is there a way to nest presentations with slime?
fikka has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
<phoe>
ecraven: nest? what do you mean?
<ecraven>
I want presentations inside presentations, like CLIM has
<ecraven>
(foo (bar)) should have at least 4 presentations, one for the outermost list, two for the symbols, and one for the cdar
<ecraven>
(a constructed example, this is mostly relevant for showing lists of objects, where I want to have the slot values be presentations, but also the entire object)
<phoe>
I don't think they can be nested.
<ecraven>
yea, that's what I thought :-/ would be nice though
<pjb>
Port slime to McCLIM!
<ecraven>
I'd rather add better presentations to slime, as I use slime with other languages (that would also profit ;D)
<ecraven>
but I should start seriously looking into McCLIM, lots of good things there
<phoe>
port McCLIM to slime?
<pjb>
to emacs lisp in general, then.
<pjb>
Or, update emacs-cl to emacs-25, so that McCLIM may run on emacs, and be used by slime!
ramHero has quit [Remote host closed the connection]
wigust has joined #lisp
dented42 has quit [Ping timeout: 240 seconds]
TMA has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
milanj has joined #lisp
doubledup has joined #lisp
milanj has quit [Client Quit]
milanj has joined #lisp
doubledup has quit [Remote host closed the connection]
doubledup has joined #lisp
Kundry_Wag has joined #lisp
rumbler31 has joined #lisp
quazimodo has quit [Ping timeout: 260 seconds]
quazimodo has joined #lisp
JuanDaugherty has joined #lisp
<hjudt>
i have a question about testing (in general): i started writing some tests and put them in its own package/file, letting it :use the other package i want to test. when i want to test non-exported symbols/functions/etc., what am i supposed to do? reference them using package::symbol? or should i only write tests for non-exported symbols? how do other people tackle this?
LiamH has joined #lisp
<jackdaniel>
what you do is fine imo. alternative approach is to define tests in the same package internal interfaces of you are testing
<jackdaniel>
erm, that sounds like yodaf
AroPar has joined #lisp
<jackdaniel>
s/f//
<beach>
I don't hesitate using double package markers in my own test code.
<Shinmera>
hjudt: Since your tests are part of your project, using double colons just fine.
<Shinmera>
double colons are only an eyebrow-raiser if it's not your own stuff.
<hjudt>
Shinmera: that is good because then i do not have to :use my package and can avoid parachute name clashes like name, dependencies and parent ;-)
<Shinmera>
Well you don't need to :use parachute either
quazimodo has quit [Ping timeout: 272 seconds]
<hjudt>
it is awful having to write package name of the test framework package all the time, or to import specific symbols.
<Shinmera>
Sure enough.
<hjudt>
i guess i'll simply use double-colons consistently.
Bike has joined #lisp
<Shinmera>
That said that gives me an idea for a parachute-user package that only exports things like define-test, and the various testers
quazimodo has joined #lisp
JuanDaugherty has quit [Quit: Exeunt]
Kundry_Wag has quit [Ping timeout: 272 seconds]
pjb has quit [Remote host closed the connection]
charh has joined #lisp
pjb has joined #lisp
renzhi has quit [Ping timeout: 240 seconds]
renzhi has joined #lisp
mindCrime has joined #lisp
<PuercoPop>
The CLHS entry of FIND seems not to specify the default :test function to use. Is that choice left up to the implementations?
<Shinmera>
No
mindCrime_ has joined #lisp
<Shinmera>
There's a section somewhere that specifies the default test to be eql